]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* INSTALL: Add note about sparc64/ia64 with clang (unsupported).
[grub2.git] / ChangeLog
CommitLineData
7b04fe6c
VS
12013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
4
e67566ce
VS
52013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/garbage-gen.c: Add missing include of sys/time.h.
8
f93ddcfd
VS
92013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Don't add -mflush-func if it's not supported by compiler.
12
1bba40f5
VS
132013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Move common BIOS/coreboot memory map declarations to
16 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
17
f65e14dc
AB
182013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
19
20 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
21
14a94bba
VS
222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * INSTALL: Document why older clang versions aren't appropriate.
25
8109c5d4
VS
262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * INSTALL: Document about clang for mips.
29
a92b5cb8
VS
302013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
33 clang.
34
4a23e2fe
VS
352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Add *-xen to the list of grub-install-common platforms.
38
a3ba7410
VS
392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
42 3 last commits.
43
e1c22419
VS
442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
47
189090ce
VS
482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
51 with -mcmodel=large.
52
1a5b7b40
VS
532013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
56 range-checking for 32-bit quantities.
57
9cf12b20
VS
582013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * configure.ac: Compile with -fPIC when compiling with clang on
61 mips.
62
63a45330
VS
632013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
66 when compiling with clang.
67
4a0aaad0
VS
682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
69
70 clang emits calls to abort () under some unknown conditions.
71 Export abort () when compiling with clang.
72
095bb1bf
VS
732013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * docs/grub-dev.texi: Document stack and heap sizes.
76
3937bd96
VS
772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * include/grub/i386/pc/memory.h: Decrease
80 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
81 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
82 The binary doesn't change (checked). It's more to better reflect actual
83 usage.
84
ddb3efc9
VS
852013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
88 at compile time that enough of scratch size is available.
89
4e42521d
VS
902013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
93 Previously we misaligned stack by 8 in startup.S and compensated
94 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
95 right behaviour is to align stack in startup.S and keep it aligned
96 in callwrap.S. startup.S part was committed few commits before. This
97 takes care of callwrap.S.
98 Reported by: Gary Lin.
99
054efe54
VS
1002013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
103 .data and .bss. May happen if compiler and assembly use different
104 alignment.
105
a0e1befb
VS
1062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
107
108 On MIPS handle got16 relocations to local symbols in an ABI-compliant
109 way.
110
c36c73f6
VS
1112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Add support for a new magic symbol _gp_disp on mips to handle PIC
114 binaries.
115
6f4a19f5
VS
1162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Use $t9 for indirect calls from asm to C as PIC ABI requires.
119
0d8f04cd
VS
1202013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
123 when rest of GRUB is compiled for hisher stepping. Instead use
124 .set mips3/.set mips1 around cache and sync opcodes.
125
49060520
VS
1262013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
129 do essentially the same thing, do it in similar way.
130
c6a823e2
CW
1312013-11-21 Colin Watson <cjwatson@ubuntu.com>
132
133 * util/grub-mkrescue.c (main): If a source directory is not
134 specified, read platform-specific files from subdirectories of
135 pkglibdir, not pkgdatadir.
136
b7f9aedf
CW
1372013-11-21 Colin Watson <cjwatson@ubuntu.com>
138
139 * grub-core/normal/progress.c: Remove unused file.
140
7dd0a303
VS
1412013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
144 array.
145
ca120e31
VS
1462013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
149 than grub.cfg.
150
48eb35cd
VS
1512013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * coreboot.cfg: Add missing file.
154
7f20dbbc
VS
1552013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * Makefile.am: Allow STRIP to be empty when creating windowszip.
158
55e706c9
AK
1592013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
160
161 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
162 selectively skipping systems.
163
4e7d433d
CW
1642013-11-19 Colin Watson <cjwatson@ubuntu.com>
165
166 * Makefile.util.def (grub-mkimage): Add
167 grub-core/osdep/aros/config.c to extra_dist.
168 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
169 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
170 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
171 grub-core/gnulib-no-gets.diff.
172
7d44ff7d
VS
1732013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Add automated filesystem checking based on scripts I've used now for
176 quite some time locally. Most of the test require root so they are
177 skipped when run without necessarry privelegies.
178
a8c3e5e3
CW
1792013-11-19 Colin Watson <cjwatson@ubuntu.com>
180
181 * util/grub-install.c (main): Adjust info messages to match
182 installed paths of grub-bios-setup and grub-sparc64-setup.
183
4402db3e
CW
1842013-11-19 Colin Watson <cjwatson@ubuntu.com>
185
186 * util/grub-install-common.c (copy_locales): Consistently use
187 grub_util_get_localedir () rather than LOCALEDIR.
188 (grub_install_copy_files): Likewise.
189
7960d3e1
JT
1902013-11-19 Josh Triplett <josh@joshtriplett.org>
191
192 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
193 16-byte boundary, as required by the x86-64 ABI, before calling
194 grub_main. In some cases, GCC emits code that assumes this
195 alignment, which crashes if not aligned. The EFI firmware is also
196 entitled to assume that stack alignment without checking.
197
d53f4900
JT
1982013-11-18 Josh Triplett <josh@joshtriplett.org>
199
200 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
201 4k page boundaries as expected by firmware rather than 1k
202 boundaries.
203 (grub_mmap_malign_and_register): Likewise.
204
bb2b275b
VS
2052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
208 fragmentation 512M is enough.
209
45bf8b3a
VS
2102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
213 pointer to 32K. This is the size of cache element which is the most
214 common allocation >1K. This way the pointer is always around blocks
215 of 32K and so we keep performance while decreasing fragmentation.
216
39ff43c5
VS
2172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
220 current memory when allocating large chunks. This significantly
221 decreases memory fragmentation.
222
60870be8
CW
2232013-11-18 Colin Watson <cjwatson@ubuntu.com>
224
225 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
226 but for symmetry).
227 * tests/lzocompress_test.in: Skip if lzop is not installed.
228 * tests/xzcompress_test.in: Skip if xz is not installed.
229
a1f00cc5
CW
2302013-11-18 Colin Watson <cjwatson@ubuntu.com>
231
232 * util/grub-mkrescue.c (main): Fix typo.
233
74e632fe
VS
2342013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
237 clock frequency to 200 MHz,
238
efb8de49
VS
2392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * tests/util/grub-shell.in: Increase console size to 1024x1024.
242
b7526e78
VS
2432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * Makefile.am (default_payload.elf): Add pata to loaded modules.
246 Load config file from (cbfsdisk)/etc/grub.cfg.
247
b40ce651
VS
2482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * util/grub-install-common.c (grub_install_copy_files): Fix module
251 destination directory.
252
1e8e2e78
CW
2532013-11-18 Colin Watson <cjwatson@ubuntu.com>
254
255 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
256 files have not been built.
257
3bf4088b
CW
2582013-11-18 Colin Watson <cjwatson@ubuntu.com>
259
260 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
261 Handle errors from mkstemp.
262 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
263
35c2851c
VS
2642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
267 on primary master on pseries.
268
ea7c1a7d
VS
2692013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
272 already loaded. This saves memory needed for tests,
273
96adefdb
VS
2742013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
277 work again.
278
5e3cb8a7
VS
2792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
282 work again.
283
256ee7ac
VS
2842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
287 master since with some combinations of qemu and firmware only primary
288 IDE channel is available.
289
f8b4c3b6
VS
2902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
293 low-memory platforms where we don't have enough memory for them.
294 * grub-core/tests/videotest_checksum.c: Likewise.
295
4bf70320
VS
2962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
299 already loaded. This saves memory needed for tests,
300
a284320e
VS
3012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Fix handling of install lists.
304
2df8f43d
VS
3052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
308
6f1bc8bc
VS
3092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
310
311 On i386-ieee1275 we run in paged mode. So we need to explicitly map
312 the devices before accessing them.
313
04f39f6d
VS
3142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
317 as file argument.
318
35d4761c
VS
3192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
322
33d02a42
VS
3232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
326 (grub_file_close): Free file->name.
327
7bbb60cf
VS
3282013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/commands/verify.c (free_pk): Plug memory leak.
331 (grub_load_public_key): Likewise.
332 (grub_verify_signature_real): Likewise.
333 (grub_cmd_verify_signature): Likewise.
334
da93d675
VS
3352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
338 memory leak.
339
59c943ec
VS
3402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
343 (grub_longjmp): Restore r31.
344 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
345
4336b5d8
VS
3462013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
349 modules to be in line with make_image_abs.
350
44ce3a93
VS
3512013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
354
355 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
356
7d400406
IC
3572013-11-17 Ian Campbell <ijc@hellion.org.uk>
358
359 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
360
77dae919
VS
3612013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
364 to leave some memory to firmware.
365
0ab8e025
VS
3662013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
369 of loading gfxterm as gfxterm is embed in kernel on some platforms.
370 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
371 Load gfxmenu.
372
b80c2d6d
VS
3732013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
376 now needs full arguments.
377
6aa6077b
VS
3782013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * util/grub-mkrescue.c (main): Add trailing \n in
381 .disk_label.contentDetails to be in line with previous shell script.
382
66c00cb1
VS
3832013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
386
3a129dba
VS
3872013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * util/grub-install-common.c (grub_install_parse): Recognize
390 --compress=none like shell script did.
391
8df6eff6
VS
3922013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * include/grub/misc.h: Replace check for __sparc64__ with one for
395 __sparc__ as __sparc64__ isn't actually defined.
396
889ebe92
VS
3972013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
400 counterpart of fixing the naming of escc ports.
401
d4d55b29
VS
4022013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * util/grub-install-common.c (platforms): Fix the order of entries and
405 remove useless field val.
406
55e2c84f
VS
4072013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * util/grub-install.c: Add new option --no-bootsector to skip
410 installing of bootsector. Accept --grub-setup=/bin/true as
411 backwards-compatible synonym.
412
cd46aa6c
VS
4132013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
414
415 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
416 order of qsort arguments (number of elements vs. element size).
417
4182013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
419
420 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
421 the function of these files exceeds what can be sanely handled in shell
422 in posix-comaptible way. Also writing it in C extends the functionality
423 to non-UNIX-like OS and minimal environments.
424
9ef81064
VS
4252013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
428 compiling to thumb2.
429 * grub-core/kern/arm/cache_armv7.S: Likewise.
430 * grub-core/lib/arm/setjmp.S: Likewise.
431
11a77932
LL
4322013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
433
434 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
435 in grub_uboot_syscall
436
080603f0
VS
4372013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Decrease stack usage in lexer.
440
441 We have only 92K of stack and using over 4K per frame is wasteful
442
443 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
444 as macros so that compiler would remove useless structure on stack.
445 Better solution would be to fix flex not to put this structure on
446 the stack but flex is external program.
447
4f84ae0e
VS
4482013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
449
450 Decrease stack usage in signature verification.
451
452 We have only 92K of stack and using over 4K per frame is wasteful
453
454 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
455 rather than stack.
456 (grub_verify_signature_real): Likewise.
457
e6a6182d
VS
4582013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
459
460 Decrease stack usage in mdraid 0.9x.
461
462 We have only 92K of stack and using over 4K per frame is wasteful
463
464 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
465 rather than stack.
466
1a454efe
VS
4672013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
468
469 Decrease stack usage in BtrFS.
470
471 We have only 92K of stack and using over 4K per frame is wasteful
472
473 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
474 rather than stack.
475
7b5d51d8
VS
4762013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Decrease stack usage in JFS.
479
480 We have only 92K of stack and using over 4K per frame is wasteful
481
482 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
483 stack. Note: this function is recursive.
484 (grub_jfs_read_inode): Read only part we care about.
485
593865b9
LL
4862013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
487
488 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
489 handling
7b5d51d8 490
31c0cd43
AB
4912013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
492
493 * configure.ac: Restore -nostdlib for libgcc symbols tests.
494
c2fdb331
AB
4952013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
496
497 * docs/grub.texi (Environment): Document cmdpath.
498
9e18dfe2
AB
4992013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
500
501 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
502 Remove "unused" attribute from arguments, they are used.
503
59ba9d14
CW
5042013-11-15 Colin Watson <cjwatson@debian.org>
505
506 * .gitignore: Only ignore grub-mk* at the top level.
507
23012db9
CW
5082013-11-15 Colin Watson <cjwatson@ubuntu.com>
509
510 * util/grub-reboot.in (usage): Fix a typo.
511
6fcec439
VS
5122013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Replace libgcc version of ctz with our own.
515
516 On upcoming arm64 port libgcc ctz* are not usable in standalone
517 environment. Since we need ctz* for this case and implementation is
518 in C we may as well use it on all concerned platforms.
519
a9f25a08
VS
5202013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * configure.ac: Probe for linking format rather than guessing it based
523 on target_os.
524
c7995256
VS
5252013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
528 "1" prior to handoff.
529
530 Reported by: M A Young.
531
e1aa5b66
VS
5322013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
535 \0 to all files.
536
537 Reported by: M A Young.
538
da5ed5cf
VS
5392013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
542 compilation on NetBSD.
543
5757a93e
VS
5442013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * acinclude.m4: Don't add -P on initial nm test.
547
548 Note: even though this patch postdates Andrey's it bears 14 Nov as
549 date due to timezone difference.
550
a5986276
AB
5512013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
552
553 * grub-core/Makefile.core.def (signature_test): Add missing
554 tests/signatures.h.
555
0de172a0
CW
5562013-11-14 Colin Watson <cjwatson@ubuntu.com>
557
558 * util/grub-install_header: Set localedir here, since this file is
559 where it's used.
560 * util/grub-install.in: Remove setting of localedir.
561 * util/grub-mkrescue.in: Likewise.
562
da45f43c
VS
5632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
566
20aea949
VS
5672013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * configure.ac: Move nm checks to the end.
570 Call grub_PROG_NM_WORKS.
571 * acinclude.m4: New check grub_PROG_NM_WORKS.
572 Use $TARGET_CFLAGS -c when compiling test binary.
573
1326b9ae
CW
5742013-11-14 Colin Watson <cjwatson@ubuntu.com>
575
576 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
577 unused variables.
578
1fe26ab4
MG
5792013-11-14 Matthew Garrett <mjg@redhat.com>
580
581 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
582 cmdpath to firmware directory.
583
83e9c273
VS
5842013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
587 at the start of second iteration.
588
ec525c18
VS
5892013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
592
93fcc7ad
VS
5932013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * Makefile.am (default_payload.elf): New target for easier coreboot
596 build.
597
57ffe934
VS
5982013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
601 clang (not necessarry with -no-integrated-as).
602 * include/grub/symbol.h [__arm__]: Likewise.
603
2312f06c
VS
6042013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * configure.ac: Use -no-integrated-as on arm with clang.
607 * INSTALL: Mention ARM compilation with clang.
608
2416415c
VS
6092013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
612 -mthumb-interwork.
613
5da55172
CW
6142013-11-14 Colin Watson <cjwatson@ubuntu.com>
615
616 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
617 code for indirect block handling.
618
619 Saves 185 bytes on compressed image.
620
da770328
PFS
6212013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
622
623 Fix make clean.
624
625 * Makefile.am: Remove build-grub-* in make clean.
626
f02e6b56
PFS
6272013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
628
629 New files to gitignore.
630
631 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
632 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
633
035a26c1
LL
6342013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
635
636 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
637
bc8a6137
LL
6382013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
639
640 * .gitignore: fix rules for .dep* and add *.a post git migration
641
6fe506b0
CW
6422013-11-13 Colin Watson <cjwatson@ubuntu.com>
643
644 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
645 to match INSTALL.
646
81a2e438
CW
6472013-11-13 Colin Watson <cjwatson@ubuntu.com>
648
649 * grub-core/kern/misc.c: Don't redirect divisions in the
650 GRUB_UTIL case.
651 * include/grub/misc.h: Likewise.
652
9b45c073
CW
6532013-11-13 Colin Watson <cjwatson@ubuntu.com>
654
655 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
656 systems that require checking the return value of write.
657
11b2a9b7
CW
6582013-11-13 Colin Watson <cjwatson@ubuntu.com>
659
660 * util/grub-install.in (efi_quiet): Fix inverted logic: make
661 efibootmgr quiet when --debug is not used, rather than when it is.
662
d743d22d
CW
6632013-11-13 Colin Watson <cjwatson@ubuntu.com>
664
665 * gentpl.py (define_macro_for_platform_dependencies): Remove
666 first (and thus unused) of two definitions for this function.
667 (platform_dependencies): Likewise.
668
11da14b5
CW
6692013-11-13 Colin Watson <cjwatson@ubuntu.com>
670
671 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
672 functions, we only need to check this for the target, not the host.
673 * configure.ac (grub_apple_cc): Likewise.
674
2bdd0719
VS
6752013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
678 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
679 asm to stay in arm even if surrounding is thumb.
680
5e77d9cf
VS
6812013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
684 helper functions are needed for thumb.
685
7d511625
VS
6862013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
689 level / 3 division explicitly unsigned. Saves few bytes.
690
81023dbd
VS
6912013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
694
b2e9294f
VS
6952013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
698 division.
699
16a22c38
VS
7002013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
703 grub_uboot_boot_data to asm part.
704
c9cd02c9
VS
7052013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
708 literal load.
709 (grub_uboot_syscall): Save/restore r9 and align stack.
710
81498615
VS
7112013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
714
ea57de18
VS
7152013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
718 occurencies with END.
719
d0d1e3da
CW
7202013-11-13 Colin Watson <cjwatson@ubuntu.com>
721
722 * util/grub-editenv.c (help_filter, argp): Document how to delete
723 the whole environment block.
724 Reported by Dan Jacobson. Fixes Debian bug #726265.
725
3809f016
CW
7262013-11-13 Colin Watson <cjwatson@ubuntu.com>
727
728 * docs/grub.texi (Internationalisation, Supported kernels): Fix
729 sectioning.
730
46d8a203
JT
7312013-11-13 Josh Triplett <josh@joshtriplett.org>
732
733 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
734 increment/decrement.
735
513eeb61
VS
7362013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
739 compiling with clang.
740
bc379c1a
VS
7412013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
744 ".".
745
7462013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 747
16057d6b
VS
748 Redirect all divisions to grub_divmod64.
749
f649a6a8
VS
7502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
753
ef28ee8b
VS
7542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Add missing includes of loader.h.
757
300f48c5
VS
7582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * configure.ac: Allow disabling themes.
761
2d357558
LS
7622013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
763
764 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
765
0c62a5b2
VS
7662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
769 until it becomes operational.
770
b0720b49
VS
7712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/Makefile.core.def (legacy_password_test): Disable
774 on platforms where no legacycfg is compiled.
775 * grub-core/tests/lib/functional_test.c: Tolerate failure to
776 load legacy_password_test.
777
d5bab2c0
VS
7782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
781
3ea0ccb3
VS
7822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/efiemu/prepare.c: Remove variable length arrays.
785
08772054
VS
7862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
789 strict-aliasing warning.
790 (fsync): Silence cast warning.
791
1dcb2715
VS
7922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/commands/verify.c: Remove variable length arrays.
795 Load gcry_dsa/gcry_rsa automatically.
796
61c22fdf
VS
7972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/tests/signature_test.c: New test.
800
431e57a7
VS
8012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
804 API.
805
b521bb81
VS
8062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/tests/legacy_password_test.c (vectors): Make static.
809 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
810
7d06b24e
VS
8112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
814
3bbeade4
VS
8152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/fs/proc.c: Allow \0 in proc files.
818
ba82db7a
VS
8192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
822
801564c8
VS
8232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
826
ac8cac1d
VS
8272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/fs/ext2.c: Remove variable length arrays.
830
4b85f122
VS
8312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
834 length arrays.
835
c35fcdc0
VS
8362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
839 * grub-core/disk/cryptodisk.c: Likewise.
840 * grub-core/disk/geli.c: Likewise.
841 * grub-core/disk/luks.c: Likewise.
842
15decd26
VS
8432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/tests/legacy_password_test.c: New test.
846 * grub-core/commands/legacycfg.c: Remove variable length arrays.
847
9c6482b8
VS
8482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
851
41f26e0e
VS
8522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/tests/pbkdf2_test.c: New test.
855
2def6616
VS
8562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
859
9e34a34e
VS
8602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/io/lzopio.c: Remove variable length arrays.
863
5ccaf904
VS
8642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * include/grub/crypto.h: Add maximums on hash size and cipher block
867 size.
868
44a387e0
VS
8692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
872
a388e255
VS
8732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/tests/xnu_uuid_test.c: New test.
876
a1ef7718
VS
8772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
880 covers it).
881
65ddb300
VS
8822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/commands/hashsum.c: Remove variable length arrays.
885
31747dd5
VS
8862013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
889 condition.
890 * tests/grub_func_test.in: Increase memory allocation.
891
6a74c4df
VS
8922013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
895 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
896 sys/mount.h.
897
394c3e0a
VS
8982013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
901 (grub_util_get_fd_size_os): ...this.
902 (grub_hostdisk_flush_initial_buffer): New empty function.
903
60d31116
VS
9042013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/gensyminfo.sh.in: Handle the case of portable output
907 without --defined-only.
908
8445b011
VS
9092013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
912 rip-relative addressing in prologue.
913
8506a641
VS
9142013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
917 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
918
66acd9d6
VS
9192013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
922 Add missing semicolon.
923
348d0535
VS
9242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
927
0d2d30bb
VS
9282013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * configure.ac: Check for lzma.h for enabling liblzma and allow
931 manual disabling.
932
631187be
VS
9332013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Add missing includes of loader.h.
936
e756ec82
FZ
9372013-11-11 Fam Zheng <famcool@gmail.com>
938
939 * util/grub.d/30_os-prober.in: Add minix entry.
940
87d62d7d
VS
9412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
944 right buffer for temporary load.
945
5460cfeb
VS
9462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
949
89977306
VS
9502013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
953 payload.
954
3617c59b
VS
9552013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
958 not Types.h.
959 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
960 environment.
961 (LzmaDec_InitDicAndState): Make static.
962
881c6a10
VS
9632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
966
2024ade2
VS
9672013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
970
971 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
972
674ad4f6
VS
9732013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * docs/grub-dev.texi: Replace bzr references with git ones.
976
5b99970e
AB
9772013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
978
979 * docs/grub.texi (Simple configuration): Remove reference to
980 grub-reboot from saved default entry description - grub-default
981 does not use it anymore.
982
3c2304d5
VS
9832013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * configure.ac: Make efiemu test cflags match the cflags efiemu is
986 compiled with.
987
80cfd940
AB
9882013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
989
990 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
991
33690255
VS
9922013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Fix grub_machine_fini bitrot.
995
996 Reported by: Glenn Washburn.
997
c61471fc
VS
9982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1001
54da019f
VS
10022013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1005 -DELF.
1006 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1007 instead of ELF*.
1008
10092013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1010
1011 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1012 Add -march=core2 when testing compile of efiemu64.
1013
1014 Thanks Andrey Borzenkov for spotting this.
1015
9612ebc0
VS
10162013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1019 XEN PV environment and load kernels.
1020
1a46a3a4
VS
10212013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1024 * grub-core/loader/multiboot_mbi2.c: Likewise.
1025
2df12551
VS
10262013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1029 handling.
1030
3c980381
VS
10312013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1034
1035 Tested by: Denis 'GNUtoo' Carikli.
1036
800f63d3
VS
10372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1040
9f8acdaa
VS
10412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1042
5620eb53
VS
1043 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1044 Use to get rounded angle rather than truncated.
1045
10462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1049 RTS/CTS flow control.
1050
2dc1eb6c
VS
10512013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1054 divisions.
1055
b9563c94
VS
10562013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1059 Use grub_fatal rather than divide by zero.
1060 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1061
d6d8e9a9
VS
10622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1065 truncate.
1066 (grub_fixed_fsf_divide): Likewise.
1067
d06de6c8
VS
10682013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1071 division by-zero and senseless negative divisions.
1072
6af7d49b
VS
10732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1076 division by-zero and senseless negative divisions.
1077 (circprog_set_property): Don't accept negative num_ticks.
1078
bcfa6d72
VS
10792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1082 division by-zero and senseless negative divisions.
1083
dd7f792c
VS
10842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * configure.ac: Use elf_*_fbsd on kfreebsd.
1087
d061fda7
VS
10882013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/tests/div_test.c: New test.
1091
4db22500
VT
10922013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1093
1094 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1095 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1096 * grub-core/gfxmenu/view.c: Likewise.
1097 * grub-core/video/fb/video_fb.c: Introduce new functions:
1098 grub_video_set_area_status, grub_video_get_area_status,
1099 grub_video_set_region, grub_video_get_region.
1100 * grub-core/video/bochs.c: Likewise.
1101 * grub-core/video/capture.c: Likewise.
1102 * grub-core/video/video.c: Likewise.
1103 * grub-core/video/cirrus.c: Likewise.
1104 * grub-core/video/efi_gop.c: Likewise.
1105 * grub-core/video/efi_uga.c: Likewise.
1106 * grub-core/video/emu/sdl.c: Likewise.
1107 * grub-core/video/radeon_fuloong2e.c: Likewise.
1108 * grub-core/video/sis315pro.c: Likewise.
1109 * grub-core/video/sm712.c: Likewise.
1110 * grub-core/video/i386/pc/vbe.c: Likewise.
1111 * grub-core/video/i386/pc/vga.c: Likewise.
1112 * grub-core/video/ieee1275.c: Likewise.
1113 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1114 * include/grub/video.h: Likewise.
1115 * include/grub/video_fb.h: Likewise.
1116 * include/grub/fbfill.h: Updated render_target structure.
1117 grub_video_rect_t viewport, region, area
1118 int area_offset_x, area_offset_y, area_enabled
1119 * include/grub/gui.h: New helper function
1120 grub_video_bounds_inside_region.
1121 * docs/grub-dev.texi: Added information about new functions.
1122
c6b755df
VS
11232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1126 for alignment.
1127
e2a68100
VS
11282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1131 missing attribute.
1132 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1133
c4f11a2a
VS
11342013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1137 simple division on arm and ia64.
1138
e0a7bffa
VS
11392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1142 link with libgcc.
1143
38b864ea
VS
11442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1147
12359faf
VS
11482013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1151 prefix symbol, not @.
1152
9fdc64a9
VS
11532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * INSTALL: Add note about older gcc and clang.
1156
665c575b
VS
11572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1160
47dcf7b1
VS
11612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1164 NULL pointer dereference.
1165
d59849b2
VS
11662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1169 clang.
1170
7a3f4a18
VS
11712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1174 warnings.
1175
7f084087
VS
11762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1179 function.
1180 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1181 * grub-core/disk/geli.c (ascii2hex): Likewise.
1182
d5524ca8
VS
11832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * configure.ac: Run linker tests without -Werror.
1186 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1187 Change all occurences of -static-libgcc resp -lgcc to
1188 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1189
390cd7ca
VS
11902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1193
60375a88
VS
11942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 Allow compiling with clang (not really supported though).
1197
1198 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1199 unconditionally.
1200 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1201 Add -mrtd -mregparm=3 on i386 when not using clang.
1202 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1203
dd07e0c4
VS
12042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1207 bindings.
1208 * grub-core/lib/reed_solomon.c: Likewise.
1209 * include/grub/i386/gdb.h: Likewise.
1210 * include/grub/i386/pc/int.h: Likewise.
1211 * include/grub/i386/pc/pxe.h: Likewise.
1212 * include/grub/ieee1275/ieee1275.h: Likewise.
1213
9d3ae8ec
VS
12142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Import libgcrypt 1.5.3.
1217
c12936c5
VS
12182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * configure.ac: Don't add -Wcast-align on x86.
1221
cdc17f60
VS
12222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * configure.ac: Add -freg-struct-return on all platforms that
1225 support it.
1226
b35ec299
VS
12272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * acinclude.m4: Use -Werror on parameter tests.
1230 * configure.ac: Likewise.
1231
05f3a0d7
VS
12322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1235
c966a489
VS
12362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * configure.ac: Check that -malign-loops works rather than assuming that
1239 either -falign-loops or -malign-loops work.
1240
bb0c57ec
VS
12412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1244
24f4e57c
VS
12452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * configure.ac: Prevent cflags leaking to subsequent tests by always
1248 resetting cflags to target_cflags in target tests.
1249
ac319fbc
VS
12502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1253 function.
1254
4bfe934c
VS
12552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1258
40a5bfde
VS
12592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1262
a67c755e
VS
12632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/normal/cmdline.c (grub_cmdline_get):
1266 Remove nested functions.
1267
87a04a2d
VS
12682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * tests/test_sha512sum.in: Make it work on emu.
1271
c03995d2
VS
12722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1275 functions.
1276 (grub_bidi_line_logical_to_visual): Likewise.
1277
ec0ebb3f
VS
12782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Remove vestiges of -Wunsafe-loop-optimisations.
1281
1282 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1283 -Wno-unsafe-loop-optimisations.
1284 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1285 pragma.
1286 * grub-core/io/gzio.c: Likewise.
1287 * grub-core/script/parser.y: Likewise.
1288 * grub-core/script/yylex.l: Likewise.
1289 * util/grub-mkfont.c: Likewise.
1290
6ab537e3
VS
12912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * util/grub-mkfont.c (process_cursive): Remove nested function.
1294
e6c368d4
VS
12952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1298 (grub_boot_time): Likewise.
1299
4f1cfd22
VS
13002013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * include/grub/symbol.h (FUNCTION): Use @function rather than
1303 "function".
1304 (VARIABLE): Likewise.
1305
6d5a4cee
VS
13062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1309
f06c2172
VS
13102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1313 (parse_dhcp_vendor): Likewise.
1314
7cb24eb5
VS
13152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1318
f30c692c
VS
13192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1322 Define after defining type and not before.
1323
8b66bb5d
VS
13242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1327 type.
1328 (grub_gcm_decrypt): Likewise.
1329 (algo_decrypt): Likewise.
1330 (grub_zfs_decrypt_real): Transform error type.
1331
5d17fd0f
VS
13322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1335
ac35a0f7
VS
13362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1339 (grub_usbms_cbi_reset): Likewise.
1340 (grub_usbms_bo_reset): Likewise.
1341 (grub_usbms_reset): Likewise.
1342 (grub_usbms_attach): Likewise.
1343 (grub_usbms_transfer_cbi): Likewise.
1344
3ee08697
VS
13452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1348 "checksum = checksum;".
1349
70bb6c85
VS
13502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1353 entry_type.
1354
c7f34744
VS
13552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1358 BIOS disk check.
1359
3f63b4d8
VS
13602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1363 type.
1364 (grub_ehci_fini_hw): Likewise.
1365 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1366
dac6ce73
VS
13672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1370 return grub_usb_err_t for cosistency. All users updated.
1371
5701750c
VS
13722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1375 assigning to itself.
1376
9e236169
GLD
13772013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
13782013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1379
1380 Issue separate DNS queries for ipv4 and ipv6
1381
1382 Adding multiple questions on a single DNS query is not supportted by
1383 most DNS servers. This patch issues two separate DNS queries
1384 sequentially for ipv4 and then for ipv6.
1385
1386 Fixes: https://savannah.gnu.org/bugs/?39710
1387
1388 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1389 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1390 * (grub_net_dns_lookup): Now using separated dns packages.
1391 * (grub_cmd_nslookup): Add error condition.
1392 * (grub_cmd_list_dns): Print DNS option.
1393 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1394 --prefer-ipv4, and --prefer-ipv6.
1395 * include/grub/net.h (grub_dns_option_t): New enum.
1396 * (grub_net_network_level_address): option added.
1397
339eacce
VT
13982013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1399
1400 * grub-core/video/fb/video_fb.c: Merge two blit functions
1401 into one.
1402
810f991b
VS
14032013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/term/terminfo.c: Add sequences for home and end.
1406
386571a2
VS
14072013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1410 graphics console.
1411
3fe63754
VS
14122013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1415 add mode 0x12.
1416
76681e71
VS
14172013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1420 e-mail by Per Öberg.
1421
46522fb7
VS
14222013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1425 name.
1426
e7d09ac4
AB
14272013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1428
1429 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1430 emu platforms.
1431 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1432
67508925
VS
14332013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * docs/grub.texi: Document usage of menuentry id.
1436
0c62124e
VS
14372013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1440
9b5d4eed
PL
14412013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1442
1443 * grub-core/commands/i386/nthibr.c: New command.
1444
79054c1d
VS
14452013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1448
44d47bbe
VS
14492013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1452 coordinate.
1453
323de05b
VS
14542013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Support GRUB_DISABLE_SUBMENU config.
1457
1458 Inspired by patch from Prarit Bhargava.
1459
5a01722e
VS
14602013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * docs/grub.texi: Mention RSA support.
1463
1106c3f0
VS
14642013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/commands/verify.c: Add RSA support.
1467
a1dcc2cb
VS
14682013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1471 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1472 device is known to be ATAPI.
1473
ee7fb780
MF
14742013-11-03 Mike Frysinger <vapier>
1475
1476 * configure.ac: Don't add target-prefix.
1477
5ade4a42
VS
14782013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1481 variables.
1482
6cd66043
VS
14832013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1486 if language is English.
1487
090d7c81
VS
14882013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1491
dd614590
VS
14922013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * configure.ac: Don't add -m32/-m64 on emu.
1495
a8686589 14962013-11-02 neil
1497
1498 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1499 broken linux headers.
1500
fb9f12a0
VS
15012013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1504
e25f8e1f
VS
15052013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1508 Reed-Solomon recovery if more than half of redundancy info is 0.
1509
4685200f
VS
15102013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * util/grub-mount.c: Handle symlinks to directories.
1513
1397f0b5
VS
15142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1517 find_file recursively for symlink.
1518
8b3e6eb6
VS
15192013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * tests/util/grub-shell.in: Copy themes.
1522
a0c9d5c6
VS
15232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1526
5cf9459c
VS
15272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * configure.ac: Use 0x8000 for address instead of 8000.
1530
e7b66a28
VS
15312013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1534 signature.
1535
203f53fb
VS
15362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1539 variable.
1540
02663ee9
VS
15412013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1544
f169f65e
VS
15452013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1548 file_progress_read_hook.
1549 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1550
2855a0fc
VS
15512013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1554 and double.
1555
bf0f3a8c
VS
15562013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1559
cb72aa18
VS
15602013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Rewrite blocklist functions in order to get progress when
1563 reading large extents and decrease amount of blocklist hook calls.
1564
896f9135
VS
15652013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1568 of SI suffixes.
1569
89295a06
VS
15702013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Support --base-clock for serial command to handle weird cards with
1573 non-standard base clock.
1574
eb03ede0
VS
15752013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1578 strncpy.
1579 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1580 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1581 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1582 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1583 + strcpy rather than strncpy.
1584
8fbe5c7d
VS
15852013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1588 (check_pool_label): Likewise. Fixes overflow.
1589 (nvlist_find_value): Fix comparison.
1590
e54b8f53
VS
15912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1594 more appropriate functions.
1595
fa9b3dca
VS
15962013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1599 realloc.
1600
9a021c55
VS
16012013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1604
80e8b13a
VS
16052013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1608 on core size.
1609
b61599ac
VS
16102013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1613
a602dc54
VS
16142013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1617 (initialize_tables): reset tl and td to NULL after freeing.
1618
93c12075
VS
16192013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1622
1ca4b75e
VS
16232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1626 of supported tags.
1627
329550c4
VS
16282013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1631
00bfa988
VS
16322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1635 quirks.
1636
81afc5cc
VS
16372013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1640 a page in protected space.
1641
cb3c4a47
VS
16422013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1645 allocate space for zero-sized modules.
1646
954f7bf5
VS
16472013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1650
526d3d25
FL
16512013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1652
1653 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1654
74124c34
VS
16552013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1658 safeguards. Fixes a crash with i386/pc/console.c.
1659
5177391e
VS
16602013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1663 and grub_hostfs_init.
1664
64db14b0
VS
16652013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1668 windows method on other platforms without good stat as well.
1669
effe2036
VS
16702013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1673
82591fa6 16742013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1675
82591fa6
VS
1676 Make / in btrfs refer to real root, not the default volume.
1677 Modify mkrelpath to work even if device is mounted with subvolid option.
1678
16792013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1680
1681 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1682 extra_dist.
1683 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1684 extra_dist.
1685
30fd7198
VS
16862013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1689 fails.
1690
8d179dae
BC
16912013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1692
1693 * docs/autoiso.cfg: New file.
1694
3bc9c8cf
VS
16952013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1698 COND_GRUB_PE2ELF conditions.
1699
8b46b0ea
VS
17002013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1703 "vnd", "rd" and "fd" disks.
1704
442b86de
VS
17052013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 Move grub_disk_write out of kernel into disk.mod.
1708
04dea7e6
VS
17092013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1712 handling.
1713
17142013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1715
1716 * grub-core/kern/misc.c (grub_abort): Make static
1717
04dea7e6 17182013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1719
1720 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1721 transform invalid unicode codepoints.
1722
04dea7e6 17232013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1724
1725 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1726 \0 checking.
1727
03dcac7f
VS
17282013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1731
c81acb7f
VS
17322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Consolidate cpuid code.
1735
c1bee646
VS
17362013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Move cpuid code to cpuid.h and TSC code to tsc.c.
1739
f37bf9c7
GS
17402013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1741
1742 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1743
4021132b
GS
17442013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1745
1746 * util/grub-mkconfig.in: Replace $0 with $self.
1747 * util/grub-reboot.in: Likewise.
1748 * util/grub-set-default.in: Likewise.
1749
3ace8d75
BC
17502013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1751
1752 * docs/osdetect.cfg: New file.
1753
1e6ad6a6
BC
17542013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1755
1756 * tests/util/grub-shell.in: Add new --debug option.
1757
188929eb
BC
17582013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1759
1760 * tests/test_unset.in: New test.
1761
7994a09a
BC
17622013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1763
1764 * tests/test_sha512sum.in: New test.
1765
2a8a7585
VS
17662013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1769 * include/grub/misc.h: Remove strncat.
1770 * grub-core/lib/posix_wrap/string.h: Likewise.
1771
cf8d6bbd
VS
17722013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1775 Try to handle more than 0xFFFF packets.
1776 Reported by: Bernhard Übelacker <bernhardu>.
1777 He also spotted few overflows in first version of this patch.
1778
6d1fc99a
VS
17792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * tests/date_unit_test.c: New test.
1782
10bafa1c
VS
17832013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1786 of first three years after start of validity of unixtime.
1787
b1c6d037
VS
17882013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1791 division as the one making more sense.
1792 (update_screen): Likewise.
1793 (complete): Likewise.
1794
5f4028d4
VS
17952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1798
a2856736
VS
17992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Make char and string width grub_size_t rather than grub_ssize_t.
1802
0a7e52b2
VS
18032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1806 unsigned.
1807 (grub_history_replace): Likewise.
1808
42829573
VS
18092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1812 appropriate.
1813
3523b8d8
VS
18142013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1817 appropriate.
1818
d43c6489
VS
18192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1822 Use unsigned divisions rather than signed variants.
1823
f690f8b0
VS
18242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1827 unsigned arithmetics.
1828 Add missing break.
1829
74ff2c05
VS
18302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1833
fb56391e
VS
18342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1837 rather than signed one.
1838 (recovery): Likewise.
1839
40f29060
VS
18402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1843
c64577a5
VS
18442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1847 than signed.
1848
c16535a8
JM
18492013-10-25 Jon McCune <jonmccune@google.com>
1850
1851 * docs/grub.texi: Cleanup security documentation around signatures.
1852
6673d8e7
VS
18532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1856
a105d375
VS
18572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1860 than int.
1861
af81ed88
VS
18622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1865 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1866 functions when compiling for kernel.
1867
ea899a57
VS
18682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1871 unsigned long long when using %llu.
1872
c6dc6fa1
VS
18732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1876 terminal after updating progress.
1877
ad2dc003
VS
18782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1881 argument. We don't disable Gate A20 in this code.
1882
b46684ae
VS
18832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1886 Conceptually based on change in branch "vbe-on-coreboot".
1887
f70d5c07
RM
18882013-10-24 Robert Millan <rmh@gnu.org>
1889
1890 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1891 numeric constants with their symbolic equivalent.
1892 Taken from branch "vbe-on-coreboot".
1893
bca274b4
VS
18942013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1897
238f0489
VS
18982013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1901 divmod64 for offset division.
1902
863c590b
PFS
19032013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1904
1905 Rename .bzrignore to .gitignore. Add "*.o" rule.
1906
1907 * .bzrignore: Renamed to...
1908 * .gitignore: ...this.
1909
84a0e969
PFS
19102013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1911
1912 Add new progress module that displays the load progress of files.
1913
1914 * grub-core/lib/progress.c: New file.
1915 * grub-core/Makefile.core.def (progress): New module.
1916 * grub-core/kern/file.c (grub_file_open): File name added.
1917 * (grub_file_read): Progress hook added.
1918 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1919 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1920 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1921 * include/grub/file.h (struct grub_file): Add progress module members.
1922 * include/grub/term.h (struct grub_term_output): Likewise.
1923 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1924 Terminal velocity added.
1925 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1926 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1927 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1928 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1929 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1930 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1931 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1932 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1933 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1934 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1935 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1936 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1937
0d711431
VS
19382013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Verify signatures of signatures unless --skip-sig is specified.
1941
f8401f76
VS
19422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1945 \0 checking.
1946
1947 Saves 70 bytes on compressed image.
1948
ac1feb61
VS
19492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1952 check.
1953
1954 Saves 10 bytes on compressed image.
1955
00f72e89
VS
19562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/kern/misc.c (grub_isprint): Move to ...
1959 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1960
1961 Saves 20 bytes on compressed image due to remving exporting.
1962
067e6ae7
VS
19632013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1966
1967 Saves 5 bytes on compressed image.
1968
64a6c791
VS
19692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1972 function get_utf8.
1973
1974 Saves 379 bytes on compressed image.
1975
979d9f52
VS
19762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1979
1437da54
VS
19802013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1983
1984 Saves 40 bytes on compressed image.
1985
d9ee2269
VS
19862013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1989 mask rather than 64-bit type.
1990
1991 Saves 20 bytes on compressed image.
1992
63efa602
VS
19932013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1996 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1997
47601ffe
VS
1998 Saves 273 bytes on compressed image.
1999
2cc679ad
VS
20002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2003 variable length arrays.
2004
2005 Saves 50 bytes on compressed image.
2006
2e4659b8
VS
20072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2010
2a40badf
VS
20112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/fs/ufs.c: Remove variable length arrays.
2014
1ba6b9b9
VS
20152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2018
f3e39341
VS
20192013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/fs/zfs.c: Remove variable length arrays.
2022 Reduces zfs.mod by 160 bytes (208 compressed).
2023
71523935
VS
20242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2027
28153eb8
VS
20282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/net/arp.c: Remove variable length arrays.
2031 * grub-core/net/bootp.c: Likewise.
2032 * grub-core/net/dns.c: Likewise.
2033 * grub-core/net/icmp6.c: Likewise.
2034 * grub-core/net/net.c: Likewise.
2035
88ce4cd7
VS
20362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/fs/ntfs.c: Remove variable length arrays.
2039 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2040 compressed).
2041
66123940
VS
20422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/fs/hfs.c: Remove variable length arrays.
2045 Reduces hfs.mod by 8 bytes (52 compressed).
2046
0927e5bd
VS
20472013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2050 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2051 compressed).
2052
9c12ac97
VS
20532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2056 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2057 compressed).
2058
97ec2d71
VS
20592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2062 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2063 compressed).
2064
156e4ea0
VS
20652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/xfs.c: Remove variable length arrays.
2068 Reduces xfs.mod by 40 bytes (43 compressed).
2069
3b502c29
VS
20702013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/fs/fshelp.c: Remove variable length arrays.
2073 Reduces fshelp.mod by 116 bytes (23 compressed).
2074
c7037f1d
VS
20752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/normal/completion.c: Remove variable length arrays.
2078 * grub-core/normal/menu_entry.c: Likewise.
2079
2080 Reduces normal.mod by 496 bytes.
2081
a07e6ad0
VS
20822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2085 by 356 bytes (158 compressed).
2086
2359bf88
VS
20872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2090 by 364 bytes (169 compressed).
2091
d28e1163
VS
20922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2095 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2096 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2097
e89c2d48
VS
20982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2101 bitmasks to small structures of size chosen to fit in registers.
2102
7abdac8e
VS
21032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * conf/Makefile.common: Use -freg-struct-return on i386. This
2106 decreases code size and improves performance.
2107
518864c0
VS
21082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2111
bbd2b539
VS
21122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2115 "(null)" string.
2116 Simplify expressions to save around 256 bytes in kernel.img.
2117 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2118
99519c15
VS
21192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2122 Use GRUB_UTIL_FD_O_* rather than O_*.
2123
20285765
VS
21242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Add haiku-specific functions.
2127
887c0bb6
VS
21282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2131
cd78a56f
VS
21322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Move stat () and device mode checking into OS-dependent files as
2135 long as performance doesn't suffer.
2136
a4012f07
VS
21372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Split make_system_path_relative_to_its_root into separate file
2140 relpath.c from getroot.c as it's common between unix and haiku
2141 but otherwise haiku doesn't use any functions from unix getroot.c.
2142
31de274d
VS
21432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2146 New function.
2147 (grub_util_is_special_file): Likewise.
2148
40346de6
VS
21492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2152 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2153
d3923ab9
VS
21542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2157 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2158
663f6eb1
VS
21592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2162 (load_image): Likewise.
2163
44d1c20a
VS
21642013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * util/grub-render-label.c: Move backend part to ...
2167 * util/render-label.c: ... here.
2168
d0a116ee
VS
21692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2172 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2173
b47fcae6
VS
21742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2177
0f7c00c1
VS
21782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2181 CD-ROM in case when it's declared as having subpartitions.
2182
29013cba
VS
21832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 Don't add -lm on haiku.
2186
2187 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2188 and empty on haiku.
2189 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2190 -lm.
2191
e8559d24
VS
21922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * configure.ac: Use -melf_*_haiku as target on haiku.
2195
8104063c
VS
21962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * Makefile.util.def: Add util/setup.c to extra_dist.
2199
fc3182c7
VS
22002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2203 unknown types through.
2204
f90a3cc0
VS
22052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2208 (grub_util_check_char_device): Likewise.
2209 * include/grub/emu/getroot.h: Likewise.
2210
1e3e7419
VS
22112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2214 memset rather than inline static function.
2215
92c88fc8
VS
22162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2219 not doing embedded decompressor.
2220
3cd910a2
VS
22212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2224 shadowing.
2225 * grub-core/kern/disk.c: Likewise.
2226 * grub-core/kern/misc.c: Likewise.
2227 * include/grub/parser.h: Likewise.
2228 * include/grub/script_sh.h: Likewise.
2229 * include/grub/zfs/zfs.h: Likewise.
2230
7b3aca00
VS
22312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2234
97dfe7e4
VS
22352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2238 defined before trying to use it.
2239
bf919aa9
VS
22402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2243 warning.
2244
f4ccf29d
VS
22452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2248 Use __unused__ rather than __used__ on gcc < 3.2.
2249
0d3a6f85
VS
22502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2253 gcc < 4.0.
2254 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2255
757e3eb7
VS
22562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2259
fb320faf
VS
22602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2263 * include/grub/emu/misc.h: Likewise.
2264
ea73acd2
VS
22652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2268 cur_color.
2269
71237a6f
VT
22702013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2271
2272 * grub-core/tests/checksums.h: Regenerated due to progress bar
2273 get_minimal_size changes.
2274
3d46c22f
BC
22752013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2276
2277 Added `tr' command support.
2278
2279 * grub-core/commands/tr.c: New file.
2280 * grub-core/Makefile.core.def: Build rules for new module.
2281
2282 * tests/grub_cmd_tr.in: New test.
2283 * Makefile.util.def: Build rules for new test.
2284
47e0a61f
VT
22852013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2286
2287 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2288
946fd073
VT
22892013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2290
2291 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2292 * docs/gurb.texi: Likewise.
2293
9c13c576
VT
22942013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2295
2296 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2297 Pixmap highlighted section with east and west slices was displayed
2298 incorrectly due to negative width of the central slice.
2299
ad543f12
VT
23002013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2301
2302 * docs/grub.texi: Graphical options information update.
2303 Removed outdated. Updated current. Inserted missed.
2304
6176a0cd
VS
23052013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * docs/grub.texi: Mention few new platform-specific commands.
2308
9688cae2
VS
23092013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2312 currently used so this doesn't really have any effect.
2313 Reported by: Douglas Ray <dougray>
2314
f7b69a3f
VS
23152013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2318 compilation but prevents gcc from displaying messages in non-Latin
2319 alphabets.
2320 * conf/Makefile.common: Likewise.
2321
ceca6ddf
HY
23222013-10-16 Hiroyuki YAMAMORI
2323
2324 Handle Japanese special keys.
2325 Reported by: Hiroyuki YAMAMORI.
2326 Codes supplied by: Hiroyuki YAMAMORI.
2327
ac48d334
VT
23282013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2329
2330 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2331
b2b71bff
VT
23322013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2333
2334 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2335 * docs/grub.texi: Likewise.
2336
669fc449
VS
23372013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2340 value in case of incomplete read.
2341 (grub_util_fd_write): Likewise.
2342
59381678
VS
23432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2346
bacfefbb
VS
23472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * util/grub-editenv.c (create_envblk_file): More from here ...
2350 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2351
f7c49570
VS
23522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2355 canonicalize file name before doing the rest.
2356
7b83ca44
VS
23572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2360 mingw32.
2361
df1e64c9
VS
23622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Define grub_util_is_directory/regular/special_file and
2365 use OS-dependent versions rather than to rely on stat().
2366
ec16e026
VS
23672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * util/grub-mkimage.c: Move backend part to ...
2370 * util/mkimage.c: ... here.
2371
4b4eeb3c
VS
23722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 Allow compilation with mingw64 albeit with warnings due to lack of
2375 %llx/%llu.
2376
2377 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2378 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2379 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2380 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2381 on mingw64.
2382 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2383
f4e0adc0
VS
23842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Remove leftover references to some of the system headers.
2387
e0127364
VS
23882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2391 read.
2392
20d53541
VS
23932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2396 of strerror.
2397
5a869940
VS
23982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 Split out blocklist retrieving from setup.c to
2401 grub-core/osdep/blocklist.c and add windows implementation since
2402 generic version doesn't work on NTFS on Windows due to aggressive
2403 unflushable cache.
2404
c06c7520
VS
24052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2408 files.
2409
8f53bb3f
VS
24102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2413 Cut tailing newline. Remove arbitrary limitation. Always use
2414 grub_util_tchar_to_utf8.
2415
148f1007
VS
24162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2419 * tests/printf_unit_test.c (printf_test): Add %% tests.
2420 Reported by: Paulo Flabiano Smorigo.
2421
af3b06be
VS
24222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2425 implement fsync.
2426
27f9d02e
VS
24272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2430 use nvlist_lookup_string and don't use nvlist_print.
2431
f6a81f0a
VS
24322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2435 closedir to handle filename charset translation.
2436
d7750b32
VS
24372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * include/grub/emu/hostdisk.h: Move file operations to
2440 * include/grub/emu/hostfile.h: ... here.
2441
2859196e
VS
24422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2445 unicode path.
2446
c018c968
VS
24472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2450
7e45abce
VS
24512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2454 and remove export.h.
2455
23934da2
VS
24562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/kern/emu/error.c: Removed.
2459 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2460 explicitly as it's already in libgnu.a.
2461
c11ebcc8
VS
24622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2465 config-util.h include.
2466
70671037
VS
24672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Split emunet into platform-dependent and GRUB-binding parts. Keep
2470 platform-dependent part in kernel for easy access to OS functions.
2471
25ac643a
VS
24722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2475 open/read/write.
2476
69ca5876
VS
24772013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/osdep/windows/emuconsole.c: New file.
2480
d9d68ef0
AB
24812013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2482
2483 * conf/Makefile.extra-dist: Add osdep/*/init.c
2484
58e211cc
VS
24852013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2488
588744d0
VS
24892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/grub-probe.c (probe): Separate different drives in hint-str
2492 by spaces and not newlines.
2493 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2494
44016e52
AB
24952013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2496
2497 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2498 Handle CD-ROMs.
2499
6de9ee86
VS
25002013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Pass-through unknown E820 types. It required reorganisation of mmap
2503 module.
2504
f8f3f155
AB
25052013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2506
2507 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2508
b73249d2
VS
25092013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2512 fseeko.
2513
dac86b18 25142013-10-14 qwertial <qwertial>
2515
2516 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2517
17614b84
JM
25182013-10-14 Jon McCune <jonmccune@google.com>
2519
2520 * docs/grub.texi: Document new signatures possibility.
2521
6de292cb
VS
25222013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2525
84379b61
VS
25262013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2529 missing prototype.
2530 (grub_util_tchar_to_utf8): Likewise.
2531
21d85db1
VS
25322013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2535 * grub-core/kern/emu/main.c: Add missing include.
2536 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2537 Don't call grub_util_init_nls.
2538 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2539 Likewise.
2540
66a1b3ee
VS
25412013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2544 stat.
2545
e19bec17
VS
25462013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2549
ee8c1b29
VS
25502013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2553
bb338aaf
VS
25542013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Add a wrapper for fopen. On unix-like systems just pass-through. On
2557 windows use unicode version.
2558
ae5540d3
VS
25592013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 Move set_program_name and init_nls to host_init. On windows
2562 fix in this fuction console and argument charset as well.
2563
4cd3c4fe
AB
25642013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2565
2566 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2567 GRUB_ENABLE_CRYPTODISK.
2568
2569 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2570 GRUB_ENABLE_CRYPTODISK.
2571 * util/grub-mkconfig_lib.in: Likewise.
2572
78170f3e
CCZ
25732013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2574
2575 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2576
3414b6c0
MC
25772013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2578
2579 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2580 error when enabling debug.
2581
6d0740e8
IB
25822013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2583
2584 * configure.ac: Use -melf_*_obsd on openbsd.
2585
ff2d4dc4
VS
25862013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2589
eac6ae82
VS
25902013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * include/grub/misc.h: Use gnu_printf rather than printf as format
2593 template since our functions are independent of libc.
2594
ba9baabe
VS
25952013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * util/grub-setup.c (setup): Move copying of partition table as
2598 futher up as possible to avoid possible overwrite by floppy routines.
2599
26002013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2601
2602 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2603
145e2369
VT
26042013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2605
2606 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2607 * docs/grub.texi: Likewise.
2608
3530bc9d
VS
26092013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2612 it's mostly unused. Move vestiges to the callers.
2613
fb9f59c3
VS
26142013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2617 version of salt and hash. Use grub_snprintf rather than snprintf.
2618
9be1c255
VS
26192013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * docs/grub.texi: Fix problem with braces.
2622
ed8c0887
VS
26232013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * conf/Makefile.extra-dist: Fix extra-dist list.
2626 * grub-core/Makefile.core.def: Likewise.
2627
f72ab14e
VS
26282013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * docs/grub.texi: Document disk names used on Windows and AROS.
2631
2fe53a22
VS
26322013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2635 with AROS devs.
2636 * grub-core/osdep/aros/hostdisk.c: Likewise.
2637
71c1d67a
VS
26382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 Avoid including hostfile.h when not necessarry as it pulls
2641 in OS-specific headers which may redefine generic names
2642 like "far".
2643
ad297ec7
VT
26442013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2645
2646 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2647 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2648 scrollbar_bottom_pad
2649 * docs/grub.texi: Likewise.
2650
6e9e5dc9
VT
26512013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2652
2653 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2654
761c718b
VS
26552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2658
37149a2f
VS
26592013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2662 Removed.
2663 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2664 Made static.
2665
3837a151
VS
26662013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2669 leftover.
2670
caca1c70
VS
26712013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Move OS-specific driver configuration to grub_util_fd_open. This
2674 moves OS-dependent parts from kern/emu/hostdisk.c to
2675 grub-core/osdep/*/hostdisk.c.
2676
f7676b70
VS
26772013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * util/grub-mkimage.c (generate_image): Use size_t instead of
2680 grub_size_t.
2681 * util/grub-mkimagexx.c (locate_sections): Likewise.
2682 (load_image): Likewise.
2683
22f98db2
VS
26842013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2687 size_t.
2688 (grub_util_write_image): Likewise.
2689
b102ce69
VS
26902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2693 get random when no RNG is available.
2694 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2695
acbbe5cb
VS
26962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * include/grub/util/lvm.h: Removed.
2699
2112fb3f
VS
27002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2703 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2704
79f78fbf
VS
27052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2708
c2e6f705
VS
27092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2712
aabe433a
VS
27132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/net/drivers/emu/emunet.c: Move to ..
2716 * grub-core/osdep/linux/emunet.c: ..here.
2717
9a2c903f
VS
27182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * util/ieee1275/ofpath.c: Move to ...
2721 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2722 * grub-core/osdep/basic/ofpath.c: ..here.
2723
4a445f58
VS
27242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Move password-querying (util-version) routines to grub-core/osdep.
2727
c1ca4244
VS
27282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Move sleep routines to grub-core/osdep.
2731
672fa55e
VS
27322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Move OS-dependent files to grub-core/osdep and document it.
2735
a5b0365a
VS
27362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2739 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2740
29072e99
VS
27412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2744
f8772ea7
VS
27452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * util/misc.c: Remove leftover inclusion of malloc.h.
2748
a1a315e7
VS
27492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * include/grub/setjmp.h: Remove leftover GRUBOF.
2752
cef86fef
VS
27532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * util/raid.c: Fold into ...
2756 * util/getroot_linux.c: ... here. Make all functions static.
2757
c4cf25ee
VS
27582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2761 macros to GRUB ones.
2762
53a5f5c2
VT
27632013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2764
2765 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2766 occasional bug. If there are too many boot entries or too low
2767 scrollbar height then we need to use another formula to calculate
2768 the position and size of the scrollbar thumb.
2769
de300af2
VS
27702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2771
c4cf25ee 2772 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2773
c5827364
VT
27742013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2775
2776 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2777 * docs/grub.texi: Likewise.
2778
dd2ed8b0
VT
27792013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2780
2781 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2782 viewport.
2783
7286c384
VT
27842013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2785
ffdfc1f3
VT
2786 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2787 minimal width calculations.
7286c384 2788
ea547e14
VS
27892013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * docs/grub.texi: Update note on colors on emu console.
2792
b726be76
VS
27932013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2796 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2797 it's FS and not GRUB limitation.
2798
a5f6ade6
VS
27992013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2802
3b0f3aa2
VS
28032013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2806
1db38304
ST
28072013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2808
2809 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2810 kernels by version order.
2811
fb295fc0
VS
28122013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2815
47345010
VS
28162013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Add AROS hostdisk and getroot routines.
2819
bf25f879
VS
28202013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 Make cryptodisk and diskfilter probe data retrievable programmatically
2823 and not just printable.
2824
24ca4512
VS
28252013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Split random retrieving code into separate files.
2828
c7c177f0
VS
28292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2832 R_ARM_V4BX.
2833
d71b45ae
VS
28342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2837 condition.
2838 * grub-core/tests/fake_input.c: Likewise.
2839 * grub-core/tests/cmdline_cat_test.c: Likewise.
2840
e44b9a83
VS
28412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/video/capture.c: Do not do finalization when .fini
2844 is called as there is explicit capture_end.
2845
4fa60739
VS
28462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2849 changing windows to avoid crash.
2850
17c8bc37
VS
28512013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2854
9d4d7977
VS
28552013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * po/exclude.pot: Add several strings to exclude.
2858
0caa407c
VS
28592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2862
9ae393da
VS
28632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2866 ./util/grub-gen-asciih.c to exclude list.
2867
498d5033
VS
28682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2871 and don't mark error strings for translation.
2872
7d93298f
VS
28732013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2876 properly in case of missing block size.
2877
b2cae20c
VS
28782013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/lib/arm/setjmp.S: Add missing license section.
2881
3896d6b4
VS
28822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * po/swiss.sed: Add replacement for key names and for term computer.
2885
ebc1da55
VT
28862013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2887
2888 * grub-core/gfxmenu/theme_loader.c: New global options for the
2889 theme background image handling. desktop-image-scale-method,
2890 desktop-image-h-align, desktop-image-v-align.
2891 * grub-core/gfxmenu/view.c: Likewise.
2892 * include/gfxmenu_view.h: Likewise.
2893 * include/bitmap_scale.h: Proportional scale functions introduced.
2894 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2895 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2896 cases of unexpected input variables for scale functions.
2897 * docs/grub.texi: Updated documentation for new options.
2898
c5739143
VS
28992013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2902
be74aeb3
VT
29032013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2904
2905 * grub-core/tests/checksums.h: Corrected due to changes in
2906 bilinear interpolation function.
2907
d999ac72
VT
29082013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2909
2910 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2911 to eliminate artefacts in bilinear interpolation.
2912
2b131610
VS
29132013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/video/readers/tga.c: Support paletted tga.
2916
de6e5ff8
VS
29172013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2920 incorrect cbcr setting when in color mode.
2921
fa31ee9c
VS
29222013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/video/readers/png.c: Support paletted images and clean up
2925 greyscale support.
2926
e84f8188
VS
29272013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2930 usage of wrong table which resulted in mishandling of 4-byte
2931 sequences.
2932
29332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2934
2935 * grub-core/term/terminfo.c: Add Home and End key sequences.
2936
d72bff09
VS
29372013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2940 Fix formula for computing total number of bytes.
2941
29648c5d
VS
29422013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2945 image processing, fix big-endian and support grayscale.
2946
4a876492
VS
29472013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2950 Correctly will with maximum transparency when using index color.
2951
3ccf16df
VS
29522013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/video/readers/png.c: Support grayscale
2955
29562013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2957
2958 * grub-core/video/readers/jpeg.c: Support grayscale.
2959
3ccf16df 29602013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2961
2962 * grub-core/commands/loadenv.c: Support skipping signature check
2963 and variable names filtering.
2964
30b7f58f
VS
29652013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2968 * grub-core/kern/emu/hostfs.c: Likewise.
2969 * util/getroot_unix.c: Likewise.
2970
bab7b1eb
VS
29712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2974 Migrate all explicit defines to this new one.
2975
43b1c99d
VS
29762013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2979 grub_util_fd_strerror when using grub_util_fd_*.
2980 (grub_util_fd_open_device): Likewise.
2981 (grub_util_biosdisk_read): Likewise.
2982 (grub_util_biosdisk_write): Likewise.
2983 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2984 (grub_util_fd_strerror): Likewise.
2985 (grub_util_fd_sync): Likewise.
2986 (grub_util_fd_close): Likewise.
2987 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2988 (grub_util_fd_close): Likewise.
2989 (grub_util_fd_strerror): Likewise.
2990 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2991 function proto rather than macro.
2992 (grub_util_fd_sync): Likewise.
2993 (grub_util_fd_open): Likewise.
2994 (grub_util_fd_strerror): New proto.
2995
e8fd80bc
VS
29962013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2999 platforms on which it doesn't work.
3000
bf645fda
VS
30012013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3004 stat immediately to where it's used.
3005
5177ba14
VS
30062013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * util/getroot.c (grub_util_check_block_device): Move to ...
3009 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3010 * util/getroot.c (grub_util_check_char_device): Move to ...
3011 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3012
9db826e1
VS
30132013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3016 disk closing logic.
3017
49120085
AB
30182013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3019
3020 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3021
b3328b68
AB
30222013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3023
3024 * docs/grub.texi (File name syntax): Document ZFS filenames
3025 (/volume@snapshot/...).
3026
3fff48ab
VS
30272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3030 Always return full path. Fixes a problem with mkrelpath.
3031
39cfdaa9
PFS
30322013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3033
3034 * util/grub-install.in: Add GPT PReP support.
3035 * util/grub-probe.c (probe): Support GPT partition type.
3036 (main): Support -t gpt_parttype.
3037
7c680e1f 30382013-09-23 Aleš Nesrsta <starous@volny.cz>
3039
3040 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3041
890bdabe
MM
30422013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3043
3044 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3045
9c262ff9
TH
30462013-09-23 Tim Hardeck <thardeck>
3047
3048 * util/grub.d/10_hurd.in: Filter out character for the class.
3049 * util/grub.d/10_kfreebsd.in: Likewise.
3050 * util/grub.d/10_linux.in: Likewise.
3051 * util/grub.d/20_linux_xen.in: Likewise.
3052
d755342a
MC
30532013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3054
3055 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3056 "changed".
3057
68b77707
JT
30582013-09-23 Josh Triplett <josh@joshtriplett.org>
3059
3060 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3061 boot partition.
3062
efa68bfa
VS
30632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3066 doesn't use posix_wrap. Keep literal -fno-builtin however.
3067
d9104204
VS
30682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3071
c248781a 30722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30732013-09-23 neil
3074
5830df88 3075 * configure.ac: Do not enable -Wmissing-noreturn as its
3076 usefulness is limited and creates problems on some OS notably with
3077 code generated by bison.
3078
30792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30802013-09-23 neil
3081
3082 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3083 supported by all gcc and when it is, it's already enabled by -Wall.
3084
621bed69
VS
30852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3088 desactivated use of EDID at all.
3089
71764dc8 30902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30912013-09-23 neil
3092
3093 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3094 video if no text is available.
3095
affce7d4 30962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
30972013-09-23 neil
3098
3099 * configure.ac: Substitute TARGET_RANLIB.
3100
31012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31022013-09-23 neil
affce7d4
VS
3103
3104 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3105
3106 Based on patches from AROS.
3107
0e8daad0 31082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 31092013-09-23 neil
0e8daad0
VS
3110
3111 * grub-core/Makefile.am: Override STRIP and RANLIB.
3112 * configure.ac: compute TARGET_RANLIB.
3113 * INSTALL: Document TARGET_RANLIB
3114
3115 Based on patches from AROS.
3116
3f7d9c82
VS
31172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3120 that floppies are unpartitioned.
3121
bca8873a
VS
31222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3125 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3126
31272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3130 less nice but more portable.
3131 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3132
a47a78be
VS
31332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3136 for cheat_fd.
3137 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3138 functions.
3139 (grub_cryptodisk_cheat_insert): Likewise.
3140 (grub_cryptodisk_close): Likewise.
3141
e85a5d5c
VS
31422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3145 Use windows path for DEFAULT_DIRECTORY.
3146
dad9fa6b
VS
31472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3150 difference was likely just gcc version, not anything mingw-related.
3151
7e518ca8
VS
31522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Use Winapi on both cygwin and mingw32 to share more code between both.
3155
d68d0157
AB
31562013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3157
3158 * util/grub-install.in: Add --grub-editenv option.
3159 * util/grub-install_header (grub_compress_file): Explicitly check for
3160 plain file to avoid cp error.
3161
775b284d
AB
31622013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3163
3164 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3165 names; fix LVM driver name (lvm, not lv).
3166 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3167 names.
3168
3ff4063d
VS
31692013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3172 files rather than one file with loads of #if's.
3173 * util/getroot.c: Likewise.
3174
287faafe
VS
31752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3178
d1983764
VS
31792013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3182 GNU/Hurd to the list of checked PRNG.
3183
15ce95c4
VS
31842013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3187
207862dd 31882013-09-21 Ales Nesrsta <starous@volny.cz>
3189
7c680e1f 3190 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3191
63653cfd
VS
31922013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3195 * grub-core/disk/lvm.c: Add LVM UUIDs.
3196 * util/getroot.c: Use LVM UUIDs whenever possible.
3197
f5d3e7ef
AB
31982013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3199
3200 * docs/grub.texi (Networking commands): Add documentation for
3201 network related commands.
3202
53c6b7d6
VS
32032013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3206 to determine if device is handled by devmapper.
3207 (convert_system_partition_to_system_disk): Likewise.
3208 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3209 already done in grub_util_open_dm.
3210
e70d6736
LL
32112013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3212
3213 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3214 Clean up stack manipulation (sync_caches_armv*)
3215
90379808
VS
32162013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * util/lvm.c: Remove since unused. Remove remaining references.
3219
386701a8
VS
32202013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Handle the case of partitioned LVM properly.
3223
3224 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3225 Stop on meeting LVM, mpath or DMRAID.
3226 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3227 (read_device_map): Likewise.
3228 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3229 device is full disk rather than erroring out on LVM and similar cases.
3230
53070787
VS
32312013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3234
1bc783bd
VS
32352013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3238 4K before the end.
3239 Reported by: Leif Lindholm
3240
436ad5c3
PW
32412013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
32422013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3245 codes.
3246
607319c9
CW
32472013-09-18 Colin Watson <cjwatson@ubuntu.com>
3248
3249 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3250 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3251
d404d154
DR
32522013-09-18 Douglas Ray <dougray@cpan.org>
3253
3254 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3255 as secure.
3256
28851ef6
AN
32572013-09-18 Aleš Nesrsta <starous@volny.cz>
3258
3259 * docs/grub.texi: Fix broken link.
3260
897c3bc6
MC
32612013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3262
3263 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3264 to break endless loop.
3265
f1630459
VS
32662013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * util/grub-fstest.c: Fix several printf formats.
3269 * util/grub-mkimage.c: Likewise.
3270 * util/grub-mkimagexx.c: Likewise.
3271 * util/grub-script-check.c: Likewise.
3272
64463dfd
VS
32732013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3276 error.
3277
48972495
VS
32782013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3281
5dd5e64b
VS
32822013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3285 removed in current versions cygwin_conv_*.
3286
1c1f31e5
VS
32872013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * configure.ac: Disable efiemu runtime on cygwin.
3290
c546a259
VS
32912013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3294 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3295
81690478
VS
32962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3299 error message.
3300
6b87c10a
VS
33012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3304 windows variant.
3305 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3306 data.
3307
8f0baaac
VS
33082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3311 when on x86 and not cygwin.
3312 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3313 -Wl,-melf_x86_64.
3314
b224c266
VS
33152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * configure.ac: Set CPP to build one when checkoing for freetype for
3318 build.
3319
506b336b
VS
33202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3323 [!GRUB_BUILD]: Remove has_argument.
3324
8c8c87b7
VS
33252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3328 Replace with a dummy.
3329
7dc5ca13
VS
33302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * configure.ac: Don't change host_os from mingw to cygwin.
3333
c3302aa5
VS
33342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * configure.ac: Change target_os from windows to cygwin.
3337
7b780018
VS
33382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3341
3342 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3343 (build-grub-gen-asciih): Likewise.
3344 (build-grub-gen-widthspec): Likewise.
3345 * Makefile.util.def (grub-pe2elf): Remove.
3346 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3347 * configure.ac: Separate tests for build.
3348 Move ./build-grub-pe2elf to grub-core.
3349 Fix typo.
3350 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3351 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3352 defined.
3353 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3354 constants.
3355 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3356 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3357 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3358
984cfd8a
VS
33592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3362 mingw32 as well based on grub_util_get_disk_size.
3363 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3364 grub_util_get_fd_size.
3365 (sync): Removed.
3366 (fsync): Moved to ...
3367 * grub-core/kern/emu/misc.c (fsync): ... here.
3368
f82d79c9
VS
33692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * include/grub/mm.h (grub_extend_alloc): Remove.
3372 * grub-core/loader/i386/pc/plan9.c: Use own version of
3373 grub_extend_alloc with appropriate types.
3374
fd7dd66d
VS
33752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3378
43ffba7c
VS
33792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3382
3c7eac44
VS
33832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 Fix dependencies on cygwin.
3386
3387 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3388 dependencies when used and defined.
3389 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3390
bdb5ba47
VS
33912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3394 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3395
ed7fbf43
VS
33962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3399 implementation available to cause compile-time rather than runtime
3400 error.
3401
fc46e9fc
VS
34022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * util/grub-fstest.c: Don't check for symlinks on windows.
3405
7f68269a
VS
34062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * INSTALL: Mention unavailability of man pages when cross-compiling.
3409
8ed358e0
VS
34102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3413 and gcry_log_bug.
3414 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3415
fc97214f
VS
34162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * INSTALL: Document cross-compilation.
3419 * acinclude.m4: Determine whether nm support -P and --defined-only.
3420 * configure.ac: Add TARGET_ to all variables pertaining to target
3421 that don't have it yet.
3422 * gentpl.py: Likewise.
3423 * grub-core/Makefile.am: Likewise.
3424 * grub-core/genmod.sh.in: Likewise.
3425 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3426 as well.
3427
ca1fb563
IB
34282013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3429
3430 * configure.ac: Remove -Wempty-body. It's not essential and needs
3431 recent gcc.
3432
0031b229
IB
34332013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3434
3435 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3436 * util/getroot.c: Likewise.
3437
54ea2f44
VS
34382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/disk/ahci.c: Add needed explicit cast.
3441 * grub-core/lib/backtrace.c: Likewise.
3442 * grub-core/net/ip.c: Likewise.
3443 * grub-core/net/tcp.c: Likewise.
3444 * grub-core/net/udp.c: Likewise.
3445
3c601f8c
VS
34462013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3449
1d679dda
VS
34502013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * util/import_gcry.py: Add final newline in visibility.h.
3453
00c28dd9
VS
34542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * conf/Makefile.common: Fix typo.
3457
32af299a
VS
34582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3461
e733cf52
VS
34622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * Makefile.am (widthspec.h): Fix typo.
3465 * util/grub-gen-widthspec.c: Likewise.
3466
c6b066f2
VS
34672013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Move ascii.h and widthspec.h generation to a separate build-time-only
3470 tool.
3471
ad1fe3f9 34722013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3473
3474 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3475 Always fill bootdisk info and improve check for NetBSD disklabel.
3476
92a52dd4
VS
34772013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * conf/Makefile.extra-dist: Add util/bin2h.c.
3480 Reported by: floppym.
3481
b2e9d276
VS
34822013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3485
7b966834
VS
34862013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * configure.ac: Disable unifont and starfield if no freetype was found.
3489
d5c1eef1
VS
34902013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3493 on NetBSD and OpenBSD.
3494
66345b50 34952013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3496
3497 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3498
66345b50 34992013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3500
3501 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3502 reduced. Inheritant options are processed during the theme loading.
3503
66345b50 35042013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3505
3506 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3507
369508b3
AS
35082013-08-14 Avik Sil <aviksil@in.ibm.com>
3509
3510 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3511
35122013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3513
3514 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3515 using qemu.
3516
6f27a3f6
PFS
35172013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3518
3519 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3520 remove-potcdate.sed.
3521
c6ed362a
AB
35222013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3523
3524 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3525 unused attribute from pull argument.
3526
5e7d9464
AB
35272013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3528
3529 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3530 memory leak.
3531
dea55e2a
AB
35322013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3533
3534 * util/getroot.c (pull_lvm_by_command): add --separator option
3535 to vgs call to disable padding of output to 10 characters.
3536
f0b94ded
VS
35372013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3540 here ...
3541 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3542 here.
3543
b828fb5d
VS
35442013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3547 length.
3548
7c9d0c39
VS
35492013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3552 full Canadian cross. Tested with build=x86_64, host=arm,
3553 target=ppc-ieee1275.
3554
816719c8
VS
35552013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * configure.ac: Error if no $BUILD_CC could be found.
3558 Reported by: DevHC.
3559
2af2353b
VS
35602013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3563 i386-multiboot.
3564
797abd0a
VS
35652013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3568 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3569
36e87d25
CW
35702013-08-13 Colin Watson <cjwatson@ubuntu.com>
3571
3572 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3573 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3574 falling back to the partition device, otherwise a later call to this
3575 function may fail spuriously.
3576 Reported by Axel Beckert. Fixes Debian bug #708614.
3577
273349fe
GS
35782013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3579
3580 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3581
418f86c6
GS
35822013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3583
3584 Prevent shadowing of stdlib's devname(3) on BSD.
3585
3586 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3587 and devlast to diskname and disklast, respectively.
3588
c137aea0
CW
35892013-08-11 Colin Watson <cjwatson@ubuntu.com>
3590
3591 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3592
272dc8df 35932013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3594
3595 * docs/grub.texi: Introduce terminal window position options:
3596 terminal-left: terminal window's left position
3597 terminal-top: terminal window's top position
3598 terminal-width: terminal window's width
3599 terminal-height: terminal window's height
3600 terminal-border: terminal window's border width
3601 * grub-core/gfxmenu/theme-loader.c: Likewise.
3602 * include/grub/gfxmenu_view.h: Likewise.
3603 * po/exlude.pot: Likewise.
3604 * grub-core/gfxmenu/view.c: Likewise.
3605 Also updated minimal window size.
3606 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3607 * grub-core/tests/checksums.h: Update (terminal window height
3608 is adjusted now for low resolution screen)
b4743461 3609
748a4533
VS
36102013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3613 position).
3614
fca5f944
VS
36152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * po/exclude.pot: Add few recent exceptions.
3618
4f47d809
VS
36192013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * tests/grub_func_test.in: Add unicode.pf2.
3622
a62ae90c
VS
36232013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3626 standard rather than noral color, in line with other terminals.
3627
4ed41392
VS
36282013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3631 analysis.
3632
3719fbc5
VS
36332013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3636
459b1d91
VS
36372013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3640 inappropriate printf.
3641
f4e1ab9d
AB
36422013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3643
3644 * .bzrignore: Remove grub-core/lib/dtc-grub,
3645 grub-core/Makefile.libfdt.def
3646 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3647
fa471bfa
VS
36482013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * include/grub/video.h (grub_video_register): Keep double-linked as
3651 well as single-linked invariants.
3652 Reported by: qwertial.
3653
d65be02b
VS
36542013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/commands/nativedisk.c (get_uuid): Handle
3657 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3658
ba8bc620
VT
36592013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3660
3661 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3662 maximum of NW, N, NE heights instead of N's height and maximum of
3663 NW, W, SW widths instead of W's width. (So the box will be always
3664 correctly drawn)
3665
4f0ad029
GS
36662013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3667
3668 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3669 Fix misuse of variable count.
3670
43d53b72
LL
36712013-07-18 Leif Lindholm <leif.lindholm@arm.com>
36722013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
36732013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3674
43d53b72
LL
3675 New ports to arm-uboot and arm-efi.
3676 Mostly by Leif Lindholm with some additions from
3677 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3678
88f8d146
VS
36792013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3682 and not before.
3683 Reported by: Leon Drugi.
3684
3f42504c
VS
36852013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3688 Reported by: Paulo Flabiano Smorigo.
3689
d110499b
VT
36902013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3691
3692 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3693
a8674ad3
VT
36942013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3695
3696 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3697
286fe4b3
VS
36982013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3701
1bd57aa3
VS
37022013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3705
7a87d69f
AB
37062013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3707
3708 * grub-core/net/bootp.c: Export net_* variables.
3709 * grub-core/net/net.c: Likewise.
3710
b2182299
VS
37112013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3714
795b3dc0
VS
37152013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3718
68714c43
VS
37192013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3722
af211bab
VS
37232013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3726
0036f02d
MM
37272013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3728
3729 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3730 <= 0.
3731
6d0ddff3
MM
37322013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3733
3734 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3735 functions.
3736
038016f4
MM
37372013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3738
3739 * grub-core/fs/zfs/zfs_lz4.c: New file.
3740 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3741
776bdce2
MM
37422013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3743
3744 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3745
c71dbd40
MM
37462013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3747
3748 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3749 (check_pool_label): Likewise.
3750 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3751
37522013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3753
3754 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3755
8e67b50f
AB
37562013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3757
3758 * docs/grub.texi (Commands): Document postition parameters
3759 for menuentry command.
3760
f5ae3717
AB
37612013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3762
3763 * util/grub-mknetdir.in: Remove stray line from help output.
3764
9c28da2a
VS
37652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 Remove early sm712 init as there is no reason for it (the "watchdog"
3768 effect was due to wrong GPIO map).
3769
139072b8
VS
37702013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/commands/pcidump.c: Remove static variables.
3773
c6a61bda
VS
37742013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3777
51369614
VS
37782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * configure.ac: Move delimiter after the infos.
3781
efa8640a
VS
37822013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3785
6f80a7b2
VS
37862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3789 not filling whole 8x16 space.
3790
a2371e19
VS
37912013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3794
64fce2d8
VS
37952013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * configure.ac: Indicate which liblzma is used if any.
3798
eb272d84
PW
37992013-06-21 Paul Wise <pabs3@bonedaddy.net>
38002013-06-21 Craig Sanders <savannah@taz.net.au>
3801
3802 * util/grub-reboot.in: Document submenu usage.
3803
a9e5abee
CW
38042013-06-25 Colin Watson <cjwatson@ubuntu.com>
3805
3806 * .bzrignore: Update with a number of new test-related files.
3807
e639c204
CW
38082013-06-25 Colin Watson <cjwatson@ubuntu.com>
3809
3810 * util/grub-script-check.c: Fail on scripts containing no
3811 commands, to guard against corrupted grub-mkconfig setups that
3812 produce no useful output.
3813 * tests/grub_script_no_commands.in: New test.
3814 * Makefile.util.def (grub_script_no_commands): Add.
3815 Reported by Hans Putter. Fixes Debian bug #713886.
3816
a4c89b17
AB
38172013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3818
3819 * grub-core/disk/diskfilter.c: Forgot to remove comment
3820 from previous commit.
3821
5b06b53c
AB
38222013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3823
3824 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3825 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3826
702da5c9
AB
38272013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3828
3829 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3830
aa62a5b7
AB
38312013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3832
3833 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3834 rescan diskfilter devices until nothing new is found.
3835
4aa237c8
VS
38362013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3839
93d8479b
VS
38402013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 Don't try to detect cbfs on *-emu.
3843
837222cc
VS
38442013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3847
99c971af
VS
38482013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Add support for processed coreboot payload chainloading.
3851
e6930a45
VS
38522013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 Enable coreboot information commands even when not loaded as
3855 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3856
5027af38
VS
38572013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 Support for cbfs. Also factor out the part which is common
3860 for all archives to a separate module. This splits tar from cpio
3861 as they are very different but keeps cpio, cpio_be, odc and newc
3862 together since they're very similar.
3863
a5b55c4b
DM
38642013-06-15 David Michael <fedora.dm0@gmail.com>
3865
3866 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3867 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3868
0301a8b3
VS
38692013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * tests/grub_script_eval.in: Really add the eval test.
3872
3d84cb17
VS
38732013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Move flavour-specific parts out of common cpio.c file and
3876 rename remaining to cpio_common.c
3877
593e430c
AB
38782013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3879
3880 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3881 off new function grub_script_execute_new_scope. Change callers to use
3882 either of them as appropriate.
3883 * grub-core/commands/eval.c: New command eval.
3884 * docs/grub.texi (Commands): Document it.
3885
63c29849
AB
38862013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3887
3888 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3889 to fetch values when listing.
3890
cc284112
AB
38912013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3892
3893 Fix make dist on non-pc.
3894
38952013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3896
3897 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3898 without a device name.
3899
69544d1e
VS
39002013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Remove enable_executable_check as it's not needed anymore.
3903 Reported by: dougray.
3904
96dbe648
VS
39052013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3908 ambigouos RAID before discovering RAIDs on top of it.
3909 Reported by: bodom.
3910
ccfc0bdb
VS
39112013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 Fix typo (failback vs fallback).
3914
f2587088
AB
39152013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3916
3917 * util/grub.d/30_os-prober.in: Add support for probing EFI
3918 System Partition (as of os-prober 1.58).
3919
cec5cf0c
VS
39202013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * configure.ac: Add yet another path to unifont. For parabola.
3923
e40b4596
JT
39242013-05-30 Josh Triplett <josh@joshtriplett.org>
3925
3926 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3927 handling to copy the killed characters to the kill buffer as
3928 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3929 stored as char. Eliminates UCS4 truncation and corruption
3930 observed when killing characters with Ctrl-u and yanking them
3931 back with Ctrl-y.
3932
fc4c4fdd
VS
39332013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Detach optional parts of gfxterm and integrate in with coreboot init.
3936
6570b205
VS
39372013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 Move blit and fill dispatcher to appropriate files to decrease export
3940 and relocation overhead.
3941
b8323067
VS
39422013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3945 functions.
3946
3cc1878f
VS
39472013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/Makefile.am: Fix compilation problem with some
3950 automake versions.
3951
4b80e43c
VS
39522013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3955
57e0c20c
VS
39562013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3959 automake versions.
3960
4fd42c53
VS
39612013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3964 SSDT.
3965
1e908b34
RS
39662013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3967
3968 * grub-core/partmap/dfly.c: New partition map.
3969
1359e474
VS
39702013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3973 checking.
3974 Reported by: Francesco Lavra.
3975
17806392
AB
39762013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3977
3978 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3979 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3980 false conditions.
3981 * conf/Makefile.common: define dist_grubconf_DATA
3982
cdce14fa
VS
39832013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Progressively skip menu elements on small terminals rather
3986 than crashing.
3987
c8d6cc3c
VS
39882013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3991 to avoid losing last column.
3992
a73b31ce
VS
39932013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * po/exclude.pot: Add missing string "%C".
3996
1202c764
VS
39972013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4000 after the test.
4001
50268344
VS
40022013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * util/grub-install.in: Gettextize "Not found" message.
4005
62b15edf
VS
40062013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 Fix distfiles list.
4009 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4010
40112013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4012
4013 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4014 present.
4015 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4016
709ad61b
VS
40172013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4020
d128901a
VS
40212013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4024 attribute since structure is not necessarily aligned.
4025
34b22f5c
AB
40262013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4027
4028 * docs/grub.texi (Device syntax): Clarify description of network
4029 drives.
4030
0f7e980b
VS
40312013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4034 for vasprintf presence.
4035
30b03dc2
VS
40362013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * util/grub-install.in: Handle efibootmgr presence check.
4039 Reported by: Leif Lindholm.
4040
0dc11c08
VS
40412013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4044 new strings to translate.
4045
f8024c3f
VS
40462013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4049 yet another string (pun intended) to translate.
4050
b4c1da62
VS
40512013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * po/POTFILES-shell.in: Autogenerate it.
4054
0ef7478b
VS
40552013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4058
8200fa15
VS
40592013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4062 misnomer.
4063
091945b2
AB
40642013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4065
4066 * docs/grub.texi (Network): Add description of net_default_interface,
4067 net_default_ip and net_default_mac. Rewrite variables description
4068 to emphasize that they are per-interface.
4069
0e7b2e32
VS
40702013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 New test: cmdline and cat.
4073
16f7c8f6
VS
40742013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/commands/cat.c: Show UTF-8 characters.
4077
3e912fda
VS
40782013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * conf/Makefile.common: Poison float and double on non-emu.
4081
ee0220bc
VS
40822013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * configure.ac: Don't disable extended registers on emu.
4085
89e0240c
VS
40862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * configure.ac: Don't use extended registers on x86_64.
4089 Reported by: Peter Jones.
4090
e56d9637
VS
40912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/term/efi/console.c: Fix compile error.
4094
8098f655
VS
40952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 Compressed HFS+ support.
4098
16940e07
VS
40992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4102 pixel".
4103
c5dbc13d
VS
41042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Menu color test.
4107
011f8ae8
VS
41082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/tests/setjmp_test.c: New test.
4111
2aa072d7
VS
41122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 New variables 'net_default_*' to determine MAC/IP of default interface.
4115
43fe02cb
VS
41162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * tests/gettext_strings_test.in: A test to check for strings not
4119 marked for translation.
4120
bed06142
VS
41212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * autogen.sh: Exclude unused libgcrypt files from translation.
4124
fb2666b5
VS
41252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Simplify few strings.
4128
d22840ec
VS
41292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 Mark few forgotten strings for translation.
4132
e34092fd
VS
41332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4136 rather than printf.
4137
47cf82b4
VS
41382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4141 rather than printf.
4142 * grub-core/video/readers/tga.c: Likewise.
4143
1eed0e6e
VS
41442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * tests/priority_queue_unit_test.cc: New test.
4147
c5b7697b
VS
41482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4151 than printf.
4152
5945c2f8
AB
41532013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4154
4155 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4156 variable for one time boot menu entry.
4157
fa292343
B
41582013-05-05 Bean <bean123ch@gmail.com>
4159
4160 * grub-core/commands/testspeed.c: New command testspeed.
4161
310d4214
VS
41622013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Factor-out human-size printing.
4165
85002bf3
VS
41662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Agglomerate more mallocs to speed-up gfxterm.
4169
22b06e96
VS
41702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 Speed-up gfxterm by slightly agglomerating mallocs.
4173
b7c036bc
VS
41742013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 More video checks.
4177
92323d1f
VS
41782013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 Speed-up gfxterm by saving intermediate results in index+alpha
4181 format.
4182
0fb356a3
VS
41832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4186 test.
4187
44dea3f9
VS
41882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4191 line of timeout as it may contain the rest of long line.
4192
14af86e4
VS
41932013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/normal/main.c: Fix freed memory dereference.
4196
03f7c8c3
VS
41972013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 Fix several memory leaks.
4200
c686014c
VS
42012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4204
0788a695
VS
42052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4208
daf01d61
VS
42092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 Fix test -a and -o precedence.
4212 Reported by: adrian15.
4213
82ae74d7
VS
42142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4217
8cec7bd4
AB
42182013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4219
4220 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4221 and add it as source to functional_test module.
4222
aa73d688
VS
42232013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4226
c104b6f9
VS
42272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 New series of tests for gfxterm and gfxmenu.
4230
7391c4d5
VS
42312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4234 the theme path relative to $prefix/themes.
4235
cff50118
VS
42362013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4239 Fix order bug.
4240 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4241
7c332bdc
VS
42422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4245 descriptor.
4246
a4f9a5ff
VS
42472013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4250 grub_gfxmenu_timeout_notifications.
4251 (grub_gfxmenu_view_destroy): Likewise.
4252
b5a2114d
VS
42532013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4256
a8905e8a
VS
42572013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Several fixes to ieee1275 and big-endian video.
4260
813c1622
VS
42612013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 Add missing exports on mips.
4264
3f3e7326
VS
42652013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4268 if no unifont is found.
4269 Restore original keyboard.
4270
095accd1
VS
42712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4274 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4275
50361660
VS
42762013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 First automated video test (running videotest and comparing results)
4279
cd0f6eec
VS
42802013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4283 instead of 2 to have full RGB/CMY test pattern.
4284
3f9634e5
VS
42852013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Add few more tests.
4288
583e5b64
VS
42892013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4292 ARCS. All users updated.
4293
aa7bcb99
VS
42942013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4297
95ef1a54
VS
42982013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4301
46546fc5
VS
43022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4305 Reported by: qwertial.
4306
3476e0ef
VT
43072013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4308
4309 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4310 with syntax "XXX deg"/"XXX °".
4311
96f33fed
VS
43122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 Make PCI init in i386-qemu port more robust.
4315
43162013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4317
4318 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4319 cached view is reused.
4320 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4321 open boot menus.
4322
c53b4e67
VS
43232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 Unify more code in grub-install_header.
4326
f7457fb2
VS
43272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 Add few new tests.
4330
e2f27a8c
VS
43312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 Enforce disabling of firmware disk drivers when native drivers kick in.
4334
ef9d8cd5
VS
43352013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/commands/nativedisk.c: Customize the list of modules on
4338 platform. Don't try to search for disks already using native drivers.
4339
f7bf6c31
VS
43402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4343 platforms.
4344
bdc4add8
VS
43452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4348 handling of variables containing backslash.
4349
e9e46c9a
VS
43502013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4353 dereference.
4354 Reported by: qwertial.
4355
0e90dee8
VS
43562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4359
e0aacf24
VS
43602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4363 dereference.
4364 Reported by: qwertial.
4365
3c0003c3
VS
43662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4369
adb7d667
VS
43702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4373
7cd0df84
VS
43742013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 New command `nativedisk'.
4377
02adbb93
VS
43782013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4381 * grub-core/loader/i386/bsd.c: Likewise.
4382
9fb0fd4f
VS
43832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4386
bd69257a
VS
43872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4390 grub_get_unaligned16 rather than shifts.
4391
178c2764
VS
43922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/kern/file.c: Use const char * rather than casting to
4395 non-const.
4396
eadfad24
VS
43972013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/commands/probe.c: Add missing grub_device_close.
4400
9f73ebd4
VS
44012013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * INSTALL: Document linguas.sh.
4404
965fa829
VS
44052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Remove POTFILES.in and regenerate it in autogen.sh.
4408
d417ddc4
VS
44092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Move --directory/--override-directorry to grub-install_header and unify.
4412
f97ec546
VS
44132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/term/morse.c: Macroify dih and dah.
4416
b2d7470c
PFS
44172013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4418
4419 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4420
141e2a78
VS
44212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/term/ns8250.c: Systematically probe ports by writing
4424 to SR before using them.
4425
1dd70ebd
PFS
44262013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4427
4428 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4429 disks.
4430 (check_sas): Get sas_adress info.
4431
c796a107
VS
44322013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4435 ports.
4436
43168646
LD
44372013-04-27 Leon Drugi <eyak>
4438
4439 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4440 BSS clearing.
4441
e7b8fd08
VS
44422013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Core compression test.
4445
17f9fd29
VS
44462013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Implement grub_machine_get_bootlocation for ARC.
4449
dc2a6c8b
VS
44502013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 Improve AHCI detection and command issuing.
4453
f25a2ba6
VS
44542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Fix pseries test.
4457
a6393224
VS
44582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Make 'make check' work on emu.
4461
db99fbe8
VS
44622013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 Replace libcurses with our own vt100 handling for the ease of testing
4465 and decreasing prerequisites.
4466
b24ca7cd
VS
44672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4470
63314aa4
VS
44712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4474 compile when not needed.
4475
c1b00fff
VS
44762013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * tests/pseries_test.in: New test.
4479
f93e89ef
VS
44802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Add test to check that different boot mediums work.
4483
c4b456d3
VS
44842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4487 ofw limited ISO support.
4488
5fe67f39
VS
44892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * configure.ac: Fix loongson conditional.
4492
7f63a64f
VS
44932013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 Enable mipsel-arc.
4496
b04b5990
VS
44972013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 Add serial on ARC platform.
4500
88d2f302
VS
45012013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4504 commit.
4505
86eb23bc
VS
45062013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * tests/partmap_test.in: Add missing double semicolon.
4509
eec3bb75
VS
45102013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * util/grub-mkrescue.in: Fix loongson filename.
4513
e0810df3
VS
45142013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * util/grub-mkrescue.in: Move all files that don't have a location
4517 set in stone under /boot/grub. Use ISO hard links rather than copies
4518 to save some space.
4519
65a6b30b
VS
45202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4523 bogus SLOF values.
4524
6aff0107
VS
45252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Make check work on mips-arc.
4528
5e013e56
VS
45292013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * util/grub-mkrescue.in: Alias sashARCS as sash.
4532
d1989e2e
VS
45332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4536 it's serial.
4537
1a25e72c
VS
45382013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * util/grub-install.in: Fix target fo qemu_mips.
4541 Fix extension on EFI.
4542
a59a9826
VS
45432013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4546 in front of chosen entry to mark it even if highlighting is lost.
4547
1a40f80c
VS
45482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4551 gfxpayload=keep if cbfb is active.
4552
e343549c
VS
45532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4556
45fbd9a2
VS
45572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 Add missing video ids to coreboot and ieee1275 video.
4560
ab1440bd
VS
45612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * util/grub-mkrescue.in: Add mips-arc support.
4564
cdeb8324
VS
45652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4568
8528c879
VS
45692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Move mips-arc link address. Previous link address was chosen
4572 in belief that RAM on SGI platforms grows down while in fact it
4573 grows up from an unusual base.
4574
17fca573
VS
45752013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4578 Fix a type which prevented CD-ROM and floppy boot.
4579
d178788e
VS
45802013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 Support coreboot framebuffer.
4583
4584 * grub-core/video/i386/coreboot/cbfb.c: New file.
4585
fe4c3e7e
VS
45862013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4589 detecting too small regions.
4590
ec2dd179
VS
45912013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4594
872dac83
VS
45952013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4598 Remove dprintf.
4599 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4600
90ec4b7f
VS
46012013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4604 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4605 * grub-core/loader/powerpc/ieee1275/linux.c
4606 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4607
f32555dd
VS
46082013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4611 Look for /boot-rom as well as /rom/boot-rom.
4612
38649799
VS
46132013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4616 handling when creating text_layer failed.
4617 * grub-core/video/video.c (grub_video_create_render_target):
4618 Set result to 0 on error.
4619 (grub_video_delete_render_target): Do not dereference NULL.
4620
aeace7f7
VS
46212013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4624 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4625 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4626 (grub_linux_load64): Mask out 2 high bits.
4627
4eafa175
AB
46282013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4629
4630 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4631 more place.
4632
daaa64bd
VS
46332013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 Add support for pseries and other bootinfo machines to grub-mkrescue.
4636
4637 Tested by: Paulo Flabiano Smorigo.
4638
d0d2daa6
VS
46392013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * util/grub-mkrescue.in: Add GPT for EFI boot.
4642
b193e100
VS
46432013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4646 It improves performance in qemu.
4647
a0f8f3ac
VS
46482013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * build-aux/snippet: Add missing gnulib files.
4651
284df0e2
AB
46522013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4653
4654 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4655
740201f3
AB
46562013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4657
4658 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4659
a7e03923
PJ
46602013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
46612013-04-15 Peter Jones <pjones@redhat.com>
4662
4663 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4664 sectors.
4665 Based on patch by Peter Jones.
4666
25fc51a8
VS
46672013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 Fix DMRAID partition handling.
4670
88017d47
VS
46712013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * tests/grub_cmd_date.in: Skip on sparc64.
4674
fa7d914e
VS
46752013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4678 firmware error messages.
4679
cbe57a48
VS
46802013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4683 source and destination differ.
4684
21aecce0
VS
46852013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4688 detection.
4689
25092d29
VS
46902013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4693 match config-util.h to avoid warnings and increase compatibility.
4694
79451522 46952013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 46962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4697
4698 Add option to compress files on install/image creation.
4699
78b7d77b
VS
47002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * docs/grub-dev.texi: Rearrange menu to match the section order.
4703 Reported by: Bryan Hundven.
4704
cc2fa5ec
VS
47052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4708
b49fe879
VS
47092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Move GRUB out of system area when using xorriso 1.2.9 or later.
4712
5351da81
VS
47132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * tests/grub_cmd_date.in: Add missing exit 1.
4716
c9d586ea
VS
47172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * tests/partmap_test.in: Skip on sparc64.
4720
3f729741
VS
47212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 Support grub-shell on sparc64.
4724
8ca86b3a
VS
47252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Support mkrescue on sparc64.
4728
aa1af9bb
VS
47292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4732 Needed on OpenBIOS due to incomplete device tree.
4733
ac4fea79
VS
47342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4737 would be otherwise excluded.
4738
47392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4740
4741 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4742 Inline name defines used only once.
4743
fe22b071
VS
47442013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Fix memory leaks in ofnet.
4747 Reported by: Francesco Lavra.
4748
9d21381b
VS
47492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * docs/man/grub-glue-efi.h2m: Add missing file.
4752
07aec23c
VS
47532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4756
67ab8353
VS
47572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Better support Apple Intel Macs on CD.
4760
ba44ca6d
VS
47612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Replace stpcpy with grub_stpcpy in tools.
4764
bbdd6305
VS
47652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Handle Japanese special keys.
4768 Reported by: Hiroyuki YAMAMORI.
4769 Codes supplied by: Hiroyuki YAMAMORI.
4770
8573d302
VS
47712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * util/grub-mkimage.c: Document memdisk implying --prefix.
4774
d70dbab7
VS
47752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4778 much we can do about it anyway.
4779
51a4c3e3
AN
47802013-04-12 Aleš Nesrsta <starous@volny.cz>
4781
4782 Fix handling of split transfers.
4783
92c8f58d
VS
47842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/net/http.c: Fix bad free.
4787
b7d17a49
VS
47882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4791 than buffer size.
4792
a3d566d4
VS
47932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4796
a936af56
VS
47972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * tests/util/grub-shell.in: Fix it on powerpc.
4800
51212234
VS
48012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 Turn off QEMU ACPI-way since new releases don't have shutdown port
4804 anymore.
4805
a21eec9e
VS
48062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * docs/grub.texi: Update coreboot status info.
4809
e3734b84
VS
48102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * tests/grub_cmd_date.in: New test for datetime.
4813
f9d40055
VS
48142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * tests/partmap_test.in: Fix missing qemudisk setting.
4817
dbc56d8f
VS
48182013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Support i386-ieee1275 grub-mkrescue and make check on it.
4821
a79b8a15
VS
48222013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4825 feature for it.
4826
48f39bb4
VS
48272013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4830 GRUB_CMDLINE_XEN_DEFAULT.
4831 Reported by: Marc Warne (GigaTux) <gigatux>
4832
053cfcdd
VS
48332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Import new gnulib.
4836
93cd84df
VS
48372013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 Use ACPI shutdown intests as traditional port was removed.
4840
f4b1fa4f
AB
48412013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4842
4843 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4844 distinction.
4845
49818a59
VS
48462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4849 Fix few warining messages and leaks while on it.
4850
9277a306
AB
48512013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4852
4853 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4854 links under grub-core/lib/libgcrypt-grub/mpi.
4855
d5e2a158
VS
48562013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Fix ia64-efi image generation on big-endian machines. Deduplicate
4859 some code while on it.
4860 Reported by: Leif Lindholm.
4861
18866643
AB
48622013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4863
4864 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4865 as extra_dist.
4866
ca53deb8
AB
48672013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4868
4869 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4870
d4c4b8e1
BH
48712013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4872
4873 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4874 texinfo-5.1.
4875
47043f95
VS
48762013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/normal/term.c: Few more fixes for menu entry editor
4879 rendering.
4880 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4881
a3216068
VS
48822013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/normal/term.c: Few more fixes for menu entry editor
4885 rendering.
4886 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4887
21026747
AB
48882013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4889
4890 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4891 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4892
59624ca8
AB
48932013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4894
4895 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4896 instead of hardcoding grub.mo.
4897
1f44478c
FN
48982013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4899
4900 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4901
eeada7b1
VS
49022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4905 grub-core/disk/geli.c.
4906
132867de
VS
49072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * util/grub-mkfont.c: Prefer enum to #define.
4910
de73de17
VS
49112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4914
1865baa7
VS
49152013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4918
ce7d92a9
VS
49192013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4922
52eab656
VS
49232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4926
98b23b95
VS
49272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * include/grub/bsdlabel.h: Use enums.
4930
0467a5dd
VS
49312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Move GRUB_CHAR_BIT to types.h.
4934
16cc9f03
AB
49352013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4936
4937 * docs/grub.texi: Document more user commands.
4938
3152aecb
AB
49392013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4940
4941 * docs/grub.texi: Document menuentry --id option.
4942
c506fc30
FL
49432013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4944
4945 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4946
aa428238
VS
49472013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Unify file copying setup across different install scripts. Add
4950 options for performing partial install.
4951
efe0cdda
PJ
49522013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
49532013-04-04 Peter Jones <pjones@redhat.com>
4954
4955 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4956
f75835bd
VS
49572013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Use TSC as a possible time source on i386-ieee1275.
4960
2cd5ce6c
VS
49612013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4964 Init err.
4965
c9625630
VS
49662013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * util/grub-setup.c (setup): Handle some corner cases.
4969
be008941
VS
49702013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4973
1a78d573
VS
49742013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/commands/verify.c: Save verified file to avoid it being
4977 tampered with after verification was done.
4978
db8ff59f
VS
49792013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4982 reported width by one to compensate for curesor algorithm problem.
4983
91bf46b1
VS
49842013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Fix screen corruption in menu entry editor and simplify the code
4987 flow while on it.
4988
a7b1d693
AB
49892013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4990
4991 * util/grub-mount.c (fuse_init): Return error if fuse_main
4992 failed.
4993
31df9ad8
FL
49942013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4995
4996 * include/grub/elf.h: Add missing ARM relocation codes and fix
4997 existing ones.
4998
07f392eb
VT
49992013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5000
5001 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5002
9efd73ec 50032013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
50042013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5007 into account when calculating radius.
5008
50092013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5010
5011 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5012
4985ddaa
VT
50132013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5014
5015 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5016
8c3635ff
RS
50172013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5018
5019 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5020 missing closing bracket.
5021
74a35e69
RS
50222013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5023
5024 * INSTALL: Mention xorriso requirement.
5025
40f1c000
AB
50262013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5027
5028 * grub-core/commands/verify.c: Fix hash algorithms values for
5029 the first three hashes - they start with 1, not with 0.
5030
e75fdee4
VS
50312013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5034 Try terminating EFI services several times due to quirks in some
5035 implementations.
5036
33028f4c
CW
50372013-03-26 Colin Watson <cjwatson@ubuntu.com>
5038
5039 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5040 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5041 BankField extended opcodes.
5042 (get_sleep_type): Add minimal scope handling (just enough to
5043 handle setting the scope to the root path).
5044 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5045 * include/grub/acpi.h: Add enumeration values for Event, Device,
5046 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5047
33871a10
VT
50482013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5049
5050 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5051 memory leak.
5052
8990963a
VS
50532013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/disk/ahci.c: Give more time for AHCI request.
5056
daae8f9e
VS
50572013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5060 command.
5061
6a7fb94b
VS
50622013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Replace the region at 0 from coreboot tables to available in BSD
5065 memory map.
5066
ff99babd
VS
50672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5070 non-BIOS platforms.
5071
30d6b1b2
VS
50722013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5075 platforms.
5076
6ccd0b31
VS
50772013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5080 handling of multi-device filesystems.
5081
23c9cc04
VS
50822013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5085 platforms.
5086
ce50dbd7
VS
50872013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Add new 'proc' filesystem framework and put luks_script into it.
5090
d975e8d5
VS
50912013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5094 and qemu.
5095
e73ba5e8
VS
50962013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5099
92750e4c
VS
51002013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 Add ability to generate newc additions on runtime.
5103
0ec45a68
VS
51042013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5107 description.
5108
320abd43
VS
51092013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * po/POTFILES.in: Regenerate.
5112
d7a6506e
VS
51132013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/commands/verify.c (hashes): Add several hashes
5116 from the spec.
5117
8fe05def
VS
51182013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 Slight improve in USB-related boot-time checkpoints.
5121
524e2766
VS
51222013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/commands/boottime.c: Fix copyright header.
5125
cc19857a
VS
51262013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5129 coreboot tables content. Support for cbmemc.
5130
ef8810e9
VS
51312013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Fix a conflict between ports structures with 2 controllers of
5134 same kind.
5135
e9dabdfa
VS
51362013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * include/grub/boottime.h: Add missing file.
5139
f6df57d2
VS
51402013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 Initialize USB ports in parallel to speed-up boot.
5143
d745dda7
VS
51442013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 Fix USB devices not being detected when requested
5147 due to delayed attach.
5148
e5a2dd7b
VS
51492013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5150
e744219b
VS
5151 Implement boot time analysis framework.
5152
51532013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5156 descriptor to just receive it as argument rather than endpoint
5157 address.
5158
5dd6f587
VS
51592013-03-19 Aleš Nesrsta <starous@volny.cz>
5160
5161 Better estimate the maximum USB transfer size.
5162
2f1071d5
VS
51632013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 Resend a packet if we got the wrong buffer in status.
5166
46ecfc49
VS
51672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5170 multiplication rather than division.
5171
ea811130
VS
51722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5175 than divisions.
5176
d2789cf0
VS
51772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5180 operations to have intended shifts and not divisions.
5181
a9c94590
VS
51822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5185 intended shifts rather than division.
5186
84cfe81b
VS
51872013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5190 computation for some years before epoch. Avode confusing division
5191 while on it.
5192
21344ef6
VS
51932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/video/i386/pc/vbe.c
5196 (grub_video_vbe_print_adapter_specific_info): Replace division by
5197 shifts.
5198
3f2b4d1a
VS
51992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Adjust types in gdb module to have intended unsigned shifts rather than
5202 signed divisions.
5203
3dac5878
VS
52042013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5207 maximum size is 4G - 1 on hfs
5208
5341c0fb
VS
52092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5212
fc3ff2a2
VS
52132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5216 function.
5217
81455e8e
AB
52182013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5219
5220 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5221 causing gcc error with gcc 4.7.1.
5222
efd4f117
NZ
52232013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5224
5225 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5226 dereference null pointer. While the code is technically correct, gcc
5227 may eliminate a null check if pointer is already dereferenced.
5228
e11645f4
NZ
52292013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5230
5231 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5232 OOM check.
5233 * grub-core/normal/term.c (read_terminal_list): Likewise.
5234
77468368
VS
52352013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 Lift up core size limits on some platforms. Fix potential memory
5238 corruption with big core on small memory systems. Document remaining
5239 limits.
5240
f6b58fe5
VS
52412013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5244 gotoxy to 0,0.
5245
19ce697d
VS
52462013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 Remove all trampoline support. Add -Wtrampolines when
5249 present. Remove symbols used for trampolines to make
5250 link fail if trampolines are present.
5251
73b5d90f
VS
52522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5255 append out of its parent.
5256
cb758e96
VS
52572013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5260 parent.
5261
3188131f
VS
52622013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5265 all vars to a macro. All users updated.
5266
e42b2514
VS
52672013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5270 i386-ieee1275.
5271
83e1a1a1
VS
52722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5275
1d5a880f
VS
52762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5279
6e4146c4
VS
52802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 Move to more hookless approach in IEEE1275 devices handling.
5283
99fcda8a
VS
52842013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/kern/term.c (grub_term_normal_color),
5287 (grub_term_highlight_color): Add back lost defaults.
5288
73bf57e2
VS
52892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 Make elfload not use hooks. Opt for flags and iterators instead.
5292
7f8c105f
VS
52932013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5296 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5297
396d4091
VS
52982013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5301
53022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5305 hook pass-through parameter. All users updated and unnested.
5306
74a27421
VS
53072013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5310 out of its parent.
5311
b46d4213
VS
53122013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/fs/hfs.c: Remove nested functions.
5315
e114c3cc
VS
53162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5319 the context through.
5320 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5321
f9b7d780
VS
53222013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * util/grub-editenv.c (list_variables): Move print_var out of its
5325 parent.
5326
ca9c2608
VS
53272013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5330 function.
5331
5d983f5f
VS
53322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/gentrigtables.c: Make tables const.
5335
3056d3e7
VS
53362013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 Remove nested functions from videoinfo iterators.
5339
e2303774
VS
53402013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5343 for 64-bit platforms.
5344
f42e3a2f
VS
53452013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5348 a FOR_CHILDREN macro.
5349
be174e5e
VS
53502013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5353 platform from firmware path.
5354
0789b672
VS
53552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Enable linux16 on non-BIOS systems for i.a. memtest.
5358
5359 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5360 correctly.
5361 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5362
005a9c32
VS
53632013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5366 Fix end of table condition.
5367
ff2b3cd9
VS
53682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5371 out of its parent.
5372
4fc40ff8
VS
53732013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/fs/jfs.c: Remove nested functions.
5376
be42d97a
VS
53772013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/fs/minix.c: Remove nested functions.
5380
99373ce4
VS
53812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/fs/iso9660.c: Remove nested functions.
5384
5aec2afe
VS
53852013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5388 of parent function.
5389
6c69e691
VS
53902013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * util/grub-fstest.c: Remove nested functions.
5393
43c91882
VS
53942013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/loader/machoXX.c: Remove nested functions.
5397
4eb8b756
CW
53982013-02-27 Colin Watson <cjwatson@ubuntu.com>
5399
5400 Remove nested functions from disk and file read hooks.
5401
5402 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5403 (struct grub_disk): Add read_hook_data member.
5404 * include/grub/file.h (struct grub_file): Likewise.
5405 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5406 argument.
5407
5408 Update all callers.
5409
df6da5a5
AB
54102012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5411
5412 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5413 Fix off by one error in enumerating extended partitions.
5414
21aecde5
AB
54152013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5416
5417 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5418 memory leak if device name is not found.
5419
f1a19118
AB
54202013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5421
5422 * grub-core/normal/menu_entry.c (update_screen): remove
5423 unused variable `off' which caused scroll down arrow to be always shown.
5424
958bfd20
AB
54252013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5426
5427 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5428 access to unallocated memory.
5429
b7b78edb
AB
54302013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5431
5432 * Makefile.util.def: Add partmap/msdos.c to common library.
5433 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5434 * grub-core/disk/ldm.c: Check for existence of
5435 GRUB_PC_PARTITION_TYPE_LDM.
5436
28d468d6
VS
54372013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5440 sizes and display sector size.
5441
d55ffb02
VS
54422013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Implement new command cmosdump.
5445
b5ea6ce0
VS
54462013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5447
5448 Support Openfirmware disks with non-512B sectors.
5449
5450 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5451 size of the disk.
5452 * (grub_ofdisk_get_block_size): New function.
5453 * (grub_ofdisk_prepare): Use the correct block size.
5454 * (grub_ofdisk_read): Likewise.
5455 * (grub_ofdisk_write): Likewise.
5456 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5457 New proto.
5458
cc0e476f
VS
54592013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5462
c5dbdc33
VS
54632013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5466 on first error.
5467
3f078c0f
VS
54682013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5471 freeing it.
5472
66a93674
VS
54732013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 Implement USBDebug (full USB stack variant).
5476
c9f0c134
VS
54772013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5480 unless they have unexpected values.
5481
cfe1288b
VS
54822013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5485 grub_print_error.
5486
e42b9969
VS
54872013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5490 zero-out of port structure.
5491
cf94fd62
VS
54922013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5495 of extended attributes.
5496
f81ef4b5
AB
54972013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5498
5499 * util/grub-install.in: change misleading comment about
5500 device.map creation
5501
af18fdb4
VS
55022013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5505 when menu highlight color isn't set.
5506
08bcec50
M
55072013-01-27 C. Masloch <pushbx@38.de>
5508
5509 Improve FreeDOS direct loading support compatibility.
5510
5511 * include/grub/i386/relocator.h (grub_relocator16_state):
5512 New member ebp.
5513 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5514 variable.
5515 (grub_relocator16_boot): Handle %ebp.
5516 * grub-core/lib/i386/relocator16.S: Likewise.
5517 * grub-core/loader/i386/pc/freedos.c:
5518 Load BPB to pass kernel which partition to load from.
5519 Check that kernel file is not too large.
5520 Set register dl to BIOS unit number as well.
5521
7782b8a6
CW
55222013-01-22 Colin Watson <cjwatson@ubuntu.com>
5523
5524 * util/grub-reboot.in (usage): Document the need for
5525 GRUB_DEFAULT=saved.
5526 * util/grub-set-default.in (usage): Likewise.
5527 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5528
e661c180
VS
55292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5532 than defining WORDS_BIGENDIAN manually.
5533
1c22ca9a
VS
55342013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5537 invariants.
5538
d44892fe
CW
55392013-01-21 Colin Watson <cjwatson@ubuntu.com>
5540
5541 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5542 nested.
5543 (blit_comb: add_device_width): Likewise.
5544
5fdbaed1
CW
55452013-01-21 Colin Watson <cjwatson@ubuntu.com>
5546
5547 Remove nested functions from USB iterators.
5548
5549 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5550 (grub_usb_controller_iterate_hook_t): Likewise.
5551 (grub_usb_iterate): Add hook_data argument.
5552 (grub_usb_controller_iterate): Likewise.
5553 (struct grub_usb_controller_dev.iterate): Likewise.
5554
5555 Update all implementations and callers.
5556
4250985a
VS
55572013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5560 margin when not needed.
5561
7d8848f3
VS
55622013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5563
bc136973 5564 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5565
55662013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5567
bc136973
VS
5568 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5569 asterisk.
7d8848f3 5570
ed12a003
CW
55712013-01-21 Colin Watson <cjwatson@ubuntu.com>
5572
5573 Fix powerpc and sparc64 build failures caused by un-nesting memory
5574 map iterators.
5575
6a0db449
CW
55762013-01-21 Colin Watson <cjwatson@ubuntu.com>
5577
5578 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5579 parameter declarations.
5580
ccd86b21
VS
55812013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5584
822b726b
VS
55852013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 Improve spkmomdem reliability by adding a separator between bytes.
5588
115c2cc1
CW
55892013-01-21 Colin Watson <cjwatson@ubuntu.com>
5590
5591 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5592 an Acer registration utility with several sightings in the wild.
5593 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5594
fc524edf
CW
55952013-01-21 Colin Watson <cjwatson@ubuntu.com>
5596
5597 Remove nested functions from filesystem directory iterators.
5598
5599 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5600 (struct grub_fs.dir): Add hook_data argument.
5601
5602 Update all implementations and callers.
5603
53d3e4e3
CW
56042013-01-21 Colin Watson <cjwatson@ubuntu.com>
5605
5606 * docs/grub.texi (Multi-boot manual config): Fix typo for
5607 "recommended".
5608
c821711f
LL
56092013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5610
5611 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5612 until after its use in generate_image.
5613
6a0debbd
CW
56142013-01-20 Colin Watson <cjwatson@ubuntu.com>
5615
5616 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5617 initrd size to addr_min, since the initrd will be allocated after
5618 this address.
5619
f41e08db
AB
56202013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5621
5622 * conf/Makefile.common: Fix autogen rules to pass definition
5623 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5624
77529e0f
LL
56252013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5626
5627 * include/grub/elf.h: Update ARM definitions based on binutils.
5628
b879aa7b
VS
56292013-01-20 Aleš Nesrsta <starous@volny.cz>
5630
5631 Split long USB transfers into short ones.
5632
8eb8284d
AB
56332013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5634
5635 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5636 is interrupted by ESC.
5637
08dad2dc
VS
56382013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/grub-script-check.c (main): Uniform the error message.
5641
6c724b85
CW
56422013-01-20 Colin Watson <cjwatson@ubuntu.com>
5643
5644 Remove nested functions from ELF iterators.
5645
25239370
CW
56462013-01-20 Colin Watson <cjwatson@ubuntu.com>
5647
5648 Remove nested functions from device iterators.
5649
5650 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5651 (grub_arc_iterate_devs): Add hook_data argument.
5652 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5653 (struct grub_ata_dev.iterate): Add hook_data argument.
5654 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5655 (grub_device_iterate): Add hook_data argument.
5656 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5657 (struct grub_disk_dev.iterate): Add hook_data argument.
5658 (grub_disk_dev_iterate): Likewise.
5659 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5660 Likewise.
5661 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5662 Likewise.
5663 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5664 type.
5665 (struct grub_partition_map.iterate): Add hook_data argument.
5666 (grub_partition_iterate): Likewise.
5667 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5668 (struct grub_scsi_dev.iterate): Add hook_data argument.
5669
5670 Update all callers.
5671
6c0314d6
CW
56722013-01-20 Colin Watson <cjwatson@ubuntu.com>
5673
5674 Fix typos for "developer" and "development".
5675
600dc5f1
VS
56762013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 Add license header to spkmodem-recv.c.
5679
17334a6b
VS
56802013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 Rewrite spkmodem to use PIT for timing. Double the speed.
5683
7d462559
VS
56842013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 Add new command pcidump.
5687
b78d6c32
VS
56882013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 New terminal outputs using serial: morse and spkmodem.
5691
34f71cb8
VS
56922013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 Improve bidi handling in entry editor.
5695
4542e71b
VS
56962013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5699 argument to prevent name collision.
5700
09fd6d82
CW
57012013-01-15 Colin Watson <cjwatson@ubuntu.com>
5702
5703 Remove nested functions from script reading and parsing.
5704
5705 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5706 getline_data argument, passed to getline.
5707 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5708 getline_data argument, passed to grub_parser_split_cmdline.
5709 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5710 lexerstate->getline_data to lexerstate->getline.
5711 (grub_script_lexer_init): Add getline_data argument, saved in
5712 lexerstate->getline_data.
5713 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5714 argument, passed to grub_script_parse.
5715 * grub-core/script/script.c (grub_script_parse): Add getline_data
5716 argument, passed to grub_script_lexer_init.
5717 * include/grub/parser.h (grub_parser_split_cmdline): Update
5718 prototype. Update all callers to pass appropriate getline data.
5719 (struct grub_parser.parse_line): Likewise.
5720 (grub_rescue_parse_line): Likewise.
5721 * include/grub/reader.h (grub_reader_getline_t): Add void *
5722 argument.
5723 * include/grub/script_sh.h (struct grub_lexer_param): Add
5724 getline_data member.
5725 (grub_script_parse): Update prototype. Update all callers to pass
5726 appropriate getline data.
5727 (grub_script_lexer_init): Likewise.
5728 (grub_normal_parse_line): Likewise.
5729
5730 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5731 data argument.
5732 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5733 static instead of nested. Rename to ...
5734 (grub_parser_execute_getline): ... this.
5735 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5736 data argument.
5737 * grub-core/normal/main.c (read_config_file: getline): Make static
5738 instead of nested. Rename to ...
5739 (read_config_file_getline): ... this.
5740 (grub_normal_read_line): Add unused data argument.
5741 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5742 getline): Make static instead of nested. Rename to ...
5743 (grub_script_execute_sourcecode_getline): ... this.
5744 * util/grub-script-check.c (main: get_config_line): Make static
5745 instead of nested.
5746
d0d4b8a0
CW
57472013-01-15 Colin Watson <cjwatson@ubuntu.com>
5748
5749 Remove nested functions from memory map iterators.
5750
5751 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5752 argument, passed to hook.
5753 * grub-core/kern/i386/coreboot/mmap.c
5754 (grub_linuxbios_table_iterate): Likewise.
5755 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5756 instead of nested.
5757 (grub_machine_mmap_iterate): Add hook_data argument.
5758 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5759 Add hook_data argument, passed to hook.
5760 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5761 Likewise.
5762 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5763 Likewise.
5764 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5765 Likewise.
5766 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5767 Likewise.
5768 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5769 Likewise.
5770 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5771 Likewise.
5772 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5773 (grub_machine_mmap_iterate): Likewise.
5774 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5775 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5776 prototype.
5777 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5778 Remove NESTED_FUNC_ATTR from here and from all users.
5779 (grub_mmap_iterate): Update prototype.
5780 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5781 pass appropriate hook data.
5782 (grub_machine_mmap_iterate): Likewise.
5783
5784 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5785 static instead of nested.
5786 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5787 Rename to ...
5788 (lsmmap_hook): ... this.
5789 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5790 Likewise.
5791 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5792 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5793 heap_init): Likewise.
5794 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5795 Rename to ...
5796 (mmap_iterate_hook): ... this.
5797 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5798 Likewise.
5799 * grub-core/lib/ieee1275/relocator.c
5800 (grub_relocator_firmware_get_max_events: count): Likewise.
5801 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5802 to ...
5803 (grub_relocator_firmware_fill_events_iter): ... this.
5804 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5805 hook): Likewise. Rename to ...
5806 (grub_relocator_alloc_chunk_align_iter): ... this.
5807 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5808 Rename to ...
5809 (generate_e820_mmap_iter): ... this.
5810 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5811 Rename to ...
5812 (count_hook): ... this.
5813 (grub_linux_boot: hook): Likewise. Rename to ...
5814 (grub_linux_boot_mmap_find): ... this.
5815 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5816 (grub_linux_boot_mmap_fill): ... this.
5817 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5818 hook): Likewise. Rename to ...
5819 (grub_fill_multiboot_mmap_iter): ... this.
5820 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5821 hook): Likewise. Rename to ...
5822 (count_hook): ... this.
5823 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5824 hook): Likewise. Rename to ...
5825 (grub_fill_multiboot_mmap_iter): ... this.
5826 * grub-core/loader/powerpc/ieee1275/linux.c
5827 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5828 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5829 Likewise. Rename to ...
5830 (alloc_phys_choose): ... this.
5831 (determine_phys_base: get_physbase): Likewise.
5832 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5833 find_hook): Likewise.
5834 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5835 (malloc_hook: count_hook): Likewise.
5836 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5837 Likewise. Rename to ...
5838 (lower_hook): ... this.
5839 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5840 (upper_hook): ... this.
5841 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5842 (post64_hook): ... this.
5843 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5844 Likewise. Rename to ...
5845 (lower_hook): ... this.
5846 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5847 (upper_hook): ... this.
5848 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5849 (grub_mmap_iterate: fill_hook): Likewise.
5850 (fill_mask): Pass addr and mask within a single struct.
5851 (grub_cmd_badram: hook): Make static instead of nested. Rename
5852 to ...
5853 (badram_iter): ... this.
5854 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5855 (cutmem_iter): ... this.
5856
22099030
VS
58572013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5860 delimit path in strings using quotes.
5861 * util/getroot.c (grub_guess_root_devices): Likewise.
5862 (grub_make_system_path_relative_to_its_root): Likewise.
5863 * util/grub-probe.c (probe): Likewise.
5864 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5865 (xrealpath): Likewise.
5866
4a9950ec
VS
58672013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 Fix compilation with older compilers.
5870
5871 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5872 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5873 declarations.
5874 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5875 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5876 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5877 identifier with b.
5878 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5879 * include/grub/crypto.h: Add type defines.
5880 * util/import_gcrypth.sed: Remove duplicate type defines.
5881
adcc6020
VS
58822013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 New command list_trusted.
5885
5886 * grub-core/commands/verify.c (grub_cmd_list): New function.
5887
a4528937
CW
58882013-01-13 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5891 info message.
5892
ca3a7446
CW
58932013-01-13 Colin Watson <cjwatson@ubuntu.com>
5894
5895 Remove nested functions from PCI iterators.
5896
5897 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5898 passed to hook. Update all callers to pass appropriate hook data.
5899 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5900 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5901 Remove NESTED_FUNC_ATTR from here and from all users.
5902 (grub_pci_iterate): Update prototype.
5903 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5904 instead of nested. Rename to ...
5905 (grub_cs5536_find_iter): ... this.
5906 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5907 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5908 Likewise.
5909 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5910 Likewise.
5911 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5912 Likewise.
5913 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5914 Likewise.
5915 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5916 * grub-core/video/radeon_fuloong2e.c
5917 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5918 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5919 find_card): Likewise.
5920 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5921 Likewise.
5922
f8e98fee
VS
59232013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/commands/verify.c: Mark messages for translating.
5926
055b36b6
VS
59272013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5930 fatal.
5931
f7ff879b
VS
59322013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5935 fatal.
5936
59372013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5938
5939 * autogen.sh: Do not try to delete nonexistant files.
5940 * util/import_gcrypth.sed: Add some missing header removals.
5941
01323d49
CW
59422013-01-12 Colin Watson <cjwatson@ubuntu.com>
5943
5944 Clean up dangling references to grub-setup.
5945 Fixes Ubuntu bug #1082045.
5946
5947 * docs/grub.texi (Images): Refer generally to grub-install rather
5948 than directly to grub-setup.
5949 (Installing GRUB using grub-install): Remove direct reference to
5950 grub-setup.
5951 (Device map) Likewise.
5952 (Invoking grub-install): Likewise.
5953 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5954 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5955 * util/grub-install.in (usage): Likewise.
5956
5957 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5958 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5959 grub-setup.
5960 * configure.ac: Remove grub_setup output variable.
5961
5962 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5963 to grub-bios-setup.
5964 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5965 grub-setup to grub-sparc64-setup.
5966
5e3b8dcb
VS
59672013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Import gcrypt public-key cryptography and implement signature checking.
5970
535714bd
VS
59712013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/fs/ntfs.c: Ue more appropriate types.
5974 * grub-core/fs/ntfscomp.c: Likewise.
5975 * include/grub/ntfs.h: Likewise.
5976
3e4f3566
VS
59772013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Support Apple FAT binaries on non-Apple platforms.
5980
5981 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5982 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5983 Likewise.
5984 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5985 Apple FAT binaries.
5986
4dedb13f
VS
59872013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5990 sector devices.
5991
f8861eaf
CW
59922013-01-07 Colin Watson <cjwatson@ubuntu.com>
5993
5994 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5995 explicitly zeroing elements.
5996 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5997 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5998 of elements in a structure already allocated using grub_zalloc.
5999 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6000
86065b0a
CW
60012013-01-07 Colin Watson <cjwatson@ubuntu.com>
6002
6003 * docs/grub.texi (grub_cpu): New subsection.
6004 (grub_platform): Likewise.
6005
c6f1e92f
VS
60062013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6009
f797ec85
VS
60102013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6013 divisions.
6014
033d0b4b
VS
60152013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6018 * grub-core/fs/ntfscomp.c: Likewise.
6019 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6020 (grub_ntfs_comp): Likewise.
6021
21d1b9a0
VS
60222013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6025 Rename to ...
6026 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6027 of groups_per_block. All users updated.
6028
10ca8645
VS
60292013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6032 grub_error properly.
6033 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6034 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6035
a4c3ed4c
VS
60362013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6039 always in /boot/zfs.
6040 Reported by: Yuta Satoh.
6041
0b716507
YS
60422013-01-03 Yuta Satoh <nigoro>
6043
6044 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6045 ${grub_probe}
6046
00c05e22
VS
60472013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * configure.ac: Extend -Wno-trampolines to host.
6050
dadddb76
VS
60512013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6054 entry->len = 0.
6055
54ce53ca
CW
60562013-01-03 Colin Watson <cjwatson@ubuntu.com>
6057
6058 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6059 (Invoking grub-script-check): Likewise.
6060
8912efca
CW
60612013-01-03 Colin Watson <cjwatson@ubuntu.com>
6062
6063 * docs/grub.texi (Invoking grub-mount): New section.
6064 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6065
c3fc8394
CW
60662013-01-02 Colin Watson <cjwatson@ubuntu.com>
6067
6068 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6069 test failures, so that a failing unit test correctly causes 'make
6070 check' to fail.
6071
45d26abb
CW
60722013-01-02 Colin Watson <cjwatson@ubuntu.com>
6073
6074 Fix failing printf test.
6075
6076 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6077 '$' in the correct order when collecting type information.
6078
971dd2c6
CW
60792013-01-02 Colin Watson <cjwatson@ubuntu.com>
6080
6081 * docs/grub.texi (configfile): Explain environment variable
6082 handling.
6083 (source): New section.
6084 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6085
5c67ea6c
CW
60862012-12-31 Colin Watson <cjwatson@ubuntu.com>
6087
6088 Remove several trivially-unnecessary uses of nested functions.
6089
6090 * grub-core/commands/i386/pc/sendkey.c
6091 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6092 instead of nested.
6093 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6094 Rename to ...
6095 (legacy_file_getline): ... this.
6096 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6097 Likewise.
6098 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6099 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6100 to ...
6101 (probe_dummy_iter): ... this.
6102 * grub-core/kern/i386/coreboot/mmap.c
6103 (grub_linuxbios_table_iterate: check_signature): Likewise.
6104 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6105 check_varstate): Likewise. Mark inline.
6106 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6107 an additional parameter.
6108 (find_long: fnd_long): Likewise. Pass two additional parameters.
6109 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6110 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6111 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6112 Likewise. Rename to ...
6113 (grub_cmos_find_port_iter): ... this.
6114 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6115 Rename to ...
6116 (find_rtc_iter): ... this.
6117
6118 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6119 function directly into the function body, since it is only called
6120 once.
6121
33a68ac6
CW
61222012-12-30 Colin Watson <cjwatson@ubuntu.com>
6123
6124 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6125 __attribute__ ((unused)).
6126 * grub-core/video/bochs.c (find_card): Likewise.
6127 * grub-core/video/cirrus.c (find_card): Likewise.
6128 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6129 * grub-core/video/sis315pro.c (find_card): Likewise.
6130 * grub-core/video/sm712.c (find_card): Likewise.
6131
608b647a
CW
61322012-12-28 Colin Watson <cjwatson@ubuntu.com>
6133
6134 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6135 Fixes Savannah bug #37821.
6136
fd49ceb3
CW
61372012-12-28 Colin Watson <cjwatson@ubuntu.com>
6138
6139 Apply program name transformations at build-time rather than at
6140 run-time. Fixes Debian bug #696465.
6141
6142 * acinclude.m4 (grub_TRANSFORM): New macro.
6143 * configure.ac: Create output variables with transformed names for
6144 most programs.
6145 * util/bash-completion.d/grub-completion.bash.in: Use
6146 pre-transformed variables for program names.
6147 * util/grub-install.in: Likewise.
6148 * util/grub-kbdcomp.in: Likewise.
6149 * util/grub-mkconfig.in: Likewise.
6150 * util/grub-mkconfig_lib.in: Likewise.
6151 * util/grub-mknetdir.in: Likewise.
6152 * util/grub-mkrescue.in: Likewise.
6153 * util/grub-mkstandalone.in: Likewise.
6154 * util/grub-reboot.in: Likewise.
6155 * util/grub-set-default.in: Likewise.
6156 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6157 * tests/util/grub-shell-tester.in: Remove unused assignment.
6158 * tests/util/grub-shell.in: Likewise.
6159 * util/grub.d/00_header.in: Likewise.
6160
7024b3c0
CW
61612012-12-28 Colin Watson <cjwatson@ubuntu.com>
6162
6163 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6164
6165 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6166 HAVE_RAW_DECL_GETS.
6167 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6168
e3501b13
VS
61692012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6172 Reported by: Eriks Latosheks <foresterlv>.
6173
b40c88a9
VS
61742012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * docs/grub.texi (Network): Update instructions on generating netboot
6177 image.
6178
ce96d01c
VS
61792012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6182 around device name if necessarry.
6183
0f596201
PFS
61842012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6185
6186 * util/grub-install.in: Follow the symbolic link parameter added
6187 to the file command.
6188
600d5bdb
AB
61892012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6190
6191 * util/grub-install.in: Remove stale TODO.
6192
64ebd2f4
PFS
61932012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6194
6195 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6196 dynamic allocation for the bootpath buffer.
6197
74b2fe3e
DTB
61982012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6199
6200 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6201 window too small.
6202
969b804f
VS
62032012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6206 argument rather than font name. All users updated.
6207 (grub_gfxterm_set_window): Likewise.
6208
b9f5ebd6
VT
62092012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6210
6211 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6212 from working.
6213
258f43b7
VS
62142012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/getroot.c (convert_system_partition_to_system_disk): Support
6217 nbd disks.
6218
cc1ce5f9
VS
62192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6222 infinite loop on corrupted FS.
6223
e77a16ca
VS
62242012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Fix big-endian mtime.
6227
6228 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6229 together sec and usec.
6230 (grub_ufs_dir): Use correct byteswapping for UFS time.
6231
d9c48c7b
VS
62322012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 Support big-endian UFS1.
6235
6236 * Makefile.util.def (libgrubmods): Add ufs_be.c
6237 * grub-core/Makefile.core.def (ufs1_be): New module.
6238 * grub-core/fs/ufs_be.c: New file.
6239 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6240 the file.
6241
2f9f40ba
LL
62422012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6243
6244 * include/grub/types.h: Fix functionality unaffecting typo in
6245 GRUB_TARGET_WORDSIZE conditional macro.
6246
48ff0889
PFS
62472012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6248
6249 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6250
03711240
GS
62512012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6252
6253 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6254 that /netbsd appears first (when it exists).
6255
a31b11bd
CJ
62562012-10-12 Christoph Junghans <ottxor@gentoo.org>
6257
6258 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6259 Fixes Savannah bug #37558.
6260
e8a5d5d4
CW
62612012-10-12 Colin Watson <cjwatson@ubuntu.com>
6262
6263 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6264 description of extract_entries_configfile.
6265
62662012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6267
6268 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6269 preferred_address.
6270 (grub_cmd_linux): Likewise.
6271 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6272 preferred_lifetime. Update all users.
6273
288c757d
CW
62742012-09-26 Colin Watson <cjwatson@ubuntu.com>
6275
6276 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6277 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6278
0d35da3f
CW
62792012-09-26 Colin Watson <cjwatson@ubuntu.com>
6280
6281 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6282 errors from grub-probe to /dev/null, not stdout.
6283
b78c3127
VS
62842012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6287 sector 1.
6288
473959f0
CW
62892012-09-24 Colin Watson <cjwatson@ubuntu.com>
6290
6291 * util/grub-install.in: Make the error message if $source_dir
6292 doesn't exist more useful.
6293
794c8c33
CW
62942012-09-22 Colin Watson <cjwatson@ubuntu.com>
6295
6296 Fix grub-emu build on FreeBSD.
6297
6298 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6299 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6300 headers on Linux.
6301 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6302 implementation is currently Linux-specific.
6303 * util/getroot.c (exec_pipe): Define only on Linux or when either
6304 libzfs or libnvpair is unavailable.
6305 (find_root_devices_from_poolname): Remove unused path variable.
6306
86d08fdb
CW
63072012-09-19 Colin Watson <cjwatson@ubuntu.com>
6308
6309 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6310 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6311 should fit before end == 63.
6312
735abf54
CW
63132012-09-19 Colin Watson <cjwatson@ubuntu.com>
6314
6315 * util/grub-setup.c (write_rootdev): Remove unused core_img
6316 parameter. Update all callers.
6317 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6318 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6319 GRUB_SETUP_BIOS.
6320
140acd3c
VS
63212012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6324 (grub_add_tab): New function.
6325 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6326 * util/grub.d/10_illumos.in: Likewise.
6327 * util/grub.d/10_kfreebsd.in: Likewise.
6328 * util/grub.d/10_linux.in: Likewise.
6329 * util/grub.d/10_netbsd.in: Likewise.
6330 * util/grub.d/10_windows.in: Likewise.
6331 * util/grub.d/10_xnu.in: Likewise.
6332 * util/grub.d/20_linux_xen.in: Likewise.
6333 * util/grub.d/30_os-prober.in: Likewise.
6334
7ddffdad
VS
63352012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6338 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6339 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6340 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6341 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6342 ieee1275-nocursor.
6343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6344 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6345
4e092454
VS
63462012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6349 le-conversion.
6350 Reported by: BURETTE, Bernard.
6351
735abf54 63522012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6353
6354 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6355 from comment.
6356
dfd39dbd
CW
63572012-09-14 Colin Watson <cjwatson@ubuntu.com>
6358
6359 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6360 IEEE1275 machines. Fixes powerpc-emu compilation.
6361 * include/grub/terminfo.h: Likewise.
6362
3bfa763c
VS
63632012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6366 a const pointer.
6367 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6368 const pointer.
6369 (efiemu_set_variable): Make vendor_guid a const pointer.
6370
250e475b
VS
63712012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Don't require grub-mkconfig_lib to generate manpages for programs.
6374
6375 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6376 dependencies, don't add grub-mkconfig_lib.
6377 (program): Pass empty adddeps.
6378 (script): Pass grub-mkconfig_lib as adddeps.
6379
592fd0e4
VS
63802012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6383 * util/getroot.c (grub_find_device): Likewise.
6384 (get_mdadm_uuid): Likewise.
6385 (grub_util_is_imsm): Likewise.
6386 (grub_util_pull_device): Likewise.
6387 * util/grub-probe.c (probe): Likewise.
6388
801a3027
BG
63892012-09-10 Benoit Gschwind <gschwind>
6390
6391 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6392 (devs): Add devpath_8.
6393
c5052c81
PJ
63942012-09-08 Peter Jones <pjones@redhat.com>
6395
6396 * grub-core/Makefile.core.def (efifwsetup): New module.
6397 * grub-core/commands/efi/efifwsetup.c: New file.
6398 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6399 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6400 New define.
6401 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6402
8e832f71
JS
64032012-09-05 Jiri Slaby <jslaby@suse.cz>
6404
6405 * configure.ac: Add SuSe path.
6406
f0f55752
CW
64072012-09-05 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * NEWS: Fix typo.
6410
ecadc4c2
CW
64112012-09-05 Colin Watson <cjwatson@ubuntu.com>
6412
6413 * util/import_gcry.py: Sort cipher_files, to make build system
6414 generation more deterministic.
6415
64498f25
VS
64162012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6419 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6420 (grub_set_datetime): Likewise.
6421
9cc836a2
VS
64222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6425 warnings.
6426
bcfcea01
VS
64272012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6430
a4099485
VS
64312012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6434
265c162a
CW
64352012-09-04 Colin Watson <cjwatson@ubuntu.com>
6436
6437 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6438 required for checkouts from bzr, but it may be useful for users or
6439 distributors wishing to update translations against a tarball
6440 distribution, and it can be helpful for the tarball to be a superset
6441 of what's in bzr.
6442
3d171e95
CW
64432012-09-04 Colin Watson <cjwatson@ubuntu.com>
6444
6445 * Makefile.am (EXTRA_DIST): Add
6446 grub-core/tests/boot/linux.init-mips.S,
6447 grub-core/tests/boot/linux.init-ppc.S, and
6448 grub-core/tests/boot/linux-ppc.cfg.
6449
f2c2503e
CW
64502012-09-04 Colin Watson <cjwatson@ubuntu.com>
6451
6452 * grub-core/mmap/mips/loongson: Remove empty directory.
6453
64542012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6455
6456 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6457 gone.
6458
ab2163d5
CW
64592012-09-04 Colin Watson <cjwatson@ubuntu.com>
6460
6461 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6462 grub-sparc64-setup.
6463
ce938140
GS
64642012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6465
6466 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6467
529f58a5
GS
64682012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6469
6470 * po/POTFILES.in: Regenerated.
6471
16cf79e9
GS
64722012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6473
6474 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6475 (NetBSD): New subsection.
6476
39b27f1e 64772012-07-22 Ales Nesrsta <starous@volny.cz>
6478
6479 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6480 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6481
a885261b
VS
64822012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6485 * util/grub.d/10_hurd.in: Add missing quoting.
6486 * util/grub.d/10_illumos.in: Likewise.
6487 * util/grub.d/10_kfreebsd.in: Likewise.
6488 * util/grub.d/10_linux.in: Likewise.
6489 * util/grub.d/20_linux_xen.in: Likewise.
6490
7bd29c01
VS
64912012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 New command `lsefi'.
6494
6495 * grub-core/Makefile.core.def (lsefi): New module.
6496 * grub-core/commands/efi/lsefi.c: New file.
6497 * include/grub/efi/api.h: Add more GUIDs.
6498
ac625d8f
VS
64992012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6502 (grub_bsd_elf32_hook): Likewise.
6503 (grub_bsd_elf64_size_hook): Likewise.
6504 (grub_bsd_elf64_hook): Likewise.
6505 (grub_bsd_load_elf): Likewise.
6506
e73bb801
VS
65072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6510 if hash function is unavailable.
6511 (dec_stream_header): Likewise.
6512
e81db8b5
VS
65132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6516 filter state.
6517
d187a1c3
VS
65182012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 Fix coreboot compilation.
6521
6522 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6523 (grub_vga_text_init_real): ... this.
6524 (grub_vga_text_fini): Rename to ...
6525 (grub_vga_text_fini_real): ... this.
6526
91a05f64
VS
65272012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6530
6af96df7
VS
65312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/lib/legacy_parse.c: Support clear and testload.
6534
4d569e12
VS
65352012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6538
073b57bb
VS
65392012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6542
a706f4cc
VS
65432012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/net/tftp.c (ack): Fix endianness problem.
6546 (tftp_receive): Likewise.
6547 Reported by: Michael Davidsaver.
6548
e7850aa9
VS
65492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6552
65532012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6556 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6557 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6558
35692881
VS
65592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6562 efi_mmap_size.
6563 Reported by: Stuart Hayes.
6564
c35fc5bd
VS
65652012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6568
6569 * grub-core/Makefile.core.def (mda_text): New module.
6570 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6571 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6572 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6573 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6574 here.
6575 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6576 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6577 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6578 here.
6579 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6580 to ..
6581 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6582 ... here
6583 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6584 here.
6585 * grub-core/term/i386/vga_common.c: Removed.
6586 * include/grub/i386/vga_common.h: Likewise.
6587 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6588 (grub_vga_cr_bw_read): Likewise.
6589 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6590 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6591 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6592 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6593 grub_vga_cr_read/grub_vga_cr_write.
6594 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6595
5f91f701
VS
65962012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * configure.ac: Bump version to 2.00.
6599 * grub-core/normal/main.c (features): Add feature_200_final.
6600
0c4f85f6
VS
66012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
66022012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6603
6604 * NEWS: Fix unclarity and language mistakes.
6605
f923ad22
VS
66062012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6609 additional size to 3 pages.
6610 Reported by: Stuart Hayes.
6611
d22029ba
VS
66122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * NEWS: Add 2.00 entry.
6615
58eee08f
VS
66162012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6619 put explicit "/" for empty path.
6620 (wildcard_expand): Improve dprintf.
6621
c59bdff7
VS
66222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6625 it's equal to currnode. This can happen with "" symlink.
6626
5e6a440a
YB
66272012-06-27 Yves Blusseau <blusseau@zetam.org>
6628
6629 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6630 echo shell command by printf command.
6631
73a68bcb
VS
66322012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6635 the value returned by firmware is the maximal position, not diumension.
6636 (grub_terminfo_output_state): Use a more sane fallback.
6637
392a603b
VS
66382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6641
42d0867f
VS
66422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6645 frequency to 150 MHz.
6646
489509f4
VS
66472012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 Apple fixes.
6650
6651 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6652 __APPLE_
6653 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6654 definition.
6655 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6656
9f3fc883
VS
66572012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 Handle slash in HFS label.
6660
6661 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6662 (grub_hfs_dir): Tanslate slash.
6663 (grub_hfs_label): Don't translate slash.
6664
54853fd7
VS
66652012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6668 network protocol listing since it introduces problematic dependency on
6669 net module.
6670
4dc02ddf
VS
66712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6674
c50c867d
VS
66752012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Init video early on yeeloong to avoid being rebooted by watchdog.
6678
6679 * grub-core/Makefile.am (gensm712): New target.
6680 (sm712_start.S): Likewise.
6681 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6682 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6683 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6684 description.
6685 * include/grub/vga.h: Move registry definitions to...
6686 * include/grub/vgaregs.h: ... here.
6687
5f92c8a1
VS
66882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6691 signedness.
6692
e9e6f111
VS
66932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6696 platforms with firmware disk drivers in the core.
6697
754ad9eb
VS
66982012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6701 informative verbose message.
6702 (read_lv): Handle 64-bit segment size.
6703
315654c2
VS
67042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6707
fb022c79
VS
67082012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6711 character but still remove trainling spaces.
6712 (grub_fat_label): Ignore archive flag.
6713
8645f72c
VS
67142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6717 cast between linux_kernel_header and linux_kernel_params.
6718
36498496
VS
67192012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6722 type for size.
6723 (grub_raid6_recover_func_t): Likewise.
6724 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6725 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6726
0b5ea6b8
VS
67272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6730
650cfcfe
GS
67312012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6732
6733 Fix overflow.
6734
6735 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6736 [__NetBSD__]: Add explicit cast before bitshift.
6737
8a4d6a44
VS
67382012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * configure.ac: Bump to 2.00~rc1.
6741
2fb97ed3
VS
67422012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6745 half of $a0.
6746
1fa097dc
VS
67472012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
67482012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6749
6750 * docs/grub.texi: Fix search syntax.
6751 (Multi-boot manual config): Put msdos rather than GPT example.
6752 Grammar corrections.
6753
c890ba78
VS
67542012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6757
0f92dca7
VS
67582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6761
3988c4a0
VS
67622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6765 message on double free. Put the value of magic in case of mismatch.
6766
9e86d4c5
VS
67672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 Speed-up video on yeeloong.
6770
6771 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6772 add cached_ptr.
6773 (grub_video_sm712_video_fini): Unmap cached_ptr.
6774 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6775 (grub_video_sm712_set_active_render_target): Removed.
6776 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6777 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6778 sync caches.
6779
ed24c312
VS
67802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Avoid flushing the same line multiple times on loongson.
6783
6784 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6785 Step in 32 bytes and not 1 byte.
6786 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6787 Likewise.
6788
d1718e7d
VS
67892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6792 subvolumes.
6793
982f1909
VS
67942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 Implement flow control for http.
6797
6798 * grub-core/net/http.c (parse_line): Handle response 206.
6799 (http_receive): Stall if too many packets are in the queue.
6800 (http_establish): Fix range header.
6801 (http_seek): Fix double free.
6802 (http_close): Likewise.
6803 (http_packets_pulled): New function.
6804 (grub_http_protocol): Set http_seek
6805 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6806 (ack_real): Set window depending on i_stall.
6807 (grub_net_send_tcp_packet): Likewise.
6808 (grub_net_tcp_stall): New function.
6809 (grub_net_tcp_unstall): Likewise.
6810 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6811 (grub_net_tcp_unstall): Likewise.
6812
bd407d6e
VS
68132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6816
c7564b8e
VS
68172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6820
a3706162
VS
68212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * tests/util/grub-shell.in: Fix a typo.
6824
b27069e0
VS
68252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Implement flow control for tftp.
6828
6829 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6830 packets but stop only if stop condition is satisfied.
6831 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6832 `stall' instead of `eof' as stop condition.
6833 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6834 (http_err): Likewise.
6835 * grub-core/net/tftp.c (ack): Replace the first argument with data
6836 instead of socket.
6837 (tftp_receive): Stall if too many packets are in wait queue.
6838 (tftp_packets_pulled): New function.
6839 (grub_tftp_protocol): Set packets_pulled.
6840 * include/grub/net.h (grub_net_packets): New field count.
6841 (grub_net_put_packet): Increment count.
6842 (grub_net_remove_packet): Likewise.
6843 (grub_net_app_protocol): New field `packets_pulled'.
6844 (grub_net): New field `stall'.
6845
6b9cfac6
VS
68462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6849 sync part to handle them.
6850
f35abd81
VS
68512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6854 * grub-core/net/drivers/ieee1275/ofnet.c
6855 (grub_ieee1275_net_config_real): Likewise.
6856
0e7ec820
VS
68572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6860 the direct route for server/gateway.
6861
9d611a31
VS
68622012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6865 IP address to server name since we may not hame the DNS.
6866
418f45ab
VS
68672012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6870 freeing random buffer on failure.
6871 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6872
44a0efc1
VS
68732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6876
531e2241
VS
68772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6880 reserved bytes.
6881 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6882 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6883 Handle malloc error correctly.
6884
cde393c9
VS
68852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6888 blocks.
6889
538478d0
VS
68902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6893 increment.
6894
9b55efe0
VS
68952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6898 none is explicitly specified.
6899
9eb832c3
VS
69002012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6903 while reallocating.
6904
d6b7c7c9
VS
69052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 Respect netmask from bootp/dhcp.
6908
6909 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6910 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6911 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6912 into ...
6913 (grub_net_add_ipv4_local): ... this.
6914 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6915 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6916 (grub_net_add_ipv4_local): New proto.
6917
67caf9eb
VS
69182012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6921 determining EFI memory map size.
6922
43657558
VS
69232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6926
eb6d0dd3
VS
69272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6930 when looking for partition separator.
6931
31230544
VS
69322012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6935 Escape commas.
6936
918a2517
VS
69372012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Restructure FAT driver to avoid hook in label reading as it hits a
6940 GCC bug.
6941
6942 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6943 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6944 (grub_fat_iterate_dir): Split into ...
6945 (grub_fat_iterate_init): ... this, ...
6946 (grub_fat_iterate_fini): ... this, ...
6947 (grub_fat_iterate_dir_next): ... and this. All users updated.
6948
9f1d654e
VS
69492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6952 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6953 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6954 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6955 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6956 New fields last_key and last_key_time.
6957 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6958 extended key-esc into extended key-extended key.
6959
52f0f643
VS
69602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 Avoid unnecessary memcpy of whole video buffer.
6963
6964 * grub-core/video/fb/video_fb.c (dirty): New struct.
6965 (framebuffer): Add members current_dirty and previous_dirty.
6966 (dirty): New function.
6967 (grub_video_fb_fill_rect): Update dirty.
6968 (common_blitter): Likewise.
6969 (grub_video_fb_scroll): Likewise.
6970 (doublebuf_blit_update_screen): Copy only dirty part.
6971 (doublebuf_pageflipping_update_screen): Likewise.
6972 (grub_video_fb_doublebuf_blit_init): Init dirty.
6973 (doublebuf_pageflipping_init): Likewise.
6974 (grub_video_fb_setup): Likewise.
6975
e169a180
VS
69762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6979 poll rate.
6980
48556879
VS
69812012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 Fix wildcard regexp dot and other special characters handling.
6984 Reported by: Robert Mabee.
6985
6986 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6987 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6988 (split_path): Trigger expansion on '?'.
6989 (unescape): New function.
6990 (wildcard_expand): Unescape parts copied without globbing.
6991 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6992 (grub_script_arglist_to_argv): Don't unescape expansions.
6993
0494408e
VS
69942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * include/grub/net.h (grub_net_card): New member txbufsize.
6997 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6998 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6999 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7000 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7001 txbufsize.
7002 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7003 compatible property to check for macs. Set
7004 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7005 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7006 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7007 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7008 (send_card_buffer): Use txbuf.
7009 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7010 nested function out of the parent while on it.
7011
cc35fe8f
VS
70122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7015 presence check.
7016 (grub_ieee1275_net_config_real): Fix config pointer.
7017
970a0a09
VS
70182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7021 filename parsing to non-block devices.
7022
3e19bf87
VS
70232012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7026
c62d1a0c
VS
70272012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7030 All users updated.
7031
ef76bec3
VS
70322012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7035 UUID search command even if hints probing failed.
7036
70372012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7038
7039 * po/POTFILES.in: Regenerated.
7040
70aaf305
VS
70412012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Speed-up video on fuloong.
7044
7045 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7046 New function.
7047 (grub_pci_device_unmap_range): Handle non-cached address.
7048 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7049 add direct_ptr.
7050 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7051 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7052 (grub_video_sis315pro_set_active_render_target): Removed.
7053 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7054 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7055 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7056 sync caches.
7057 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7058 New proto.
7059
10400f0b
VS
70602012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * docs/grub.texi (Multi-boot manual config): New section.
7063
ba67e2c6
VS
70642012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 Avoid slow read-back from VRAM.
7067
7068 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7069 Move from here ...
7070 * grub-core/video/fb/video_fb.c
7071 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7072 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7073 (front_target): Remove front_target. Add pages.
7074 (grub_video_fb_init): Skip setting front_pages.
7075 (grub_video_fb_fini): Likewise.
7076 (doublebuf_blit_update_screen): Use pages.
7077 (grub_video_fb_doublebuf_blit_init): Likewise.
7078 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7079 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7080 (grub_video_fb_setup): Prefer doublebuffing.
7081
377c98cb
VS
70822012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7085 gzio.
7086
eac49cff
VS
70872012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 Add loongson tests.
7090
7091 * tests/util/grub-shell.in: Handle loongson.
7092 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7093 drivers.
7094 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7095 Reboot instead of shutdown if REBOOT is defined.
7096
0321415e
VS
70972012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7100 sized ports since unlike on real hardware qemu supports only 32-bit
7101 regs.
7102
3f2bdd8f
VS
71032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7106 * util/grub-mkrescue.in: Handle loongson.
7107
29a049c9
VS
71082012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7111 Set is_part appropriately.
7112 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7113 names. Canonicalize partition without full disk.
7114
4abde346
VS
71152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Revert usb-quiesce since it's wrong.
7118
7119 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7120 (grub_ofdisk_init): Don't do quiesce.
7121
61f1d93b
VS
71222012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7125 PowerMac workaround to Xserves as well.
7126 Information supplied by: Benjamin Herrenschmidt.
7127
a09eb541
VS
71282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Don't assume that beginning address is also the entry point on ppc.
7131
7132 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7133 (grub_linux_boot): Use linux_entry.
7134 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7135 (grub_linux_load64): Likewise.
7136
505b3c9b
VS
71372012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7140
cbe0b4ef
VS
71412012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7144 needlessly lose the console.
7145
3006e981
VS
71462012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7149 space.
7150
4e5a96b0
VS
71512012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7152
7da036bb
VS
7153 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7154 than current grub_get_rtc() not implemented when booted with
7155 coreboot without TSC.
7156
7157 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7158 Add machine/time.h to kernel headers on loongson.
7159 * grub-core/Makefile.core.def (kernel): Remove
7160 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7161 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7162 (grub_get_rtc): Likewise.
7163 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7164 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7165 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7166 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7167 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7168 rather than installing known non-working time source.
7169 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7170 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7171 * include/grub/time.h: Don't include machine/time.h.
7172 * include/grub/efi/time.h: Removed.
7173 * include/grub/i386/efi/time.h: Likewise.
7174 * include/grub/i386/ieee1275/time.h: Likewise.
7175 * include/grub/powerpc/ieee1275/time.h: Likewise.
7176 * include/grub/sparc64/ieee1275/time.h: Likewise.
7177 * include/grub/x86_64/efi/time.h: Likewise.
7178
71792012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7182
7183 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7184 value.
7185 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7186 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7187 with dotless variants when any combining above is present.
7188
5561c22d
VS
71892012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7192 text and not binary.
7193
96f7e60e
VS
71942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Stop polling as soon as we have the packet we were waiting for.
7197
7198 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7199 All users updated.
7200 * grub-core/net/arp.c (have_pending): New var.
7201 (pending_req): Likewise.
7202 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7203 stop indicator.
7204 (grub_net_arp_receive): Set have_pending.
7205 * grub-core/net/dns.c (recv_data): New field stop.
7206 (recv_hook): Set stop.
7207 (grub_net_dns_lookup): Init stop and use as stop condition.
7208 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7209 condition.
7210 * grub-core/net/net.c (grub_net_poll_cards): New argument
7211 stop_condition. Stop when it goes true.
7212 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7213 indicator.
7214 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7215
3e747239
VS
72162012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Keep TX and RX buffers on EFI rather than always allocate new ones.
7219
7220 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7221 card. All users updated.
7222 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7223 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7224 (get_card_packet): Likewise.
7225 (grub_efinet_findcards): Init new fields.
7226
f695e99a
VS
72272012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7230 compilation error on sparc64.
7231
9e5e66d1
VS
72322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Use ITC on IA64 rather than broken routine based on daytime.
7235
7236 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7237 ia64.
7238 (grub_get_rtc) [__ia64__]: Likewise.
7239 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7240 (get_itc): New function.
7241 (grub_rtc_get_time_ms): Likewise.
7242 (grub_machine_init): Calibrate ITC.
7243 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7244 Keep only on non-ia64. Don't export since it's broken and used only
7245 if TSC is unavailable.
7246
a1767404
VS
72472012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7250 even if it's used.
7251 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7252 Skip if parent is unused.
7253
34b2bced
VS
72542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7257
5e619f40
VS
72582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Fix wildcard escaping.
7261
7262 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7263 * grub-core/script/execute.c (wildcard_escape): .. to here.
7264 Don't escape dot.
7265 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7266 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7267 Don't escape dot.
7268 * grub-core/script/execute.c (gettext_append): Always escape.
7269 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7270 * grub-core/script/yylex.l: Don't cut away the escaping.
7271 * tests/grub_script_echo1.in: Add tests with wildcard.
7272
c8ca5855
VS
72732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7276 (ftdi_hw_configure): Likewise.
7277 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7278 define.
7279 (real_config): Handle 1.5 stop bits.
7280 (pl2303_hw_configure): Likewise.
7281
7183452c
VS
72822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * Makefile.am: Add ppc linux bootcheck.
7285 * grub-core/tests/boot/linux-ppc.cfg: New file.
7286 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7287
f57c84cd
VS
72882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * tests/grub_script_expansion.in: Skip network protocols.
7291
ecfc6207
VS
72922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7295
8d03d284
VS
72962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7299 --rom-directory.
7300 Add -graft-points.
7301
61c42af0
VS
73022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 ESCC serial driver for conducting sautomated tests in qemu.
7305 Not tested on real hardware.
7306
7307 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7308 * grub-core/term/ieee1275/escc.c: New file.
7309 * grub-core/Makefile.core.def (escc): New module.
7310
08fd1291
VS
73112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7314 invalid on error.
7315 (serial_hw_fetch): Don't read invalid handle.
7316 (serial_hw_put): Don't write into invalid handle.
7317
08dafeea
VS
73182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 Add a 1.5 stop bits value.
7321
7322 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7323 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7324 GRUB_SERIAL_STOP_BITS_1_5.
7325
9068fdcf
VS
73262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7329 value rather than let it uninited.
7330
f4d5820f
VS
73312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/commands/wildcard.c (+check_file): New function.
7334 (wildcard_expand): Don't expand to non-existing files, expand with
7335 suffix and not attempt to expand if not needed.
7336
3d2de9a7
VS
73372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7340 out of partitions containing other partitions.
7341
c5c81ff9
VS
73422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7345 on some qemu versions with GRUB.
7346
7347 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7348 define.
7349 (grub_openbsd_bootarg_pcibios): New struct.
7350 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7351 Add PCIINFO.
7352
08a14e0b
VS
73532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * tests/util/grub-shell.in: Trim firmware output on EFI.
7356
cede3ca3
VS
73572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7360 and coreboot since it's already in kernel.
7361
558d3a60
VS
73622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7365 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7366 to here. New return value start. All users updated.
7367 Recursively scan linear mappings.
7368 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7369 proto.
7370 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7371 Use grub_util_get_dm_node_linear_info.
7372 * util/getroot.c (convert_system_partition_to_system_disk): Use
7373 grub_util_info rather than grub_dprintf.
7374 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7375
60fde14d
VS
73762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7379
7380 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7381 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7382
24bd8838
VS
73832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * include/grub/types.h (grub_set_unaligned64): New function.
7386 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7387 (setup): Likewise.
7388
7bc06a49
VS
73892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7392 (grub_ofdisk_fini): Quiesce USB devices.
7393
49cea015
VS
73942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7397 caches.
7398
8dcbe03b
VS
73992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7402
5b258735
VS
74032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/disk/pata.c (grub_pata_pio_read)
7406 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7407 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7408
37ba07eb
VS
74092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 Extend automated tests to qemu-mips.
7412
7413 * Makefile.am: reorganise tests and enable qemu-mips.
7414 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7415 * grub-core/tests/boot/linux.init-mips.S: New file.
7416 * tests/partmap_test.in: Handle ata0 disks.
7417 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7418 non-pc i386.
7419
070038f8
VS
74202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7423 ia64.
7424 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7425 quotes while on it.
7426
004be2cd
VS
74272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7430 (grub_halt): Likewise.
7431 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7432
b1622487
VS
74332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/term/serial.c (grub_serial_register)
7436 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7437 the behaviour in line with x86 platforms.
7438
b7b4ab33
VS
74392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7442 (grub_ata_strncpy): Likewise.
7443 (grub_ata_identify): Add missing byteswaps.
7444
5e3535ae
VS
74452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7448 byte-swap.
7449 (screen_read_char): Likewise.
7450 (grub_vga_text_cls): Likewise.
7451
c21b17e6
VS
74522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7455 filenames.
7456 (make_file_path): Likewise.
7457
bf293dec
VS
74582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7461 machines.
7462 Tested by: Paulo Flabiano Smorigo.
7463 Crucial information about API supplied by: Coleen <Last name unknown>.
7464 Reviewed by: Coleen <Last name unknown>.
7465
81f6ef0e
VS
74662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * util/grub-mkimage.c: Disable -Wcast-align.
7469
7284143a
VS
74702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7473 as they are fatal.
7474
b99f3e00
VS
74752012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7478
944f752d
VS
74792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * util/grub-probe.c (escape_of_path): Fix double free.
7482
6cce6f38
VS
74832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/commands/videoinfo.c (hook): Show pitch.
7486
1e1eb50e
VS
74872012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7490
1c715b5a
VS
74912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7494 (probe): Add ieee1275 to OFW devices.
7495
007ae52d
VS
74962012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7499
4557a36d
VS
75002012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Handle IBM OFW path.
7503
7504 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7505 available.
7506 (of_path_of_scsi): Handle vdevice.
7507
efbeefe9
VS
75082012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7511 Allocate in multiples of 16 to avoid adding a few bytes free region the
7512 windows bugs upon.
7513
15a940bb
VS
75142012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7517 Allocate in multiples of 16 to avoid adding a few bytes free region the
7518 windows bugs upon.
7519 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7520
6e5efd60
VS
75212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7524 resolutions.
7525 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7526 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7527
0d3d137e
IS
75282012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7529
7530 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7531
45dbe300
VS
75322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7535 resulted in \\ at the end of the line.
7536
6d8db947
VS
75372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7540 (grub_parser_cmdline_state): Likewise.
7541 (grub_parser_split_cmdline): Likewise.
7542
de89d338
VS
75432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7546 /dev/root and /dev/dm-*.
7547
00d41dee
VS
75482012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7551 fix partially stale display.
7552
f95d1f11
VS
75532012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7556 substraction.
7557
6297e197
VS
75582012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7561 Fix MBR remapping workaround.
7562 (grub_util_biosdisk_read) [__linux__]: Likewise.
7563
8a7ecad3
VS
75642012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7567
2b34f944
VS
75682012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * configure.ac: Bump to beta6.
7571
684aef11
CW
75722012-05-31 Christer Weinigel <christer@weinigel.se>
7573
7574 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7575
05b0bb91
VS
75762012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7579 (grub_cmd_linux): Likewise.
7580
bda36bfa
CW
75812012-05-31 Christer Weinigel <christer@weinigel.se>
7582
7583 Fix EHCI low-speed.
7584
7585 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7586 (GRUB_EHCI_MULT_TWO): Likewise.
7587 (GRUB_EHCI_MULT_THREE): Likewise.
7588 (GRUB_EHCI_CMASK_MASK): New enum value.
7589 (GRUB_EHCI_SMASK_MASK): Likewise.
7590 (GRUB_EHCI_CMASK_OFF): Likewise.
7591 (GRUB_EHCI_SMASK_OFF): Likewise.
7592 (grub_ehci_pci_iter): Enable periodic schedule.
7593 (grub_ehci_parse_notrun): Likewise.
7594 (grub_ehci_restore_hw): Likewise.
7595 (grub_ehci_setup_qh): Set flags for low speed transfers.
7596 (grub_ehci_find_qh): Use periodic list for low speed.
7597 (grub_ehci_setup_transfer): Check periodic queue as well.
7598 (grub_ehci_check_transfer): Likewise.
7599 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7600
e12bcb1c
PFS
76012012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7602
7603 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7604 parameter is used.
7605
bcc75fb3
PJ
76062012-05-31 Peter Jones <pjones@redhat.com>
7607
7608 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7609 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7610 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7611
f19cb95e
VS
76122012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7615 uninited variable. Allocate at least setup_sects.
7616
a4e5ca80
VS
76172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 Fix handling of EFI with big memory maps.
7620
7621 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7622 (real_mode_mem): Likewise.
7623 (real_mode_target): Likewise.
7624 (real_mode_pages): Likewise.
7625 (prot_mode_pages): Likewise.
7626 (linux_params): New var.
7627 (linux_cmdline): Likewise.
7628 (free_pages): Don't set real mode variables.
7629 (allocate_pages): Don't allocate real mode memory.
7630 (grub_e820_add_region): Remove the limit.
7631 (grub_linux_boot): Allocate and copy real mode memory.
7632 (grub_linux_unload): Free linux_cmdline.
7633 (grub_cmd_linux): Use temporary storage for parameters.
7634 (grub_cmd_initrd): Likewise.
7635 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7636 (linux_kernel_params): Make it 1K big.
7637
ddb73558
VS
76382012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * Makefile.util.def: Remove -Wno-format.
7641 * grub-core/Makefile.core.def: Likewise.
7642
1c4afb60
VS
76432012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * tests/cmp_unit_test.c: Add missing failure message.
7646 * tests/example_unit_test.c: Likewise.
7647 * tests/printf_unit_test.c: Likewise.
7648
941e3a6d
VS
76492012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7652 relaxation of protective MBR requirements.
7653
b105df76
VS
76542012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * configure.ac: Add condition for COND_HOST_XNU.
7657 * Makefile.util.def (10_xnu): New script.
7658 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7659
84e1569e
VS
76602012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7663 objconv bug.
7664
130c0f77
VS
76652012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7668 Binary on other platforms stays identical.
7669
6fd0b143
VS
76702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7673 Apple.
7674
0af1751d
VS
76752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7678
176d5f7d
VS
76792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7682 rather than defining size_t ourselves to avoid conflict.
7683
7de5e20a
VS
76842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7687 initialisation to avoid __bzero reference.
7688
f7143efe
VS
76892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7692 version.
7693 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7694 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7695 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7696 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7697 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7698
e6ad0555
VS
76992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7702 * grub-core/kern/misc.c: Likewise.
7703 * grub-core/loader/i386/xnu.c: Likewise.
7704 * include/grub/i386/tsc.h: Likewise.
7705 * include/grub/symbol.h: Likewise.
7706
4a5a3c4a
VS
77072012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7710 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7711 on older compiler.
7712
037f6d90
VS
77132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7716 Implement Apple flavour.
7717 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7718
f7194551
VS
77192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7722 (memmove) [__APPLE__]: Likewise.
7723 (memcpy) [__APPLE__]: Likewise.
7724 (memset) [__APPLE__]: Likewise.
7725 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7726 (memmove) [__APPLE__]: Likewise.
7727 (memcpy) [__APPLE__]: Likewise.
7728 (memset) [__APPLE__]: Likewise.
7729
85a730ca
VS
77302012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7733 dependency discard.
7734
40e80b94
VS
77352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/normal/main.c (read_config_file): Provide config_file and
7738 config_directory.
7739 * util/grub.d/41_custom.in: Use config_directoy when available.
7740
9da59c32
VS
77412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7744 (grub_bfs_dir): Likewise.
7745
2787ae53
PJ
77462012-05-27 Peter Jones <pjones@redhat.com>
7747
7748 The old code gives arguments to a printf function which can't work
7749 correctly, and the compiler complains.
7750
7751 * grub-core/tests/example_functional_test.c (example_test): Add
7752 missing text.
7753 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7754 * include/grub/test.h (grub_test_assert_helper): New declaration.
7755 (grub_test_assert): Use grub_test_assert_helper.
7756
526ef13d
VS
77572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7760 (exfctest): ... this to avoid overlong filenames.
7761 All users updated.
7762
20dd511c
VS
77632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 Handle "." and ".." on squashfs.
7766
7767 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7768 Make inode numbers into stack.
7769 (grub_squash_read_symlink): Use stack.
7770 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7771 (make_root_node): Fill stack.
7772 (grub_squash_open): Use stack.
7773
1d80c62a
VS
77742012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7777 freeing.
7778
d336f652
VS
77792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7782 stderr on test calls.
7783
8b43f587
VS
77842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7787
80a3dc3f
VS
77882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7791
47e297d4
VS
77922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7795 "..".
7796
df042ccb
VS
77972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7800 (grub_hfsplus_iterate_dir): Add "." and "..".
7801
fc977f48
VS
78022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7805 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7806
f3250e5f
VS
78072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7810 (find_path): Handle "." and "..".
7811
fd8ed4c5
VS
78122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7815 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7816 (grub_affs_iterate_dir): Handle hardlinks.
7817
4ce776d2
MG
78182012-05-26 Matthew Garrett <mjg@redhat.com>
7819
7820 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7821 (grub_efi_console_fini): Likewise.
7822 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7823 (grub_video_gop_fill_mode_info): Rename to ...
7824 (grub_video_gop_fill_real_mode_info): ... this.
7825 (grub_video_gop_fill_mode_info): New function.
7826 (grub_video_gop_setup): Setup double framebuffer.
7827 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7828 Free offscreen.
7829 (grub_video_gop_swap_buffers): Copy framebuffer.
7830 (grub_video_gop_fini): Free offscreen buffer.
7831 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7832 New enum.
7833 (grub_efi_gop_blt_pixel): New struct.
7834
683031ba
VS
78352012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * gentpl.py: Remove error disabling for objconv.
7838
c2deb798
VS
78392012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * configure.ac: Remove -Wunitialized as it's not available on older
7842 compilers.
7843
78442012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7845
7846 Fix extent overflow comparator.
7847
7848 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7849 (grub_hfsplus_read_block): Set type.
7850 (grub_hfsplus_cmp_extkey): Compare type.
7851
d6b1fd36
VS
78522012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7855
0a9aa0f6
VS
78562012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7859 than 0.
7860
8360e159
VS
78612012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7864 (dejavu_bold_14.pf2): New target.
7865
501b9e4b
VS
78662012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * configure.ac: Fix djvu font detection.
7869
7026b0e2
VS
78702012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7873 ext* instead of ext2.
7874
c2a51ade
VS
78752012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7878 name with \0.
7879
8f803a5d
JU
78802012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7881
7882 * docs/grub-dev.texi: Remove dot from .png.
7883
13c6353f
VS
78842012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7887 protective entry in any slot.
7888 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7889 if protective entry is found in any slot.
7890
7891 Protective entry in non-first slot make no sense but is a widespread
7892 brain damage.
7893
4cf6be1b
VS
78942012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7897
937d1c44
VS
78982012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7901 with old reiserfs.
7902 (grub_reiserfs_open): Don't free root.
7903
021d90ec
VS
79042012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7907 after freeing for safety.
7908
967b2b64
VS
79092012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7912 Reported by: Jordan Uggla.
7913
34274d02
JU
79142012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7915
967b2b64
VS
7916 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7917 actual implementation. Specifically, clarify that the grub menu will
7918 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7919 passed.
34274d02 7920
dcaaae9d
BH
79212012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7922
7923 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7924 of r0.
7925
7086ad52
VS
79262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 Remove unjustified hard dependency of normal.mod on gfxterm.
7929
7930 * include/grub/term.h (grub_term_output): New member fullscreen.
7931 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7932 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7933 (grub_gfxterm): Set .fullscreen.
7934 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7935 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7936
37ed2c9b
VS
79372012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7940 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7941 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7942
a4469c88
VS
79432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7946
4e461486
VS
79472012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7950 a bad FS.
7951
aa78f5c4
VS
79522012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7955 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7956
197626b5
VS
79572012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7960 (grub_jfs_mount): Fill caseins.
7961 (grub_jfs_find_file): Respect caseins.
7962
8ad3f28c
VS
79632012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7966 through UTF-16.
7967
0c6c324e
VS
79682012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7971 New argument origpath. All users updated.
7972
c6666ba6
VS
79732012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7976 (read_attr): Ensure that we read start of possibly compressed block.
7977
e28e5fe5
VS
79782012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7981 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7982 All users updated.
7983
5fc23ab2
VS
79842012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7987 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7988 (dejavu.pf2): Replace with ...
7989 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7990 this.
7991
79dbc21c
VS
79922012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * util/grub.d/20_linux_xen.in: Add missing line.
7995
d2fcfb0c
VS
79962012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7999 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8000 (grub_utf16_to_utf8): Likewise.
8001
5560e9d6
VS
80022012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8005 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8006 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8007 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8009 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8010
80112012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8012
8013 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8014 a bad FS.
8015
5560e9d6 80162012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8017
8018 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8019 (grub_udf_read_symlink): Handle read_string failure.
8020
5eae3175
VS
80212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8024 comment.
8025
c1ad82db
VS
80262012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 Fix handling of UDF symlinks.
8029
8030 * grub-core/fs/udf.c (read_string): New argument outbuf.
8031 All users updated.
8032 (grub_ufs_read_symlink): Rename to ...
8033 (grub_udf_read_symlink): ... this. All users updated.
8034 Handle symlinks with more than one component.
8035
33eca6e0
VS
80362012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8039 symlinks. Replace leading colon with a slash.
8040
57f4a70b
VS
80412012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8044 filename.
8045
38c8ee20
VS
80462012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8049 match in inner node.
8050
2e57f28f
VS
80512012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8054 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8055 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8056 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8057 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8058 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8059 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8060 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8061 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8062
fe8c2f11
VS
80632012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Use grub-probe and not cmp to check that disk is empty.
8066
8067 * util/grub-install.in: Use grub-probe for zero-check.
8068 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8069 (probe): Handle PRINT_ZERO_CHECK.
8070 (argp_parser): Handle -t zero_check.
8071
80722012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8073
8074 Flush block cache on adding disk to device map.
8075
8076 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8077 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8078 adding.
8079 (read_device_map): Likewise.
8080 (open_device): Flush on opening.
8081
690434e8
VS
80822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8085 (handle_symlink): Fix off-by-one error.
8086 Canonicalize the target.
8087 (grub_cpio_dir): Canonicalize the name.
8088 Fix memory leak.
8089 Set directory.
8090 (grub_cpio_open): Canonicalize the name.
8091
742d2be6
VS
80922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8095 handling.
8096
3244fe96
VS
80972012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8100 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8101
8aeb1837
VS
81022012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8105 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8106 All users updated.
8aeb1837 8107
9133fd05
VS
81082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8111 counterpart.
8112
6d521c5b
VS
81132012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 Fix UFS1 big file support.
8116
8117 * grub-core/fs/ufs.c (INODE): Removed.
8118 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8119 64-bit.
8120 (INODE_MODE): Simplify.
8121 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8122 (grub_ufs_lookup_symlink): Don't use INODE.
8123
21b82e17
VS
81242012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8127
8128 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8129 (grub_minix_data): Replace log_block_size with block_size.
8130 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8131 (grub_minix_mount): Fill block_size.
8132
81332012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8134
8135 * configure.ac: Bump to beta5.
8136
f417ed04
VS
81372012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 Fix wrapped HFS+ handling.
8140
8141 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8142 blocks_start. All users updated.
8143 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8144 wrapping offset.
8145 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8146
607d282b
VS
81472012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 Fix long symlinks on reiserfs.
8150
8151 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8152 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8153 (grub_reiserfs_iterate_dir): Save size for non-directories.
8154 (grub_reiserfs_open): Don't reread stat block as we already know the
8155 size.
8156 (grub_reiserfs_read): Split into...
8157 (grub_reiserfs_read_real): ... and ...
8158 (grub_reiserfs_read): ...this.
8159
ae16024d
VS
81602012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 Fix non-indexed JFS.
8163
8164 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8165 (grub_jfs_data): New field namecomponentlen.
8166 (grub_jfs_mount): Fill namecomponentlen.
8167 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8168
eea1e26e
VS
81692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8172 * tests/grub_script_echo1.in: Add tests.
8173
df760f77
VS
81742012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * util/grub-install.in: Ignore empty devicetree directory.
8177
5efb817d
B
81782012-05-08 Bean <bean123ch@gmail.com>
8179
8180 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8181 All users updated.
8182 (free_rsm): Free header as well.
8183 (free_old_fragments): Fix memory leak.
8184 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8185 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8186 (destroy_pq): Likewise.
8187 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8188
668ea6d2
VS
81892012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8192 resulting hash as a precaution.
8193
1739b1fe
VS
81942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8197 '_' in variable names.
8198 * grub-core/net/net.c (grub_net_network_level_interface_register):
8199 Likewise.
8200
6ae485aa
VS
82012012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 Fix AFFS with non-512B blocks.
8204
8205 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8206 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8207 (grub_affs_data): Replace blocksize with log_blocksize.
8208 (grub_affs_read_block): Fix non-512B blocks.
8209 (grub_affs_read_symlink): Likewise.
8210 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8211 (grub_affs_read): Fix non-512B blocks.
8212 (grub_affs_label): Likewise.
8213 (grub_affs_mtime): Likewise.
8214 (grub_affs_mount): Fix block detection routine.
8215
d20fab84
VS
82162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 Add filesystem mtime to AFFS.
8219
8220 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8221 (aftime2ctime): New function.
8222 (grub_affs_dir): Use aftime2ctime.
8223 (grub_affs_label): Fix return value.
8224 (grub_affs_mtime): New function.
8225 (grub_affs_fs): Add mtime.
8226
e87b10f5
VS
82272012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8230 UTF-8.
8231
7dceec9b
VS
82322012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8235 UTF-8.
8236
2f48221f
VS
82372012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8240
dacd85cf
VS
82412012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8244 flags.
8245 (FLAGS_CASE_SENSITIVE): New enum value.
8246 (cache_entry): New struct.
8247 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8248 cache_size and cache.
8249 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8250 Add log_blocksize and fshelp_flags.
8251 (grub_sfs_read_extent): Handle non-512 blocks.
8252 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8253 (grub_sfs_read_file): Handle non-512 blocks.
8254 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8255 fshelp_flags.
8256 (grub_sfs_read_symlink): Handle non-512 blocks.
8257 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8258 (grub_sfs_dir): Free cache.
8259 (grub_sfs_close): Likewise.
8260
24e9a854
VS
82612012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8264 filesystems.
8265
62ace64d
VS
82662012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8269
83b2e89c
VS
82702012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8273
75ccaea3
VS
82742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8277 (grub_sfs_read_extent): Likewise.
8278 (grub_sfs_read_block): Likewise.
8279 (grub_sfs_mount): Likewise.
8280 (grub_sfs_iterate_dir): Likewise.
8281 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8282 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8283
1b8463f2
VS
82842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Fix errors on compressed NTFS with 512B clusters.
8287
8288 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8289 types.
8290 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8291 not 0.
8292 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8293 Relax check for inline extents.
8294 (ntfscomp): Return correct -1 on error and not 0.
8295
4f8e368f
VS
82962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * util/grub-install.in: Fix handling of prefix containing spaces.
8299
6f5d5ee8
VS
83002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8303 (grub_squash_read_data): Fix offset byte-swapping.
8304
ce41ab7a
VS
83052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8308 per common usage and preffered in several parts of code.
8309 (grub_memcmp): Likewise.
8310 (grub_strncmp): Likewise.
8311 * include/grub/misc.h (grub_strcasecmp): Likewise.
8312 (grub_strncasecmp): Likewise.
8313 * Makefile.util.def (cmp_test): New test.
8314 (grub_script_strcmp): Likewise.
8315 * tests/cmp_unit_test.c: New file.
8316 * tests/grub_script_strcmp.in: Likewise.
8317 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8318
49717bf4
VS
83192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * include/grub/pci.h: Move enums into no-asm part.
8322
0a308f64
VS
83232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8326
1796965f
ST
83272012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8328
8329 * util/getroot.c (find_hurd_root_device): Try to make error message
8330 and comments to translators clearer.
8331
4e9b2819
VS
83322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8335
076aeb50
VS
83362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8339 btrfs.
8340
19424d94
VS
83412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * docs/grub.cfg: Update.
8344
ebb73076
VS
83452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * docs/grub.texi (PXE): Remove not present variables.
8348
9a1b669c
VS
83492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * grub-core/net/net.c (defserver_set_env): New function.
8352 (defserver_get_env): Likewise.
8353 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8354
d38bf7d3
VS
83552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8358 entries.
8359
83602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8361
8362 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8363 * grub-core/kern/emu/hostdisk.c: Likewise.
8364
e5e4ca48
ST
83652012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8366
8367 Handle hurd userspace partitions.
8368
8369 * util/getroot.c (find_hurd_root_device): New function.
8370 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8371
56bb5dd5
VS
83722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8375 names.
8376 Reported by: Bastian Blank.
8377
9e8bc27a
VS
83782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8381 crossing page boundary.
8382
aa01499d
VS
83832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 Fix B-tree search in BFS, especially in presence of non-ASCII
8386 characters.
8387
8388 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8389 (find_in_b_tree): Use standard bsearch + btree algorithm.
8390
57006035
VS
83912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8394 and so on.
8395
9d34bb85
MG
83962012-05-03 Matthew Garrett <mjg@redhat.com>
83972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Suspend broadcom cards in order to stop their DMA.
8400
8401 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8402 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8403 (pci): Don't build on x86 EFI.
8404 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8405 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8406 New function.
8407 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8408 stop_broadcom if running on EFI.
8409 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8410 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8411 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8412 (grub_pci_find_capability): New proto.
8413
01aab997
VS
84142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * docs/grub.texi: Remove dot from the extension as it apparently
8417 doesn't work with some makeinfo versions.
8418
fbd8dca6
VS
84192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8422 with GRUB expectance.
8423
dab797f4
VS
84242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8427
1516bfb4
VS
84282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8431 zero after directory block since last entry may be not 0-terminated if
8432 it ends on block boundary. Use continue instead of if spanning whole
8433 loop.
8434
a3a0eace
VS
84352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 Support 4K sectors UDF inline files.
8438
8439 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8440 (grub_udf_extended_file_entry): Likewise.
8441 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8442 All users updated.
8443 (get_fshelp_size): New function.
8444 (grub_udf_read_icb): Read whole block.
8445 (grub_udf_iterate_dir): Likewise.
8446 (grub_udf_dir): Likewise.
8447 (grub_udf_open): Likewise.
8448
c82f16c1
VS
84492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8452
59fd2aac
VS
84532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8456 inline symlinks in addition to workaround.
8457
3b4afb4d
VS
84582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8461
f45c794a
VS
84622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8465
f25cecbd
VS
84662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8469
bb9a34e8
VS
84702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Fix reiserfs big seek times.
8473
8474 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8475 exact. All users updated.
8476 (grub_reiserfs_read): Use nearest btree search for seeking.
8477 Fix return value on error.
8478
dc478aea
VS
84792012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8482 entries.
8483 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8484 * docs/grub.texi: Update menuentry description.
8485
8db10f47
VS
84862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8489 crash when embedding onto filesystem.
8490
bcb288ed
VS
84912012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8494 name.
8495
a626fdd7
VS
84962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8499
b2f68477
VS
85002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8503 commit.
8504
ba15b2af
B
85052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
85062012-05-01 Bean <bean123ch@gmail.com>
8507
8508 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8509
a188012e
VS
85102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8513 Special behaviour for len = 0 to read whole file isn't used anywhere and
8514 can cause buffer ovewrflows in several places.
8515
f0a53ed2
VS
85162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8519
5ed554f0
VS
85202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 Handle RAIDZ on non-512B sectors.
8523
8524 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8525 max_children_ashift.
8526 (fill_vdev_info_real): Fill max_children_ashift.
8527 (read_device): Use max_children_ashift.
8528
ddc58357
VS
85292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8532
e3282399
VS
85332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8536 disk names.
8537 * docs/grub.texi: Update device.map parts.
8538
ee618bd4
VS
85392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 Don't scan into non-diskfilter devices having diskfilter names.
8542
8543 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8544 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8545 handling.
8546 (scan_disk_hook): New function.
8547
bdf88864
B
85482012-04-29 Bean <bean123ch@gmail.com>
8549
8550 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8551 allocation.
8552
32745f51
MK
85532012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8554
8555 * configure.ac: Detect starfield theme font path
8556 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8557
bc95c8c0
VS
85582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8561 geometry on serial consoles.
8562
147fbcab
VS
85632012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8566 because of network consoles.
8567
0f42c889
VS
85682012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8571 handling.
8572
4a3594c9
VS
85732012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8576 falls on Q syndrom.
8577
5cb53879
VS
85782012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8581 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8582
b282dfe5
VS
85832012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8586 Allocate at lest 8192 for temporary buffer as required for lzo.
8587
daa59f47
VS
85882012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8591 to cluster_bits, since it's already added in.
8592 (grub_fat_read_data): Likewise.
8593
986748ce
VS
85942012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8597 as long as cluster size is multiple of 512 bytes.
8598
a20f6ad0
VS
85992012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/grub-mkrescue.in: Fix locale directory.
8602
385f9abb
VS
86032012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/kern/emu/hostdisk.c (map): Make static.
8606
1c557d30
B
86072012-04-23 Bean <bean123ch@gmail.com>
8608
8609 * util/grub-fstest.c (fstest): Add missing break.
8610
524b5d3a
ST
86112012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8612
8613 Fix hurd build.
8614
8615 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8616 not define nr variable.
fe4824e9 8617 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8618 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8619 grub_find_device): Do not define.
524b5d3a 8620
9a06490c
VS
86212012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Fix kfreebsd compile and behaviour.
8624
8625 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8626 format-security.
8627 * util/getroot.c: Fix wait.h include.
8628 (grub_guess_root_devices): Error if grub_find_device fails.
8629 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8630 (grub_util_get_dev_abstraction): Likewise.
8631 (grub_util_pull_device): Likewise.
8632 (grub_util_get_grub_dev): Likewise.
8633 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8634
48143d96
VS
86352012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Fix and unify wholedisk detection.
8638
8639 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8640 is_part. All users updated.
8641 (device_is_wholedisk): Removed.
8642 (grub_util_biosdisk_get_grub_dev): Use is_part.
8643
ebbd24f3
VS
86442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8647 mode.
8648
56f7aa1e
VS
86492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * configure.ac: Bump to beta4.
8652
9c815e01
VS
86532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8656 --fs-uuid --set UUID syntax.
8657
59e2651a
VS
86582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8661 disunification.
8662
54e03cfc
VS
86632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8666
81092a75
MK
86672012-04-18 Mads Kiilerich <mads@kiilerich.com>
8668
8669 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8670
f8315e14
MG
86712012-04-18 Mike Gilbert <floppym@gentoo.org>
8672
8673 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8674
1501ac21
B
86752012-04-18 Bean <bean123ch@gmail.com>
8676
8677 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8678 place.
8679
cb7f944e
VS
86802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8683 users updated.
8684 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8685 corresponding to GRUB partitions.
8686 (grub_util_biosdisk_write): Likewise.
8687
b72d44a1
VS
86882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 Scan mdraid before LVM.
8691
8692 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8693 (grub_diskfilter_register_front): ... this.
8694 (grub_diskfilter_register_back): New function.
8695 All users of grub_diskfilter_register updated.
8696
33d918b8
VS
86972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * util/grub-install.in: Fix an automatic target detection bug.
8700
c6ca973d
VS
87012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * util/grub-install.in: New option --efi-directory.
8704
b41be562
VS
87052012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8708 boot services if we have no other choice.
8709
87102012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8713 document it.
8714 * tests/util/grub-shell.in: Update to --directory.
8715
e0595a73
VS
87162012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8719
4ed80652
VS
87202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8723 (grub_minix_read_file): Likewise.
8724 (grub_minix_read_inode): Likewise.
8725 (grub_minix_find_file): Likewise.
8726 (grub_minix_dir): Likewise.
8727
56008077
VS
87282012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * util/grub-setup.c (setup): Fix partition handling and blocklist
8731 check.
8732
ee520775
VS
87332012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8736 redundant buggy overlap check.
8737
16fc9293
VS
87382012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8741 and grub-mknetdir.
8742
9bab65c4
VS
87432012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8746 kh.loadflags on pre-2.00 kernels.
8747
3c491b47
VS
87482012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Terminate UNDI and PXE before launching the payload to avoid problems
8751 with DMA.
8752
8753 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8754 (grub_loader_flags): ... this. All users updated.
8755 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8756 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8757 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8758 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8759 function.
8760 (grub_pxe_restore): Likewise.
8761 (fini_hnd): New var.
8762 (GRUB_MOD_INIT): Register shutdown hook.
8763 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8764 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8765 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8766 (grub_loader_set): Rename second argument to flags.
8767
851ffada
VS
87682012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8771 written bytes.
8772 (grub_get_num_of_utf8_bytes): New function.
8773 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8774 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8775 executing it.
8776 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8777 (grub_ucs4_to_utf8): Change return type.
8778
491c57a8
VS
87792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8782 warning.
851ffada
VS
8783 * grub-core/fs/bfs.c (hop_level): Likewise.
8784 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8785
756773df
VS
87862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/lib/adler32.c: Recode due to license unclearness.
8789
fd556a96
VS
87902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8793 (test_header): Likewise.
8794
9f9d3f69
VS
87952012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 Fix --help formatting.
8798
8799 * util/grub-mkconfig_lib.in (print_option_help): New function.
8800 (grub_fmt): Likewise.
8801 * util/grub-install.in: Use print_option_help and grub_fmt.
8802 * util/grub-kbdcomp.in: Likewise.
8803 * util/grub-mkconfig.in: Likewise.
8804 * util/grub-mknetdir.in: Likewise.
8805 * util/grub-mkrescue.in: Likewise.
8806 * util/grub-mkstandalone.in: Likewise.
8807 * util/grub-reboot.in: Likewise.
8808 * util/grub-set-default.in: Likewise.
8809 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8810
561ec77e
VS
88112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * linguas.sh: Remove autogenerated *.po.
8814
7ec2b021
VS
88152012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * po/README: Move language fetcing to ...
8818 * linguas.sh: ... here.
8819 * po/README: Point to linguas.sh.
8820
a88f3270
VS
88212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * po/README: Exclude ko.po due to disclaimer problems.
8824
d61357ce
VS
88252012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8828 len = 0.
8829 (grub_gettext_translate_real): Handle 0th string.
8830 (grub_gettext_translate): Ensure that "" isn't translated.
8831
505e41dc
VS
88322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8835 TRANSLATORS comment.
8836 (grub_diskfilter_print_partmap): Propagate changing of error into
8837 warning.
8838
e44092db
VS
88392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8842 to uint64_t to prevent overflow.
8843 (grub_diskfilter_lv): Increase start_extent and extent_count
8844 to uint64_t to prevent overflow.
8845
9b83956a
VS
88462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * configure.ac: Increase version.
8849
da0d5b3f
VS
88502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8853
8854 * po/Rules-translit: New file.
8855 * po/arabic.sed: Likewise.
8856 * po/cyrillic.sed: Likewise.
8857 * po/greek.sed: Likewise.
8858 * po/hebrew.sed: Likewise.
8859 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8860 * po/Makefile.in.in: Add extra_dist4.
8861
ac66b453
VS
88622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8865
8866 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8867 modify names. Introduce MODE_BIGENDIAN.
8868 * grub-core/fs/minix_be.c: New file.
8869 * grub-core/fs/minix2_be.c: Likewise
8870 * grub-core/fs/minix3_be.c: Likewise.
8871 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8872 minix3_be.
8873 * grub-core/Makefile.core.def (minix_be): New module.
8874 (minix2_be): Likewise.
8875 (minix3_be): Likewise.
8876
88772012-04-01 Felix <email@hamburg.de>
8878
8879 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8880 (devs): Add MBP 2011.
8881
0a2d5a82
VS
88822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8885
d1625889
VS
88862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/normal/cmdline.c (print_completion): New field
8889 prompt_len.
8890 (grub_cmdline_get): Handle width properly.
8891
6d36a236
VS
88922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8895
9576977e
VS
88962012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8899 after 29th of February.
9576977e 8900
d73ff15d
VS
89012012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 Fix exfat endianness handling.
8904
8905 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8906 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8907 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8908 Byte-swap utf16 when necessary.
8909 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8910
bbb39a45
AB
89112012-03-31 Anton Blanchard <anton@samba.org>
89122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Fix btrfs endianness handling.
8915
8916 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8917 (lower_bound): Make root uint64_t. Use root in le.
8918 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8919 (find_path): Fix template key init.
8920 (grub_btrfs_dir): Fix mtime byteswap.
8921 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8922
354e0af7
VS
89232012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8926 recursion_depth. Break infinite resursions. All users updated.
8927
4e75f21c
VS
89282012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8931 after free.
8932 Reported by: Peter Jones.
8933
25581802
AB
89342012-03-31 Anton Blanchard <anton@samba.org>
8935
8936 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8937 8 bit values.
8938
08fbf92e
VS
89392012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * util/grub-install.in: Fix nvram call for PreP.
8942
5d1182a6
VS
89432012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8946 the error when some elements are missing into a warning.
8947
3f8cdd90
VS
89482012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8951
51006716
CW
89522012-03-28 Colin Watson <cjwatson@ubuntu.com>
8953
8954 * docs/grub.texi (Invoking grub-probe): New section.
8955 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8956
e1bd676b
VS
89572012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Fix tab and wide character handling in editor and menu.
8960
8961 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8962 agglomerate control characters with combining marks.
8963 (bidi_line_wrap): Allow break on tab.
8964 (grub_unicode_get_comb_start): New function.
8965 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8966 and tab correctly.
8967 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8968 with a space.
8969 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8970 fixed_tab_size. All users updated.
8971 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8972 (grub_term_getcharwidth): Handle \t.
8973 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8974 and copy.
8975
22e6a774
VS
89762012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 Handle big-endian mdraid.
8979
8980 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8981 * grub-core/Makefile.core.def (mdraid09_be): New module.
8982 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8983 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8984 * grub-core/disk/mdraid_linux_be.c: New file.
8985
3c0eae66
VS
89862012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8989
b6cf74c9
VS
89902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8993 missing quotes which caused confusion among translators.
8994
83c93b9c
VS
89952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * util/grub-mkconfig_lib.in: Fix typo.
8998
ac6fd218
VS
89992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9002 spaces.
9003 * tests/grub_script_leading_whitespace.in: New file.
9004 * Makefile.util.def (grub_script_leading_whitespace): New test.
9005
ba287dd8
VS
90062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9009 to work.
9010
d2d58d0a
VS
90112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9014 starts with control character.
9015
0382d9bb
VS
90162012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9019 overflow.
9020 (grub_gdb_outbuf): Likewise.
9021
d83ff9f9
VS
90222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9025 zero terminator. Fixes a crash.
9026
2282da4a
VS
90272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9030 beyond 4 GiB.
9031 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9032 images independently of preffered adderss field.
9033
0ae4f0bd
VS
90342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9037 * grub-core/commands/regexp.c: Likewise.
9038 * grub-core/loader/i386/linux.c: Likewise.
9039 * grub-core/partmap/msdos.c: Likewise.
9040 * grub-core/script/execute.c: Likewise.
9041 * grub-core/term/gfxterm.c: Likewise.
9042
546fbe9b
VS
90432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 Add variable parsing in $"..." and fix several mismatches with bash.
9046
9047 * Makefile.util.def (grub_script_gettext): New test.
9048 * grub-core/script/execute.c (parse_string): New function.
9049 (gettext_append): Likewise.
9050 (grub_script_arglist_to_argv): Use gettext_append.
9051 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9052 * tests/grub_script_gettext.in: New file.
9053
9fdb2d7b
VS
90542012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Fix handling of leading spaces in scripts.
9057
9058 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9059 spaces.
9060 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9061 other than skipping \r. All users updated.
9062 * tests/grub_script_echo1.in: Add space-related tests.
9063 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9064
1a1ac4f6
VS
90652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9068
b63d89b6
VS
90692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * configure.ac: Bump up the version to beta2.
9072
17f38c0f
VS
90732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 Fix gettext reload bugs (e.g. inability to disable gettext
9076 once enabled).
9077
9078 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9079 main_context and secondary_context. All functions updated.
9080 (grub_gettext_translate): Rename to ...
9081 (grub_gettext_translate_real): ... this. Return NULL on failed
9082 translate.
9083 (grub_gettext_translate): Handle secondary context.
9084 (grub_gettext_delete_list): Close file and zero-out the context.
9085 (grub_mofile_open): Don't call grub_gettext_delete_list.
9086 Don't close file.
9087 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9088 if locale="" to avoid pointless error message.
9089 (grub_gettext_env_write_lang): Update lang even if load fails.
9090 Handle secondary context.
9091 (grub_gettext_reread_prefix): New function.
9092 (read_main): Likewise.
9093 (read_secondary): Likewise.
9094 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9095 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9096 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9097 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9098
8e56f870
VS
90992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * configure.ac: Decrease warning level to avoid spurious warnings and
9102 to be able to compile with GCC 4.2.
9103 * Makefile.util.def: Remove -Wno-error=logical-op.
9104
82f6d455
WB
91052012-03-10 William Bittner <william.bittner@gmail.com>
9106
9107 * util/import_unicode.py: Add missing brackets around string for
9108 python 3 support.
9109
1ecd61a4
VS
91102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 Fix efi chainloader on network root.
9113
9114 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9115 network devices.
9116 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9117 New function.
9118
14361ee8
VS
91192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9122 unused show_text member.
9123 * docs/grub.texi: Document "text" property.
9124
922aabf3
VS
91252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9128 in dprintf.
9129
ec316771
VS
91302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 Fix IMSM handling on Fedora.
9133
9134 * util/getroot.c (grub_util_is_imsm): New function.
9135 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9136
0f021838
VS
91372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * Makefile.am: Strip gold section.
9140 * conf/Makefile.common: Likewise.
9141 * gentpl.py: Likewise.
9142 * grub-core/Makefile.core.def: Likewise.
9143 * grub-core/genmod.sh.in: Likewise.
9144
1039c8eb
VS
91452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9148 * util/grub.d/20_linux_xen.in: Likewise.
9149 Based on Debian patch.
9150
6dd412cd
VS
91512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * util/grub.d/10_linux.in: Fix syntax error resulting in
9154 Richard Laager's patch.
9155 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9156
3fd8bae5
VS
91572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9160 dependencies.
9161
7eea1671
RL
91622012-03-10 Richard Laager <rlaager@wiktel.com>
9163
9164 * util/grub.d/10_linux.in: Fix ZFS root passing.
9165
e8e0566b
VS
91662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9169 * grub-core/commands/xnu_uuid.c: Likewise.
9170 * grub-core/loader/efi/appleloader.c: Likewise.
9171 * grub-core/script/execute.c: Likewise.
9172 * grub-core/script/main.c: Likewise.
9173 * util/grub-mkfont.c: Likewise.
9174
1acc5b1f
VS
91752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * util/grub-mkfont.c (options): Use more appropriate "select" that
9178 "set" for face index.
9179
35d70620
VS
91802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * util/grub-editenv.c (options): Gettextize command summaries.
9183
c9eb96b5
VS
91842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9187 "out of memory" error messagge.
9188
1f493136
VS
91892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9192 of diskfilter for diskfilter on diskfilter support.
9193
6d790129
VS
91942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9197
005f46c9
VS
91982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9201 themes/starfield.
9202
c8f778a0
VS
92032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9206
de1e64eb
VS
92072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9210
c6d54211
VS
92112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9214 of error message.
9215
dd390777
VS
92162012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9219
5fd1c522
VS
92202012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9223 message.
c6d54211 9224 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9225
fae01f6c
VS
92262012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9229 Gettextize.
9230 * util/grub-mount.c (options): Likewise.
9231
292fdaff
VS
92322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9235 gettextize.
9236 * grub-core/commands/search_wrap.c (options): Likewise.
9237
ecdbae77
VS
92382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9241
52bfedfa
VS
92422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9245 size calculation.
9246 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9247 none is known.
9248
55b20e58
VS
92492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9252 "temporary" since it's used in identifier and is limited in space.
9253
fda9d101
VS
92542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * po/POTFILES.in: Regenerate. Include *.h since they contain
9257 translatable strings as well.
9258
6a0295e2
VS
92592012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9262 byte-swap on big-endian.
9263 Reported by: Lennart Sorensen
9264
807fb77c
VS
92652012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9268 (allocate_pages): Improve dprintf.
9269 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9270 code32_start. Fill code32_start and kernel_alignment in params.
9271 (grub_cmd_initrd): Use prot_init_space.
9272
61ac50ba
VS
92732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9276
abdd26dd
VS
92772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * util/grub-install.in: Add missing dot at the end of sentence.
9280
6e69da9c
VS
92812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9284 * grub-core/commands/videotest.c: Likewise.
9285 * grub-core/loader/i386/linux.c: Likewise.
9286
4a929343
VS
92872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9290 sentence.
9291 Reported by: Milo Casagrande.
9292
bb51c6c6
VS
92932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9296 * grub-core/commands/gptsync.c: Likewise.
9297 * grub-core/commands/hashsum.c: Likewise.
9298 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9299 * grub-core/commands/legacycfg.c: Likewise.
9300 * grub-core/io/gzio.c: Likewise.
9301 * grub-core/net/net.c: Likewise.
9302 * grub-core/term/gfxterm.c: Likewise.
9303 * grub-core/term/terminfo.c: Likewise.
9304 * grub-core/tests/test_blockarg.c: Likewise.
9305 * grub-core/video/video.c: Likewise.
9306 * util/grub-install.in: Likewise.
9307 * util/grub-mkfont.c: Likewise.
9308
b2b149cb
VS
93092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9312
c7c080ad
VS
93132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9316 Reported by: David Prévot.
c7c080ad 9317
f2e243c0
VS
93182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9321 description.
9322
09963c76
VS
93232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * util/grub-script-check.c (main): Fix a syntax error message which was
9326 unclear.
9327
a50514a8
VS
93282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9331
4650daec
VS
93322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9335 messages.
9336
93372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9338
9339 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9340 without argument.
9341 * util/grub-mount.c (options): Likewise.
9342
bbc5a342
VS
93432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9346
ef292a87
VS
93472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/net/http.c: Add TRANSLATORS comments.
9350 * grub-core/normal/cmdline.c: Likewise.
9351 * grub-core/normal/misc.c: Likewise.
9352 * grub-core/partmap/msdos.c: Likewise.
9353 * grub-core/parttool/msdospart.c: Likewise.
9354 * grub-core/script/execute.c: Likewise.
9355 * grub-core/script/main.c: Likewise.
9356 * grub-core/term/terminfo.c: Likewise.
9357 * grub-core/video/bitmap.c: Likewise.
9358 * util/grub-install.in: Likewise.
9359 * util/grub-mkimage.c: Likewise.
9360 * util/grub-mklayout.c: Likewise.
9361 * util/grub-setup.c: Likewise.
9362
0fc19bd0
VS
93632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9366 with similar messages in grub-fstest.
9367
d95862ef
VS
93682012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-install.in: Unify "option requires an argument" message
9371 with similar messages in other files.
9372 * util/grub-mkconfig.in: Likewise.
9373
b7308f90
VS
93742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/grub-set-default.in: Replace printf with gettext_printf (the
9377 string in in question is already translated from grub-reboot)
9378
559dc587
VS
93792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * configure.ac: Bump up the version to beta1.
9382
1a11761f
VS
93832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9386 case when min_align = 0.
9387
24539abd
VS
93882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9391 and fix a case when line_start overflows.
9392
32bd735b
VS
93932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * util/grub-reboot.in (usage): Mention id posibility.
9396 * util/grub-set-default.in (usage): Likewise.
9397
1a2fd1e6
VS
93982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9401 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9402 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9403 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9404 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9405 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9406 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9407
90eeab76
VS
94082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/commands/menuentry.c (options): Remove
9411 GRUB_ARG_OPTION_REPEATABLE.
9412 Reported by: Andreas Vogel
9413
5ad1be82
AV
94142012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9415
9416 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9417
cb055286
HE
94182012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9419
9420 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9421 error.
9422
93b1cd79
VS
94232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Use sort -V by the idea of Georgi Georgiev.
9426
9427 * util/grub-mkconfig_lib.in (version_sort): New function.
9428 (version_test_numeric): Use version_sort.
9429
0cdc126c
VS
94302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 Use submenus in grub-mkconfig.
9433
9434 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9435 * util/grub-mkconfig_lib.in (grub_quote): New function.
9436 (gettext_printf): Use gettext and not gettext_quoted to fix several
9437 messages.
9438 * util/grub.d/10_hurd.in: Use submenus.
9439 * util/grub.d/10_kfreebsd.in: Likewise.
9440 * util/grub.d/10_linux.in: Likewise.
9441 * util/grub.d/10_netbsd.in: Likewise.
9442 * util/grub.d/20_linux_xen.in: Likewise.
9443 * util/grub.d/30_os-prober.in: Likewise.
9444 * util/grub.d/10_illumos.in: Add missing quoting.
9445 * util/grub.d/10_windows.in: Likewise.
9446
d9bef9bc
VS
94472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 Fix menu title instability bug.
9450
9451 * grub-core/commands/menuentry.c (options): New option --id.
9452 (grub_normal_add_menu_entry): New argument id. All users updated.
9453 (grub_cmd_menuentry): Handle --id.
9454 (grub_menu_init): Accept unknown arguments.
9455 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9456 feature_menuentry_options.
9457 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9458 saved_entry.
9459 (get_entry_number): Match with id as well.
9460 * include/grub/menu.h (grub_menu_entry): New member id.
9461 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9462 * util/grub.d/00_header.in: Define menuentry_id_option.
9463 * util/grub.d/10_hurd.in: Define id.
9464 * util/grub.d/10_illumos.in: Likewise.
9465 * util/grub.d/10_kfreebsd.in: Likewise.
9466 * util/grub.d/10_linux.in: Likewise.
9467 * util/grub.d/10_netbsd.in: Likewise.
9468 * util/grub.d/10_windows.in: Likewise.
9469 * util/grub.d/20_linux_xen.in: Likewise.
9470 * util/grub.d/30_os-prober.in: Likewise.
9471
94722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9473
9474 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9475 "scope" with "body".
9476
7c8d0ce7
VS
94772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9480 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9481 prot_size and prot_file_size.
9482
49de079b
VS
94832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9486 All users updated. If easily=1 require raid-5/-6 to be full.
9487 (is_node_readable): Likewise.
9488 (scan_devices): Scan incomplete but readable LVs at the end.
9489 (grub_diskfilter_memberlist): Pull missing devices.
9490 (insert_array): Skip scanning until device is complete or scan is
9491 done otherwise.
9492 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9493 check.
9494 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9495 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9496
aff05d45
MG
94972012-03-03 Matthew Garrett <mjg@redhat.com>
94982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Avoid EFI boot services when loading Linux.
9501
9502 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9503 avoid_efi_bootservices. All users updated.
9504 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9505 argument avoid_efi_bootservices. All users updated.
9506 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9507 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9508 align, min_align, relocatable, prefered_address. All users updated.
9509 Allocate avoiding boot services if kernel is relocatable.
9510 (grub_cmd_linux): Check if kernel is relocatable.
9511 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9512 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9513 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9514 avoid_efi_boot_services.
9515 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9516 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9517 (linux_kernel_params): Likewise.
9518
3935dde2
MG
95192012-03-03 Matthew Garrett <mjg@redhat.com>
95202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Use EDID on EFI.
9523
9524 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9525 datasize_out.
9526 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9527 modes. Set gop_handle.
9528 (grub_video_gop_get_edid): New function.
9529 (grub_gop_get_preferred_mode): Likewise.
9530 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9531 (grub_video_efi_gop_adapter): Set .get_edid.
9532 * include/grub/efi/edid.h: New file.
9533 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9534
32107ec0
VS
95352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * util/grub-install.in: Load efivars unconditionally.
9538
e70a2c50
VS
95392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * po/Rules-piglatin: Change suffix from .po-update-en to
9542 .po-update-en-piglatin.
9543
8f9cace1
VS
95442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 Add a pig farm.
9547
9548 * po/piglatin.sed: New file.
9549 * po/en@piglatin.header: Likewise.
9550 * po/Rules-piglatin: Likewise.
9551 * po/README: Add en@piglatin to autogenerated languages.
9552
8f95d002
VS
95532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9556 "Command for ...".
9557 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9558 "Check" since we don't check anything.
9559 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9560 is 64-bit one.
9561 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9562 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9563 (grub_md_sha512_real): Likewise.
9564
805a8dcc
VS
95652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/commands/gptsync.c: Fix typographic quoting.
9568 * grub-core/commands/ieee1275/suspend.c: Likewise.
9569 * grub-core/commands/parttool.c: Likewise.
9570 * grub-core/commands/search_wrap.c: Likewise.
9571 * grub-core/commands/videoinfo.c: Likewise.
9572 * grub-core/gfxmenu/gui_label.c: Likewise.
9573 * grub-core/hello/hello.c: Likewise.
9574 * grub-core/kern/emu/main.c: Likewise.
9575 * grub-core/net/net.c: Likewise.
9576 * grub-core/normal/menu.c: Likewise.
9577 * grub-core/normal/menu_text.c: Likewise.
9578 * grub-core/normal/misc.c: Likewise.
9579 * util/grub-editenv.c: Likewise.
9580 * util/grub-install.in: Likewise.
9581 * util/grub-kbdcomp.in: Likewise.
9582 * util/grub-mkconfig.in: Likewise.
9583 * util/grub-mknetdir.in: Likewise.
9584 * util/grub-mkrescue.in: Likewise.
9585 * util/grub-mkstandalone.in: Likewise.
9586 * util/grub-reboot.in: Likewise.
9587 * util/grub-set-default.in: Likewise.
9588 * util/grub-setup.c: Likewise.
9589 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9590
40211ab8
VS
95912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9594 * grub-core/commands/keystatus.c: Likewise.
9595 * grub-core/commands/loadenv.c: Likewise.
9596 * grub-core/commands/probe.c: Likewise.
9597 * grub-core/commands/regexp.c: Likewise.
9598 * grub-core/commands/true.c: Likewise.
9599 * grub-core/commands/videoinfo.c: Likewise.
9600 * grub-core/disk/cryptodisk.c: Likewise.
9601 * grub-core/disk/ldm.c: Likewise.
9602 * grub-core/disk/loopback.c: Likewise.
9603 * grub-core/disk/luks.c: Likewise.
9604 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9605 * grub-core/kern/disk.c: Likewise.
9606 * grub-core/kern/emu/hostdisk.c: Likewise.
9607
0c7d99c7
VS
96082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9611 * util/grub-install.in: Add missing quote in the comment.
9612
e7d2559b
VS
96132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9616 * grub-core/commands/lsmmap.c: Likewise.
9617 * grub-core/commands/minicmd.c: Likewise.
9618 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9619 * grub-core/commands/regexp.c: Likewise.
9620 * grub-core/gdb/gdb.c: Likewise.
9621 * grub-core/term/gfxterm.c: Likewise.
9622 * util/grub-mkconfig.in: Likewise.
9623 * util/grub-mkfont.c: Likewise.
9624 * util/grub-mklayout.c: Likewise.
9625 * util/grub-mknetdir.in: Likewise.
9626 * util/grub-mkrescue.in: Likewise.
9627 * util/grub.d/30_os-prober.in: Likewise.
9628
49ce9e50
VS
96292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9632 with "Direct color" and "Packed" with "Packed pixel".
9633 (grub_cmd_videoinfo): Simplify legend.
9634
e4b791fa
VS
96352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9638 absolutely unclear error message.
9639
fd1265cb
VS
96402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * util/grub-mkstandalone.in: Remove confusing leftover print.
9643
8822a8a0
VS
96442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9647 comments.
9648 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9649 (GRUB_MOD_INIT): Likewise.
9650 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9651 VGA mode.
9652 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9653 comments.
9654 * util/grub-install.in (usage): Likewise.
9655 Spell ID in whole letters.
9656 Add missing ending dot.
9657 Quote variables.
9658 * util/grub-reboot.in: Fix capitalisation.
9659 * util/grub-set-default.in: Likewise.
9660
937fd0cc
VS
96612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9664 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9665 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9666 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9667 Disable -Werror for -Wdeprecated-declarations.
9668 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9669 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9670 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9671 (grub_util_get_grub_dev): Make luks handling dependent on
9672 HAVE_DEVICE_MAPPER and not __linux__.
9673 (get_win32_path): Fix format security.
9674 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9675 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9676 Don't try grub_find_zpool_from_dir.
9677 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9678 #ifdef-out paresdir.
9679
1bab1ae3
VS
96802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * util/grub-pe2elf.c (usage): Add missing noreturn.
9683 (write_section_data): Rename name to shname to avoid shadowing.
9684 (write_symbol_table): Rename name to symname to avoid shadowing.
9685 Fix write_reloc_section call.
9686
ef023e42
VS
96872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9690 to ensure that it's after the last byte of .text.
9691
48afcb75
VS
96922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * util/ieee1275/ofpath.c (my_isdigit): New function.
9695 (trailing_digits): Use my_isdigit.
9696 (strip_trailing_digits): Likewise.
9697
88d51eff
VS
96982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9701 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9702
17edc2ba
VS
97032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/kern/i386/pc/startup.S: Define __start.
9706
ad5518d7
VS
97072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9710 strip already transforms he format.
9711
9e95e1bf
VS
97122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9715
9cc3ee5c
VS
97162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * util/grub-install.in: Add missing gettext init.
9719 * util/grub-kbdcomp.in: Likewise.
9720 * util/grub-mkconfig.in: Likewise.
9721 * util/grub-mknetdir.in: Likewise.
9722 * util/grub-mkrescue.in: Likewise.
9723 * util/grub-mkstandalone.in: Likewise.
9724 * util/grub-reboot.in: Likewise.
9725 * util/grub-set-default.in: Likewise.
9726 * util/grub.d/00_header.in: Likewise.
9727 * util/grub.d/10_hurd.in: Likewise.
9728 * util/grub.d/10_windows.in: Likewise.
9729 * util/grub.d/30_os-prober.in: Likewise.
9730 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9731
49e08a06
VS
97322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * po/Rules-swiss: Fix header comment.
9735
3809cb41
AV
97362012-02-29 Andreas Vogel <anvoit>
9737
9738 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9739 resulted in leak of arguments.
9740
fa6ec573
VS
97412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9744 reed_solomon_size const definition instead of computing it since
9745 Apple assembler doesn't support the later.
9746
22899b9c
VS
97472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * gentpl.py (kernel): Rewrite Apple part.
9750
a132afc3
VS
97512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9754
9d742bd4
VS
97552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9758 ELF section gap.
9759 (load_image): Likewise.
9760
f04a9a21
VS
97612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * configure.ac: Fix a typo in previous commit.
9764
46cf439c
VS
97652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 Don't add -Wl,-N on Apple platform.
9768
9769 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9770 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9771
c4c48c54
VS
97722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/Makefile.core.def (lzma_decompress): Use
9775 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9776
31a12124
VS
97772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/genmod.sh.in: Rewrite the Apple part.
9780
4f3aa1af
VS
97812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9784 comparison.
9785
7bd8b0c7
VS
97862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * acinclude.m4 (grub_CHECK_PIC): New test.
9789 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9790
97304d7c
VS
97912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9794 to avoid the warning.
9795
fb883812
VS
97962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9799 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9800 after. All users updated.
9801
a121c964
VS
98022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 Use the common size routine in hostfs so we can read disks as well.
9805
9806 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9807 (grub_util_get_fd_size): ... this. Return size in bytes.
9808 All users updated.
9809 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9810 grub_util_get_fd_size.
9811
c66d6410
VS
98122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9815 Add blocksize retrieval.
9816
dfc8aeb0
VS
98172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * configure.ac: Restore CFLAGS after efiemu check.
9820
403e25a5
VS
98212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9824 Apple bug.
9825
382775d1
VS
98262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9829
6fd4e6e4
VS
98302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9833 (grub_cmd_halt): Likewise.
9834
bea359d6
VS
98352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9838 for local arithmetics.
9839 Break %sp init into 2 instructions.
9840 Add 0 byte at the end.
9841
32eb6ee1
VS
98422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9845 before loops.
9846
e8377389
VS
98472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9850 for context.
9851
8cb17de7
VS
98522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/disk/ldm.c (make_vg): Init part.name.
9855 (grub_ldm_detect): Silence spurious warning.
9856 (grub_util_is_ldm): Likewise.
9857
595717e6
VS
98582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9861 sane value to avoid a spurious warning.
9862
c4b7e588
VS
98632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9866 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9867
59824957
VS
98682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9871 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9872
70115b99
VS
98732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9876 hardcoding the relevant info.
9877
56733740
VS
98782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9881 missing const qualifiers.
9882 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9883
43481481
VS
98842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * util/getroot.c [__APPLE__]: Add missing includes.
9887 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9888
3cb38f01
VS
98892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9892
d9dbf11e
VS
98932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9896 avoid conflicts.
9897
0c42a45d
VS
98982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9901
46c34eb0
VS
99022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9905 and grub_file_close call.
9906
99ce1597
VS
99072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 Add LZSS Mach-O support (needed for new xnu kernelcache).
9910
9911 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9912 * grub-core/loader/lzss.c: New file.
9913 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9914 on Mach-O open failure.
9915 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9916 Don't free cmdsXX in uncompressedXX is set.
9917 (grub_macho_file): Init new fields.
9918 New argument is_64bit. All users updated.
9919 Handle compressed. Error out if no suitable architecture is found.
9920 Don't close file.
9921 (grub_macho_open): New argument is_64bit. All users updated.
9922 * grub-core/loader/macho32.c: Add defines for new fields.
9923 * grub-core/loader/macho64.c: Likewise.
9924 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9925 (grub_macho_parse): Handle compressed.
9926 Defer actual processing if compressed.
9927 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9928 "filename". All users updated.
9929 (grub_macho_size): New argument "filename". All users updated.
9930 (grub_macho_get_entry_point): Likewise.
9931 (grub_macho_load): Handle compressed.
9932 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9933 (GRUB_MACHO_LZSS_OFFSET): New define.
9934 (grub_decompress_lzss): New proto.
9935 * include/grub/machoload.h (grub_macho_file): New fields to handle
9936 compressed.
9937 (grub_macho_contains_macho64): Remove proto.
9938 (grub_macho_contains_macho32): Likewise.
9939 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9940
ebd17d6f
VS
99412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9944
2702b4e4
VS
99452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 Fix make dist.
9948
9949 * Makefile.am (starfield_theme_files): New var.
9950 (starfield_DATA): Use starfield_theme_files.
9951 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9952 Add bootcheck-related files.
9953 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9954 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9955 and font_char_metrics.txt.
9956 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9957 (setjmp): Add lib/ia64/longjmp.S.
9958 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9959 * po/POTFILES.in: Regenerate.
9960 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9961 DISTFILES.common.extra1.
9962 * util/devicemap.c: Removed.
9963 * grub-core/lib/i386/relocator_backward.S: Likewise.
9964 * util/import_gcry.py: Remove unused files. Add extra_dist for
9965 ChangeLog.
9966
cf1adfdf
VS
99672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9970 grub_gettext_delete_list before changing grub_gettext_max to avoid
9971 running out of array bounds.
9972
99732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9974
9975 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9976 grub_vga_text_init/grub_vga_text_fini.
9977
cf1adfdf 99782012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9979
9980 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9981
541d92e9
VS
99822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * configure.ac: Bump to 2.00~beta0.
9985
7931dddf
VS
99862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9989 missing initialisation.
9990
f1b16fa3
VS
99912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9994
83ddae23
VS
99952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 Support v2 xnu boot arguments.
9998
9999 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10000 New argument fsbfreq_out.
10001 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10002 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10003 be used.
10004 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10005 darwin_version.
10006 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10007 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10008 (grub_xnu_boot_params): Rename to ...
10009 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10010 (grub_xnu_boot_params_v2): New struct.
10011
dc693fe6
VS
100122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10015 zeroing of CRC field before computing CRC.
10016
5a6e39c2
VS
100172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10020 Change order of allocations to decrease fragmentation.
10021
6c21f5d7
VS
100222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10025
cfe456dc
CW
100262012-02-27 Colin Watson <cjwatson@ubuntu.com>
10027
10028 Use write-combining MTRR to speed up video with buggy BIOSes.
10029
10030 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10031 (cpuid): New define.
10032 (rdmsr): Likewise.
10033 (wrmsr): Likewise.
10034 (mtrr_base): Likewise.
10035 (mtrr_mask): Likewise.
10036 (grub_vbe_enable_mtrr_entry): New function.
10037 (grub_vbe_enable_mtrr): Likewise.
10038 (grub_vbe_disable_mtrr): Likewise.
10039 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10040 control off to BIOS.
10041 (grub_video_vbe_init): Fill mtrr.
10042 (grub_video_vbe_fini): Disable mtrr.
10043 (grub_video_vbe_get_info_and_fini): Likewise.
10044 (grub_video_vbe_setup): Enable mtrr.
10045
e3c78337
CW
100462012-02-27 Colin Watson <cjwatson@ubuntu.com>
10047
10048 * include/grub/partition.h (grub_partition_map): Change prototype of
10049 embed to take a maximum value for nsectors.
10050 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10051 * include/grub/fs.h (grub_fs): Likewise.
10052 * grub-core/partmap/msdos.c (embed_signatures): New array.
10053 (pc_partition_map_embed): Check for and avoid sectors matching any
10054 of the signatures in embed_signatures, up to max_nsectors.
10055 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10056 returned sector map to max_nsectors.
10057 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10058 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10059 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10060 * util/grub-setup.c (setup): Allow for the embedding area being
10061 split into multiple blocklists. Tell dest_partmap->embed the
10062 maximum number of sectors we care about.
10063
100642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10067 Specify blocklist_install and reserver_first_sector for all fs.
10068 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10069 blocklists.
10070
984b973f
VS
100712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/grub-install.in: Clarify strings.
10074 Fix source dir check.
10075
f122e0d6
RL
100762012-02-27 Richard Laager <rlaager@wiktel.com>
10077
10078 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10079 "zfs" and "fuse.zfs" as synonyms.
10080
071114bb
VS
100812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * configure.ac: Put platform and target_cpu substitutions back since
10084 they are used for directories.
10085
817e6abc
RL
100862012-02-27 Richard Laager <rlaager@wiktel.com>
100872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10090 * util/grub.d/20_linux_xen.in: Likewise.
10091
897b7419
RL
100922012-02-27 Richard Laager <rlaager@wiktel.com>
10093
10094 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10095 with full paths.
10096
a414bd15
RL
100972012-02-27 Richard Laager <rlaager@wiktel.com>
10098
10099 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10100 unescape.
10101
30ac48c4
VS
101022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 Don't use insecure popen in getroot.
10105
10106 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10107 (exec_pipe): ... here.
10108 (find_root_devices_from_poolname): Use exec_pipe.
10109
53f13848
VS
101102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 Remove platform and target_cpu replacement.
10113
10114 * configure.ac: Remove platform and target_cpu substitutions.
10115 * tests/util/grub-shell.in: Use modinfo.
10116 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10117 explicitly.
10118
90cb2803
VS
101192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Autodetect platform in grub-install but allow override.
10122
10123 * util/grub-install.in: Autodetect platform. Support --target and
10124 --directory. Read platform from modinfo.sh.
10125
b9136427
VS
101262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 Support btrfs multi-volume probe.
10129
10130 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10131 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10132 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10133 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10134 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10135 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10136 grub_find_root_devices_from_btrfs if on btrfs.
10137
c36e5cd1
VS
101382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 Remove any awareness of *.c util files about target.
10141
10142 * Makefile.util.def (grub-setup): Split to ...
10143 (grub-bios-setup): ... and this.
10144 (grub-sparc64-setup): ... and this.
10145 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10146 * docs/man/grub-setup.h2m: Split into ...
10147 * docs/man/grub-sparc64-setup.h2m: ... this.
10148 * docs/man/grub-bios-setup.h2m: ... and this.
10149 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10150 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10151 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10152 (grub_target_addr_t): Remove.
10153 (grub_target_size_t): Remove.
10154 (grub_target_ssize_t): Remove.
10155 * util/grub-install.in: Use new grub-*-setup.
10156 * util/grub-mkimagexx.c (Elf_Word): New define.
10157 (Elf_Half): Likewise.
10158 (Elf_Section): Likewise.
10159 (ELF_ST_TYPE): Likewise.
10160 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10161 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10162
584b2f8a
VS
101632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 Replace grub_target_addr with more appropriate types.
10166
10167 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10168 grub_target_addr with grub_addr.
10169 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10170 grub_target_addr with grub_port.
10171 (grub_cmd_write): Likewise.
10172 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10173 grub_target_addr with grub_addr.
10174 (grub_cmd_write): Likewise.
10175 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10176
5a0dc6fb
VS
101772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10180 const qualifier for vendor_guid.
10181
786aff6e
VS
101822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10185 const qualifier.
10186 (efiemu_memequal): Likewise.
10187 (find_variable): Likewise.
10188
49017b17
VS
101892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 Fix missing console prototype on qemu-mips.
10192
10193 * include/grub/mips/qemu_mips/console.h: New file.
10194
c5988629
MG
101952012-02-27 Matthew Garrett <mjg@redhat.com>
101962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10199 * include/grub/efi/efi.h: Likewise.
10200 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10201 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10202 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10203 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10204 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10205 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10206
e33f8d69
MG
102072012-02-27 Matthew Garrett <mjg@redhat.com>
10208
10209 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10210
fb312cd9
VS
102112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10214 error.
10215
7134247c
VS
102162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * configure.ac: Remove inappropriate use of program_transform_name
10219 on grubdir and bootdir but allow explicit specification of those
10220 variables.
10221
6a313124
VS
102222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * util/grub-mknetdir.in (grub_prefix): Removed.
10225 (subdir): Use @bootdirname@ and @grubdirname@.
10226
2311c5ca
VS
102272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10230
7d5d60f7
VS
102312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * po/POTFILES.in: Regenerated.
10234
8151bc82
VS
102352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 Remove improper use of program_transform_name on pkglibrootdir.
10238
10239 * configure.ac (pkglibrootdir): Removed.
10240 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10241 * util/grub-mkimage.c: Likewise.
10242
b4a6a533
VS
102432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10246 warning.
10247
668f304f
VS
102482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * util/grub-install.in: Use file identifier if no UUID is available
10251 or user explicitly prompted for it.
10252
665f2341
NP
102532012-02-27 Navdeep Parhar <nparhar@gmail.com>
10254
10255 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10256 (freebsd_get_zfs): New function.
10257 (grub_freebsd_boot): Pass zfs UUID.
10258 (grub_cmd_freebsd): Set zfs UUID.
10259
8151bc82 102602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10261
10262 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10263 pkglibrootdir.
10264
e4c498a1
MG
102652012-02-27 Mike Gilbert <floppym@gentoo.org>
10266
10267 Add configure flag to control libzfs integration.
10268
10269 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10270
1e9a9a3f
VS
102712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10274 device.
10275 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10276 small devices.
10277
036985b8
VS
102782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10281 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10282 be used on non-modules.
10283
10284 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10285 Rename to grub_boot_init.
10286 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10287 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10288 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10289 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10290 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10291 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10292 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10293 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10294 includes.
10295 (grub_machine_init): Remove empty inits.
10296 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10297 includes.
10298 (grub_machine_init): Remove empty inits.
10299 * grub-core/term/arc/console.c: Remove explicit proto.
10300 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10301 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10302 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10303 grub_at_keyboard_fini.
10304 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10305 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10306 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10307 grub_gfxterm_fini.
10308 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10309 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10310 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10311 grub_vgatext_fini.
10312 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10313 * grub-core/term/serial.c (GRUB_MOD_INIT)
10314 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10315 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10316 grub_serial_fini.
10317 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10318 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10319 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10320 grub_terminfo_fini.
10321 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10322 (GRUB_MOD_FINI): Likewise.
10323 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10324 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10325 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10326 grub_video_radeon_fuloong2e_fini.
10327 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10328 [LOONGSON]: Rename to grub_video_sis315pro_init.
10329 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10330 grub_video_sis315pro_fini.
10331 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10332 [LOONGSON]: Rename to grub_video_sm712_init.
10333 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10334 grub_video_sm712_fini.
10335 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10336 (grub_at_keyboard_fini): Likewise.
10337 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10338 Don't declare grub_{modname}_init.
10339 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10340 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10341 New proto.
10342 (grub_keylayouts_fini) [!EMU]: Likewise.
10343 * include/grub/serial.h (grub_serial_init) [!EMU]:
10344 New proto.
10345 (grub_serial_fini) [!EMU]: Likewise.
10346 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10347 New proto.
10348 (grub_terminfo_fini) [!EMU]: Likewise.
10349 * include/grub/video.h (grub_font_init) [!EMU]:
10350 New proto.
10351 (grub_font_fini) [!EMU]: Likewise.
10352 (grub_gfxterm_init) [!EMU]: Likewise.
10353 (grub_gfxterm_fini) [!EMU]: Likewise.
10354 (grub_video_sm712_init) [!EMU]: Likewise.
10355 (grub_video_sm712_fini) [!EMU]: Likewise.
10356 (grub_video_sis315pro_init) [!EMU]: Likewise.
10357 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10358 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10359 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10360
d5534665
VS
103612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Make nand a prefix for nand devices.
10364
10365 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10366
10133b5f
VS
103672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10370 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10371
8e307a62
VS
103722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * include/grub/env.h (grub_env_find): Remove prototype.
10375 * grub-core/kern/env.c (grub_env_find): Make static.
10376 (grub_env_set): Remove useless set.
10377
a4c65f34
VS
103782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/kern/i386/realmode.S: Remove useless align.
10381
d87893d5
VS
103822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * include/grub/dl.h (grub_dl_load_file): Don't export.
10385
50159add
VS
103862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10389 grub_dprintf.
10390
b2582b84
VS
103912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10394 grub_errors.
10395 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10396 not reloading whole superblock but only the part which is really needed.
10397 Remove useless grub_errors.
10398 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10399 grub_errors.
10400
e2a83395
VS
104012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 Don't export grub_get_rtc.
10404
10405 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10406 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10407
e7d2a906
VS
104082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10411
6cf1363b
VS
104122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10415 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10416
eece3349
VS
104172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Remove prio_list.
10420
10421 * include/grub/list.h (grub_prio_list): Removed.
10422 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10423 GRUB_COMMAND_PRIO_MASK.
10424 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10425 GRUB_COMMAND_FLAG_ACTIVE.
10426 (grub_prio_list_insert): Removed.
10427 (grub_prio_list_remove): Likewise.
10428 (GRUB_AS_PRIO_LIST): Likewise.
10429 (GRUB_AS_PRIO_LIST_P): Likewise.
10430 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10431 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10432 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10433 * grub-core/kern/command.c (grub_register_command_prio): Inline
10434 the prio_list code.
10435 (grub_unregister_command): Likewise.
10436
94f064b4
VS
104372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 Fix interrupt mixup from previous commit.
10440
10441 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10442 (grub_realidt): New var.
10443 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10444 Load idt.
10445 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10446 New declaration.
10447 (grub_relocator16_boot): Set grub_relocator16_idt.
10448 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10449 (LOCAL(realidt)): ... this.
10450 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10451 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10452 (grub_realidt): New variable.
10453
27317084
VS
104542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10457 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10458 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10459 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10460 Gettextize.
10461 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10462 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10463 * po/POTFILES.in: Regenerate.
10464
47b40053
VS
104652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10468 errors.
10469
2b343101
VS
104702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10473 \0.
10474 (add_length): Likewise.
10475
ff27c3dd
LK
104762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
104772012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10478
10479 GDB serial and backtrace support.
10480
10481 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10482 (prot_to_real): Likewise.
10483 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10484 * grub-core/Makefile.core.def (backtrace): New module.
10485 (gdb): Likewise.
10486 * grub-core/gdb/cstub.c: New file.
10487 * grub-core/gdb/gdb.c: Likewise.
10488 * grub-core/gdb/i386/idt.c: Likewise.
10489 * grub-core/gdb/i386/machdep.S: Likewise.
10490 * grub-core/gdb/i386/signal.c: Likewise.
10491 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10492 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10493 * include/grub/backtrace.h: Likewise.
10494 * include/grub/gdb.h: Likewise.
10495 * include/grub/i386/gdb.h: Likewise.
10496
104972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10498
10499 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10500 New function.
10501 (add_length): Likewise.
10502 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10503 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10504 proto.
10505 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10506 __argp_get_display_len.
10507
ff27c3dd 105082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10509
10510 $"..." support in scripts.
10511
10512 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10513 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10514 * grub-core/script/yylex.l: Likewise.
10515 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10516 value.
10517
ff27c3dd 105182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10519
10520 * gentpl.py: Remove obsolete pkglib_DATA handling.
10521
ff27c3dd 105222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10523
10524 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10525 mailing list.
10526
10527 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10528 * util/grub-kbdcomp.in: Likewise.
10529 * util/grub-mkconfig.in: Likewise.
10530 * util/grub-mkconfig_lib.in: Likewise.
10531 * util/grub-mknetdir.in: Likewise.
10532 * util/grub-mkrescue.in: Likewise.
10533 * util/grub-mkstandalone.in: Likewise.
10534 * util/grub-reboot.in: Likewise.
10535 * util/grub-set-default.in: Likewise.
10536 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10537
ff27c3dd 105382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10539
10540 Remove GRUB_PREFIX.
10541
10542 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10543 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10544 used for backward compatibility.
10545
ff27c3dd 105462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10547
10548 Add new all_video module.
10549
10550 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10551 * grub-core/Makefile.core.def (all_video): New module.
10552 * grub-core/genmoddep.awk: Generate dependency of all_video from
10553 video.lst.
10554 * grub-core/lib/fake_module.c: New file.
10555 * grub-core/normal/main.c (features): Add feature_all_video_module.
10556 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10557 don't do explicit search again.
47454da5 10558 insmod all_video in load_video if available.
22c7ce85 10559
ff27c3dd 105602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10561
10562 Another round of string clarification and adding TRANSLATORS comments.
10563
ff27c3dd 105642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10565
10566 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10567
ff27c3dd 105682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10569
10570 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10571 to grub_ssize_t.
10572 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10573 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10574
ff27c3dd 105752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10576
10577 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10578 trailing newline implicitly. All users updated.
10579
ff27c3dd 105802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10581
10582 Implement serial on IEEE1275 and EFI.
10583
10584 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10585 on emu. Mention arc and emu as the only platforms without serial
10586 support.
10587 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10588 ieee1275 platforms.
10589 * grub-core/term/efi/serial.c: New file.
10590 * grub-core/term/ieee1275/serial.c: Likewise.
10591 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10592 specification if no ns8250 driver is available.
10593 (grub_cmd_serial): Likewise.
10594 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10595 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10596 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10597 (grub_efi_parity_type_t): New type.
10598 (grub_efi_stop_bits_t): Likewise.
10599 (grub_efi_serial_io_interface): New struct.
10600 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10601 available for all interfaces.
10602 Add EFI and IEEE1275 fields.
10603 (grub_ofserial_init): New proto.
10604 (grub_efiserial_init): Likeiwse.
10605 * util/grub.d/00_header.in: Don't check for the presence of serial
10606 module.
10607
ff27c3dd 106082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10609
10610 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10611 name as if it was an alias.
10612
114076ef
VS
106132012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * grub-core/commands/lsacpi.c (options): Fix typo.
10616
6a656b0e
VS
106172012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 Convert grub-emu to argp.
10620
10621 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10622 emu.
10623 * util/argp_common.c: Rename to ...
10624 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10625 Add missing includes.
10626 * grub-core/kern/emu/main.c: Convert to argp.
10627 * po/POTFILES.in: Regenerate.
10628 * util/grub-install.in (usage): Make first letter lowcase in messages
10629 for uniformity.
10630 * util/grub-setup.c (options): Likewise.
10631
1e3f8ae8
VS
106322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10635 Put back accidently commented-out code.
10636
ed167a80
VS
106372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10640 loop check using Brent algorithm.
10641 (grub_hfsplus_btree_search): Likewise.
10642
6753c0ec
VS
106432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * util/grub-install.in: Fix usage of wrong device for PreP install.
10646
4e27343f
VS
106472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * conf/Makefile.common (CFLAGS_GNULIB): Add
10650 -Wno-unsafe-loop-optimizations.
10651 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10652 on tools.
10653 * grub-core/commands/legacycfg.c: Add pragma to skip
10654 -Wunsafe-loop-optimizations.
10655 (check_password_md5_real): Fix loop counter type.
10656 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10657 reading.
10658 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10659 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10660 loop condition.
10661 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10662 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10663 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10664 condition.
10665 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10666 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10667 avoid possible infinite loops.
10668 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10669 and -Wunsafe-loop-optimizations.
10670 * grub-core/script/yylex.l: Likewise.
10671 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10672 (print_glyphs): Avoid infinite loops.
10673 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10674
697f18b0
GS
106752012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10676
10677 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10678 to avoid infinite loop.
10679 (disp_acpi_rsdt_table): Likewise.
10680
274416e8
VS
106812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * grub-core/font/font.c (grub_font_load): Add support for default
10684 path for fonts ($prefix/fonts).
10685 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10686 for checking if string is a path.
10687 * grub-core/normal/main.c (features): Add feature_default_font_path.
10688 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10689 * util/grub.d/00_header.in: Use default directory if possible.
10690 * util/grub-install.in: Install unicode.pf2.
10691
b3e08622
VS
106922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10695 * po/Rules-swiss: New file.
10696 * po/swiss.sed: Likewise.
10697
fe42ce09
VS
106982012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/fs/btrfs.c (find_device): Fix typos.
10701 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10702 * util/grub-mkrelpath.c (argp_parser): Likewise.
10703 Reported by: Yuri Chornoivan.
10704
72f1d065
DO
107052012-02-23 Dalet Omega <daletomega@gmail.com>
10706
10707 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10708 for usual informative messages.
10709
c5884973
DO
107102012-02-23 Dalet Omega <daletomega@gmail.com>
10711
10712 Starfield theme.
10713
10714 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10715 * conf/Makefile.common: Define starfielddir.
10716 * configure.ac: Configure starfield.
10717 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10718 * themes/starfield/README: Likewise.
10719 * themes/starfield/blob_w.png: Likewise.
10720 * themes/starfield/boot_menu_c.png: Likewise.
10721 * themes/starfield/boot_menu_e.png: Likewise.
10722 * themes/starfield/boot_menu_n.png: Likewise.
10723 * themes/starfield/boot_menu_ne.png: Likewise.
10724 * themes/starfield/boot_menu_nw.png: Likewise.
10725 * themes/starfield/boot_menu_s.png: Likewise.
10726 * themes/starfield/boot_menu_se.png: Likewise.
10727 * themes/starfield/boot_menu_sw.png: Likewise.
10728 * themes/starfield/boot_menu_w.png: Likewise.
10729 * themes/starfield/slider_c.png: Likewise.
10730 * themes/starfield/slider_n.png: Likewise.
10731 * themes/starfield/slider_s.png: Likewise.
10732 * themes/starfield/src/blob_nw.xcf: Likewise.
10733 * themes/starfield/src/bootmenu/: Likewise.
10734 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10735 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10736 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10737 * themes/starfield/src/slider_c.xcf: Likewise.
10738 * themes/starfield/src/slider_n.xcf: Likewise.
10739 * themes/starfield/src/slider_s.xcf: Likewise.
10740 * themes/starfield/src/terminalbox/: Likewise.
10741 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10742 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10743 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10744 * themes/starfield/starfield.png: Likewise.
10745 * themes/starfield/terminal_box_c.png: Likewise.
10746 * themes/starfield/terminal_box_e.png: Likewise.
10747 * themes/starfield/terminal_box_n.png: Likewise.
10748 * themes/starfield/terminal_box_ne.png: Likewise.
10749 * themes/starfield/terminal_box_nw.png: Likewise.
10750 * themes/starfield/terminal_box_s.png: Likewise.
10751 * themes/starfield/terminal_box_se.png: Likewise.
10752 * themes/starfield/terminal_box_sw.png: Likewise.
10753 * themes/starfield/terminal_box_w.png: Likewise.
10754 * themes/starfield/theme.txt: Likewise.
10755
17d73325
VS
107562012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * util/grub.d/00_header.in: Add missing export theme.
10759
dbebaf92
VS
107602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10763 already included.
10764 Reported by: Eren D.
10765
3d68bffb
VS
107662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * conf/Makefile.common (grubdatadir): Removed.
10769 (Makefile.am): Move eveything grubdata to pkgdata.
10770
4b59234d
VS
107712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/commands/acpihalt.c (get_sleep_type):
10774 Remove unused variable.
10775
463dcadc
VS
107762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10779 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10780 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10781 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10782 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10783 i18n with gettext no-op.
10784 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10785 GRUB_ACPI_OPCODE_STRING_CONST.
10786 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10787 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10788
e5b90c82
VS
107892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * po/POTFILES.in: Regenerate.
10792
2a704ca9
VS
107932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10796 -Wno-error=missing-noreturn.
10797
84f9d341
VS
107982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10801 condition to avoid possibly infinite loops.
10802 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10803 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10804
d46683f9
VS
108052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10808 condition to avoid possibly infinite loops.
10809
c44866b2
VS
108102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10813 on show_error.
10814
96790539
VS
108152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10818
1ba7e295
VS
108192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10822
21ffe8f1
VS
108232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * util/bin2h.c (usage): Add missing attribute noreturn.
10826
0ccb6b3c
VS
108272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10830 if the size isn't divisible by 512.
10831
b00d7fb6
VS
108322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 Make list_push and list_remove functions rather than inline functions
10835 to decrease size and avoid aliasing violations.
10836
10837 * include/grub/list.h (grub_list_push): Move to ...
10838 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10839 * include/grub/list.h (grub_list_remove): Move to ...
10840 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10841
9d369087
VS
108422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10845 and -Wunused-result.
10846
af0250d9
VS
108472012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10850 Reported by: Seth Goldberg
10851
aad32b14
VS
108522012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10855
ac96441c
ST
108562012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10857
10858 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10859 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10860 command line.
10861 * docs/grub.texi (Simple configuration): Document
10862 GRUB_CMDLINE_GNUMACH.
10863
108642012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10865
10866 * conf/Makefile.common (platform_SCRIPTS): New variable.
10867 (platform_PROGRAMS): Likewise.
10868 * gentpl.py: Mark *,module and *.image for install.
10869 * grub-core/gdb_grub.in: Add a notice of expected environment.
10870 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10871 (gmodule.pl): Likewise.
10872
ac96441c 108732012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10874
10875 Replace grub_checkkey with grub_getkey_noblock.
10876
10877 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10878 (grub_getkey_noblock): ... this. All users updated.
10879
ac96441c 108802012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10881
10882 * grub-core/kern/emu/console.c: Move to ...
10883 * grub-core/term/emu/console.c: ...here.
10884 (grub_ncurses_getkey): Fix return value if no key is detected.
10885
e51b5666
VS
108862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10889 (grub_unit_test_fini): Likewise.
10890 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10891
108922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * include/grub/test.h (GRUB_UNIT_TEST)
10895
d9a62292
VS
108962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10899 Better error handling.
10900 (grub_script_return): Likewise.
10901 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10902
77c9182f
VS
109032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10906 rimplicit redifinition.
10907
edb13cf9
VS
109082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10911 GRUB.
10912
a9e9dc7c
VS
109132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10916 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10917 prompt here.
10918
b4ba8e02
VS
109192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10922 as GRUB_ERR_BUG. Don't malloc if no device is available.
10923
dded5540
VS
109242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10927 Mark calling with invalid term as GRUB_ERR_BUG.
10928
0cf69874
VS
109292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10932 packets rather than raising an error.
10933
59bfe502
VS
109342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10937 in if.
10938
db5fc596
VS
109392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10942 diagnostic to dprintf.
10943 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10944
e4b7f404
VS
109452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10948 device name.
10949
e7b02f9e
VS
109502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10953 (grub_ntfs_iterate_dir): Likewise.
10954
0331e102
VS
109552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Efiemu stylistic fixes and gettext.
10958
10959 * grub-core/efiemu/i386/loadcore32.c
10960 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10961 * grub-core/efiemu/i386/loadcore64.c
10962 (grub_arch_efiemu_relocate_symbols64): Likewise.
10963 * grub-core/efiemu/i386/pc/cfgtables.c
10964 (grub_machine_efiemu_init_tables): Likewise.
10965 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10966 (grub_efiemu_loadcore_initXX): Add a filename argument.
10967 All users updated.
10968 Improved error message.
10969 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10970 Add a filename argument.
10971 All users updated.
10972 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10973 Reclassify double relocation as GRUB_ERR_BUG.
10974
306fc074
VS
109752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10978 handling.
10979
794d8ef2
VS
109802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10983 on partition.
10984
109852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10986
10987 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10988
794d8ef2 109892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10990
10991 Improve string. Gettextize.
10992
78dde88e
VS
109932012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10996 utils.
10997 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10998
4786a90f
VS
109992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11002 [GRUB_UTIL]: New function.
11003 (insert_array) [GRUB_UTIL]: Store partmaps.
11004 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11005 partmaps.
11006 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11007 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11008 (probe_abstraction): Print diskfilter and not raid.
11009 Reported by: Lennart Sorensen
11010
0b6225bd
VS
110112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11014 * util/grub-mkimagexx.c (MASK3): New define.
11015 (add_value_to_slot_20b): Use MASK3.
11016 (add_value_to_slot_21): Likewise.
11017 (relocate_addresses): Fix format specification.
11018 (load_image): Explicitly init symtab_section.
11019
b055f8f6
VS
110202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11023 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11024
b77c2fb7
VS
110252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11028 on powerpc.
11029 Reported by: Lennart Sorensen
11030
e3ec28ab
VS
110312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * gentpl.py: Add missing license header.
11034 * docs/grub.texi: Update copyright year.
11035
c8d9ead6
GS
110362012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11037
11038 Source grub-mkconfig_lib from the build directory at build time.
11039 Suggested by: Vladimir Serbinenko.
11040
11041 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11042 * util/grub-install.in: Define pkgdatadir if not already set, and source
11043 grub-mkconfig_lib from there.
11044 * util/grub-kbdcomp.in: Likewise.
11045 * util/grub-mkconfig.in: Likewise.
11046 * util/grub-mknetdir.in: Likewise.
11047 * util/grub-mkrescue.in: Likewise.
11048 * util/grub-mkstandalone.in: Likewise.
11049 * util/grub-reboot.in: Likewise.
11050 * util/grub-set-default.in: Likewise.
11051 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11052
ebcecdf1
VS
110532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Increase warning level.
11056
11057 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11058 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11059 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11060 (TARGET_CFLAGS): Likewise.
11061 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11062 * grub-core/Makefile.core.def (decompressor_xz): Add
11063 -Wno-unreachable-code.
11064 (normal): Add -Wno-redundant-decls.
11065 (xzio): Add -Wno-unreachable-code.
11066 (lzopio): Add -Wno-redundant-decls -Wno-error.
11067 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11068 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11069 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11070 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11071 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11072 * grub-core/kern/i386/coreboot/init.c: Add exception to
11073 -Wsuggest-attribute=noreturn.
11074 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11075 * grub-core/kern/ia64/dl_helper.c: Likewise.
11076 * grub-core/kern/mips/dl.c: Likewise.
11077 * grub-core/kern/sparc64/dl.c: Likewise.
11078 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11079 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11080 (memcmp): Likewise.
11081 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11082 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11083 * grub-core/loader/mips/linux.c: Likewise.
11084 * grub-core/loader/multiboot_elfxx.c: Likewise.
11085 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11086 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11087 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11088 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11089 fixme.
11090 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11091 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11092 Fix prototype.
11093
37bb97fe
VS
110942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11097 address.
11098
29a3550b
VS
110992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11102 Avoid improper use of strings.
11103 (grub_cmd_legacy_initrdnounzip): Likewise.
11104
dfdffd0d
VS
111052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11108 attribute.
11109 (grub_util_info): Likewise.
11110 (grub_util_error): Likewise.
11111
102fae4a
VS
111122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11115 * util/grub-fstest.c (fstest): Likewise.
11116
7e94d044
VS
111172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11120 (grub_md_sha512_real): Likewise.
11121 (grub_util_get_geli_uuid): Likewise.
11122 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11123 (grub_util_biosdisk_open): Fix format specification.
11124 Respect format security.
11125 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11126 (xrealloc): Likewise.
11127 (xasprintf): Likewise.
11128
5ebd9769
VS
111292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * util/import_gcry.py: Include grub/crypto.h in init.c.
11132
495fc8c1
VS
111332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11136 (generate_image): Make prefix a const char *.
11137 Fix format specifications. Respect format security.
11138 Avoid void * arithmetics.
11139 Avoid shadowing.
11140 (argp_parser): Remove unused variable. Respect format security.
11141 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11142 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11143 (count_funcs): Remove unused variable.
11144 (relocate_addresses): Fix format specification.
11145 Disable x86-64 with elf32. Remove unused variables.
11146 (add_fixup_entry): Avoid shadowing.
11147 (make_reloc_section): Fix format specification.
11148 Use assert.
11149 (locate_sections): Fix format specifications.
11150 (load_image): Avoid shadowing.
11151
043c2ea3
VS
111522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11155 Fix format specifications. Respect format security.
11156 Don't translate already translated grub_errmsg.
11157 (argp_parser): Remove unused variable
11158
3ec65a81
VS
111592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11162
a4d9fe4a
VS
111632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11166 (main): Likewise. Use xmalloc. Respect format security.
11167
15b81d49
VS
111682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11171 a const char *.
11172 (argp_parser): Remove unused variable.
11173
31731fc0
VS
111742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11177 (add_pixel): Make static.
11178 (add_font): Likewise.
11179 (write_string_section): Make name and str a const char *.
11180 (write_be16_section): Make name a const char *.
11181 (print_glyphs): Make static.
11182 (write_font_ascii_bitmap): Likewise.
11183 (write_font_width_spec): Likewise.
11184 (write_font_pf2): Likewise.
11185 (argp_parser): Remove unused variable.
11186 Respect format security.
11187 (main): Avoid shadowing. Respect format security.
11188
0809527b
VS
111892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/grub-editenv.c (argp_parser): Make static.
11192 (create_envblk_file): Use xmalloc.
11193 (open_envblk_file): Likewise.
11194 Resepect format security.
11195 (set_variables): Respect format security.
11196
45b0c8b7
VS
111972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * util/getroot.c (grub_find_device): Respect format security.
11200 (get_mdadm_uuid): Remove unused variable.
11201 (grub_util_pull_device): Dont call gettext on already translated
11202 grub_errmsg.
11203 (find_system_device): Remove unused variable.
11204 (grub_util_get_grub_dev): Likewise.
11205 (grub_make_system_path_relative_to_its_root): Respect format security.
11206
1b024b4e
VS
112072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/grub-fstest.c (execute_command): Make first argument
11210 a const char *.
11211 (read_file): Avoid shadowing.
11212 Reuse underlying error message if device open fails.
11213 (cmd_cmp): Respect format security.
11214 (root): Make const char *.
11215 (fstest): Remove args argument and use global copy.
11216 Respect format security.
11217 (argp_parser): Make static.
11218 (main): Make default_root const char *.
11219
5d1d4e28
VS
112202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * util/grub-mount.c (root): Make const char *.
11223 (execute_command): Make first argument a const char *.
11224 (fuse_init): Respect format security.
11225 (argp_parser): Make static. Remove unused variable.
11226 (main): Make default_root a const char *.
11227 Respect format security.
11228
36eb7379
VS
112292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * util/grub-probe.c (probe): Don't call gettext on already translated
11232 grub_errmsg.
11233 Remove unused variables.
11234 (argp_parser): Remove unused variable.
11235
76fb2ea9
VS
112362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * util/grub-script-check.c (argp_parser): Remove unused variable.
11239 (main): Rename read to curread to avoid shadowing.
11240
56c98584
VS
112412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * util/misc.c (grub_util_write_image_at): Fix format specification.
11244 (grub_util_write_image): Likewise.
11245 (grub_script_execute_argument_to_string): Removed (unused).
11246 (grub_script_execute_menuentry): Likewise.
11247 (grub_putchar): Likewise.
11248
164ebb48
VS
112492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11252 (FUNCTION) [GRUB_UTIL]: Likewise.
11253 (VARIABLE) [GRUB_UTIL]: Likewise.
11254
44318d61
VS
112552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11258 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11259
31a26002
VS
112602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11263 buffer.
11264
112652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11268 (LzmaEnc_SaveState): Removed (unused).
11269 (LzmaEnc_RestoreState): Likewise.
11270 (LzmaEnc_InitPriceTables): Made static.
11271 (LzmaEnc_Construct): Likewise.
11272 (LzmaEnc_FreeLits): Likewise.
11273 (LzmaEnc_Destruct): Likewise.
11274 (LzmaEnc_Init): Likewise.
11275 (LzmaEnc_InitPrices): Likewise.
11276 (LzmaEnc_Finish): Likewise.
11277 (LzmaEnc_PrepareForLzma2): Removed (unused).
11278 (LzmaEnc_MemPrepare): Likewise.
11279 (LzmaEnc_GetNumAvailableBytes): Likewise.
11280 (LzmaEnc_GetCurBuf): Likewise.
11281 (LzmaEnc_CodeOneMemBlock): Likewise.
11282
6fa67967
VS
112832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11286 (grub_util_ldm_embed): Likewise.
11287
9a7428e6
VS
112882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * util/grub-editenv.c (print_var): Rename name to varname to
11291 avoid shadowing.
11292 (main): Rename index to curindex to avoid shadowing.
31a26002 11293 Make filename a const char *.
9a7428e6 11294
4f96abd1
VS
112952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11298 to arg_getline to avoid shadowing.
11299
44d10dad
VS
113002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11303 disk_ to avoid shadowing.
11304
340ba63e
VS
113052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11308 curindex to avoid shadowing.
11309 Make static.
11310 (MatchFinder_GetNumAvailableBytes): Make static.
11311
22965bce
VS
113122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11315 avoid shadowing.
11316
7b5784d4
VS
113172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11320 argument from encrypt to do_encrypt to avoid shadowing.
11321
6f48ca01
VS
113222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11325 incorrect nesting of #if's.
11326
a4ea2dff
VS
113272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11330 checks which are always false on some platforms.
11331 (grub_cmd_lsacpi): Likewise.
11332 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11333 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11334 Likewise.
11335
def9fc1b
VS
113362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11339 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11340
a67b2a04
VS
113412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11344 re_dfa_t to avoid breaking alignment invariants.
11345 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11346 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11347
44c6828d
VS
113482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11351 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11352
bebe0dd0
VS
113532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11356 Fix declaration.
11357
a9cdb3cf
VS
113582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11361 conserve alignment invariants.
11362 (grub_ehci_ehcc_read16): Likewise.
11363 (grub_ehci_oper_read32): Likewise.
11364 (grub_ehci_oper_write32): Likewise.
11365 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11366 Conserve alignment invariants.
11367
ccc3b1b8
VS
113682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11371 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11372 declarations.
11373
987fbd95
VS
113742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11377 Remove unused variable.
11378
0df363f3
VS
113792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11382 Remove set in if.
11383
b2c0c4a6
VS
113842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * include/grub/net.h: Remove double declarations.
11387
690c531f
VS
113882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 Remove "payload" command in ia64 Linux loader since I couldn't
11391 find any evidence of it being used for anything.
11392 Replace "relocate" command with an environment variable
11393
11394 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11395 fields.
11396 (ia64_boot_payload): Removed.
11397 (last_payload): Likewise.
11398 (RELOCATE_OFF): Likewise.
11399 (RELOCATE_ON): Likewise.
11400 (RELOCATE_FORCE): Likewise.
11401 (relocate): Likewise.
11402 (free_pages): Don't free payloads.
11403 (grub_load_elf64): Use common error messages.
11404 Use "linux_relocate" variable.
11405 Increase the space after boot_params.
11406 (grub_cmd_payload): Removed.
11407 (grub_cmd_relocate): Likewise.
11408 (grub_cmd_fpswa): Improve messages.
11409 (cmd_payload): Removed.
11410 (cmd_relocate): Likewise.
11411 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11412 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11413
01783768
VS
114142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 Convert UHCI to DMA framework.
11417
11418 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11419 (grub_uhci_pci_iter): Fill new members
11420 (grub_alloc_td): Use P2V and V2P functions.
11421 (grub_free_queue): Likewise.
11422 (grub_alloc_qh): Likewise.
11423 (grub_uhci_setup_transfer): Likewise.
11424 (grub_uhci_check_transfer): Likewise.
11425
43206939
VS
114262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11429 Remove assignment in if while on it.
11430
571e140e
VS
114312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * util/grub-mkstandalone.in: Fix modules directory.
11434
a9d96eeb
VS
114352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11438 on i386-pc target.
11439 (argp_parser): Accept "auto" as compression specification.
11440
e4e37e8d
VS
114412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 Fix `help' with unloaded modules.
11444
11445 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11446 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11447 (grub_dyncmd_dispatcher): Small stylistic fix.
11448 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11449 explicit help is requested.
11450
e1ea3ade
VS
114512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11454 Explicitly init restart while on it.
11455
27556881
VS
114562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11459 uninited variable.
11460
d65f6b36
VS
114612012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/grub-mknetdir.in: Use . rather than source for POSIX
11464 compatibility.
11465
0a1e473c
VS
114662012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11469
ce6647c8
VS
114702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11473 variable.
11474
66747894
VS
114752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11478 without quotes.
11479
71645f6e
VS
114802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11483
0e1c1f61
VS
114842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11487 iteration of partitions.
11488
9c4b5c13
VS
114892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 Improve gettext support. Stylistic fixes and error handling fixes while
11492 on it.
11493
215c90cb
VS
114942012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11497 part. Instead setup the correct stack in RM.
11498 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11499 for stack.
11500 * include/grub/i386/relocator_private.h: New file.
11501
b5c1f9bf
VS
115022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11505 argument.
11506 * util/grub-fstest.c (options): Add missing DEVICE part.
11507
b525fd83
VS
115082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 Clarify and unify messages.
11511
11512 * grub-core/commands/hashsum.c (options): Unify messages.
11513 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11514 literal-only message as translatable.
11515 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11516 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11517 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11518 commands.
11519 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11520 key, not the key used to unlock. Clarify what it's used for.
11521 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11522 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11523 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11524 * util/grub-editenv.c (options): Unify "verbose" message.
11525 * util/grub-fstest.c (read_file): Unify error message.
11526 (fstest): Add quotes around commands.
11527 (options): Unify "verbose" message.
11528 * util/grub-install.in: Add quotes around variable name.
11529 * util/grub-kbdcomp.in: Unify error message.
11530 * util/grub-mkfont.c (main): Likewise.
11531 * util/grub-mkrescue.in: Likewise.
11532 * util/grub-mklayout.c (options): Unify "verbose" message.
11533 * util/grub-mkstandalone.in: Unify help and verbose messages.
11534 * util/grub-mount.c (options): Unify "verbose" message.
11535 * util/grub-probe.c (options): Likewise.
11536 * util/grub-script-check.c (options): Likewise.
11537 * util/grub-setup.c (setup): Unify no-terminator message.
11538 (options): Use DEVICE and not DEV.
11539 Unify "verbose" message.
11540 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11541
0ae70393
VS
115422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 Improve and unify messages.
11545
11546 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11547 name. All users updated.
11548 Print filename in error.
11549 (read_device_map): Print filename in error.
11550 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11551 (grub_util_get_os_disk): Likewise.
11552 (grub_util_biosdisk_get_grub_dev): Likewise.
11553 (grub_util_check_block_device): Likewise.
11554 (grub_util_check_char_device): Likewise.
11555 (grub_make_system_path_relative_to_its_root): Likewise.
11556 * util/grub-editenv.c (create_envblk_file): Likewise.
11557 (open_envblk_file): Likewise.
11558 (write_envblk): Likewise.
11559 * util/grub-fstest.c (cmd_cp): Likewise.
11560 (cmd_cat): Likewise.
11561 (cmd_cmp): Likewise.
11562 * util/grub-menulst2cfg.c (main): Likewise.
11563 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11564 (write_font_width_spec): Likewise.
11565 (write_font_pf2): Likewise.
11566 * util/grub-mkimage.c (generate_image): New argument outname.
11567 All users updated.
11568 Remove unreacheable message.
11569 (options): Unify messages.
11570 (help_filter): Likewise.
11571 * util/grub-mklayout.c (usage): Removed (unused).
11572 (main): Print filename in error.
11573 * util/grub-mkrescue.in: Fix wrong quoting.
11574 * util/grub-setup.c (setup): Print filename in error.
11575 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11576 (check_sas): Likewise.
11577 * util/misc.c (grub_util_get_fp_size): Removed.
11578 (grub_util_get_image_size): Print filename in error.
11579 (grub_util_read_at): Removed.
11580 (grub_util_read_image): Print filename in error.
11581 (grub_util_load_image): Likewise.
11582 (grub_util_write_image_at): New argument filename. All users updated.
11583 Print filename in error.
11584 (grub_util_write_image): New argument filename. All users updated.
11585 Print filename in error.
11586 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11587 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11588
0a96117d
VS
115892012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/Makefile.core.def (pxechain): New module.
11592 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11593 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11594 function.
11595 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11596 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11597
aca002f7
VS
115982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11601 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11602 * include/grub/err.h (grub_error_saved): New struct.
11603 (grub_errmsg): Make array size explicit.
11604 * include/grub/misc.h (grub_error_save): New function.
11605 (grub_error_load): Likewise.
11606 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11607 (grub_error_push): Update `errno' member name.
11608 (grub_error_pop): Likewise
11609 * grub-core/net/tftp.c (tftp_data): New member save_err.
11610 (tftp_receive): Save error.
11611 (tftp_open): Restore error.
11612
a51dab13
VS
116132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11616 to real mode down to execute A20-related code in protected mode as
11617 intended.
11618
eb6e6649
GS
116192012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11620
11621 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11622 NULL when the argument `level' has an unexpected value.
11623
92cd0f6e
VS
116242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 Move platform-dependent files from $prefix to $prefix/$platform.
11627
11628 * config.h.in (GRUB_TARGET_CPU): New definition.
11629 (GRUB_PLATFORM): Likewise.
11630 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11631 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11632 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11633 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11634 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11635 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11636 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11637 * grub-core/normal/term.c (read_terminal_list): Likewise.
11638 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11639 $prefix/locale.
11640 (grub_gettext_init_ext): Likewise.
11641 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11642 grub_platform.
11643 * util/grub-install.in: Update directories.
11644 * util/grub-mknetdir.in: Likewise.
11645 * util/grub-mkrescue.in: Likewise.
11646
db606889
VS
116472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11650 grub_error framework. All users updated.
11651
c39992a4
VS
116522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11655 lists (by always binsearching), improve caching (cache strings
11656 used for binsearch, not only results), improve
11657 maintainability (by using more structured binary search) and correct
11658 error handling.
11659
1e5ec32f
VS
116602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/script/execute.c (grub_script_return): Fix warning.
11663
ac576cde
VS
116642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/script/execute.c (grub_script_return): Fix potential
11667 NULL-dereference.
11668 Reported by: Jim Meyering.
11669
498453f6
VS
116702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * po/POTFILES.in: Regenerate.
11673 * util/grub-install.in: Gettextize the strings missed in first pass.
11674
8be63f2e
VS
116752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * Makefile.util.def (grub-mkdevicemap): Removed.
11678 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11679 * include/grub/util/deviceiter.h: Removed.
11680 * util/deviceiter.c: Likewise.
11681 * util/getroot.c (grub_util_get_os_disk): New function.
11682 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11683 replacement for EFI.
11684 * util/grub-mkdevicemap.c: Removed.
11685 * util/grub-probe.c (probe): Handle PRINT_DISK.
11686 (argp_parser): Handle -t disk.
11687
8e1e4e39
VS
116882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * util/grub-mkfont.c: Migrate to argp.
11691 * util/grub-mklayout.c: Likewise.
11692 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11693 * util/grub-mkrelpath.c: Likewise.
11694 * util/grub-probe.c: Likewise.
11695 * util/grub-script-check.c: Likewise.
11696
4459819a
VS
116972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * util/grub-reboot.in: Add missing datarootdir.
11700 Add missing newline.
11701 * util/grub-set-default.in: Add missing datarootdir.
11702 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11703 * util/grub-mkrescue.in: Likewise.
11704
f65741c7
VS
117052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11708
c1a33466
VS
117092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * util/grub-kbdcomp.in: Add decent help and gettextize.
11712 * docs/man/grub-kbdcomp.h2m: New file.
11713
c76899a0
VS
117142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 Migrate grub-mkimage.c to argp.
11717
11718 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11719 (grub-setup): Likewise.
11720 * util/grub-setup.c (print_version): Move to ...
11721 * util/argp_common.c (print_version): ... here.
11722 * util/grub-setup.c (argp_program_version_hook): Move to ...
11723 * util/argp_common.c (argp_program_version_hook): ... here.
11724 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11725 safety.
11726 * util/grub-mkimage.c (main): Migrate to argp.
11727
57db0757
VS
117282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * util/grub-mkrescue.in: Use same message as
11731 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11732 for better translations.
11733
18534ad9
VS
117342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11737 options with generic grub-mkrescue.in with the goal of future
11738 merge.
11739
c84ba308
VS
117402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/kern/mm.c: Add missing include of i18n.h
11743 * grub-core/lib/relocator.c: Likewise.
11744
347998c2
VS
117452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11748 error.
11749 (allocate_pages): Check return value.
11750 Replace fatal with error.
11751 (grub_linux_boot): Replace printf with dprintf.
11752 Check find_mmap_size return value.
11753 Replace fatal with error.
11754 Don't call grub_machine_fini.
11755 (grub_load_elf64): Replace printf with dprintf.
11756 (grub_cmd_linux): Likewise.
11757 (grub_cmd_initrd): Likewise.
11758 (grub_cmd_payload): Likewise.
11759
c779226e
VS
117602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11763 message.
11764 * grub-core/video/radeon_fuloong2e.c
11765 (grub_video_radeon_fuloong2e_setup): Likewise.
11766 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11767 * grub-core/video/video.c (grub_video_set_mode): Don't override
11768 standard out of memory message.
11769
dc87d45a
GS
117702012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11771
11772 NetBSD disk wedge support.
11773
11774 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11775 [__NetBSD__]: Handle NetBSD disk wedges.
11776 * util/getroot.c (convert_system_partition_to_system_disk)
11777 [__NetBSD__]: Likewise.
11778
055f856f
MW
117792012-02-03 Mark Wooding <mdw@distorted.org.uk>
11780
11781 * util/grub-mkconfig.in: Use umask rather than chmod to create
11782 grub.cfg.new to avoid insecure grub.cfg.
11783
4a9f8346
VS
117842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * grub-core/commands/ls.c: Gettextize.
11787 * grub-core/commands/setpci.c: Likewise.
11788 * grub-core/commands/videotest.c: Likewise.
11789 * grub-core/disk/geli.c: Likewise.
11790 * grub-core/kern/mm.c: Likewise.
11791 * grub-core/lib/relocator.c: Likewise.
11792 * grub-core/loader/efi/appleloader.c: Likewise.
11793 * grub-core/loader/i386/xnu.c: Likewise.
11794 * grub-core/loader/ia64/efi/linux.c: Likewise.
11795 * grub-core/loader/xnu.c: Likewise.
11796 * grub-core/net/dns.c: Likewise.
11797 * grub-core/net/net.c: Likewise.
11798 * grub-core/script/lexer.c: Likewise.
11799 * grub-core/script/parser.y: Likewise.
11800 * grub-core/script/yylex.l: Likewise.
11801 * util/getroot.c: Likewise.
11802 * util/grub-setup.c: Likewise.
11803
a646a366
VS
118042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11807 number.
11808
54e2be26
VS
118092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11812
f7c71e68
VS
118132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11816 macro.
11817 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11818 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11819
a32d5c71
VS
118202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11823 * util/grub-install.in: Gettextize.
11824 * util/grub-mkconfig.in: Likewise.
11825 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11826 if not available.
11827 (grub_warn): Gettextize.
11828 * util/grub-mknetdir.in: Gettextize.
11829 * util/grub-mkrescue.in: Likewise.
11830 * util/grub-mkstandalone.in: Likewise.
11831 * util/grub-reboot.in: Likewise.
11832 * util/grub-set-default.in: Likewise.
11833 * util/grub.d/00_header.in: Likewise.
11834 * util/grub.d/10_hurd.in: Likewise.
11835 * util/grub.d/10_kfreebsd.in: Likewise.
11836 * util/grub.d/10_linux.in: Likewise.
11837 * util/grub.d/10_netbsd.in: Likewise.
11838 * util/grub.d/10_windows.in: Likewise.
11839 * util/grub.d/20_linux_xen.in: Likewise.
11840 * util/grub.d/30_os-prober.in: Likewise.
11841 * po/POTFILES-shell.in: Regenerate.
11842
69edd81a
RL
118432012-02-03 Richard Laager <rlaager@wiktel.com>
11844
11845 * util/grub-mkimage.c (main): Fix format-security warning.
11846 * util/grub-mkrelpath.c (main): Likewise.
11847 * util/grub-probe.c (main): Likewise.
11848
65f08dbf
RL
118492012-02-03 Richard Laager <rlaager@wiktel.com>
11850
11851 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11852 failure.
11853 Put back lost PRINT_DRIVE.
11854
e9084abe
RL
118552012-02-03 Richard Laager <rlaager@wiktel.com>
11856
11857 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11858 (grub_guess_root_devices): Replace strlen with sizeof.
11859 Avoid crash.
11860 (find_root_devices_from_poolname): Remove unused variable.
11861 Handle raidzN.
11862
cf5f7ee7
VS
118632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 Support install on multi-device filesystems.
11866
11867 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11868 (grub_guess_root_devices): ...this. Return char **. All users updated.
11869 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11870 Removed.
11871 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11872 (find_root_devices_from_poolname): ... here.
11873 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11874 Support zfs-fuse.
11875 (grub_guess_root_device): Rename to ...
11876 (grub_guess_root_devices): ... this. Return char **. All users updated.
11877 * util/grub-install.in: Handle multi-device filesystems.
11878 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11879 argument. All users updated.
11880 Handle multi-device filesystems.
11881 Use 'delim' as separator.
11882 Remove device check to allow filesystems on file.
11883 (main): Support -0 argument. Handle multi-device.
11884 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11885 Fix a cross-device check while on it.
11886 (arguments): Remove root_dev.
11887 (argp_parser): Remove -r.
11888 (main): Remove root_dev.
11889
2f53a9ed
VS
118902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11893
17e1d934
VS
118942012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11897 symbol.
11898 Reported by: NODA, Kai <nodakai>.
11899
d3e3fab5
VS
119002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 Fix ehci on amd64.
11903
11904 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11905 pointers.
11906 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11907 (grub_ehci_setup_qh): Likewise.
11908 (grub_ehci_find_qh): Likewise.
11909 (grub_ehci_transaction): Likewise.
11910 (grub_ehci_setup_transfer): Likewise.
11911 (grub_ehci_check_transfer): Likewise.
11912 (grub_ehci_portstatus): Likewise.
11913 (grub_ehci_detect_dev): Likewise.
11914 (grub_ehci_transfer_controller_data): New field td_last_phys.
11915 (grub_ehci_setup_transfer): Fill td_last_phys.
11916 (grub_ehci_check_transfer): Use td_last_phys.
11917
3008675b
SG
119182012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11919
11920 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11921 if no submenu is present.
11922
fc9b5652
AN
119232012-02-01 Aleš Nesrsta <starous@volny.cz>
11924
11925 CBI support.
11926
11927 * include/grub/usb.h (grub_usbms_protocol_t): New values
11928 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11929 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11930 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11931 (grub_usbms_dev): Add subclass, protocol and intrpt.
11932 Remove in_maxsz and out_maxsz.
11933 (grub_usbms_reset): Rename to ...
11934 (grub_usbms_bo_reset): .. this.
11935 (grub_usbms_cbi_cmd): New function.
11936 (grub_usbms_cbi_reset): Likewise.
11937 (grub_usbms_reset): Likewise.
11938 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11939 (grub_usbms_transfer): Rename to ...
11940 (grub_usbms_transfer_bo): ... this.
11941 (grub_usbms_transfer_cbi): Likewise.
11942 (grub_usbms_transfer): Likewise.
11943
a2b81d53
AN
119442012-02-01 Aleš Nesrsta <starous@volny.cz>
119452012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11948 the support for the CS5536 modification thereos and few bugfixes.
11949
11950 * grub-core/Makefile.core.def (ehci): New module.
11951 * grub-core/bus/usb/ehci.c: New file.
11952 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11953 port and hubaddr. All users updated.
11954 Save port and hubaddr into dev structure.
11955 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11956 define.
11957 * include/grub/pci.h (grub_dma_phys2virt): New function.
11958 (grub_dma_virt2phys): Likewise.
11959 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11960
b1d51f02
VS
119612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11964 check as some mkfs implementations omit it.
11965
fc694106
VS
119662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11969
6c0920e3
VS
119702012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11973 Add new member volname2.
11974 (grub_jfs_label): Use volname2 if available.
11975
d1a46f9a
VS
119762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11979 over last_mounted as seen in image generated by mkfs.nilfs2.
11980 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11981
dec8ed14
VS
119822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11985 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11986 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11987
7397c69b
VS
119882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11991 over the sector.
11992
b3fe42ad
VS
119932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11996 subvolume name (by removing a bogus and useless check).
11997
10476bb0
VS
119982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12001 sizeof while on it.
12002
9c08ad87
VS
120032012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12006 (grub_scsi_read_capacity10): ... this.
12007 (grub_scsi_read_capacity16): New function.
12008 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12009 0xffffffff.
12010 Fix off-by-one error.
12011 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12012 64-bit unsigned.
12013 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12014 (grub_scsi_read_capacity10): ... this.
12015 (grub_scsi_read_capacity_data): Rename to ...
12016 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12017 (grub_scsi_read_capacity16): New struct.
12018 (grub_scsi_read_capacity16_data): Likewise.
12019 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12020 grub_scsi_cmd_read_capacity10.
12021 New command grub_scsi_cmd_read_capacity16.
12022
bc8d0f45
VS
120232012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 SCSI >2TiB support.
12026
12027 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12028 (grub_scsi_write16): Likewise.
12029 (grub_scsi_read): Use read16 when necessary.
12030 (grub_scsi_write): Likewise.
12031 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12032 (grub_scsi_write16): Likewise.
12033 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12034
cc774926
VS
120352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 SCSI write support (for usbms mainly).
12038
12039 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12040 a const pointer.
12041 (grub_scsi_write): Implement.
12042 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12043
67639fd7
VS
120442012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12047 variable.
12048
9079d3ed
VS
120492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12052
c6a6f204
VS
120532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * po/POTFILES.in: Regenerate.
12056
ecbf8cd1
VS
120572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12060 with grub_printf to avoid unnecessary fatal failure.
12061
0b3b3b38
VS
120622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12065 (INT_MAX): Likewise.
12066 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12067 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12068 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12069 (strcpy): Likewise.
12070 (strstr): Likewise.
12071 (strchr): Likewise.
12072 (strncpy): Likewise.
12073 (strcat): Likewise.
12074 (strncat): Likewise.
12075 (strcoll): Likewise.
12076 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12077 (GRUB_INT_MAX): Likewise.
12078
db7337a3
VS
120792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12082 unexpected error.
12083 (optimize_utf8): Likewise.
12084 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12085
f37c87e1
VS
120862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 * grub-core/boot/i386/pc/lnxboot.S: Use
12089 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12090 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12091 location.
12092 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12093 definition.
12094 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12095
63fe43f3
VS
120962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12099 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12100 now to avoid double free.
12101 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12102 hostdisk.
12103 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12104 * util/grub-probe.c (escape_of_path): Always return a new copy.
12105 (print_full_name): Escape path.
12106 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12107 Fix hints on abstractions.
12108
ebe2c961
VS
121092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12112 Don't add "root" line if no compatibility hont is available.
12113 Suggested by: Seth Goldberg.
12114
2b5336a2
VS
121152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12118 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12119 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12120 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12121
74310bd8
VS
121222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12125
c30582ba
VS
121262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * util/grub-pe2elf.c (ehdr): Make static.
12129 (shdr): Likewise.
12130 (num_sections): Likewise.
12131 (offset): Likewise.
12132
5f47782c
VS
121332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 Eliminate ofpath limits and possible overflows.
12136
12137 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12138 (OF_PATH_MAX): Removed.
12139 (MAX_DISK_CAT): New const.
12140 (find_obppath): Use allocated rather than preallocated buffer.
12141 Return result. Argument of_path removed. All users updated.
12142 Add missing fdstat.
12143 (xrealpath): New function.
12144 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12145 Allocate rather than use preallocated buffer. All users updated.
12146 (__of_path_common): Use allocated rather than preallocatecd buffer.
12147 Return result. Argument of_path removed. All users updated.
12148 (vendor_is_ATA): Read only needed part form the file.
12149 (check_sas): Allocate depending on contents rather than fixed.
12150 (main) [STANDALONE]: Handle NULL result.
12151
f990cbf9
VS
121522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12155
9c6e84b8
VS
121562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 Cryptodisk write support.
12159
12160 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12161 (grub_cryptodisk_decrypt): Moved logic to ...
12162 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12163 (grub_cryptodisk_write): Implement.
12164 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12165 (grub_util_fd_write): ... this. Make global.
12166 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12167
87cf9744
VS
121682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * include/grub/list.h (grub_list_remove): Don't crash if element is
12171 removed twice.
12172
ca8c0baf
VS
121732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 Rename ofconsole to console.
12176
12177 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12178 as sysnonym to console.
12179 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12180 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12181 Rename grub_ofconsole_ to grub_console_. All users updated
12182 (grub_console_term_output): Rename "ofconsole" to "console".
12183 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12184 as "console".
12185
64c8b8f6
VS
121862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12189 handling.
12190 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12191 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12192 GRUB_DISK_DEVICE_FILE_ID.
12193
f6c434d5
VS
121942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12197 and improve performance.
12198
5858b42d
VS
121992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12202 missing ieee1275/ prefix on whole disk.
12203
4ed3c26b
VS
122042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12207 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12208
df71143e
VS
122092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12212
076e7c0f
VS
122132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Merge common RAID and LVM logic to an abstract diskfilter.
12216 Add LDM support using the same framework.
12217
12218 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12219 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12220 (libgrubmods): Remove grub-core/disk/raid.c and
12221 grub-core/partmap/gpt.c.
12222 * grub-core/Makefile.core.def (ldm): New module.
12223 (raid): Renamed to diskfilter. All users updated.
12224 * grub-core/disk/raid.c: Moved to ...
12225 * grub-core/disk/diskfilter.c: ... here.
12226 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12227 (lv_num): New var.
12228 (find_array): Renamed to ...
12229 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12230 (grub_is_array_readable): Renamed to ...
12231 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12232 (insert_array): New argument id.
12233 (is_node_readable): New function.
12234 (scan_device): Rename to ...
12235 (scan_disk): .. this. Restrict to one disk.
12236 (scan_devices): New function.
12237 (grub_diskfilter_iterate): Support multi-LV.
12238 Skip invisible and nameless LVs.
12239 (grub_diskfilter_memberlist): Support multi-LV.
12240 (grub_diskfilter_read_node): New function.
12241 (grub_raid_read): Most of logic moved to ...
12242 (read_segment): ... here
12243 (read_lv): New function.
12244 (grub_diskfilter_get_vg_by_uuid): New function.
12245 (grub_diskfilter_make_raid): Likewise.
12246 * grub-core/disk/ldm.c: New file.
12247 * grub-core/disk/lvm.c (vg_list): Removed.
12248 (lv_count): Likewise.
12249 (scan_depth): Likewise.
12250 (is_lv_readable): Likewise.
12251 (grub_lvm_getvalue): Advance pointer past the number.
12252 (find_lv): Removed.
12253 (do_lvm_scan): Refactored into ...
12254 (grub_lvm_detect): ... this. Support raid.
12255 (grub_lvm_iterate): Removed.
12256 (grub_lvm_memberlist): Likewise.
12257 (grub_lvm_open): Likewise.
12258 (grub_lvm_close): Likewise.
12259 (read_lv): Likewise.
12260 (read_node): Likewise.
12261 (is_node_readable): Likewise.
12262 (is_lv_readable): Likewise.
12263 (grub_lvm_read): Likewise.
12264 (grub_lvm_write): Likewise.
12265 (grub_lvm_dev): Use diskfilter
12266 (GRUB_MOD_INIT): Likewise.
12267 (GRUB_MOD_FINI): Likewise.
12268 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12269 new interface.
12270 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12271 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12272 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12273 grub_diskfilter_read_node.
12274 Fix a bug with xor.
12275 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12276 grub_diskfilter_read_node.
12277 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12278 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12279 (grub_disk_dev_iterate): Move from here...
12280 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12281 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12282 Make global.
12283 (grub_hostdisk_find_partition_start): Likewise.
12284 (grub_hostdisk_os_dev_to_grub_drive): New function.
12285 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12286 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12287 * util/getroot.c (make_device_name): ... here.
12288 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12289 Move to ...
12290 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12291 * grub-core/kern/emu/hostdisk.c
12292 (convert_system_partition_to_system_disk): Move to ...
12293 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12294 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12295 * util/getroot.c (device_is_wholedisk): ... here.
12296 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12297 * util/getroot.c (find_system_device): ... here.
12298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12299 Move to ...
12300 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12301 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12302 Move to ...
12303 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12304 Handle LDM.
12305 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12306 Move to ...
12307 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12308 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12309 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12310 DISKFILTER.
12311 * include/grub/raid.h: Renamed to ...
12312 * include/grub/diskfilter.h: ... this.
12313 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12314 (GRUB_RAID_LAYOUT_*): Make into array.
12315 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12316 (grub_diskfilter_vg): New struct.
12317 (grub_diskfilter_pv_id): Likewise.
12318 (grub_raid_member): Removed.
12319 (grub_raid_array): Likewise.
12320 (grub_diskfilter_pv): New struct.
12321 (grub_diskfilter_lv): Likewise.
12322 (grub_diskfilter_segment): Likewise.
12323 (grub_diskfilter_node): Likewise.
12324 (grub_diskfilter_get_vg_by_uuid): New proto.
12325 (grub_raid_register): Inline.
12326 (grub_diskfilter_unregister): Likewise.
12327 (grub_diskfilter_make_raid): New proto.
12328 (grub_diskfilter_vg_register): Likewise.
12329 (grub_diskfilter_read_node): Likewise.
12330 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12331 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12332 (grub_util_is_ldm): Likewise.
12333 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12334 (grub_hostdisk_find_partition_start): Likewise.
12335 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12336 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12337 New definition.
12338 (grub_gpt_partition_map_iterate): New proto.
12339 * include/grub/lvm.h (grub_lvm_vg): Removed.
12340 (grub_lvm_pv): Likewise.
12341 (grub_lvm_lv): Likewise.
12342 (grub_lvm_segment): Likewise.
12343 (grub_lvm_node): Likewise.
12344 * util/getroot.c [...]
12345 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12346 (probe_abstraction): Likewise.
12347 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12348 (main): Remove dead logic.
12349
8a7f9b9c
VS
123502012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 Simplify root device discover and don't fail when trying to open
12353 incorrect devices.
12354
12355 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12356 function.
12357 (get_diskname_from_path): Likewise.
12358 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12359 of iterating.
12360
30545b85
VS
123612012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12364
28ea58cf
VS
123652012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12368 pastthe end.
12369
692dabca
VS
123702012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * util/grub-install.in: Add missing \.
12373 Reported by: gentoofan
12374
f6e4ea70
VS
123752012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12378 (direct_read): Use correct compressed size.
12379 (grub_squash_read_data): Likewise.
12380
123812012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12382
12383 * docs/grub.texi (Platform limitations): New section.
12384 (Platform-specific operations): Likewise.
12385 * docs/grub-dev.texi (Porting): Likewise.
12386
76261110
VS
123872012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 IEEE1275 disk write support.
12390
12391 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12392 const void *.
12393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12394 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12395 and seek loginc to ...
12396 (grub_ofdisk_prepare): ... here.
12397 (grub_ofdisk_write): Implement.
12398
fc36d603
VS
123992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 ARC disk write support.
12402
12403 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12404 (reopen): New argument writable. All users updated.
12405 Handle required access mode.
12406 (grub_arcdisk_write): Implement.
12407 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12408 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12409
e06c2e7a
VS
124102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12413 (read_sblock): Don't attempt to read superblocks outside the disk size.
12414
ff447958
VS
124152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12418 first superblock to find the second one when possible.
12419
9e88df39
VS
124202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * util/grub-install.in: Fix an ARC bug.
12423 Print a warning if no platform-specific setup is available.
12424
bb26e4ff
VS
124252012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Use static allocation rather than scratch pointer in reed_solomon.
12428 It decreases its size significantly and avoids a variable in .text.
12429
12430 * grub-core/lib/reed_solomon.c (scratch): Removed.
12431 (chosenstat): New const or static array.
12432 (sigma): Likewise.
12433 (errpot): Likewise.
12434 (errpos): Likewise.
12435 (sy): Likewise.
12436 (mstat): Likewise.
12437 (errvals): Likewise.
12438 (eqstat): Likewise.
12439 (pol_evaluate): Replace x with log_x argument. All users updated.
12440 (syndroms): Removed.
12441 (gauss_solve): Use statically allocated arrays.
12442 (rs_recover): Likewise.
12443 Calculate syndroms directly.
12444 (decode_block): Use statically allocated arrays.
12445 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12446 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12447
2e13ede5
VS
124482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 Eliminate fixed limit on reed solomon decoder length.
12451
12452 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12453 rather than hardcoding the address.
12454 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12455 no_reed_solomon_length.
12456 Move gate_a20 to no-reed-solomon part.
12457 Don't force a particular size of no reed-solomon part.
12458 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12459 Removed.
12460 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12461 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12462
f8a9ab12
VS
124632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/commands/wildcard.c (match_files): Handle filenames
12466 without explicit device.
12467 (wildcard_expand): Don't add explicit device if not already present.
12468 * tests/grub_script_echo1.in: Add a new expansion test.
12469
87edb894
VS
124702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 Replace single-linked with double-linked lists. It results in more
12473 compact and more efficient code.
12474
12475 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12476 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12477 (grub_list_remove): Moved from here ...
12478 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12479 (grub_prio_list_insert): Set prev.
12480 * include/grub/list.h (grub_list): Add prev. All users updated.
12481
48b391e9
VS
124822012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Handle newer autotools. Add some missing quotes while on it.
12485
12486 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12487 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12488 (pkgdata_DATA): ... here.
12489 * Makefile.util.def (update-grub_lib): Removed.
12490 * conf/Makefile.common (pkglib_DATA): Removed.
12491 (pkglib_SCRIPTS): Likewise.
12492 (pkgdata_DATA): New variable.
12493 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12494 needed.
12495 Add missing quotes.
12496 Remove unused variable while on it.
12497 * tests/util/grub-shell.in: Likewise.
12498 * util/grub-install.in: Likewise.
12499 * util/grub-mkconfig.in: Likewise.
12500 * util/grub-mknetdir.in: Likewise.
12501 * util/grub-mkrescue.in: Likewise.
12502 * util/grub-mkstandalone.in: Likewise.
12503 * util/grub.d/00_header.in: Likewise.
12504 * util/grub.d/10_hurd.in: Likewise.
12505 * util/grub.d/10_illumos.in: Likewise.
12506 * util/grub.d/10_kfreebsd.in: Likewise.
12507 * util/grub.d/10_linux.in: Likewise.
12508 * util/grub.d/10_netbsd.in: Likewise.
12509 * util/grub.d/10_windows.in: Likewise.
12510 * util/grub.d/20_linux_xen.in: Likewise.
12511 * util/grub.d/30_os-prober.in: Likewise.
12512 * util/update-grub_lib.in: Removed.
12513
125142012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12515
12516 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12517 a workaround for intel problem.
12518
66832792
PRP
125192012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
125202012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
125212012-01-23 pfsmorigo
12522
12523 * util/grub-install.in: Support dd'in into PreP partition.
12524 * util/grub-probe.c (probe): Support discovering partition type.
12525 (main): Support -t msdos_parttype.
12526
7816a17e
VS
125272012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12530 infinite recursion using counter.
12531 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12532 init to skip it if the magic check fails.
12533 (dec_stream_header): Init s->crc32.
12534
8f9d3a8c
ZB
125352012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
125362012-01-22 Zachary Bedell <pendorbound@gmail.com>
125372012-01-22 Richard Laager <rlaager@wiktel.com>
12538
12539 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12540 All users updated.
12541 (find_bestub): Determine correct size.
12542 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12543 (scan_disk): Align the size down.
12544 Call check pool before find_bestub to have ashift.
12545
b055dd32
VS
125462012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12549 dprintf in no-malloc zone.
12550
d779e9bd
ML
125512012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12552
12553 * configure.ac: Add back in test for limits.h.
12554
b508af69
VS
125552012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 Support 4K-sector NTFS.
12558
12559 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12560 (grub_ntfs_data): Remove blocksize.
12561 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12562 Remove data argument. All users updated.
12563
dad9c8b5
VS
125642012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12567 being in .text to avoid dprel references.
12568 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12569 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12570 (grub_arch_highmemsize): Likewise.
12571 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12572 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12573 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12574
d43a777e
VS
125752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12578
12579 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12580 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12581
34e4208f
VS
125822012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12585 GRUB_UTIL.
12586 (grub_set_datetime_cmos): Likewise.
12587
3ec0fc1c
VS
125882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 Make XZ compression parameters dependent on target and not host CPU.
12591
12592 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12593 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12594
22489834
VS
125952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12598 set but not used variable.
12599
8502fbca
VS
126002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12603 created when no uuid support is compiled into mkfs.reiser.
12604
76df2068
VS
126052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12608 (utf8_to_macroman): Do the opposite.
12609 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12610
64e3f8f6
VS
126112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * configure.ac: Refise build qemu_mips w/o unifont.
12614
9c271078
VS
126152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 Eliminate grub_min/grub_max prone to overflow usage.
12618
12619 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12620 (poll_nonroot_hub): Likewise.
12621 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12622 (grub_affs_label): Likewise.
12623 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12624 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12625 (grub_hfs_label): Likewise.
12626 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12627 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12628 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12629 (zap_leaf_array_get): Likewise.
12630 (dnode_get_path): Likewise.
12631 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12632 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12633 * grub-core/script/execute.c (grub_script_break): Likewise.
12634 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12635 grub_max.
12636 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12637 * include/grub/misc.h (grub_min): Removed.
12638 (grub_max): Likewise.
12639
80662dbc
VS
126402012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12641
12642 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12643 direct.inode = 0.
12644
e6da1467
VS
126452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12648
b1ac4cb1
VS
126492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12652
b4bf7c3b
VS
126532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12656 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12657
8ee1101a
VS
126582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12661 rather than a hack for grub_strncasemap.
12662
126632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Support multiple initrds
12666 Note: part of this was accidently committed in r3739.
12667
12668 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12669 initrd.
12670 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12671 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12672 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12673 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12674 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12675
4d1e2bc9
VS
126762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12679 disks with unknown size.
12680 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12681
75b49ebe
VS
126822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Remove defines pertaining to arbitrary limits not affecting GRUB
12685 anymore.
12686
12687 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12688 (EXT2_MAX_SYMLINKCNT): Likewise.
12689 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12690 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12691 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12692 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12693 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12694 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12695 (DN_MAX_OBJECT_SHIFT): Likewise.
12696 (DN_MAX_OFFSET_SHIFT): Likewise.
12697 (DN_MAX_OBJECT): Likewise.
12698 (DNODES_PER_LEVEL_SHIFT): Likewise.
12699 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12700 (SPA_MAXBLOCKSIZE): Likewise.
12701 (SPA_BLOCKSIZES): Likewise.
12702 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12703 (MZAP_MAX_BLKSZ): Likewise.
12704
74a1dce7
VS
127052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12708 handle NULL appropriately.
12709 Remove MIN.
12710
30c7d3ce
VS
127112012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 Fix efiemu.
12714
12715 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12716 cpu/types.h.
12717 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12718 * configure.ac: Fix efiemu check.
12719
3c76ea0c
VS
127202012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12723 grub_probe.
12724 Reported by: adamwill
12725
7e532280
SG
127262012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12727
12728 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12729
30492374
VS
127302012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 Fix handling of wide characters in gfxterm.
12733
12734 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12735 (clear_char): Likewise.
12736 (paint_char): Skip code == NULL chars.
12737 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12738
e70cb72f
VS
127392012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/normal/charset.c: Move comment to right place.
12742
5c827cf9
VS
127432012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12746 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12747 (grub_affs_mount): Revert the correct version checking.
12748
53603892
VS
127492012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * docs/grub.texi (Unicode): Mention several other unsupported features.
12752
ff094b9b
VS
127532011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12756 case statements as compile-time one.
12757 (direct_read): Prevent spurious warnings.
12758 (grub_squash_read_data): Likewise.
12759
c029da8a
VS
127602011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 Various squash4 fixes and LZO and XZ support.
12763
12764 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12765 Add xzembed source files.
12766 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12767 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12768 (grub_squash_inode): New subtype long_dir.
12769 (SQUASH_TYPE_LONG_DIR): New inode type.
12770 (COMPRESSION): New enum.
12771 (XZBUFSIZ): New const.
12772 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12773 (read_chunk): Use data->decompress.
12774 (zlib_decompress): New function.
12775 (lzo_decompress): Likewise.
12776 (xz_decompress): Likewise.
12777 (squash_mount): Set new data fields.
12778 (grub_squash_iterate_dir): Handle long dir.
12779 (squash_unmount): Free xzdec and xzbuf.
12780 (grub_squash_open): Check ino type.
12781 (direct_read): Stylistic fixes. Use data->decompress.
12782 (grub_squash_read_data): Likewise.
12783 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12784 (get_byte): Likewise.
12785 (grub_zlib_disk_read): Removed.
12786 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12787 (GRUB_POSIX_BOOL_DEFINED): New define.
12788 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12789 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12790 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12791 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12792
7a45a539
VS
127932011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 Don't override more informative errors.
12796
12797 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12798 * grub-core/font/font.c (open_section): Likewise.
12799 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12800 filename. Don't override errors.
12801 (grub_cmd_openbsd_ramdisk): Don't override errors.
12802 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12803 (grub_cmd_initrd): Likewise.
12804 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12805 (grub_cmd_initrd): Likewise.
12806 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12807 (grub_cmd_linux): Likewise.
12808 (grub_cmd_initrd): Likewise.
12809 (grub_cmd_payload): Likewise.
12810 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12811 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12812 (grub_cmd_module): Likewise.
12813 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12814 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12815 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12816 (grub_cmd_xnu_mkext): Likewise.
12817 (grub_cmd_xnu_ramdisk): Likewise.
12818 (grub_xnu_check_os_bundle_required): Likewise.
12819 (grub_xnu_load_kext_from_dir): Likewise.
12820 (grub_cmd_xnu_kextdir): Likewise.
12821 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12822
b2d004db
VS
128232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12826 as 1024 in block size field. Found on one of my test images.
12827 Small optimisation while on it.
12828
ec000eac
VS
128292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12832 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12833 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12834 performance fixes while on it.
12835 (grub_sfs_close): Fix memory leak while on it.
12836 (grub_sfs_label): Convert Latin1 to UTF-8.
12837
f50e1165
VS
128382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12841 space to avoid overflows.
12842 (grub_hfs_label): Convert from macroman to UTF-8.
12843
2ae254de
VS
128442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12847
0108f491
VS
128482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12851
f45f5f89
VS
128522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * unicode: Import Unicode 6.0 data.
12855
4d8c4765
VS
128562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12857
63fa8ef9
VS
12858 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12859 outside of range.
12860
128612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12864
12865 * include/grub/charset.h (grub_getend): New function.
12866 * grub-core/script/function.c (grub_script_function_find): Use
12867 grub_getend.
12868 * grub-core/normal/completion.c (add_completion): Likewise.
12869
f3cb4a4e
VS
128702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12873 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12874 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12875 (GRUB_UNICODE_TAG_END): Likewise.
12876 (GRUB_UNICODE_LAST_VALID): Likewise.
12877
5da8dbc5
VS
128782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12881 len and make it smaller. All users updated.
12882 * util/import_unicode.py: Put length and not end character.
12883 Check length.
12884
8569f13d
VS
128852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 Make better Unicode-compliant and unify some UTF-8 code pathes.
12888
12889 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12890 valid character.
12891 (grub_is_valid_utf8): Use grub_utf8_process.
12892 Check resulting code range.
12893 (grub_utf8_to_ucs4): Use grub_utf8_process.
12894 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12895 valid character.
12896
cc4fddf5
VS
128972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12900
bbc47747
VS
129012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * docs/grub.texi (Filesystems): Mention AFS.
12904
f63d6bf4
VS
129052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * docs/grub.texi (Filesystems): Clarify restrictions.
12908 (Regexp): Mention non-Unicode regexp behaviour.
12909 (Other): Mention non-Unicode matching behaviour.
12910
74bbf0db
VS
129112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12912
f63d6bf4 12913 Make HFS implementation use MacRoman.
74bbf0db
VS
12914
12915 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12916 (macroman): New const array.
12917 (macroman_to_utf8): New function.
12918 (utf8_to_macroman): Likewise.
12919 (grub_hfs_find_dir): Use utf8_to_macroman.
12920 (grub_hfs_dir): Use macroman_to_utf8.
12921 Set case_insensitive.
12922
4ea0316e
VS
129232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12926
d3c13cbd
VS
129272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 Integrate hints into autogeneration scripts.
12930
12931 * docs/grub.texi (Filesystems): Add a hostdisk example.
12932 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12933 (grub-probe): Add ofpath.
12934 * gentpl.py: Remove group nosparc64.
12935 * grub-core/commands/search.c (cache_entry): New struct.
12936 (cache): New var.
12937 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12938 * grub-core/commands/search_wrap.c (options): Add platform-specific
12939 hint options.
12940 (grub_cmd_search): Handle platform-specific hints.
12941 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12942 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12943 (grub_util_biosdisk_data): Likewise.
12944 (grub_util_biosdisk_open): Set device_map.
12945 (read_device_map): Handle "" as indication of no map.
12946 Set device_map.
12947 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12948 (grub_util_biosdisk_get_compatibility_hint): New function.
12949 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12950 * include/grub/emu/hostdisk.h
12951 (grub_util_biosdisk_get_compatibility_hint): New proto.
12952 * util/grub-install.in: Don't call grub-mkdevicemap.
12953 Add platform-specific hint to load.cfg.
12954 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12955 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12956 hints. Set root preliminary to compatibility hint, not to OS name.
12957 * util/grub-probe.c (PRINT_*): Add hints.
12958 (print): Make static.
12959 (escape_of_path): New function.
12960 (guess_bios_drive): Likewise.
12961 (guess_efi_drive): Likewise.
12962 (guess_baremetal_drive): Likewise.
12963 (print_full_name): Likewise.
12964 (probe): Handle hints.
12965 (main): Likewise.
12966 * util/ieee1275/devicemap.c: Removed.
12967 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12968 updated.
12969 (grub_util_devname_to_ofpath): Return NULL on failure.
12970
12971 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12972 resource leak.
12973 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12974
12975 * po/POTFILES.in: Regenerated.
12976
12977 Allow purely long options
12978
12979 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12980 (SHORT_ARG_USAGE): Likewise.
12981 (grub_arg_show_help): Compare opt with help_options.
12982 (parse_option): Receive opt as argument. If makes big simplificatons.
12983 All users updated
12984
00ce2df3
VS
129852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12988 Restructure to avoid warning.
12989
e77e325f
VS
129902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * util/grub-install.in: Account for possible escaped comma in device
12993 name.
12994
165099ea
VS
129952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12998 channel.
12999
ce4a999d
VS
130002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13003 allocation and zero-setting.
13004 (grub_ieee1275_get_devname): Check that alias is complete.
13005
379586ad
VS
130062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13009 unaligned segments.
13010
9197b0ad
VS
130112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13014 prefix.
13015 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13016 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13017 Add ieee1275 prefix.
13018
edddb7f9
VS
130192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * docs/grub.texi (Filesystems): Update.
13022
a1a8b1b9
VS
130232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 Support odc, newc and bigendian cpio formats.
13026
13027 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13028 * grub-core/Makefile.core.def (newc): New module.
13029 (odc): Likewise.
13030 (cpio_be): Likewise.
13031 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13032 (MAGIC): Likewise.
13033 (MAGIC2): Likewise.
13034 (head) [MODE_ODC]: Adapt for the format.
13035 (head) [MODE_NEWC]: Likewise.
13036 (head) [!MODE_*]: Write fields of interest as arrays.
13037 (MAGIC_USTAR): Removed.
13038 (read_number) [MODE_NEWC]: Change to hex.
13039 (read_number) [!MODE_*]: Parse binary arrays.
13040 (grub_cpio_find_file): Factor out the code for better structure and
13041 always use read_number.
13042 (grub_cpio_mount): Use MAGIC and MAGIC2.
13043 (grub_cpio_dir): Exit on first hook non-0 return.
13044 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13045 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13046 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13047 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13048 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13049 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13050 * grub-core/fs/newc.c: New file.
13051 * grub-core/fs/odc.c: Likewise.
13052 * grub-core/fs/cpio_be.c: Likewise.
13053
58eba9ee
VS
130542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 Fix handling of tar numbers occupying the whole field.
13057
13058 * grub-core/fs/cpio.c (read_number): New function.
13059 (grub_cpio_find_file): Use read_number instead of strtoull.
13060
a54a0e12
VS
130612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13064 occupying the whole field size.
13065
a6120aca
LA
130662011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13067
13068 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13069
a93964ce
VS
130702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13073
3ea1ca46
SG
130742011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13075
13076 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13077 TARGET_IMG_LDFLAGS.
13078
b87f7ef2
VS
130792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13082 (mountinfo_entry): Increase the field size to take escaping into
13083 account.
13084 (find_root_device_from_libzfs): Add one byte to size of strings for
13085 security.
13086
62092395
VS
130872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13090 an assert.
13091 * util/grub-setup.c (setup): Likewise.
13092
1f0b1a77
VS
130932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13096 _LzmaDecodeA.
13097
8eba9997
VS
130982011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * docs/grub.texi (Internationalisation): New section.
13101
dd0c91e9
VS
131022011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * docs/grub.texi (Loopback booting): New section.
13105
131062011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13107
13108 * util/grub-mkstandalone.in: Fix minor typo errors.
13109
198e150a
VS
131102011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13113
13114 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13115 net/icmp.c and net/icmp6.c.
13116 (http): New module.
13117 (priority_queue): Likewise.
13118 * grub-core/io/bufio.c: Rewritten.
13119 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13120 TYPE_WITH_CONFIGFILE_OPTION.
13121 (legacy_commands): Add bootp and dhcp.
13122 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13123 (grub_legacy_parse): Likewise.
13124 * grub-core/lib/priority_queue.c: New file.
13125 * grub-core/net/arp.c: Add missing license header.
13126 (arp_find_entry): Removed.
13127 (arp_find_entry): Likewise.
13128 (grub_net_arp_resolve): Rename to ...
13129 (grub_net_arp_send_request): ...this.
13130 (grub_net_arp_receive): New card argument.
13131 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13132 Set router and DNS server.
13133 (grub_net_configure_by_dhcp_ack): Handle routing information.
13134 (grub_cmd_bootp): Set checksum.
13135 (grub_bootp_init): Remove net_dhcp.
13136 * grub-core/net/dns.c: New file.
13137 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13138 completion.
13139 (get_card_packet): Handle allocation.
13140 (grub_efinet_findcards): Set mtu.
13141 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13142 (get_card_packet): Handle allocation.
13143 (emucard): Set mtu.
13144 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13145 (GRUB_MOD_INIT): Set mtu.
13146 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13147 mtu.
13148 (get_card_packet): Handle allocation.
13149 (grub_ofnet_findcards): Set mtu.
13150 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13151 assert.
13152 (grub_net_recv_ethernet_packet): Handle IPv6.
13153 * grub-core/net/http.c: New file.
13154 * grub-core/net/icmp.c: Likewise.
13155 * grub-core/net/icmp6.c: Likewise.
13156 * grub-core/net/ip.c (ip6addr): New type.
13157 (ip6hdr): Likewise.
13158 (reassemble): Likewise.
13159 (cmp): New function.
13160 (reassembles): New variable.
13161 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13162 (id): New variable.
13163 (send_fragmented): New function.
13164 (grub_net_send_ip_packet): Rename to ...
13165 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13166 Handle non-UDP.
13167 (grub_net_recv_ip_packets): Rename to ...
13168 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13169 (free_rsm): New function.
13170 (free_old_fragments): Likewise.
13171 (grub_net_recv_ip4_packets): New function.
13172 (grub_net_send_ip6_packet): Likewise.
13173 (grub_net_send_ip_packet): Likewise.
13174 (grub_net_recv_ip6_packets): Likewise.
13175 (grub_net_recv_ip_packets): Likewise.
13176 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13177 (LINK_LAYER_CACHE_SIZE): New const.
13178 (link_layer_find_entry): New function.
13179 (grub_net_link_layer_add_address): Likewise.
13180 (grub_net_link_layer_resolve_check): Likewise.
13181 (grub_net_link_layer_resolve): Likewise.
13182 (grub_net_ipv6_get_slaac): Likewise.
13183 (grub_net_ipv6_get_link_local): Likewise.
13184 (grub_cmd_ipv6_autoconf): Likewise.
13185 (parse_ip): Handle one number representation.
13186 (parse_ip6): New functoion.
13187 (match_net): Handle IPv6.
13188 (grub_net_resolve_address): Handle IPv6 and DNS.
13189 (grub_net_resolve_net_address): Handle IPv6.
13190 (route_cmp): New function.
13191 (grub_net_route_address): Find best route.
13192 (grub_net_addr_to_str): Handle IPv6.
13193 (grub_net_addr_cmp): New function.
13194 (grub_net_add_addr): Register local route.
13195 (print_net_address): Handle net address.
13196 (grub_net_poll_cards): Retransmit TCP.
13197 (grub_net_poll_cards_idle_real): Likewise.
13198 (have_ahead): New function.
13199 (grub_net_seek_real): Use underlying seek.
13200 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13201 * grub-core/net/tcp.c: New file.
13202 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13203 (cmp): New function.
13204 (ack): Likewise.
13205 (tftp_receive): Handle unordered input.
13206 (destroy_pq): New function.
13207 (tftp_close): Close pq.
13208 * grub-core/net/udp.c: Put missing license header.
13209 (grub_net_udp_socket): New function.
13210 (udp_socket_register): Likewise.
13211 (grub_net_udp_close): Likewise.
13212 (grub_net_recv_udp_packet): Check checksum.
13213 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13214 * include/grub/misc.h (grub_memchr): New function.
13215 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13216 (grub_net_card_driver): Return buf in recv.
13217 (grub_net_slaac_mac_list): New struct.
13218 (grub_network_level_protocol_id): Add ipv6.
13219 (grub_net_network_level_addr): Likewise.
13220 (grub_net_network_level_net_addr): Likewise.
13221 (grub_net_app_protocol): Add seek.
13222 (grub_net_socket): Removed.
13223 (grub_net_sockets): Likewise.
13224 (grub_net_socket_register): Likewise.
13225 (grub_net_socket_unregister): Likewise.
13226 (FOR_NET_SOCKETS): Likewise.
13227 (grub_net_add_addr): Add const.
13228 (GRUB_NET_BOOTP_*): New enum.
13229 (grub_net_addr_cmp): New proto.
13230 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13231 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13232 (grub_net_hwaddr_to_str): NEw proto.
13233 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13234 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13235 (grub_dns_init): New proto.
13236 (grub_dns_fini): Likewise.
13237 (grub_net_tcp_retransmit): Likewise.
13238 (grub_net_link_layer_add_address): Likewise.
13239 (grub_net_link_layer_resolve_check): Likewise.
13240 (grub_net_link_layer_resolve): Likewise.
13241 (grub_net_dns_lookup): Likewise.
13242 (grub_net_add_dns_server): Likewise.
13243 (grub_net_remove_dns_server): Likewise.
13244 (GRUB_NET_TRIES): New const.
13245 (GRUB_NET_INTERVAL): Likewise.
13246 * include/grub/net/arp.h: Mostly rewritten.
13247 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13248 * include/grub/net/ip.h: Mostly rewritten.
13249 * include/grub/net/netbuff.h: Indent.
13250 * include/grub/net/tcp.h: New file.
13251 * include/grub/net/udp.h: Mostly rewritten.
13252 * include/grub/priority_queue.h: New file.
13253 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13254 (grub_swap_bytes64_compile_time): Likewise.
13255 (grub_cpu_to_be16_compile_time): Likewise.
13256 (grub_cpu_to_be32_compile_time): Likewise.
13257 (grub_cpu_to_be64_compile_time): Likewise.
13258 (grub_be_to_cpu64_compile_time): Likewise.
13259
215c1800
VS
132602011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13263 UINT_TO_PTR with cast.
13264
c17e546c
VS
132652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13268 don't use them.
13269
ff6b18b6
VS
132702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13273 already there.
13274
70ffcc93
VS
132752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13278 confusing ipxe.
13279
e5f4d260
VS
132802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13283 Add missing const attribute.
13284 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13285 Likewise.
13286 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13287 Likewise.
13288
8e54b4b7
VS
132892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13292 misaligned access.
13293 (serpent_setkey): Likewise.
13294 (serpent_encrypt_internal): Likewise.
13295 (serpent_decrypt_internal): Likewise.
13296 (serpent_encrypt): Don't put an alignment-increasing cast.
13297 (serpent_decrypt): Likewise.
13298 (serpent_test): Likewise.
13299
813c0a2b
VS
133002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13303
f2b60fbd
VS
133042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13307
13308 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13309 grub_addr_t casts.
13310 (PTR_TO_UINT64): Likewise.
13311 (PTR_TO_UINT32): Likewise.
13312
5ef5c511
VS
133132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13316 because of stack.
13317 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13318 limit.
13319
c476e6df
VS
133202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13323 text_width > available width a bit more gracefully.
13324
384ad7cc
VS
133252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13328 current address calculation.
13329
96f8caf8
VS
133302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13333 stack.
13334 (encode_block): Likewise.
13335
276b7a8b
VS
133362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13339 certainety.
13340
e3fd394a
VS
133412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13344 non-RS part to avoid RS messing with GDT.
13345 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13346 Increase to suit in realmode routines.
13347
133482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * grub-core/kern/i386/realmode.S: Increase alignment.
13351 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13352
ee9c2e7a
VS
133532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13354
13355 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13356 be deterministic.
13357 (syndroms): Compute 0 syndrom.
13358 (rs_recover): Use 0 syndrom.
13359
7a7f7cc9
VS
133602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13363
a14b16d1
VS
133642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13367 brackets.
13368
9f59e9fc
VS
133692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13370
ca1b552c
VS
13371 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13372 account.
13373 (get_top_pad): Likewise.
13374 (get_right_pad): Likewise.
13375 (get_bottom_pad): Likewise.
13376
133772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13380
e739d698
VS
133812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13384 attribute as the structure isn't guaranteed to be properly aligned.
13385 (grub_efi_pci_device_path): Likewise.
13386 (grub_efi_pccard_device_path): Likewise.
13387 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13388 specify the size of `memory_type'.
13389 (grub_efi_vendor_device_path): Likewise.
13390 (grub_efi_controller_device_path): Likewise.
13391 (grub_efi_acpi_device_path): Likewise.
13392 (grub_efi_expanded_acpi_device_path): Likewise.
13393 (grub_efi_atapi_device_path): Likewise.
13394 (grub_efi_scsi_device_path): Likewise.
13395 (grub_efi_fibre_channel_device_path): Likewise.
13396 (grub_efi_1394_device_path): Likewise.
13397 (grub_efi_usb_device_path): Likewise.
13398 (grub_efi_usb_class_device_path): Likewise.
13399 (grub_efi_i2o_device_path): Likewise.
13400 (grub_efi_mac_address_device_path): Likewise.
13401 (grub_efi_ipv4_device_path): Likewise.
13402 (grub_efi_ipv6_device_path): Likewise.
13403 (grub_efi_infiniband_device_path): Likewise.
13404 (grub_efi_uart_device_path): Likewise.
13405 (grub_efi_vendor_messaging_device_path): Likewise.
13406 (grub_efi_hard_drive_device_path): Likewise.
13407 (grub_efi_cdrom_device_path): Likewise.
13408 (grub_efi_vendor_media_device_path): Likewise.
13409 (grub_efi_file_path_device_path): Likewise.
13410 (grub_efi_protocol_device_path): Likewise.
13411 (grub_efi_piwg_device_path): Likewise.
13412 (grub_efi_bios_device_path): Likewise.
13413
cb8f88ea
VS
134142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13415
13416 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13417 (grub_ucs4_to_utf8_alloc): Likewise.
13418 (grub_ucs4_to_utf8): Likewise.
13419 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13420 (grub_ucs4_to_utf8_alloc): Likewise.
13421
309e5352
VS
134222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 AFFS never uses unicode.
13425
13426 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13427 (grub_latin1_to_utf8): New inline function.
13428 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13429
e7987e1b
VS
134302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13433 overflow.
13434
efc2616e
VS
134352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13438 (grub_squash_dirent_header): Likewise.
13439 (read_chunk): Don't double swap.
13440 (grub_squash_iterate_dir): Fix swap sizes.
13441
3c349f5a
VS
134422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13445
b453412d
VS
134462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13449 (grub_hfs_iterate_dir): Likewise.
13450
12e9d4d1
VS
134512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 Fix video on platforms where unaligned access is forbidden.
13454 Make several optimisations while on it.
13455
13456 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13457 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13458 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13459 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13460 Disable.
13461 (grub_video_fbblit_replace_16bit_1bit):
13462 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13463 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13464 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13465 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13466 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13467 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13468 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13469 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13470 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13471 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13472 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13473 (grub_video_fbblit_replace_index_RGB888): Likewise.
13474 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13475 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13476 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13477 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13478 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13479 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13480 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13481 Disable.
13482 (grub_video_fbblit_blend_XXX565_1bit):
13483 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13484 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13485 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13486 void *.
13487 * grub-core/video/fb/video_fb.c (common_blitter)
13488 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13489 (grub_video_fb_create_render_target_from_pointer)
13490 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13491 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13492 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13493 definition.
13494 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13495
ace96609
VS
134962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13499 HH22 and HM10 relocations.
13500
fd261d73
VS
135012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13504
e59b7857
VS
135052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13508 allocation succeeded.
13509
9b4baaa4
VS
135102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13513 argument a u8 pointer. All users updated.
13514 Handle unaligned buffers.
13515
dc713193
VS
135162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13519 add_part to workaround compiler bug.
13520
30dd48c2
VS
135212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13524
0c6087a8
VS
135252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13528 Reserve alignment invariants.
13529 (grub_multiboot_load): Likewise.
13530 (retrieve_video_parameters): Likewise.
13531 (grub_multiboot_make_mbi): Likewise.
13532
c2e77777
VS
135332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13536 incorrect pointer.
13537
b70b6d11
VS
135382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13541 (grub_pata_pio_write): Likewise.
13542
02a2bf83
VS
135432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Add noreturn attributes and remove unreachable code.
13546
13547 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13548 code.
13549 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13550 code. Mark as noreturn.
13551 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13552 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13553 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13554 unreachable code.
13555 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13556 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13557 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13558 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13559 * include/grub/kernel.h (grub_main): Mark as noreturn.
13560 * include/grub/reader.h (grub_rescue_run): Likewise.
13561
2019d09e
VS
135622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13565 redundant declaration.
13566
d1c501ee
VS
135672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13570 redundant declaration.
13571 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13572
61664420
VS
135732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13576 to ensure alignment.
13577 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13578 alignment. Ensure tmp alignment.
13579 (grub_cmd_hdparm): Ensure buf alignment.
13580 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13581 to ensure alignment.
13582 (grub_ata_dumpinfo): Ensure text alignment.
13583 (grub_atapi_identify): Preserve alignment invariant.
13584 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13585
0d51ee20
VS
135862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13589 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13590 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13591 * include/grub/misc.h (grub_reboot)
13592 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13593 (grub_halt) [__mips__]: Likewise.
13594
753ef8c1
VS
135952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13598 Remove redundant declaration.
13599 (grub_mmap_get_post64): Likewise.
13600 (grub_mmap_get_upper): Likewise.
13601 (grub_mmap_get_lower): Likewise.
13602
85c85365
VS
136032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13606 uint32_t * to ensure alignment.
13607 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13608
a23f2cc4
VS
136092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13610
93018f64
VS
13611 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13612 uint16_t * to ensure alignment.
13613 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13614 alignment.
13615
136162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13619 to ensure alignment.
13620 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13621
58acccd6
VS
136222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13625 Handle unaligned pointers.
13626 (u32at): Likewise.
13627 (u64at): Likewise.
13628 (fixup): Use byte access instead of v16at.
13629 (find_attr): Fix imporper usage of v32at.
13630 (read_data): Likewise.
13631 (list_file): Handle byte-swapping and unaligned strings.
13632 (grub_ntfs_label): Likewise.
13633
9b05cad7
VS
136342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13637 as it's not necessarily aligned.
13638
b3950b84
VS
136392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13642 redundant declaration.
13643 (grub_serial_init): Likewise.
13644 (grub_terminfo_init): Likewise.
13645
fcd232b7
VS
136462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13649 function.
13650 (ZAP_HASH_IDX): Likewise.
13651 (ZAP_LEAF_HASH_SHIFT): Likewise.
13652 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13653 (LEAF_HASH): Likewise.
13654 (ZAP_LEAF_NUMCHUNKS): Likewise.
13655 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13656 alignment invariants. Return pointer. All users updated.
13657 (ZAP_LEAF_ENTRY): Make into inline function.
13658 (NBBY): Removed.
13659 (xor): LIkewise.
13660 (xor_out): Use grub_crypto_xor.
13661 (dnode_get_path): Use grub_get_unaligned.
13662 (nvlist_find_value): Likewise.
13663 (grub_zfs_nvlist_lookup_uint64): Likewise.
13664 (grub_zfs_nvlist_lookup_string): Likewise.
13665 (get_nvlist_size): Likewise.
13666 (grub_zfs_open): Likewise.
13667 (fill_fs_info): Likewise.
13668 (grub_zfs_dir): Likewise.
13669 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13670 alignment invariants.
13671 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13672 necessarily aligned.
13673
f138623a
VS
136742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13677
564840dc
VS
136782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13681 arithmetic to conserve alignment invariants.
13682
9b40df20
VS
136832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13686 redundant declaration.
13687 (grub_efiemu_mm_obtain_request): Likewise.
13688 (grub_efiemu_prepare): Likewise.
13689
d1c930f9
VS
136902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13693 to match types.
13694
4c5f3056
VS
136952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13698 case of aunaligned recptr.
13699 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13700 alignment.
13701 (grub_hfsplus_btree_search): Handle unaligned index.
13702
728cba91
VS
137032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13706 to get freetag and skip.
13707
eb561f31
VS
137082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13711 array.
13712 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13713 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13714
20993fbb
VS
137152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13718 name for checksum and fix allocation algorithm.
13719
1f313b94
VS
137202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * include/grub/types.h (grub_properly_aligned_t): New type.
13723 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13724 (grub_get_unaligned16): Add explicit casts.
13725 (grub_get_unaligned32): Likewise.
13726 (grub_get_unaligned64): Likewise.
13727 (grub_set_unaligned16): New function.
13728 (grub_set_unaligned32): Likewise.
13729
47ae27ec
VS
137302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13733
78c2cd1c
VS
137342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13737 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13738 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13739
53072f9b
VS
137402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13743 conditionals.
13744
055dc239
VS
137452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13748 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13749
496bd074
VS
137502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 Unify and improve RAID and crypto xor.
13753
13754 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13755 changed to grub_crypto_xor
13756 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13757 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13758 Use bigger types when possible.
13759
ef6e4335
VS
137602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * grub-core/disk/raid.c (scan_devices): Fix condition.
13763
5d048bf2
VS
137642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13767 Make name a const ptr.
13768
ee533335
VS
137692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13772 first argument a const pointer.
13773 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13774 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13775 proto.
13776 (grub_children_iterate): Likewise.
13777 (grub_machine_mmap_iterate): Remove redundant declaration.
13778
cc8f3668
VS
137792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13782 (grub_cmd_acpi) [!x86]: Disable EBDA.
13783
c5fc563a
VS
137842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 Enable UTF8 in gnulib regexp.
13787
13788 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13789 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13790 (isupper): Use grub_isupper.
13791 (isascii): New inline function.
13792 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13793 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13794 * grub-core/normal/charset.c (grub_utf8_process): New function.
13795 (grub_utf8_to_utf16): Use grub_utf8_process.
13796 (grub_encode_utf8_character): New function.
13797 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13798 * include/grub/charset.h (grub_utf8_process): New declaration.
13799 (grub_encode_utf8_character): Likewise.
13800 * include/grub/misc.h (grub_islower): New inline function.
13801 (grub_isupper): Likewise.
13802 (grub_strchrsub): Moved down to fix the definitions.
13803
0af2346f
VS
138042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13807 specification.
13808
74dbd244
VS
138092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 * include/grub/loader.h (grub_loader_register_preboot_hook):
13812 Use struct preboot * and not void * for handle. All users updated.
13813 (grub_loader_unregister_preboot_hook): Likewise.
13814
1bc8f60d
VS
138152011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13818 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13819 UTF-16-BE. All users updated.
13820 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13821 (grub_hfsplus_iterate_dir): Likewise.
13822 (grub_hfsplus_label): Likewise.
13823
48d6e456
VS
138242011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13827
bf3a3857
VS
138282011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 Add missing const qualifiers.
13831
13832 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13833 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13834 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13835 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13836 (grub_lvm_check_flag): Likewise.
13837 * grub-core/efiemu/i386/coredetect.c
13838 (grub_efiemu_get_default_core_name): Likewise
13839 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13840 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13841 * grub-core/fs/ntfs.c (fixup): Likewise.
13842 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13843 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13844 (fzap_lookup): Likewise.
13845 (zap_lookup): Likewise.
13846 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13847 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13848 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13849 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13850 (grub_freebsd_add_meta_module): Likewise.
13851 (grub_cmd_freebsd_module): Likewise.
13852 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13853 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13854 (grub_xnu_writetree_get_size): Likewise.
13855 (grub_xnu_writetree_toheap_real): Likewise.
13856 (grub_xnu_find_key): Likewise.
13857 (grub_xnu_create_key): Likewise.
13858 (grub_xnu_create_value): Likewise.
13859 (grub_xnu_register_memory): Likewise.
13860 (grub_xnu_check_os_bundle_required): Likewise.
13861 (grub_xnu_scan_dir_for_kexts): Likewise.
13862 (grub_xnu_load_kext_from_dir): Likewise.
13863 * grub-core/normal/color.c (color_list): Likewise.
13864 * grub-core/normal/completion.c (current_word): Likewise.
13865 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13866 * grub-core/term/serial.c (grub_serial_find): Likewise.
13867 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13868 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13869 Likewise.
13870 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13871 (grub_freebsd_add_meta_module): Likewise.
13872 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13873 * include/grub/net.h (grub_net_card_driver): Likewise.
13874 (grub_net_card): Likewise.
13875 (grub_net_app_protocol): Likewise.
13876 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13877 * include/grub/serial.h (grub_serial_find): Likewise.
13878 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13879 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13880 (grub_xnu_create_value): Likewise.
13881 (grub_xnu_find_key): Likewise.
13882 (grub_xnu_scan_dir_for_kexts): Likewise.
13883 (grub_xnu_load_kext_from_dir): Likewise.
13884
13885 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13886 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13887 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13888 Moved from here ...
13889 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13890
112b4837
CW
138912011-11-28 Colin Watson <cjwatson@ubuntu.com>
13892
13893 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13894
49e891ac
VS
138952011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13898 (read_device): Fix size calculation.
13899
fd258e5c
RM
139002011-11-25 Robert Millan <rmh@gnu.org>
13901
13902 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13903 (find_root_device_from_libzfs): Add zpool output parser to be used
13904 as fallback when libzfs isn't available.
13905
78845dc2
SG
139062011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13907
13908 * po/Makefile.in.in: Add missing escape-continuation.
13909
adac5211
VS
139102011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13913
10b64f1c
VS
139142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13917
bb416954
VS
139182011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13921
bdfe9eeb
VS
139222011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13925
581ffa8a
VS
139262011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * grub-core/lib/adler32.c: Add missing license specification.
13929 * grub-core/lib/crc64.c: Likewise.
13930 * grub-core/loader/i386/pc/plan9.c: Likewise.
13931 * grub-core/partmap/plan.c: Likewise.
13932
2536cf64
LK
139332011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13934
13935 Add facility to debug GRUB with gdb under qemu.
13936
13937 * grub-core/gdb_grub.in: New file.
13938 * grub-core/gmodule.pl.in: Likewise.
13939 * grub-core/Makefile.core.def (gmodule.pl): New script.
13940 (gdb_grub): Likewise.
13941
bc108a4a
VS
139422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * util/grub-mount.c (argp_parser): Accept relative pathes.
13945 * util/grub-fstest.c (argp_parser): Likewise.
13946
111c1778
VS
139472011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 Plan9 support.
13950
13951 * Makefile.util.def (libgrubmods): Add
13952 grub-core/partmap/plan.c.
13953 * docs/grub.texi: Notice Plan9 support.
13954 * grub-core/Makefile.core.def (plan9): New module.
13955 (part_plan): Likewise.
13956 * grub-core/loader/i386/pc/plan9.c: New file.
13957 * grub-core/partmap/plan.c: Likewise.
13958 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13959 define.
13960 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13961 * include/grub/mm.h (grub_extend_alloc): New inline function.
13962
c30be3b6
VS
139632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 Make Reed-Solomon faster by using power of generator representation of
13966 GF(256)*.
13967
13968 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13969 (gf_double_t): Likewise.
13970 (gf_invert): Removed.
13971 (gf_powx): New array.
13972 (gf_powx_inv): Likewise.
13973 (scratch): Move higher.
13974 (gf_reduce): Removed.
13975 (gf_mul): Use powx.
13976 (gf_invert): Likewise.
13977 (init_inverts): Replaced with ...
13978 (init_powx): ...this. All users updated.
13979 (pol_evaluate): Replace multiplications with additions.
13980 (rs_encode): Likewise.
13981 (gauss_eliminate): Call gf_invert.
13982 (grub_reed_solomon_add_redundancy): Call init_powx.
13983 (grub_reed_solomon_recover): Call init_powx unconditionally.
13984
fa5aeffc
VS
139852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13988
a346b81c
VS
139892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13992 disk->partiton for safety.
13993
d89ee414
VS
139942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13997 Fix a memory leak.
13998 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13999
91ee7b6d
VS
140002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14003
91e5a33d
VS
140042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14007
9edd7be2
VS
140082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 Fix spaces handling in proc/self/mountinfo.
14011
14012 * util/getroot.c (unescape): New function.
14013 (grub_find_root_device_from_mountinfo): Use unescape.
14014
ba102053
VS
140152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14016
14017 Support ZFS embedding.
14018
14019 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14020 (grub_zfs_fs): Register grub_zfs_embed.
14021
aa94b870
VS
140222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 Fix MIPS compilation.
14025
14026 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14027 * include/grub/offsets.h: Rename decompressor fields from
14028 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14029 * util/grub-mkimage.c (image_targets): Use new names.
14030
5fbdac14
VS
140312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Defer multiboot device parsing until we're in compressed part.
14034
14035 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14036 bsd_part. setdevice has fallen into disuse.
14037 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14038 (bsd_part): Likewise.
14039 (boot_dev): New variable.
14040 (multiboot_trampoline): Don't parse multiboot device.
14041 Pass multiboot device in %edx.
14042 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14043 grub_boot_device.
14044 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14045 Likewise.
14046 * grub-core/kern/i386/pc/startup.S: Save edx.
14047 (grub_boot_drive): Removed.
14048 (grub_install_dos_part): Likewise.
14049 (grub_install_bsd_part): Likewise.
14050 (grub_boot_device): New variable.
14051 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14052 (grub_install_bsd_part): Likewise.
14053 (grub_boot_drive): Likewise.
14054 (grub_boot_device): New variable.
14055 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14056 Removed.
14057 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14058 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14059 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14060 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14061 * util/grub-install.in: Remove redundant condition.
14062
691cbb58
VS
140632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 Fix bug introduced by previous commit.
14066
14067 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14068
60240b8b
VS
140692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 Use decompressors framework on i386-pc. It increases core size
14072 by 46 bytes but improves compatibility and maintainability.
14073
14074 * grub-core/Makefile.core.def (lzma_decompress): New image.
14075 (kernel): Add i386_pc_ldflags.
14076 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14077 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14078 to real_to_prot, prot_to_real and device info.
14079 * include/grub/offsets.h: Renamed decompressor offsets.
14080 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14081 (image_target_desc): Remove raw_size and rename decompressor fields.
14082 (compress_kernel): Handle lzma.
14083 (generate_image): Handle decompressors on i386-pc.
14084
e9d3421c
VS
140852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * configure.ac: Add -fno-asynchronous-unwind-tables.
14088
2b23074a
VS
140892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 Move assembly code to C by using intwrap. It increases core size
14092 by 88 bytes but improves compatibility and maintainability.
14093
14094 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14095 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14096 ... here. Translated to C.
14097 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14098 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14099 ... here. Translated to C.
14100 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14101 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14102 ... here. Translated to C.
14103 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14104 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14105 ... here. Translated to C.
14106 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14107 * grub-core/term/i386/pc/console.c (grub_console_cls):
14108 ... here. Translated to C.
14109 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14110 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14111 ... here. Translated to C.
14112 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14113 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14114 Translated to C.
14115 * grub-core/term/i386/pc/console.c (int10_9): New function.
14116 (grub_console_putchar): Likewise.
14117 * include/grub/i386/pc/console.h: Removed the not anymore shared
14118 functions.
14119
678f4b67
VS
141202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Move grub_chainloader_real_boot out of the kernel.
14123
14124 * grub-core/Makefile.am: Remove machine/loader.h.
14125 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14126 Removed.
14127 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14128 variable.
14129 (grub_relocator16_keep_a20_enabled): Likewise.
14130 (grub_relocator16_boot): Fill new variables.
14131 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14132 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14133 relocator.
14134 (grub_chainloader_unload): Likewise.
14135 (grub_chainloader_cmd): Likewise.
14136 * include/grub/i386/pc/loader.h: Removed.
14137 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14138 and esi. All initialisers updated.
14139
4626edf6
VS
141402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
141412011-11-12 Colin Watson <cjwatson@ubuntu.com>
14142
14143 * Makefile.util.def (grub-mount): New util.
14144 * .bzrignore: Add grub-mount.
14145 * configure.ac: Check for fuse and enable grub-mount if available.
14146 * docs/man/grub-mount.h2m: New file.
14147 * util/grub-mount.c: Likewise.
14148
10f0117b
VS
141492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * grub-core/commands/efi/fixvideo.c: Gettextize.
14152 * grub-core/commands/hashsum.c: Likewise.
14153 * grub-core/commands/i386/cmostest.c: Likewise.
14154 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14155 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14156 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14157 * grub-core/commands/lsmmap.c: Likewise.
14158 * grub-core/commands/menuentry.c: Likewise.
14159 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14160 * grub-core/commands/setpci.c: Likewise.
14161 * grub-core/loader/i386/bsd.c: Likewise.
14162 * grub-core/loader/i386/linux.c: Likewise.
14163 * util/getroot.c: Likewise.
14164 * util/grub-editenv.c: Likewise.
14165 * util/grub-fstest.c: Likewise.
14166 * util/grub-mkfont.c: Likewise.
14167 * util/grub-mkimage.c: Likewise.
14168 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14169 * util/grub-pe2elf.c: Likewise.
14170 * util/grub-probe.c: Likewise.
14171 * util/grub-setup.c: Likewise.
14172 * util/ieee1275/ofpath.c: Likewise.
14173 * util/misc.c: Likewise.
14174 * util/raid.c: Likewise.
14175
566f779b
RM
141762011-11-11 Robert Millan <rmh@gnu.org>
14177
14178 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14179 __attribute__((unused)) from `os_dev', which *is* being used.
14180
b50787de
VS
141812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14184 forgotten define.
14185 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14186 GRUB_IA64_DL_GOT_ALIGN.
14187 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14188 GRUB_IA64_DL_TRAMP_ALIGN.
14189
119d11c8
VS
141902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 Replace grub_fatal with normal errors in i386 linux loader.
14193
14194 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14195 (allocate_pages): Check find_efi_mmap_size return value.
14196 (grub_e820_add_region): Return error.
14197 (grub_linux_boot): Check mmap return value.
14198
6e0632e2
VS
141992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/commands/acpihalt.c: Gettextized.
14202 * grub-core/commands/cacheinfo.c: Likewise.
14203 * grub-core/commands/cmp.c: Likewise.
14204 * grub-core/commands/efi/loadbios.c: Likewise.
14205 * grub-core/commands/gptsync.c: Likewise.
14206 * grub-core/commands/ieee1275/suspend.c: Likewise.
14207 * grub-core/commands/legacycfg.c: Likewise.
14208 * grub-core/commands/memrw.c: Likewise.
14209 * grub-core/commands/minicmd.c: Likewise.
14210 * grub-core/commands/parttool.c: Likewise.
14211 * grub-core/commands/time.c: Likewise.
14212 * grub-core/commands/videoinfo.c: Likewise.
14213 * grub-core/disk/geli.c: Likewise.
14214 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14215 * grub-core/disk/luks.c: Likewise.
14216 * grub-core/disk/lvm.c: Likewise.
14217 * grub-core/font/font_cmd.c: Likewise.
14218 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14219 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14220 * grub-core/gfxmenu/view.c: Likewise.
14221 * grub-core/kern/emu/hostdisk.c: Likewise.
14222 * grub-core/kern/emu/main.c: Likewise.
14223 * grub-core/kern/emu/misc.c: Likewise.
14224 * grub-core/kern/emu/mm.c: Likewise.
14225 * grub-core/kern/mips/arc/init.c: Likewise.
14226 * grub-core/kern/mips/loongson/init.c: Likewise.
14227 * grub-core/kern/partition.c: Likewise.
14228 * grub-core/lib/i386/halt.c: Likewise.
14229 * grub-core/lib/mips/arc/reboot.c: Likewise.
14230 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14231 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14232 * grub-core/loader/i386/xnu.c: Likewise.
14233 * grub-core/loader/multiboot.c: Likewise.
14234 * grub-core/net/bootp.c: Likewise.
14235 * grub-core/net/net.c: Likewise.
14236 * grub-core/normal/term.c: Likewise.
14237 * grub-core/partmap/bsdlabel.c: Likewise.
14238 * grub-core/parttool/msdospart.c: Likewise.
14239 * grub-core/term/gfxterm.c: Likewise.
14240 * grub-core/term/terminfo.c: Likewise.
14241 * grub-core/video/i386/pc/vbe.c: Likewise.
14242 * util/grub-menulst2cfg.c: Likewise.
14243 * util/grub-mkdevicemap.c: Likewise.
14244 * util/grub-mklayout.c: Likewise.
14245 * util/grub-mkrelpath.c: Likewise.
14246 * util/grub-script-check.c: Likewise.
14247 * util/ieee1275/grub-ofpathname.c: Likewise.
14248 * util/resolve.c: Likewise.
14249
073aa7a9
VS
142502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 Support %1$d syntax.
14253
14254 * tests/printf_unit_test.c: New file.
14255 * Makefile.util.def (printf_test): New test.
14256 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14257
c76b5417
VS
142582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14261 fix.
14262
df067ad1
VS
142632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14266 dprintf.
14267 * grub-core/font/font.c (grub_font_load): Likewise.
14268
5b289bc5
VS
142692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * util/grub-macho2img.c: Add comment concerning gettext.
14272 * grub-core/lib/legacy_parse.c: Likewise.
14273
c1860f87
VS
142742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14277 (grub_xvasprintf): Likewise.
14278
d35d0d37
VS
142792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14280
14281 Add const keyword to grub_env_get and gettextize week days.
14282
14283 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14284 (grub_read_hook_datetime): Return const char *.
14285 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14286 updated.
14287 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14288 Mark for gettext.
14289 (grub_get_weekday_name): Return const char *. Call gettext.
14290 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14291 char * and len as the argument. All users updated.
14292 (grub_script_argv_split_append): Receive const char *.
14293 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14294 * include/grub/env.h (grub_env_get): Likewise.
14295 (grub_env_read_hook_t): Return const char *.
14296 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14297 (grub_script_argv_split_append): Likewise.
14298
9aed8a71
VS
142992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14302
067fdf00
VS
143032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14306 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14307
a8bd9d39
VS
143082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14311 Fix prototype.
14312
f7ce5baf
VS
143132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Fix mips compilation.
14316
14317 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14318 normal decoder.
14319 (hashes): Use in embed decoder as well (for sizes).
14320 (dec_stream_header): Fix embed decompressor logic.
14321 (dec_stream_footer): Likewise.
14322
9bb182f3
VS
143232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14326 an error and not a fatal on unrecognised relocation types.
14327
63a9e6f6
VS
143282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14331 Issue error rather than printf on unknown arguments.
14332
4c458569
VS
143332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14336 Make buf a const.
14337
e2d22baf
VS
143382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14341 Fix module name.
14342
53dc8590
VS
143432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14346 leftover debug printf.
14347
6c189294
VS
143482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14351
f7688369
VS
143522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14355 A stylistic fix.
14356
11a775a3
VS
143572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14360
33f784e8
SL
143612011-11-10 Shea Levy <slevy@tieronedesign.com>
14362
14363 Allow all modules to perform serial IO
14364
14365 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14366 * include/grub/serial.h (grub_serial_port_configure): New inline
14367 function.
14368 (grub_serial_port_fetch): Likewise.
14369 (grub_serial_port_put): Likewise.
14370 (grub_serial_port_fini): Likewise.
14371 (grub_serial_find): New proto.
14372
f6276525
VS
143732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 Put symlink at the end of the node and fix a potential
14376 memory corruption.
14377
14378 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14379 Make symlink into an array.
14380 (set_rockridge): Set have_symlink and alloc_dirents.
14381 (grub_iso9660_read_symlink): Use new layout.
14382 (grub_iso9660_iterate_dir): Fix memory corruption.
14383 Use new layout.
14384 (grub_iso9660_dir): Set have_symlink.
14385 (grub_iso9660_open): Likewise.
14386
c3591189
VS
143872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 Remove local keyword.
14390
14391 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14392 (version_test_gt): Likewise.
14393 (version_find_latest): Likewise.
14394 (gettext_printf): Likewise.
14395 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14396
cb544caa
VS
143972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14400
45bd824d
VS
144012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Fix ZFS memory and resource leaks.
14404
14405 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14406 All users updated.
14407 Free type on exit.
14408 (fill_vdev_info): New parameter inserted. All users updated.
14409 (check_pool_label): Likewise.
14410 (scan_disk): Likewise.
14411 (scan_devices): Close non-inserted disks.
14412 (fzap_iterate): Free l.
14413 (unmount_device): Free children descripto memory.
14414
ad9a2f44
VS
144152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14418 argument (access out of bounds).
14419
6b68db81
VS
144202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14423 >= 6 drives.
14424
28840fda
VS
144252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14428 Fix declaration.
14429
8a5a3a5b
VS
144302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 Fix several memory leaks.
14433
14434 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14435 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14436 (grub_cpio_dir): Likewise.
14437 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14438 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14439 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14440 (grub_romfs_label): Likewise.
14441 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14442 (squash_unmount): New function.
14443 (grub_squash_dir): Fix memory leak.
14444 (grub_squash_open): Likewise.
14445 (grub_squash_read): Likewise.
14446 (grub_squash_mtime): Likewise.
14447 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14448 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14449 * util/grub-fstest.c (fstest): Likewise.
14450
57b01250
VS
144512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14454 avoid accessing beyond the array.
14455
19e81ba7
VS
144562011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14459
52b656c0
VS
144602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 Several AFFS fixes.
14463
14464 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14465 (GRUB_AFFS_FLAG_FFS): Removed.
14466 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14467 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14468 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14469 (grub_fshelp_node): Make block 32-bit.
14470 Add block_cache and last_block_cache.
14471 (grub_affs_read_block): Fill and use block cache.
14472 (grub_affs_read_file): Removed.
14473 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14474 boot block.
14475 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14476 safety.
14477 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14478 space.
14479 (grub_affs_close): Free block cache.
14480 (grub_affs_read): Use grub_fshelp_read_file directly.
14481
438a746a
VS
144822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14485 with no error set.
14486
49a45021
VS
144872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14490 used variable.
14491 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14492 Likewise.
14493
3ae17eb8
VS
144942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14497
14498 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14499 byteswap when needed.
14500
27610c38
VS
145012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 Fix FreeBSD compilation.
14504
14505 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14506 to avoid circular dependency.
14507 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14508 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14509 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14510
4a19b601
VS
145112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 Fix ZFS crypto error types.
14514
14515 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14516 (grub_gcm_decrypt): Likewise.
14517 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14518 from PBKDF2.
14519
958ee221
VS
145202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 Illumos support.
14523
14524 * Makefile.util.def (10_illumos): New script.
14525 * configure.ac: Set COND_HOST_ILLUMOS.
14526 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14527 Support Illumos calls.
14528 (find_partition_start) [__sun__]: Likewise.
14529 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14530 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14531 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14532 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14533 device.
14534 * util/grub-probe.c (probe) [__sun__]: Do character check.
14535 * util/grub.d/10_illumos.in: New file.
14536
cac14fb6
VS
145372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Support escaped commas in hostdisk.
14540
14541 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14542 (find_grub_drive): Use unescape_cmp.
14543 (make_device_name): Escape commas.
14544
78e08dc3
VS
145452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14548
9f421dd1
VS
145492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14552 variable.
14553
ed64e9e2
VS
145542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 Support trampoline jumps on powerpc.
14557
14558 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14559 __ia64__ path.
14560 (grub_dl_load_segments): Set mod->sz.
14561 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14562 segments.
14563 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14564 (jump): Likewise.
14565 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14566 function.
14567 (trampoline): New struct.
14568 (trampoline_template): New const.
14569 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14570 * include/grub/dl.h (grub_dl): Add sz element.
14571 [__powerpc__]: Follow __ia64__.
14572 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14573 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14574 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14575 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14576
3084ede4
VS
145772011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 ZFS crypto support.
14580
14581 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14582 * grub-core/Makefile.core.def (zfscrypt): New module.
14583 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14584 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14585 it. All users updated.
14586 (grub_zfs_decrypt): New var.
14587 (grub_zfs_load_key): Likewise.
14588 (zio_checksum_functions): Add SHA256+MAC.
14589 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14590 (zio_read): Handle encrypted blocks.
14591 (zap_verify): Remove incorrect check.
14592 (fzap_iterate): Handle non-standard fzap.
14593 (zap_iterate): Likewise.
14594 (zap_iterate_u64): New function.
14595 (dnode_get_fullpath): Load keys.
14596 * grub-core/fs/zfs/zfscrypt.c: New file.
14597 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14598 (grub_crypto_ecb_encrypt): Make input const.
14599 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14600 (grub_crypto_ecb_encrypt): Make input const.
14601 (GRUB_CIPHER_AES): New macro.
14602 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14603 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14604 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14605 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14606 prefix. All users updated.
14607 (grub_zfs_add_key): New proto.
14608 (grub_zfs_decrypt): Likewise.
14609 (grub_zfs_load_key): Likewise.
14610 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14611 * util/grub-fstest.c (options): Add -K option.
14612 (argp_parser): Likewise.
14613
b632b404
VS
146142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 Support zle compression on ZFS.
14617
14618 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14619 (decomp_table): Add zle.
14620 * include/grub/zfs/zio.h (zio_compress): Add zle.
14621
c7ba4f69
VS
146222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 Support BtrFS embedding.
14625
14626 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14627 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14628 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14629 * util/grub-setup.c (setup): Use fs embedding if available.
14630 Add additional sanity check.
14631
455377d9
VS
146322011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * util/grub-install.in: Fix condition for config_opt.
14635
c2fd16ca
VS
146362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 Support third redundancy strip on raidz3.
14639
14640 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14641 Return error on singularity. All users updated.
14642 (read_device): Don't stop on 3rd failure on raidz3.
14643
8622923b
VS
146442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 Support case-insensitive ZFS subvolumes.
14647
14648 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14649 All users updated.
14650 (zap_hash): Likewise.
14651 (name_cmp): New function.
14652 (zap_leaf_array_equal): New parameter case_insensitive.
14653 All users updated.
14654 (zap_leaf_lookup): Likewise.
14655 (fzap_lookup): Likewise.
14656 (zap_lookup): Likewise.
14657 (dnode_get_path): New parameter case_insensitive. Retrieve case
14658 sensitiviness of a volume. All users updated.
14659 (dnode_get_fullpath): New parameter case_insensitive.
14660 All users updated.
14661 (grub_zfs_dir): Set info.case_insensitiveness.
14662
95f2e860
VS
146632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 Support second redundancy strip on raidz(2,3).
14666
14667 * grub-core/fs/zfs/zfs.c (powx): New array.
14668 (powx_inv): Likewise.
14669 (poly): New const.
14670 (xor_out): New function.
14671 (gf_mul): Likewise.
14672 (recovery): Likewise.
14673 (read_device): Use second redundancy strip.
14674
11ee4389
VS
146752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 Use a power of generator representation of GF(256) multiplication group
14678 to save space time and complexity.
14679
14680 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14681 (raid6_table2): Likewise.
14682 (powx): New array.
14683 (powx_inv): Likewise.
14684 (poly): New const.
14685 (grub_raid_block_mul): Replace with ...
14686 (grub_raid_block_mulx): ...this.
14687 (grub_raid6_init_table): Rewritten.
14688 (grub_raid6_recover): Use power of generator representation.
14689
09e2763f
VS
146902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14693 for the right device.
14694
8bec9a28
VS
146952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14698 expected by grub-mkimage and it's more clear since there is no implicit
14699 padding.
14700
dbd3a32e
VS
147012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14704 disk.
14705 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14706
182c872a
PMH
147072011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14708
14709 * util/grub-mkrescue.in: Fix handling xorriso option.
14710
1e51cabd
VS
147112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14714 NULL.
14715
9cc3581d 147162011-11-03 crocket <crockabiscuit@gmail.com>
14717
14718 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14719
158dc1ea
VS
147202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 XZ CRC64 and SHA256 support.
14723
14724 * Makefile.util.def (libgrubmods): Add crc64.c.
14725 * grub-core/Makefile.core.def (crc64): New module.
14726 * grub-core/lib/crc64.c: New file.
14727 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14728 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14729 Fix the type.
14730 (MAX_HASH_SIZE): New define.
14731 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14732 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14733 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14734 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14735 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14736 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14737 Handle non-crc32 hashes.
14738 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14739 (dec_stream_header): Handle non-crc32 hashes.
14740 (dec_stream_footer): Likewise.
14741 (dec_block_header): Likewise.
14742 (dec_main): Likewise.
14743 (xz_dec_init): Likewise.
14744 (xz_dec_reset): Likewise.
14745 (xz_dec_end): Likewise.
14746 * util/import_gcry.py: Add CRC64 line.
14747
9d9b3d2f
VS
147482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14751 as well.
14752
7d0ac931
VS
147532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 Make reiserfs label retrieval similar to other *_label functions.
14756
14757 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14758 (REISERFS_MAX_LABEL_LENGTH): Removed.
14759 (REISERFS_LABEL_OFFSET): Likewise.
14760 (grub_reiserfs_label): Rewritten.
14761
147622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14765 field.
14766
cf5ba824
VS
147672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14770
17744004
VS
147712011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14774 drive failure on both raidz and raidz2.
14775
aca5aefc
VS
147762011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 Fix RAIDZ(2) for >= 5 devices.
14779
14780 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14781 asize argument. All users updated.
14782
ce8ca56e
VS
147832011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 Fix RAIDZ(2).
14786
14787 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14788 (fill_vdev_info_real): Set ashift.
14789 (read_device): Rewrite RAIDZ part based on reverse engineering.
14790
7c01e783
VS
147912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14794 don't report potentially unavialiable fields in debug output.
14795 (find_path): Fix double-free and memory leak.
14796
ce109e84
VS
147972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 Read label on UFS1.
14800
14801 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14802 (grub_ufs_fs): Always set .label.
14803
87661123
VS
148042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 Use shifts in UFS.
14807
14808 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14809 (grub_ufs_data): New field log2_blksz.
14810 (grub_ufs_read_file): Use shifts.
14811 (grub_ufs_mount): Check block size and logarithm it.
14812
46bc1dc2
VS
148132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14816 long symlinks.
14817
19ee2987
VS
148182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 Handle symlinks and long names on tar and cpio.
14821
14822 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14823 (ATTR_FILE): Likewise.
14824 (ATTR_DIR): Likewise.
14825 (ATTR_LNK): Likewise.
14826 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14827 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14828 L and K entries.
14829 (grub_cpio_mount): Zero-fill data.
14830 (handle_symlink): New function.
46bc1dc2
VS
14831 (grub_cpio_dir): Handle symlinks.
14832 (grub_cpio_open): Likewise.
14833 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14834
c83a08d8
VS
148352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 Fix iso9660 filename limitations and fix memory leaks.
14838
14839 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14840 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14841
45cdd3ea
VS
148422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Fix JFS file name length limitations.
14845
14846 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14847 (grub_jfs_diropen): Fix maximum filename length.
14848 (grub_jfs_getent): Fix filename length.
14849 (grub_jfs_lookup_symlink): Fix size checks.
14850
94ef05c2
VS
148512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14854 string.
14855
785ab8c7
VS
148562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14857
eb0b6b45
VS
14858 Leverage BFS implementation to read AFS.
14859
14860 * Makefile.util.def (libgrubmods): Add afs.c.
14861 * grub-core/Makefile.core.def (afs): New module
14862 * grub-core/fs/afs.c: New file.
14863 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14864
148652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14868
c4a1628f
VS
148692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/fs/bfs.c: Run indent.
14872
5825b379
VS
148732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 BFS implementation based on the specification.
14876
14877 * grub-core/fs/bfs.c: New file.
14878 * Makefile.util.def (libgrubmods): Add bfs.c.
14879 * grub-core/Makefile.core.def (bfs): New module.
14880
42b2a706
VS
148812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * util/grub-fstest.c (cmd_cp): Clarify error message.
14884 (cmd_cmp): Likewise.
14885
61b99bfc
YB
148862011-10-30 Yves Blusseau <blusseau@zetam.org>
14887
14888 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14889 and befs_be.
14890
faba3d16
VS
148912011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 Remove afs and befs because of copyright problem.
14894
14895 * grub-core/fs/afs.c: Removed.
14896 * grub-core/fs/afs_be.c: Removed.
14897 * grub-core/fs/befs.c: Removed.
14898 * grub-core/fs/befs_be.c: Removed.
14899 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14900 * grub-core/Makefile.core.def (afs): Removed.
14901 (afs_be): Likewise.
14902 (befs): Likewise.
14903 (befs_be): Likewise.
14904
c39224b0
VS
149052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 Prefer rockridge over Joliet.
14908
14909 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14910 to ...
14911 (set_rockridge): ... here.
14912 (grub_iso9660_mount): Check rockridge on the primary label when
14913 discovering. Ignore Joliet if Rockridge is present.
14914
e551115a
VS
149152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 Use shifts in nilfs2.
14918
14919 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14920 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14921 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14922 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14923 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14924 (grub_nilfs2_entries_per_block): Replaced with ...
14925 (grub_nilfs2_log_entries_per_block_log): ... this.
14926 (grub_nilfs2_blocks_per_group): Replaced with ...
14927 (grub_nilfs2_blocks_per_group_log): ... this.
14928 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14929 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14930 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14931 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14932 (grub_nilfs2_palloc_entry_offset): Replaced ...
14933 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14934 (grub_nilfs2_dat_translate): Use shifts.
14935 (grub_nilfs2_read_inode): Likewise.
14936 (GRUB_MOD_INIT): Ensure that logs are correct.
14937
564dd58c
VS
149382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 Use shifts in minix filesystem.
14941
14942 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14943 (GRUB_MINIX_ZONE2SECT): Likewise.
14944 (grub_minix_data): Replace block_size with log_block_size.
14945 (grub_minix_read_file): Use shifts.
14946 (grub_minix_mount): Check block size and take a logarithm.
14947
ed9ba06d
VS
149482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Use shifts in squash4.
14951
14952 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14953 (squash_mount): Check block size and take logarithm.
14954 (direct_read): Use shifts.
14955
ad03fe76
VS
149562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 Correct befs block counting logic.
14959
14960 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14961 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14962 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14963 (grub_afs_read_inode): Use block_shift.
14964 (RANGE_SHIFT): New definition.
14965 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14966 unexpected conditions, use shifts and appropriate types.
14967 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14968
6563f63d
VS
149692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/disk/raid.c (scan_devices): Check partition.
14972 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14973
5b1ae25f
VS
149742011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 Support BFS (befs) UUID.
14977
14978 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14979 (grub_afs_small_data_element_header): New struct.
14980 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14981 (grub_afs_read_attribute) [MODE_BFS]: New function.
14982 (grub_afs_iterate_dir): Allocate for complete inode.
14983 (grub_afs_mount): Likewise.
14984 (grub_afs_uuid) [MODE_BFS]: New function.
14985 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14986
f8d82408
VS
149872011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14990 (zfs_unmount): Fix memory leak.
14991
5773fb64
VS
149922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Support NTFS reparse points.
14995
14996 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14997 (symlink_descriptor): New struct.
14998 (grub_ntfs_read_symlink): New function.
14999 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15000 (grub_ntfs_open): Likewise.
15001
91c3fdde
VS
150022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15005
3be82e10
VS
150062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 fstest xnu_uuid subcommand.
15009
15010 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15011 grub-core/commands/xnu_uuid.c.
15012 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15013 (fstest): Handle xnu_uuid.
15014 (options): Document xnu_uuid.
15015 (argp_parser): Parse xnu_uuid.
15016
8e32442e
VS
150172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15020 -l argument. Add newline at the end if printing.
15021 (GRUB_MOD_INIT): Document -l.
15022
52a05075
VS
150232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15026
1869edb5
VS
150272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 ZFS multi-device and version 33 support.
15030
15031 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15032 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15033 (grub_zfs_data): Add multidev-ice-related fields.
15034 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15035 (dva_get_offset): Make dva const.
15036 (zfs_fetch_nvlist): New function.
15037 (fill_vdev_info_real): Likewise.
15038 (fill_vdev_info): Likewise.
15039 (check_pool_label): Likewise.
15040 (scan_disk): Likewise.
15041 (scan_devices): Likewise.
15042 (read_device): Likewise.
15043 (read_dva): Likewise.
15044 (zio_read_gang): Use read_dva.
15045 (zio_read_data): Likewise.
15046 (zap_leaf_lookup): Add missing endian conversion.
15047 (zap_verify): Add missing endian conversion. All users updated.
15048 (fzap_lookup): Likewise.
15049 (fzap_iterate): Likewise.
15050 (dnode_get_path): Handle SA bonus.
15051 (nvlist_find_value): Make input const. All users updated.
15052 (unmount_device): New function.
15053 (zfs_unmount): Use unmount_device.
15054 (zfs_mount): Use scan_disk.
15055 (zfs_mtime): New function.
15056 (grub_zfs_open): Handle system attributes.
15057 (fill_fs_info): Likewise.
15058 (grub_zfs_dir): Likewise.
15059 (grub_zfs_fs): Add mtime.
15060 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15061 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15062 (SA_MTIME_OFFSET): Likewise.
15063 (SA_SYMLINK_OFFSET): Likewise.
15064 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15065 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15066 (fstest): Support zfsinfo.
15067 (argp_parser): Likewise.
15068
186b4028
VS
150692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15072 error.
15073
150742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15075
15076 ZFS fixes.
15077
15078 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15079 sharing the same block. Iterate over correct number of indices.
15080 (dnode_get_path): Handle symlinks correctly.
15081
c0584900
VS
150822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15085
67e2bd71
VS
150862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Read label on HFS+.
15089
15090 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15091 (grub_hfsplus_btree_search): Fix types.
15092 (grub_hfsplus_label): Implement.
15093
e9cc6b7b
VS
150942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15097
19832ddb
VS
150982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15101
66b40850
VS
151022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 Fix symlink handling on iso9660.
15105
15106 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15107 All users updated.
15108 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15109 (grub_iso9660_read_symlink): Moved most of code ...
15110 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15111
db821363
VS
151122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15115 Use union to avoid breaking strict-aliasing rules.
15116
e1211949
VS
151172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 Support multi-extent iso files.
15120
15121 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15122 Add node.
15123 (grub_fshelp_node): Revamp. All users updated.
15124 (FLAG_*): New enum.
15125 (read_node): New function.
15126 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15127 All users updated.
15128 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15129 (get_node_size): New function.
15130 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15131 entries.
15132 Fix memory leak on . and ..
15133 (grub_iso9660_read): Use read_node.
15134 (grub_iso9660_close): Free node.
15135
d4888031
VS
151362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 Fix tar 4G limit and handle paths containing dot.
15139
15140 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15141 (canonicalize): New function.
15142 (grub_cpio_find_file): Use canonicalize. Store offs in
15143 grub_disk_addr_t.
15144 (grub_cpio_dir): Use grub_disk_addr_t.
15145 (grub_cpio_open): Likewise.
15146
9f12e664
VS
151472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15150
15151 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15152 unused flags.
15153 (grub_squash_inode): Add long_file and block_size.
15154 (grub_squash_cache_inode): New struct.
15155 (grub_squash_dirent): Make types into enum.
15156 (SQUASH_TYPE_LONG_REGULAR): New type.
15157 (grub_squash_frag_desc): Add field size.
15158 (SQUASH_BLOCK_FLAGS): New enum.
15159 (grub_squash_data): Use grub_squash_cache_inode.
15160 (grub_fshelp_node): Make ino_chunk 64-bit.
15161 (read_chunk): Minor argument change. All users updated.
15162 (squash_mount): Use correct le_to_cpu.
15163 (grub_squash_open): Handle LONG_REGULAR.
15164 (direct_read): New function.
15165 (grub_squash_read_data): Handle blocks correctly.
15166
9f326fba
VS
151672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15170
f4d9b64b
VS
151712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15174
5bbd28b8
VS
151752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 Fix 2G limit on ZFS.
15178
15179 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15180 types.
15181 (uberblock_verify): Likewise.
15182 (dmu_read): Likewise.
15183 (grub_zfs_read): Likewise. Remove invalid cast.
15184
68c72069
VS
151852011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15188 (grub_jfs_blkno): Fix incorrect shift.
15189 (grub_jfs_read_file): Use more appropriate types.
15190
6e536dc8
VS
151912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 Support triple indirect on minix2 and minix3.
15194
15195 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15196 Declare triple_indir_zone.
15197 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15198 indirect.
15199
e0864e7a
VS
152002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 Minix FS fixes.
15203
15204 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15205 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15206 Rename ctime to mtime. All users updated.
15207 (grub_minix_get_file_block): Fix types and double indirect computations.
15208
89481cab
VS
152092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15212 if no label is found.
15213 (grub_fat_iterate_dir): Fix file size type.
15214 (grub_fat_iterate_dir): Likewise.
15215
f646e143
VS
152162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15219 save some space.
15220 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15221 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15222
534d769e
VS
152232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15226
e084ba18
VS
152272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * util/import_gcry.py: Accept space between # and include.
15230
3471ecdf
VS
152312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15234
124df5f6
VS
152352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15238
15239 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15240 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15241 yylex_strncpy.
15242 * grub-core/script/yylex.l: Add fine-grained #pragma.
15243
4defb8d5
VS
152442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15247 New inline function.
15248 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15249 Likewise.
15250 (memset) [GRUB_UTIL]: Likewise.
15251 (memcmp) [GRUB_UTIL]: Likewise.
15252
4e94ae65
VS
152532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15256 inline function rather than a define.
15257
18c575e5
VS
152582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * util/grub-setup.c: Add missing include.
15261
f8bc22a8
VS
152622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * util/ieee1275/grub-ofpathname.c: Add missing include.
15265
3ce69fc9
VS
152662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15269 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15270 Likewise.
15271
d1e293bb
VS
152722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15275 grub_memcmp usage.
15276
7a5c54a4
VS
152772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * util/grub-install.in: Add datarootdir as per automake manual
15280 suggestion.
15281 * util/grub-mknetdir.in: Likewise.
15282
152832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15284
15285 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15286 suggestion.
15287 * util/grub.d/10_kfreebsd.in: Likewise.
15288 * util/grub.d/10_linux.in: Likewise.
15289 * util/grub.d/10_netbsd.in: Likewise.
15290 * util/grub.d/10_windows.in: Likewise.
15291 * util/grub.d/20_linux_xen.in: Likewise.
15292
766f7d08
VS
152932011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 Remove redundant grub_kernel_image_size.
15296
15297 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15298 _edata and _start.
15299 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15300 the small code. It moves it only by few bytes but simplifies the code.
15301 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15302 _start.
15303 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15304 (grub_kernel_image_size): Removed.
15305 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15306 (grub_kernel_image_size): Removed.
15307 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15308 compiled with Apple toolchain.
15309 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15310 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15311 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15312 (grub_total_module_size): Likewise.
15313 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15314 Removed.
15315 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15316 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15317 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15318 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15319 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15320 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15321 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15322 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15323 Removed.
15324 (grub_total_module_size): Removed.
15325 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15326 (image_targets): Likewise.
15327 Set .compressed_size to no field on sparc.
15328 (generate_image): Remove kernel_image_size handling.
15329
fcf1d672
SJ
153302011-10-19 Szymon Janc <szymon@janc.net.pl>
15331
15332 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15333 NULL pointer dereference.
15334
de9c615e
VS
153352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15338 done with a dedicated section.
15339
15340 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15341 Ensure the correct position of boot_path.
15342 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15343 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15344 other fields.
15345 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15346 * include/grub/boot.h: Removed. All references removed.
15347 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15348 Removed.
15349 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15350
e55599dc
VS
153512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15354 name.
15355
36dd20ad
VS
153562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15359
f8f72eb8
VS
153602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15363 Don't add the bogus brackets.
15364
a374751b
VS
153652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 ExFAT support.
15368
15369 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15370 * grub-core/Makefile.core.def (exfat): New module.
15371 * grub-core/fs/exfat.c: New file.
15372 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15373 (GRUB_FAT_ATTR_*): Make into an enum.
15374 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15375 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15376 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15377 (GRUB_FAT_MAXFILE): Removed.
15378 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15379 (grub_current_fat_bpb_t): New type.
15380 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15381 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15382 (grub_fat_dir_node_t): New type.
15383 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15384 (fat_log2) [MODE_EXFAT]: Removed.
15385 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15386 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15387 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15388 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15389 (grub_fat_label) [MODE_EXFAT]: New function.
15390 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15391 reserved_first_sector to 0.
15392
544c2487
VS
153932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Move grub_reboot out of the kernel.
15396
15397 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15398 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15399 * grub-core/lib/efi/reboot.c: ... here.
15400 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15401 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15402 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15403 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15404 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15405 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15406 * grub-core/lib/ieee1275/reboot.c: ... here.
15407 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15408 * grub-core/lib/mips/arc/reboot.c: ... here.
15409 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15410 * grub-core/lib/mips/loongson/reboot.c: ...here.
15411 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15412 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15413 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15414 * include/grub/i386/reboot.h: New file.
15415 * include/grub/mips/loongson/ec.h: Fix includes.
15416 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15417 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15418 * grub-core/lib/i386/reboot.c: New file.
15419
a97501d2
VS
154202011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Make grub_prefix into module to fix the arbitrary limit and save
15423 some space.
15424
15425 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15426 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15427 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15428 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15429 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15430 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15431 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15432 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15433 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15434 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15435 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15436 * include/grub/ia64/efi/kernel.h: Removed.
15437 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15438 (grub_prefix): Removed.
15439 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15440 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15441 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15442 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15443 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15444 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15445 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15446 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15447 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15448 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15449 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15450 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15451 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15452 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15453 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15454 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15455 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15456 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15457 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15458 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15459 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15460 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15461 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15462 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15463 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15464 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15465 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15466 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15467 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15468 from module.
15469 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15470 prefix_end.
15471 (image_targets): Likewise.
15472 (generate_image): Put prefix as a module.
15473
39705fad
VS
154742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 Replace grub_module_iterate with FOR_MODULES.
15477
15478 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15479 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15480 (grub_efi_modules_addr): ...this.
15481 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15482 (grub_efi_init): Set grub_modbase.
15483 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15484 (grub_modbase): New variable.
15485 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15486 (grub_modbase): New variable.
15487 (grub_machine_init): Set grub_modbase.
15488 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15489 (grub_modbase): New variable.
15490 (grub_machine_init): Set grub_modbase.
15491 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15492 (grub_modbase): New variable.
15493 (grub_machine_init): Set grub_modbase.
15494 * grub-core/kern/main.c (grub_module_iterate): Remove.
15495 (grub_modules_get_end): Use grub_modbase.
15496 (grub_load_modules): Use FOR_MODULES.
15497 (grub_load_config): Likewise.
15498 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15499 (grub_modbase): New variable.
15500 (grub_machine_init): Set grub_modbase.
15501 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15502 (grub_modbase): New variable.
15503 (grub_machine_init): Set grub_modbase.
15504 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15505 Removed.
15506 (grub_modbase): New variable.
15507 (grub_machine_init): Set grub_modbase.
15508 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15509 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15510 (grub_module_iterate): Likewise.
15511 (grub_modbase): New variable declaration.
15512 (FOR_MODULES): New macro.
15513
2afb7f6c
VS
155142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15517 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15518
366e34fa
VS
155192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 Fix few obvious type discrepancies.
15522
15523 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15524 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15525 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15526 variable.
15527 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15528 and connected types.
15529 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15530 offset.
15531 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15532 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15533 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15534 and connected types.
15535
177b960e
VS
155362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 Fix python 3.x incompatibilities.
15539
15540 * gentpl.py: Put brackets around print strings.
15541 * util/import_gcry.py: Open explicitly as utf-8.
15542 Use in instead of has_key.
15543
3b619ae1
VS
155442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15547 (GRUB_XFS_INO_AGBITS): Make into inline function.
15548 (GRUB_XFS_INO_INOINAG): Likewise.
15549 (GRUB_XFS_INO_AG): Likewise.
15550 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15551 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15552 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15553 (GRUB_XFS_EXTENT_SIZE): Likewise.
15554 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15555 (GRUB_XFS_NEXT_DIRENT): Likewise.
15556 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15557 (grub_xfs_read_file): Fix offset type.
15558
8bcebcb8
RM
155592011-10-15 Robert Millan <rmh@gnu.org>
15560
15561 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15562
0017e5ef
RM
155632011-10-15 Robert Millan <rmh@gnu.org>
15564
15565 Fix build problem on FreeBSD and GNU/kFreeBSD.
15566
15567 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15568
d8919552
VS
155692011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15572
15573 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15574 types.
15575 (grub_hfsplus_btree_recoffset): Likewise.
15576 (grub_hfsplus_btree_recptr): Likewise.
15577 (grub_hfsplus_find_block): Likewise.
15578 (grub_hfsplus_btree_search): Likewise.
15579 (grub_hfsplus_read_block): Likewise.
15580 (grub_hfsplus_read_file): Likewise.
15581 (grub_hfsplus_mount): Likewise.
15582 (grub_hfsplus_btree_iterate_node): Likewise.
15583 (grub_hfsplus_btree_search): Likewise.
15584 (grub_hfsplus_iterate_dir): Likewise.
15585 (grub_hfsplus_read): A small code simplification.
15586
c81296b6
VS
155872011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * grub-core/kern/emu/hostdisk.c
15590 (convert_system_partition_to_system_disk): Don't assume that children
15591 of mapper nodes are mapper nodes.
15592
0eb8ffb1
VS
155932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15596 * include/grub/misc.h (grub_isxdigit): New function.
15597 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15598 switched to grub_isxdigit.
15599 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15600 number starting with a letter.
15601
a98f4a08
RM
156022011-10-09 Robert Millan <rmh@gnu.org>
15603
15604 LVM support for FreeBSD and GNU/kFreeBSD.
15605
15606 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15607 GNU/kFreeBSD.
15608 (LVM_DEV_MAPPER_STRING): Move from here ...
15609 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15610 * util/getroot.c: Include `<grub/util/lvm.h>'.
15611 (grub_util_get_dev_abstraction): Enable
15612 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15613 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15614 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15615 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15616 support it.
15617 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15618 GNU/kFreeBSD.
15619 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15620 when LVM abstraction is required for ${GRUB_DEVICE}.
15621
050e8e90
SJ
156222011-10-06 Szymon Janc <szymon@janc.net.pl>
15623
15624 Add support for LZO compression in GRUB:
15625 - import of minilzo library,
15626 - LZO decompression for btrfs,
15627 - lzop files decompression.
15628
15629 * grub-core/io/lzopio.c: New file.
15630 * grub-core/lib/adler32.c: Likewise.
15631 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15632 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15633 * grub-core/lib/minilzo/minilzo.c: Likewise.
15634 * grub-core/lib/minilzo/minilzo.h: Likewise.
15635 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15636 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15637 grub-core/lib/minilzo/minilzo.c to common.
15638 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15639 cflags in cppflags.
15640 * grub-core/Makefile.core.def (btrfs): Likewise.
15641 * grub-core/Makefile.core.def (lzopio): New module.
15642 (adler32): Likewise.
15643 * grub-core/fs/btrfs.c: Include minilzo.h.
15644 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15645 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15646 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15647 (grub_btrfs_lzo_decompress): New function.
15648 (grub_btrfs_extent_read): Add support for LZO compression type.
15649 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15650 (GRUB_USHRT_MAX): Likewise.
15651 (GRUB_UINT_MAX): Likewise.
15652 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15653 (UINT_MAX): Likewise.
15654 (CHAR_BIT): Likewise.
15655 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15656 grub-core/lib/posix_wrap/limits.h
15657 (UCHAR_MAX): Likewise.
15658 * include/grub/file.h (grub_file_filter_id): New compression filter
15659 GRUB_FILE_FILTER_LZOPIO.
15660 * include/grub/file.h (grub_file_filter_id): Set
15661 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15662 * include/grub/types.h (grub_get_unaligned16): New function.
15663 (grub_get_unaligned32): Likewise.
15664 (grub_get_unaligned64): Likewise.
15665 * util/import_gcry.py (cryptolist): Add adler32.
15666
0eb8ffb1
VS
156672011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15670 in perspective decreases the complexity of build system and fixes
15671 compilation right now.
15672
ce79cc99 156732011-10-01 Ales Nesrsta <starous@volny.cz>
15674
15675 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15676 (fixed problem related to using UHCI with coreboot).
15677
8667a314
BC
156782011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15679
15680 * gentpl.py: Use Autogen macros so that the output template file
15681 (Makefile.tpl) size is reduced.
15682
fc5efcc0
MK
156832011-09-29 Mads Kiilerich <mads@kiilerich.com>
15684
15685 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15686 extra_dist.
15687
d1ab689d
ML
156882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15689
15690 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15691 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15692
c05de032
ML
156932011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15694
15695 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15696 _fullpath.
15697
cca7ccd8
ML
156982011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15699
15700 Remove extra declaration of sleep for mingw32.
15701
15702 * util/misc.c (sleep) [__MINGW32__]: Removed.
15703 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15704
e0b0dc83
GS
157052011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15706
15707 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15708 type and packname.
15709 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15710 Resurrected.
15711 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15712 (grub_netbsd_btinfo_bootwedge): New struct.
15713 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15714 New function.
15715 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15716
91a1a164
TH
157172011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15718
15719 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15720 loader.
15721
2ded951e
AB
157222011-09-28 Andreas Born <futur.andy@googlemail.com>
15723
15724 Fix incorrect identifiers in bash-completion.
15725
15726 * util/bash-completion.d/grub-completion.bash.in
15727 (_grub_mkpasswd-pbkdf2): Rename to ...
15728 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15729 (_grub_script-check): Rename to ...
15730 (_grub_script_check): ... this. All users updated.
15731
69915030
VS
157322011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15735 Return 0 if disk isn't biosdisk.
15736
20fd15f9
GS
157372011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15738
15739 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15740 on NetBSD.
15741 * Makefile.util.def (grub-fstest): Likewise.
15742
1a7d7db9
GS
157432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15744
15745 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15746 Get sector size from disk label.
15747
2221ab6c
CW
157482011-09-05 Colin Watson <cjwatson@ubuntu.com>
15749
15750 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15751 */README* as well as README*.
15752 Reported by: Axel Beckert.
15753
ca51c4a0
VS
157542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15757 case of less than 256 MiB of RAM.
15758
ab80f326
VS
157592011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 * grub-core/commands/wildcard.c (make_regex): Handle @.
15762
4155e697
VS
157632011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15766
ab178c08
SJ
157672011-08-21 Szymon Janc <szymon@janc.net.pl>
15768
15769 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15770 AC_LANG_CONFTEST macros.
15771
7dc3c686
SJ
157722011-08-20 Szymon Janc <szymon@janc.net.pl>
15773
15774 Add grub-fstest option to uncompress data for commands.
15775
15776 * util/grub-fstest.c (uncompress): New var.
15777 (options): New option -u.
15778
fe8d4a7b
SJ
157792011-08-20 Szymon Janc <szymon@janc.net.pl>
15780
15781 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15782 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15783
a5219af1
SJ
157842011-08-20 Szymon Janc <szymon@janc.net.pl>
15785
15786 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15787 file type was not recognized correctly (not gzip or corrupted).
15788
f87abff5
VS
157892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15792 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15793
d94497ea
VS
157942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15797 loongson.
15798 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15799 video_radeon_fuloong2e.
15800 * grub-core/video/radeon_fuloong2e.c: New file.
15801 * include/grub/video.h (grub_video_id_t): Add new ID
15802 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15803
0d1fd011
VS
158042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15807 define.
15808 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15809 that PRID matches the detected subplatform and reset the subplatform
15810 if it doesn't.
15811
84beb0ee
VS
158122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15815
1227c133
VS
158162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Fix PCI iterating on functions >= 4.
15819
15820 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15821 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15822 Removed.
15823 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15824 (grub_pci_read): Fix bitmask.
15825 (grub_pci_read_word): Likewise.
15826 (grub_pci_read_byte): Likewise.
15827 (grub_pci_write): Likewise.
15828 (grub_pci_write_word): Likewise.
15829 (grub_pci_write_byte): Likewise.
15830
9594c689
VS
158312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15834 can still be specified in TARGET_CFLAGS)
15835
14a2562c
VS
158362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15839
15840 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15841 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15842 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15843 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15844 (FULOONG): Rename to ...
15845 (FULOONG2F): ... this. All users updated.
15846 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15847 (machtype_fuloong2f_str): ... this.
15848 (machtype_fuloong2e_str): New string.
15849 Check for machtype_fuloong2e_str.
15850 * grub-core/loader/mips/linux.c (loongson_machtypes)
15851 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15852 * grub-core/term/serial.c (loongson_defserial)
15853 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15854 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15855 loongson_defserial.
15856 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15857 Rename to ...
15858 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15859 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15860 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15861 to IMAGE_FULOONG2F_FLASH. All users updated.
15862 (image_targets): Rename images.
15863 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15864
b526cbb6
SJ
158652011-08-19 Szymon Janc <szymon@janc.net.pl>
15866
15867 Make enable of disk cache statistics code configurable.
15868
15869 * configure.ac: --enable-cache-stats added.
15870 * config.h.in (DISK_CACHE_STATS): New define.
15871 * grub-core/Makefile.core.def (cacheinfo): New command.
15872 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15873 * grub-core/commands/cacheinfo.c: New file.
15874 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15875 moved to cacheinfo.c.
15876 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15877 debug code.
15878 * include/grub/disk.h: Likewise.
15879
fb739ccd
SJ
158802011-08-19 Szymon Janc <szymon@janc.net.pl>
15881
15882 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15883 * grub-core/Makefile.am: Likewise.
15884
2bba8cfd
VS
158852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15888 non-zero pull.
15889
43526629
VS
158902011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15893 All users updated.
15894 (grub_jfs_lookup_symlink): Use correct starting inode.
15895
5c144cc8
VS
158962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * util/grub-setup.c (main): Add missing gcry initialisation.
15899
b1257f65
VS
159002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 Don't accept text modes on EFI when booting Linux.
15903
15904 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15905 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15906
828bc390
ML
159072011-08-15 Mario Limonciello <mario_limonciello@dell.com>
159082011-08-15 Colin Watson <cjwatson@ubuntu.com>
15909
15910 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15911 use of "/path/.." as in grub-install for EFI as well as handling
15912 symlinks correctly.
15913 Fixes Debian bug #637768.
15914
5f60ccac
CW
159152011-08-15 Colin Watson <cjwatson@ubuntu.com>
15916
15917 * util/grub-probe.c: Remove duplicate #include.
15918
6dc212f9
RM
159192011-08-10 Robert Millan <rmh@gnu.org>
15920
15921 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15922
15923 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15924 function.
15925 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15926 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15927
66816d85
RM
159282011-08-03 Robert Millan <rmh@gnu.org>
15929
15930 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15931 la_array as packed.
15932 Reported by: Zachary Bedell
15933
20168fca
CW
159342011-07-26 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * configure.ac: The Loongson port requires grub-mkfont due to its
15937 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15938 be built.
15939
303b6246
CW
159402011-07-26 Colin Watson <cjwatson@ubuntu.com>
15941
15942 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15943 processing arguments (otherwise help2man fails when GRUB has not yet
15944 been installed).
15945
6795300e
VS
159462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15947
41aa28ea
VS
15948 New script grub-mkstandalone.
15949
15950 * Makefile.util.def (grub-mkstandalone): New script.
15951 * docs/man/grub-mkstandalone.h2m: New file.
15952 * util/grub-mkstandalone.in: Likewise.
15953
159542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 Support ATA disks with 4K sectors.
6795300e
VS
15957
15958 * include/grub/ata.h (grub_ata): New member log_sector_size.
15959 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15960 (grub_ata_identify): Read sector size.
15961 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15962
92227597
VS
159632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * util/grub-install.in: Don't use uhci outside of x86.
15966
c77069f5
VS
159672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * util/grub-mkrescue.in: Add missing quotes.
15970
159712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15972
15973 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15974 dereference.
15975
583168a2
VS
159762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15979
6be1c01f
VS
159802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * include/grub/video.h: add missing EXPORT_FUND on
15983 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15984
a1167439
VS
159852011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * include/grub/mips/kernel.h: Fix define conflict.
15988
bf66054f
VS
159892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15992 all four ways.
15993
8fc4fa45
CW
159942011-07-21 Colin Watson <cjwatson@ubuntu.com>
15995
15996 Preferred resolution detection for VBE.
15997
15998 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15999 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16000 the Flat Panel extension, in line with the X.org VESA driver.
16001 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16002 New function.
16003 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16004 (grub_vbe_bios_read_edid): Likewise.
16005 (grub_vbe_get_preferred_mode): Likewise.
16006 (grub_video_vbe_setup): When the mode is "auto", try to get the
16007 preferred mode from VBE, and use the largest mode that is no larger
16008 than the preferred mode (some BIOSes expose a preferred mode that is
16009 not in their mode list!). If this fails, fall back to 640x480 as a
16010 safe conservative choice.
16011 (grub_video_vbe_get_edid): New function.
16012 (grub_video_vbe_adapter): Add get_edid.
16013 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16014 (struct grub_video_adapter): Add get_edid.
16015 (grub_video_edid_checksum): Add prototype.
16016 (grub_video_edid_preferred_mode): Likewise.
16017 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16018 structure.
16019
16020 * grub-core/commands/videoinfo.c (print_edid): New function.
16021 (grub_cmd_videoinfo): Print EDID if available.
16022
16023 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16024 is more appropriate on a wider range of platforms than 640x480.
16025 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16026 documentation.
16027
ca5572a9
VS
160282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16031
e4bcf625
VS
160322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * po/POTFILES.in: Regenerate.
16035
c4edd548
VS
160362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16039 incorrect memory usage.
16040
16a2bab0
VS
160412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * util/grub-install.in: Source grub-mkconfig_lib.
16044
2e418de6
VS
160452011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 Remove getroot.c from core on emu platform.
16048
16049 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16050 kern/emu/raid.c.
16051 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16052 useless.
16053 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16054 * util/getroot.c (get_win32_path): ... here.
16055 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16056 * util/getroot.c (fini_libzfs): ... here.
16057 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16058 * util/getroot.c (grub_get_libzfs_handle): ... here.
16059 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16060 Moved from here...
16061 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16062 * grub-core/kern/emu/misc.c
16063 (grub_make_system_path_relative_to_its_root): Moved from here...
16064 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16065 * grub-core/kern/emu/getroot.c: Moved from here ...
16066 * util/getroot.c: ... here. All users updated.
16067 * grub-core/kern/emu/raid.c: Moved from here ...
16068 * util/raid.c: ... here. All users updated.
16069
def9832a
VS
160702011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * po/POTFILES.in: Regenerate.
16073
cd8fe79a
VS
160742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 Fix compilation on GNU/Linux.
16077
16078 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16079 Disable geli.
16080 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16081 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16082 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16083
a251b719
VS
160842011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
160852011-07-07 Michael Gorven <michael@gorven.za.net>
160862011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16087
16088 LUKS and GELI support.
16089
16090 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16091 grub-core/disk/luks.c, grub-core/disk/geli.c,
16092 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16093 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16094 grub-core/lib/arg.c.
16095 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16096 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16097 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16098 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16099 (grub-bin2h): Add libgcry.a.
16100 (grub-mkimage): Likewise.
16101 (grub-mkrelpath): Likewise.
16102 (grub-script-check): Likewise.
16103 (grub-editenv): Likewise.
16104 (grub-mkpasswd-pbkdf2): Likewise.
16105 (grub-pe2elf): Likewise.
16106 (grub-fstest): Likewise.
16107 (grub-mkfont): Likewise.
16108 (grub-mkdevicemap): Likewise.
16109 (grub-probe): Likewise.
16110 (grub-ofpath): Likewise.
16111 (grub-mklayout): Likewise.
16112 (example_unit_test): Likewise.
16113 (grub-menulst2cfg): Likewise.
16114 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16115 * grub-core/Makefile.core.def (cryptodisk): New module.
16116 (luks): Likewise.
16117 (geli): Likewise.
16118 * grub-core/disk/AFSplitter.c: New file.
16119 * grub-core/disk/cryptodisk.c: Likewise.
16120 * grub-core/disk/geli.c: Likewise.
16121 * grub-core/disk/luks.c: Likewise.
16122 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16123 grub_util_is_lvm.
16124 (grub_util_get_dm_abstraction): New function.
16125 (grub_util_follow_gpart_up): Likewise.
16126 (grub_util_get_geom_abstraction): Likewise.
16127 (grub_util_get_dev_abstraction): Use new functions.
16128 (grub_util_pull_device): Pull GELI and LUKS.
16129 (grub_util_get_grub_dev): Handle LUKS and GELI.
16130 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16131 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16132 (follow_geom_up): Removed.
16133 (grub_util_fd_seek): New function.
16134 (open_device): Use grub_util_fd_seek.
16135 (nread): Rename to ..
16136 (grub_util_fd_read): ... this. All users updated.
16137 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16138 (grub_crypto_cbc_decrypt): Likewise.
16139 (grub_crypto_hmac_write): Likewise.
16140 (grub_crypto_hmac_buffer): Likewise.
16141 (grub_password_get): Extend to util.
16142 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16143 New member modname.
16144 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16145 * include/grub/cryptodisk.h: New file.
16146 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16147 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16148 LUKS and GELI.
16149 (grub_util_follow_gpart_up): New proto.
16150 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16151 (grub_util_fd_read): Likewise.
16152 (grub_cryptodisk_cheat_mount): Likewise.
16153 (grub_util_cryptodisk_print_uuid): Likewise.
16154 (grub_util_get_fd_sectors): Likewise.
16155 * util/grub-fstest.c (mount_crypt): New var.
16156 (fstest): Mount crypto if requested.
16157 (options): New option -C.
16158 (argp_parser): Parse -C.
16159 (main): Init and fini gcry.
16160 * util/grub-install.in: Support cryptodisk install.
16161 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16162 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16163 cryptodisk.
16164 (prepare_grub_to_access_device): Likewise.
16165 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16166 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16167 (probe_cryptodisk_uuid): New function.
16168 (probe_abstraction): Likewise.
16169 (probe): Use new functions.
16170 * util/import_gcry.py: Create Makefile.utilgcry.def.
16171 Add modname member.
16172
9bfdcbbc
VS
161732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 Lazy device scanning.
16176
16177 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16178 (grub-setup): Remove util/raid.c.
16179 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16180 * grub-core/disk/lvm.c (scan_depth): New variable.
16181 (grub_lvm_iterate): Rescan if necessary.
16182 (find_lv): New function based on grub_lvm_open.
16183 (grub_lvm_open): Use find_lv. Rescan on error.
16184 (is_node_readable): New function.
16185 (is_lv_readable): Likewise.
16186 (grub_lvm_scan_device): Skip already found disks.
16187 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16188 Stop if searched device is found and readable.
16189 * grub-core/disk/raid.c (inscnt): New variable.
16190 (scan_depth): Likewise.
16191 (scan_devices): New function based on grub_raid_register. Abort if
16192 looked for device is found.
16193 (grub_raid_iterate): Rescan if needed.
16194 (find_array): NEw function based on -grub_raid_open.
16195 (grub_raid_open): Use find_array and rescan.
16196 (insert_array): Set became_readable_at.
16197 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16198 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16199 New function.
16200 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16201 (grub_util_pull_device): New function.
16202 (grub_util_get_grub_dev): Call grub_util_pull_device.
16203 * util/raid.c: Moved to ..
16204 * grub-core/kern/emu/raid.c: ... here.
16205 (grub_util_raid_getmembers): New parameter "bootable".
16206 All users updated. Support 1.x.
16207 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16208 All users updated.
16209 * include/grub/disk.h (grub_disk_pull_t): New enum.
16210 (grub_disk_dev): Change iterate prototype.
16211 All users updated.
16212 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16213 New proto.
16214 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16215 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16216 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16217 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16218 All users updated.
16219 * include/grub/util/raid.h: Removed.
16220
1c358e59
VS
162212011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * po/POTFILES.in: Regenerate.
16224
abee94ed
VS
162252011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 Unify sparc init with other ieee1275.
16228
16229 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16230 instead of kern/sparc64/ieee1275/init.c.
16231 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16232 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16233 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16234 grub/machine/kernel.h.
16235 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16236 (grub_claim_heap) [__sparc__]: Use sparc version.
16237 (grub_machine_init): Moved args parsing to
16238 (grub_parse_cmdline): ...this.
16239 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16240 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16241 New definition.
16242 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16243
16244 Move BOOTP to separate file.
16245
16246 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16247 * grub-core/net/net.c: Move all BOOTP functions to
16248 * grub-core/net/bootp.c: ... here.
16249
16250 Use frame interface on PXE.
16251
16252 * grub-core/Makefile.core.def (pxecmd): Removed.
16253 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16254 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16255 * grub-core/i386/pc/pxe.c: Moved from here ...
16256 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16257 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16258 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16259
16260 EFI network support.
16261
16262 * grub-core/Makefile.core.def (efinet): New module.
16263 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16264 here...
16265 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16266 All users updated.
16267 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16268 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16269 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16270 * grub-core/net/drivers/efi/efinet.c: New file.
16271 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16272 (grub_efi_net_config): New extern var.
16273
16274 Various cleanups and bugfixes.
16275
16276 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16277 error.
16278 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16279 disk declared as partition.
16280 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16281 leak on failure.
16282 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16283 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16284 (grub_debug_zalloc): Likewise.
16285 (grub_debug_realloc): Likewise.
16286 (grub_debug_memalign): Likewise.
16287 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16288 Check that target is IPv4.
16289 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16290 local-mac-address as fallback.
16291 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16292 memory leak.
16293 * grub-core/net/ip.c (ipchksum): Rename to ...
16294 (grub_net_ip_chksum): ... this. All users updated.
16295 (grub_net_recv_ip_packets): Special handling for DHCP.
16296 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16297
16298 Unify prefix handling
16299
16300 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16301 (grub_machine_get_bootlocation): ... this.
16302 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16303 (grub_machine_get_bootlocation): ... this.
16304 (grub_prefix): New variable.
16305 (prefix): Removed.
16306 (root_dev): New variable.
16307 (dir): Likewise.
16308 (main): Use new variables.
16309 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16310 Revamped into ...
16311 (grub_machine_get_bootlocation): ... this.
16312 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16313 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16314 (grub_machine_get_bootlocation): ... this.
16315 (grub_machine_set_prefix): Removed.
16316 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16317 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16318 Revamped into ...
16319 (grub_machine_get_bootlocation): ... this.
16320 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16321 (grub_set_prefix_and_root): ... this. All users updated.
16322 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16323 Revamped into ...
16324 (grub_machine_get_bootlocation): ... this.
16325 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16326 (grub_machine_get_bootlocation): New proto.
16327 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16328
16329 Less intrusive and more reliable seek on network implementation.
16330
16331 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16332 (grub_file_seek): Don't call grub_file_net_seek.
16333 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16334 (grub_net_fs_read_real): .. this.
16335 (grub_net_seek_real): Use net->offset.
16336 (grub_net_fs_read): Seek if necessary.
16337
16338 Unify IEEE1275 netwotk config with the other platforms.
16339
16340 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16341 New variable.
16342 (grub_machine_get_bootlocation): Support network.
16343 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16344 Support type and device parsing.
16345 (grub_ieee1275_get_device_type): New function.
16346 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16347 into ...
16348 (grub_ieee1275_net_config_real): ... this.
16349 (grub_ofnet_probecards): Removed.
16350 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16351 * include/grub/ieee1275/ofnet.h: Removed.
16352 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16353 extern var.
16354 (grub_ieee1275_get_device_type): New function.
16355
16356 Unify network device closing across platforms and make more robust.
16357
16358 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16359 grub_grubnet_fini.
16360 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16361 already.
16362 * grub-core/net/net.c (grub_net_network_level_interface_register):
16363 Update num_ifaces.
16364 (grub_net_card_unregister): Close all interfaces.
16365 (receive_packets): Don't poll if no iterfaces are registered.
16366 Open if necessary.
16367 (grub_net_fini_hw): New function.
16368 (grub_net_restore_hw): Likewise.
16369 (fini_hnd): New variable.
16370 (GRUB_MOD_INIT): Register preboot hook.
16371 (GRUB_MOD_FINI): Run and unregister preboot hook.
16372
16373 Poll network cards when idle.
16374
16375 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16376 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16377 * grub-core/net/net.c (receive_packets): Save last poll time.
16378 (grub_net_poll_cards_idle_real): New function.
16379 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16380 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16381 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16382
16383 Rename ofnet interfaces.
16384
16385 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16386 (grub_ofnet_findcards): Use ofnet_%s names.
16387
16388 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16389
16390 Cleanup socket opening.
16391
16392 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16393 (grub_net_fs_close): Likewise.
16394 (grub_net_fs_read_real): Use eof member.
16395 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16396 (+grub_net_udp_close): New inline function.
16397
16398 * include/grub/net/tftp.h: Moved to the top of ...
16399 * grub-core/net/tftp.c: ... here.
16400 * include/grub/net/ip.h: Moved mostly to the top of ...
16401 * grub-core/net/ip.c: ... here.
16402 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16403 * grub-core/net/ethernet.c: ... here.
16404
16405 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16406
16407 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16408 FS name.
16409
16410 * include/grub/net/ip.h (ipv4_ini): Removed.
16411 (ipv4_fini): Likewise.
16412
16413 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16414 (grub_net_send_ip_packets): Likewise.
16415
cf1337aa
VS
164162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16419 grub_read_cmos prototype.
16420
93c06ff9
VS
164212011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 VGA text support in qemu-mips
16424
16425 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16426 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16427 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16428 text.
16429 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16430 * grub-core/kern/vga_init.c: ... this.
16431 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16432 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16433 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16434 Adjust.
16435 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16436 GRUB_MACHINE_PCI_IO_BASE.
16437
748ccabe
VS
164382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 MIPS qemu flash support.
16441
16442 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16443 magic.
16444 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16445 (grub_machine_init): Probe memory if its size isn't known.
16446 * util/grub-mkimage.c (image_targets): Add flash targets.
16447 (generate_image): Handle flash targets.
16448
d7345994
VS
164492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 MIPS qemu at_keyboard support.
16452
16453 * gentpl.py (videoinkernel): Add qemu-mips.
16454 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16455 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16456 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16457 modules.
16458 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16459 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16460 * grub-core/term/serial.c (grub_serial_register)
16461 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16462
a07a81b3
VS
164632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16464
16465 CMOS support on sparc.
16466
16467 * gentpl.py (cmos): Add powerpc and sparc.
16468 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16469 powerpc and sparc.
16470 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16471 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16472 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16473 grub_set_datetime_cmos.
16474 * grub-core/lib/ieee1275/cmos.c: New file.
16475 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16476 (find_rtc): Set no_ieee1275_rtc on error.
16477 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16478 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16479 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16480 fail. Move value to argument. All users updated
16481 (grub_cmos_write): Likewise.
16482 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16483 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16484 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16485 grub_get_datetime_cmos and grub_set_datetime_cmos.
16486
77546584
GS
164872011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16488
16489 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16490 sourcing grub-mkconfig_lib.
16491 * util/update-grub_lib.in: Likewise.
16492 * util/grub.d/00_header.in: Likewise.
16493 * util/grub.d/10_hurd.in: Likewise.
16494 * util/grub.d/10_kfreebsd.in: Likewise.
16495 * util/grub.d/10_linux.in: Likewise.
16496 * util/grub.d/10_netbsd.in: Likewise.
16497 * util/grub.d/10_windows.in: Likewise.
16498 * util/grub.d/20_linux_xen.in: Likewise.
16499 * util/grub.d/30_os-prober.in: Likewise.
16500
54894791
CW
165012011-06-28 Colin Watson <cjwatson@ubuntu.com>
16502
16503 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16504 default_bg_color rather than black.
16505 (grub_gfxterm_fullscreen): Likewise.
16506 (grub_gfxterm_background_color_cmd): Save new background color in
16507 default_bg_color.
16508
8d5d8444
VS
165092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16512
5afeb5bd
VS
165132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16516 mismerge.
16517
ba7df45e
VS
165182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 Chainloading on coreboot support.
16521
16522 * grub-core/Makefile.core.def (chain): Add coreboot.
16523 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16524
d0b526b2
VS
165252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16528 if it happens.
16529
5ff1d945
VS
165302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 Implement time command.
16533
16534 * grub-core/Makefile.core.def (time): New module.
16535 * grub-core/commands/time.c: New file.
16536 * grub-core/script/parser.y: Remove "time" keyword.
16537 * grub-core/script/yylex.l: Likewise.
16538
5ebaad7e
VS
165392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16542
bdea3798
VS
165432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16546 when handling leftovers.
16547
b28c5655
VS
165482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16551 so that help2man doesn't fail.
16552
b6f945dc
VS
165532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16556 type in pointers on sparc64.
16557 (get_card_packet): Likewise.
16558
f9b75e8a
CW
165592011-06-27 Colin Watson <cjwatson@ubuntu.com>
16560
16561 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16562 with `*'.
16563 (grub_cmd_videoinfo): Fetch current video mode.
16564
1e3d9b86
VS
165652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16568 because of underlying system restrictions.
16569
efff4b1c
VS
165702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16573 necessary.
16574
9fc9ce37
VS
165752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16576
16577 Coreboot video support.
16578
16579 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16580 (vbe): Likewise.
16581 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16582 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16583 here ...
16584 * grub-core/kern/i386/int.S: ... here.
16585 * grub-core/video/i386/pc/vbe.c: Updated includes.
16586 * grub-core/video/i386/pc/vga.c: Likewise.
16587 * include/grub/i386/coreboot/memory.h
16588 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16589 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16590 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16591 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16592 Disable interrupts.
16593 * include/grub/i386/pc/vga.h: Removed. All users updated.
16594
41bec7fe
VS
165952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16598 definitions for dprintf.
16599 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16600
ca80309d
VS
166012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16604 prototype.
16605 (get_card_packet): Likewise.
16606
9e322ce8
YB
166072011-06-26 Yves Blusseau <blusseau@zetam.org>
16608
16609 Display the path of the file when file is not found
16610
16611 * grub-core/fs/fat.c: Display the filename when file is not found.
16612 * grub-core/fs/fshelp.c: Likewise.
16613 * grub-core/fs/hfs.c: Likewise.
16614 * grub-core/fs/jfs.c: Likewise.
16615 * grub-core/fs/minix.c: Likewise.
16616 * grub-core/fs/ufs.c: Likewise.
16617 * grub-core/fs/btrfs.c: Likewise.
16618 * grub-core/commands/i386/pc/play.c: Likewise.
16619
cbf597af
SJ
166202011-06-26 Szymon Janc <szymon@janc.net.pl>
16621
16622 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16623 pointer checks before calling grub_free().
16624 * grub-core/commands/wildcard.c (match_devices): Likewise.
16625 * grub-core/commands/wildcard.c (match_files): Likewise.
16626 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16627 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16628 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16629 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16630 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16631 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16632 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16633 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16634 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16635
6295b32f
P
166362011-06-25 Patrick <p55@mailinator.com>
16637
16638 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16639
77c0840b
VS
166402011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16643 (grub_pxe_send): Likewise.
16644 (GRUB_MOD_INIT): Fix types.
16645
40ea05de
SJ
166462011-06-24 Szymon Janc <szymon@janc.net.pl>
16647
16648 * grub-core/io/xzio.c: Fix code style issues
16649
90162423
MRA
166502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
166512011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16652
16653 Network infrastructure.
16654 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16655
16656 * include/grub/net/arp.h: New file.
90162423
MRA
16657 * include/grub/net/device.h: Likewise.
16658 * include/grub/net/ethernet.h: Likewise.
16659 * include/grub/net/ip.h: Likewise.
16660 * include/grub/net/netbuff.h: Likewise.
16661 * include/grub/net/tftp.h: Likewise.
16662 * include/grub/net/udp.h: Likewise.
16663 * include/grub/ieee1275/ofnet.h: Likewise.
16664 * include/grub/emu/export.h: Likewise.
16665 * include/grub/net.h: Likewise.
16666 * grub-core/net/arp.c: Likewise.
16667 * grub-core/net/ethernet.c: Likewise.
16668 * grub-core/net/ip.c: Likewise.
16669 * grub-core/net/udp.c: Likewise.
16670 * grub-core/net/tftp.c: Likewise.
16671 * grub-core/net/netbuff.c: Likewise.
16672 * grub-core/net/net.c: Likewise.
16673 * grub-core/net/drivers/emu/emunet.c: Likewise.
16674 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16675 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16676 export.h.
16677 * grub-core/Makefile.core.def (net): New module.
16678 (tftp): Likewise.
16679 (ofnet): Likewise.
16680 (emunet): Likewise.
16681 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16682 network protocols.
16683 * grub-core/kern/device.c (grub_net_open) : New variable.
16684 (grub_device_open): Handle network device.
16685 (grub_device_close): Likewise.
16686 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16687 (grub_grubnet_fini): Likewise.
16688 (grub_file_seek): Seek in network device.
16689 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16690 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16691 network root.
16692 (grub_machine_fini): Call grub_grubnet_fini.
16693 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16694 network.
16695 (grub_ieee1275_get_aliasdevname): New function.
16696 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16697 Add unofficial Solaris network info.
16698 (grub_multiboot_make_mbi): Likewise.
16699 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16700 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16701 * include/grub/device.h (grub_fs): Removed.
16702 * include/grub/err.h (grub_err_t): Add network-related values.
16703 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16704 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16705 (grub_ieee1275_get_aliasdevname): New proto.
16706 * include/grub/net.h: Rewritten.
423a1849 16707
031f22a0
VS
167082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16711 names.
16712
4388ca72
VS
167132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16716 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16717 it truncates the output.
16718 Reported by: Ximin Luo.
16719
98e2f506
VS
167202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16723
2a5e94d8
VS
167242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16727 partmap before abstraction.
16728
535c1910
AK
167292011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16730
16731 * util/grub-mkconfig_lib.in: Add missing quotes.
16732
bc09e1a2
VS
167332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16736 old method if mountinfo would return /dev/root and /dev/root doesn't
16737 exist.
16738
290766fb
VS
167392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 ZFS zlib support
16742
16743 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16744 (decomp_table): Add zlib entries.
16745 (zio_read): USe 8 bits for compression function rather than 3.
16746 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16747
167482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * grub-core/disk/ahci.c: Add missing license statements.
16751 * grub-core/fs/romfs.c: Likewise.
16752 * grub-core/lib/ia64/setjmp.S: Likewise.
16753 * grub-core/loader/i386/pc/freedos.c: Likewise.
16754 * grub-core/loader/ia64/efi/linux.c: Likewise.
16755 * grub-core/video/colors.c: Likewise.
16756 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16757
5ab3f48a
VS
167582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 AHCI support.
16761
16762 * grub-core/Makefile.core.def (ata_pthru): Removed.
16763 (ahci): New module.
16764 (pata): Likewise.
16765 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16766 on unload.
16767 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16768 readwrite.
16769 (grub_hdparm_do_check_powermode_cmd): Likewise.
16770 (grub_hdparm_do_smart_cmd): Likewise.
16771 (grub_hdparm_set_val_cmd): Likewise.
16772 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16773 * grub-core/disk/ahci.c: New file.
16774 * grub-core/disk/ata.c: Factor out the low-level part into ...
16775 * grub-core/disk/pata.c: ... here.
16776 * grub-core/disk/ata_pthru.c: Contents moved to ...
16777 * grub-core/disk/pata.c: ... here.
16778 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16779 (grub_scsi_iterate): Use grub_scsi_names.
16780 (grub_scsi_open): Likewise.
16781 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16782 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16783 (grub_ata_regs_t): New struct.
16784 (grub_disk_ata_pass_through_parms): Likewise.
16785 (grub_ata_device): Renamed to ...
16786 (grub_ata): ... this.
16787 (grub_ata_dev): New struct.
16788 Removed all low-level inline functions.
16789 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16790 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16791 iterate hooks and open. All users updated.
16792 * util/grub-install.in: Handle AHCI disk module.
16793
c31dc5f5
SJ
167942011-06-23 Szymon Janc <szymon@janc.net.pl>
16795
16796 Add support for DRI and RSTn markers in JPEG files.
16797
16798 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16799 (JPEG_MARKER_RST0): Likewise.
16800 (JPEG_MARKER_RST1): Likewise.
16801 (JPEG_MARKER_RST2): Likewise.
16802 (JPEG_MARKER_RST3): Likewise.
16803 (JPEG_MARKER_RST4): Likewise.
16804 (JPEG_MARKER_RST5): Likewise.
16805 (JPEG_MARKER_RST6): Likewise.
16806 (JPEG_MARKER_RST7): Likewise.
16807 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16808 (grub_jpeg_decode_dri): New function.
16809 (grub_jpeg_decode_sos): Move image data related part into
16810 grub_jpeg_decode_data function.
16811 (grub_jpeg_decode_data): New function.
16812 (grub_jpeg_reset): New function.
16813 (grub_jpeg_decode_jpeg): Handle new markers.
16814
fe12fd5b
VS
168152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 * util/ieee1275/ofpath.c (check_sas): Close fd.
16818 (main): Free of_path.
16819 Reported by: David Volgyes <dvolgyes>.
16820
03147f46
VS
168212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16824 Reported by: David Volgyes <dvolgyes>.
16825
cad3237f
VS
168262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16829 file after stat.
16830 Reported by: David Volgyes <dvolgyes>.
16831
13548d26
VS
168322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16835
16836 Reported by: David Volgyes <dvolgyes>.
16837
e061a1b5
VS
168382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16841 Prevent memory leak.
16842
1abe47dc
VS
168432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16846 (main): Close file.
e061a1b5 16847 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16848
fbc62666
VS
168492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16850
16851 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16852 to continue if allocation is failed.
16853
16854 Reported by: David Volgyes <dvolgyes>.
16855
e98c83e9
DV
168562011-06-23 David Volgyes <dvolgyes>
16857
16858 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16859 dereference.
16860
a199a8cd
VS
168612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 Fix spurious warning.
16864
16865 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16866 (acorn_partition_map_find): Use .bin member.
16867
e2d1dba0
VS
168682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16871 /dev/root as a valid device.
16872
8a5d6919
JM
168732011-06-23 Jim Meyering <meyering@redhat.com>
16874
e2d1dba0
VS
16875 Avoid NULL deref in grub_device_open.
16876
8a5d6919
JM
16877 * grub-core/kern/device.c (grub_device_open): Don't dereference
16878 a NULL pointer upon failed grub_env_get.
16879
f7db6f4a
VS
168802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 Support non-512B sectors and agglomerate reads.
16883
16884 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16885 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16886 (disk_io_guid): Removed.
16887 (make_devices): Locate solely by BlockIO.
16888 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16889 (grub_efidisk_read): Use read_blocks.
16890 (grub_efidisk_write): Use write_blocks.
16891 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16892 log_sector_size.
16893 (get_safe_sectors): Handle non-512B sectors.
16894 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16895 sectors.
16896 (grub_biosdisk_write): Handle non-512B sectors.
16897 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16898 (grub_scsi_read): Remove special non-512B block handling (now handled
16899 one level up).
16900 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16901 and do sanity checks.
16902 (grub_disk_adjust_range): Handle non-512B sectors.
16903 (transform_sector): New function.
16904 (grub_disk_read_small): Likewise.
16905 (grub_disk_read): Rewritten.
16906 (grub_disk_write): Handle non-512B sectors.
16907 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16908 log_sector_size.
16909 (open_device): Use log_sector_size.
16910 (grub_util_biosdisk_read): Likewise.
16911 (grub_util_biosdisk_write): Likewise.
16912 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16913 non-512B sectors.
16914 (pc_partition_map_embed): Likewise.
16915 * include/grub/disk.h (grub_disk): New field log_sector_size.
16916 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16917 (GRUB_DISK_CACHE_BITS): Increased to 6.
16918 * util/grub-fstest.c (fstest): New command testload.
16919 (argp_parser): Likewise.
16920
881ac815
RM
169212011-06-16 Robert Millan <rmh@gnu.org>
16922
16923 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16924 `ata' driver on kernel of FreeBSD 9.
16925
16926 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16927 (get_ataraid_disk_name): New functions.
16928 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16929 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16930 get_ataraid_disk_name() and get_ada_disk_name().
16931
1e9aef7d
CW
169322011-06-13 Colin Watson <cjwatson@ubuntu.com>
16933
16934 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16935 input format.
16936
351c7c8a
CW
169372011-05-29 Colin Watson <cjwatson@ubuntu.com>
16938
16939 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16940 `ftp.gnu.org' for `alpha.gnu.org'.
16941
6b4e6430
CW
169422011-05-27 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16945 partitions under /dev/disk/by-id/.
16946
c64db050
CW
169472011-05-27 Colin Watson <cjwatson@ubuntu.com>
16948
16949 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16950 after ten consecutive open failures. Scanning all the way up to
16951 10000 is excessive and can cause serious performance problems in
16952 some configurations.
16953 Fixes Ubuntu bug #787461.
16954
245f4aba
VS
169552011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16958 opening new one.
16959
f767c929
VS
169602011-05-21 Colin Watson <cjwatson@ubuntu.com>
169612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 Don't stat devices unless we have to.
16964
16965 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16966 dir == /dev/mapper.
16967 (grub_guess_root_device): Use already known os_dev if possible.
16968 * grub-core/kern/emu/hostdisk.c
16969 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16970 if device is known to be a dm one.
16971
f35fa3a6
CW
169722011-05-20 Colin Watson <cjwatson@ubuntu.com>
16973
16974 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16975 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16976 Reported by: Pawel Tecza.
16977
9a79fcf2
VS
169782011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16981 (lsefisystab): Likewise.
16982 (lssal): Likewise.
16983 (lsefimmap): Likewise.
16984 (hdparm): Enable on qemu-mips.
16985 (setjmp): Add ia64 nodist.
16986 (serial): Simplify tags.
16987
63e3eea9
CW
169882011-05-18 Colin Watson <cjwatson@ubuntu.com>
16989
16990 * Makefile.util.def (grub-ofpathname): Install manual page.
16991
09728256
CW
169922011-05-18 Colin Watson <cjwatson@ubuntu.com>
16993
16994 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16995
8b63a142
CW
169962011-05-18 Colin Watson <cjwatson@ubuntu.com>
16997
16998 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16999
e775d8ed
VS
170002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17003 into dprintf.
17004
bf947d36
VS
170052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Use full 64-bit division.
17008
17009 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17010 (grub_divmod64): ... this.
17011 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17012 version.
17013
b84f26c5
CW
170142011-05-18 Colin Watson <cjwatson@ubuntu.com>
17015
17016 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17017 `source'.
17018
5626056f
CW
170192011-05-18 Colin Watson <cjwatson@ubuntu.com>
17020
17021 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17022 to avoid accidents when debugging with 'sh -x'.
17023 * grub-core/gensyminfo.sh.in: Likewise.
17024 * tests/example_scripted_test.in: Likewise.
17025 * tests/grub_cmd_regexp.in: Likewise.
17026 * tests/grub_script_blanklines.in: Likewise.
17027 * tests/grub_script_dollar.in: Likewise.
17028 * tests/grub_script_expansion.in: Likewise.
17029 * tests/grub_script_final_semicolon.in: Likewise.
17030 * tests/partmap_test.in: Likewise.
17031 * tests/util/grub-shell-tester.in: Likewise.
17032 * tests/util/grub-shell.in: Likewise.
17033
e2965f4a
CW
170342011-05-18 Colin Watson <cjwatson@ubuntu.com>
17035
17036 Move gfxmenu color handling to video, so that gfxterm can use it
17037 too.
17038
17039 * grub-core/gfxmenu/named_colors.c: Move to ...
17040 * grub-core/video/colors.c: ... here. Rename
17041 grub_gui_get_named_color to grub_video_get_named_color.
17042 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17043 * grub-core/video/colors.c (my_isxdigit): ... here.
17044 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17045 Move to ...
17046 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17047 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17048 to ...
17049 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17050
17051 * include/grub/gui.h (grub_gui_color_t): Move to ...
17052 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17053 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17054 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17055 * include/grub/gui.h (grub_gui_map_color): Move to ...
17056 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17057 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17058 to ...
17059 * include/grub/video.h (grub_video_get_named_color): ... here.
17060 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17061 * include/grub/video.h (grub_video_parse_color): ... here.
17062
17063 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17064 video/colors.c.
17065 (gfxmenu): Remove gfxmenu/named_colors.c.
17066 (video) [videomodules]: Add video/colors.c.
17067
17068 Add a background_color command.
17069
17070 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17071 function.
17072 (GRUB_MOD_INIT): Register background_color command.
17073 (GRUB_MOD_FINI): Unregister background_color command.
17074 (redraw_screen_rect): Allow blend/replace of text layer to be
17075 controlled independently from whether there is a background bitmap.
17076 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17077 changing bitmap.
17078
1e4b4390
VS
170792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17080
26618ff0
VS
17081 Patch BPB in ntldr and chainloader --bpb.
17082
1e4b4390
VS
17083 * grub-core/fs/fat.c: Include grub/fat.h.
17084 (grub_fat_bpb): Moved to ...
17085 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17086 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17087 grub/ntfs.h.
17088 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17089 Moved from here...
17090 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17091 here.
17092 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17093 New function.
17094 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17095 (GRUB_MOD_INIT): Show --bpb.
17096 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17097 * grub-core/normal/main.c (features): New variable.
17098 (GRUB_MOD_INIT): Set feature_* variables.
17099 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17100 proto.
17101 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17102
cf02731e
VS
171032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17106 for cleanness.
17107
e3a1073f
VS
171082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 FreeDOS direct loading support.
17111
17112 * docs/grub.texi (Supported OS): Add FreeDOS.
17113 * grub-core/Makefile.core.def (freedos): New module.
17114 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17115 variable.
17116 (grub_relocator16_boot): Handle %ebx.
17117 * grub-core/lib/i386/relocator16.S: Likewise.
17118 * grub-core/loader/i386/pc/freedos.c: New file.
17119
05caa461
VS
171202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 Long Linux command line support.
17123
17124 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17125 (maximal_cmdline_size): New variable.
17126 (allocate_pages): Use maximal_cmdline_size.
17127 (grub_cmd_linux): Set and use maximal_cmdline_size.
17128 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17129 (allocate_pages): Use maximal_cmdline_size.
17130 (grub_cmd_linux): Set and use maximal_cmdline_size.
17131 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17132 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17133 and cmdline_size.
17134
a2491e23
VS
171352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
171362011-05-18 Colin Watson <cjwatson@ubuntu.com>
17137
17138 Improve devmapper support
17139
17140 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17141 (grub_util_is_lvm): New function.
17142 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17143 than lvm if not dmraid.
17144 Handle mapped md nodes.
17145 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17146 (grub_util_device_is_mapped): ... this. Make always available. All users
17147 updated.
17148 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17149 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17150 dmraid nodes.
17151 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17152
6ad6223e
VS
171532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17156
17157 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17158 * grub-core/modinfo.sh.in: New file.
17159 * grub-core/Makefile.core.def (modinfo.sh): New script.
17160 * util/grub-mknetdir.in: Use modinfo.sh.
17161 * util/grub-mkrescue.in: Likewise.
17162
543a8f6e
VS
171632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17166 Fix potential usage of Elf32 instead of Elf64 when compiling on
17167 32-bit architecture. Add endianness macros while on it.
17168
4959e111
VS
171692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Use mipsel- rather than mips- in directories involving mipsel ports to
17172 allow both endiannesses coexist.
17173
17174 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17175 mips. All conditions adjusted.
17176 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17177 variable.
17178 * util/grub-install.in: Adjust conditions to take renaming into account.
17179 * util/grub-mkimage.c (image_targets): Likewise. New target
17180 mips-qemu_mips-elf for bigendian mips.
17181
35341bbc
VS
171822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 Avoid unnecessary copying on MIPS.
17185
17186 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17187 early if src == dest.
17188 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17189 compression is none.
17190
b772baed
VS
171912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 Reduce memory footprint on SGI by putting modules before the kernel
17194 as opposed to after.
17195
17196 * grub-core/Makefile.core.def (kernel): Increase linking address.
17197 (none_decompress): Likewise.
17198 (xz_decompress): Likewise.
17199 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17200 address.
17201 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17202 layout change.
17203 (grub_arch_modules_addr): New function.
17204 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17205 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17206 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17207 here.
17208 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17209 (grub_total_modules_size): ... this. Make global.
17210 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17211 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17212 New definition.
17213 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17214 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17215 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17216 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17217 * util/grub-mkimage.c (image_target_desc): New flag
17218 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17219 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17220 (generate_image): Handle images with modules before kernel.
17221
566a1917
VS
172222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 Prevent potential loss of memory map by overwrite on qemu-mips.
17225
17226 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17227 Save ram size in $s4.
17228 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17229 All users changed to grub_arch_memsize.
17230 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17231 Loongson.
17232 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17233 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17234 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17235 external variable.
17236
5d420cd9
CW
172372011-05-17 Colin Watson <cjwatson@ubuntu.com>
17238
17239 * .bzrignore: Remove grub-dumpbios.
17240
d064b830
CW
172412011-05-17 Colin Watson <cjwatson@ubuntu.com>
17242
17243 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17244 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17245 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17246 existing options which append).
17247 * docs/grub.texi (Simple configuration): Document new options.
17248 Reported by: Ian Jackson. Fixes Debian bug #617538.
17249
3ca2b466
CW
172502011-05-17 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * util/grub-fstest.c (cmd_cat): New function.
17253 (fstest): Handle CMD_CAT.
17254 (options): Add cat.
17255 (argp_parser): Handle cat.
17256
24c9143a
CW
172572011-05-17 Colin Watson <cjwatson@ubuntu.com>
17258
17259 * Makefile.util.def (grub-bin2h): Don't install.
17260 * docs/man/grub-bin2h.h2m: Remove.
17261
90f7ac19
VS
172622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17265 place.
17266
8d4a5178
VS
172672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 Reenable qemu-mips port.
17270
17271 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17272 Fix small arc bug while on it.
17273 * gentpl.py: Handle qemu_mips.
17274 * grub-core/Makefile.am: Likewise.
17275 * grub-core/Makefile.core.def: Likewise.
17276 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17277 inappropriate includes.
17278 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17279 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17280 * grub-core/kern/main.c (grub_modules_get_end)
17281 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17282 * grub-core/kern/mips/qemu-mips: Moved to ..
17283 * grub-core/kern/mips/qemu_mips: ... this.
17284 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17285 (grub_machine_init): Call terminfo_init and serial_init.
17286 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17287 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17288 New variable.
17289 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17290 parameter passing.
17291 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17292 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17293 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17294 * include/grub/mips/qemu_mips/cmos.h: New file.
17295 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17296 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17297 Removed.
17298 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17299 Use correct mips-style address.
17300 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17301 (GRUB_TICKS_PER_SECOND): Removed.
17302 (grub_get_rtc): Likewise.
17303 (grub_cpu_idle): Likewise.
17304 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17305 New definition.
17306 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17307 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17308 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17309 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17310 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17311 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17312 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17313 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17314
400b9371
VS
173152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 SGI ARCS port.
17318
17319 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17320 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17321 platforms.
17322 * configure.ac: New target mips-arc.
17323 * gentpl.py: Likewise.
17324 * grub-core/Makefile.am: Likewise.
17325 * grub-core/Makefile.core.def: Likewise.
17326 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17327 (none_decompress): Likewise.
17328 (lsdev): New module.
17329 (datetime): Use lib/arc/datetime.c on ARC.
17330 (part_dvh): New module.
17331 * grub-core/commands/arc/lsdev.c: New file.
17332 * grub-core/disk/arc/arcdisk.c: Likewise.
17333 * grub-core/kern/mips/arc/init.c: Likewise.
17334 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17335 aligned addresses.
17336 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17337 support.
17338 (grub_arch_dl_relocate_symbols): Likewise.
17339 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17340 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17341 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17342 platforms.
17343 * grub-core/lib/arc/datetime.c: New file.
17344 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17345 pci.h on non-loongson.
17346 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17347 (grub_linux_boot): Set unused registers to 0.
17348 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17349 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17350 * grub-core/mmap/mips/uppermem.c: ...here.
17351 * grub-core/partmap/dvh.c: New file.
17352 * grub-core/term/arc/console.c: Likewise.
17353 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17354 (grub_terminfo_set_current): Add terminal "arc".
17355 (grub_terminfo_readkey): Support ARC sequences.
17356 * include/grub/arc/arc.h: New file.
17357 * include/grub/arc/console.h: Likewise.
17358 * include/grub/disk.h (grub_disk_dev_id): Add
17359 GRUB_DISK_DEVICE_ARCDISK_ID.
17360 * include/grub/mips/arc/kernel.h: New file.
17361 * include/grub/mips/arc/memory.h: Likewise.
17362 * include/grub/mips/arc/time.h: Likewise.
17363 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17364 * include/grub/mips/kernel.h (grub_halt): ... here.
17365 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17366 here...
17367 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17368 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17369 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17370 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17371 proto.
17372 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17373 from here ...
17374 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17375 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17376 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17377 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17378 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17379 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17380 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17381 (grub_phys_addr_t): Moved from here ...
17382 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17383 (grub_vtop): Moved from here ...
17384 * include/grub/mips/memory.h (grub_vtop): ... here.
17385 (grub_map_memory): Moved from here ...
17386 * include/grub/mips/memory.h (grub_map_memory): ... here.
17387 (grub_unmap_memory): Moved from here ...
17388 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17389 (grub_machine_mmap_iterate): Moved from here ...
17390 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17391 (grub_mmap_get_lower): Moved from here ...
17392 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17393 (grub_mmap_get_upper): Moved from here ...
17394 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17395 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17396 here ...
17397 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17398 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17399 here ...
17400 * include/grub/mips/time.h (grub_get_rtc): ... here.
17401 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17402 here ...
17403 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17404 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17405 here ...
17406 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17407 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17408 definition.
17409 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17410 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17411 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17412 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17413 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17414 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17415 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17416 (GRUB_MACHINE_LINK_ADDR): Likewise.
17417 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17418 to 6.
17419 * util/grub-install.in: Run dvhtool on ARC.
17420 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17421 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17422
c8ecc840
VS
174232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17426 blocks.
17427
153a4b55
VS
174282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17431 after enabling port.
17432
ff44d107
VS
174332011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 Skip incorrect USB devices.
17436
17437 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17438 configcnt == 0.
17439 * include/grub/usb.h (grub_usb_err_t): New enum value
17440 GRUB_USB_ERR_BADDEVICE.
17441
638dbe4f
VS
174422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Fuloong video init support.
17445
17446 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17447 well.
17448 (grub_vga_read_arx): New function.
17449 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17450 definition.
17451 (framebuffer): New members io, mmioptr and mmiobase.
17452 (read_sis_cmd): New function.
17453 (write_sis_cmd): Likewise.
17454 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17455 rather than 640x400.
17456 * grub-core/video/sis315_init.c: New file.
17457
c3fc520c
VS
174582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17459
17460 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17461 non-loongson.
17462 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17463 to grub_dl_register_symbol.
17464
67b1e5c9
VS
174652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 Fix compilation errors.
17468
17469 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17470 potentially unused.
17471 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17472 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17473 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17474 to loongson machines.
17475
b756f75f
VS
174762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 Several FS mtime support.
17479
17480 * grub-core/fs/affs.c (grub_affs_time): New struct.
17481 (grub_affs_file): New field mtime.
17482 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17483 type. Removed 'size'. New field 'di'. All users updated.
17484 (grub_affs_mount): Simplify checsum checking.
17485 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17486 (grub_affs_dir): Handle mtime.
17487 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17488 (grub_cpio_dir): Likewise.
17489 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17490 (grub_hfs_filerec): New field mtime.
17491 (grub_hfs_dir): Handle mtime.
17492 (grub_hfs_mtime): New function.
17493 (grub_hfs_fs): Register grub_hfs_mtime.
17494 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17495 (grub_iso9660_dir): New field mtime.
17496 (grub_fshelp_node): New field dirent.
17497 (iso9660_to_unixtime): New function.
17498 (iso9660_to_unixtime2): Likewise.
17499 (grub_iso9660_read_symlink): Use node->dirent.
17500 (grub_iso9660_iterate_dir): Likewise.
17501 (grub_iso9660_dir): Set mtime.
17502 (grub_iso9660_mtime): New function.
17503 (grub_iso9660_fs): Register grub_iso9660_mtime.
17504 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17505 (grub_jfs_inode): New fields atime, ctime and mtime.
17506 (grub_jfs_dir): Set mtime.
17507 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17508 * grub-core/fs/ntfs.c (list_file): Set mtime.
17509 (grub_ntfs_dir): Likewise.
17510 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17511 (grub_reiserfs_iterate_dir): Set mtime.
17512 (grub_reiserfs_dir): Likewise.
17513 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17514 (grub_fshelp_node): Likewise.
17515 (grub_sfs_iterate_dir): Set mtime.
17516 (grub_sfs_dir): Likewise.
17517 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17518 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17519 (grub_xfs_inode): New fields atime, mtime, ctime.
17520 (grub_xfs_dir): Set mtime.
17521 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17522 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17523 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17524
17525 Support UDF symlinks.
17526
17527 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17528 (grub_ufs_read_symlink): New function. All users updated.
17529
17530 Check amiga partmap checksum.
17531
17532 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17533 (grub_amiga_partition): Likewise.
17534 (amiga_partition_map_checksum): New function.
17535 (amiga_partition_map_iterate): Check checksum.
17536
5470225d
VS
175372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 ROMFS support.
17540
17541 * Makefile.util.def (libgrubmods.a): Add romfs.
17542 * grub-core/Makefile.core.def (romfs): New module.
17543 * grub-core/fs/romfs.c: New file.
17544
d4680a35
VS
175452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 Squashfs v4 support.
17548
17549 * Makefile.util.def (libgrubmods.a): Add squash4.
17550 * grub-core/Makefile.core.def (squash4): New module.
17551 * grub-core/fs/squash4.c: New file.
17552 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17553 disk_input_start, disk_input.
17554 (get_byte): Handle disk_input.
17555 (grub_zlib_disk_read): New function.
17556 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17557
bcb18e74
FZ
175582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
175592011-05-15 Feiran Zheng <famcool@gmail.com>
17560
17561 * Makefile.util.def (libgrubmods.a): Add minix3.
17562 * grub-core/Makefile.core.def (minix3): New module.
17563 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17564 (GRUB_MINIX_BSIZE): Removed.
17565 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17566 (grub_minix_ino_t): New type.
17567 (grub_minix_le_to_cpu_ino): New macro.
17568 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17569 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17570 (grub_minix_data): New field block_size.
17571 (grub_minix_read_file): Handle 64-bit correctly.
17572 * grub-core/fs/minix3.c: New file.
17573
32297d5f
TG
175742011-05-15 Tristan Gingold <gingold@free.fr>
175752011-05-15 Robert Millan <rmh.grub@aybabtu.com>
175762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 IA64 support.
17579
17580 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17581 * configure.ac: Add ia64-efi target.
17582 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17583 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17584 * gentpl.py: Add ia64_efi platform.
17585 Rename x86_efi to efi and Add ia64-efi. All users updated.
17586 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17587 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17588 Remove kern/generic/rtc_get_time_ms.c on EFI.
17589 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17590 kern/ia64/dl_helper.c on ia64-efi.
17591 Add kern/emu/cache.c on emu.
17592 (linux): Use on loader/ia64/efi/linux.c on ia64.
17593 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17594 whether symbol is a function.
17595 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17596 (grub_symbol): New field 'isfunc'.
17597 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17598 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17599 (grub_dl_load_segments): Place all sections into the same region.
17600 [__ia64__]: Create trampolines and got.
17601 [GRUB_MACHINE_EMU]: Call mprotect.
17602 (grub_dl_resolve_symbols): Resolve symbol type as well.
17603 [__ia64__]: Create function descriptors.
17604 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17605 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17606 (grub_get_rtc): New function.
17607 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17608 * grub-core/kern/emu/cache.S: Renamed to ...
17609 * grub-core/kern/emu/cache_s.S: ... this.
17610 [__ia64__]: Add a nop.
17611 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17612 [__ia64__]: New function.
17613 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17614 * grub-core/kern/ia64/dl.c: New file.
17615 * grub-core/kern/ia64/dl_helper.c: Likewise.
17616 * grub-core/kern/ia64/efi/init.c: New file.
17617 * grub-core/kern/ia64/efi/startup.S: Likewise.
17618 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17619 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17620 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17621 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17622 * grub-core/loader/ia64/efi/linux.c: New file.
17623 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17624 (GRUB_MOD_DEP): Likewise.
17625 (grub_dl) [__ia64__]: New fields got and tramp.
17626 (grub_dl): New field 'base'.
17627 (grub_dl_register_symbol): New argument isfunc. All users updated.
17628 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17629 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17630 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17631 (grub_ia64_dl_get_tramp_got_size): New proto.
17632 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17633 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17634 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17635 * include/grub/efi/api.h: Skip call wrappers on ia64.
17636 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17637 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17638 * include/grub/elf.h (ELF_ST_INFO): New definition.
17639 * include/grub/ia64/efi/kernel.h: New file.
17640 * include/grub/ia64/efi/memory.h: Likewise.
17641 * include/grub/ia64/efi/time.h: Likewise.
17642 * include/grub/ia64/kernel.h: Likewise.
17643 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17644 * include/grub/ia64/time.h: New file.
17645 * include/grub/ia64/types.h: Likewise.
17646 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17647 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17648 New protos.
17649 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17650 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17651 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17652 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17653 All users updated.
17654 (EFI64_HEADER_SIZE): New definition. All users updated.
17655 (image_targets): Add ia64-efi.
17656 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17657 jumpers_addr. All users updated.
17658 Create function descriptors.
17659 (count_funcs): New function.
17660 (unaligned_uint32): New struct.
17661 (MASK20): New definition.
17662 (MASK19): Likewise.
17663 (MASKF21): Likewise.
17664 (add_value_to_slot_20b): New function.
17665 (add_value_to_slot_21_real): Likewise.
17666 (add_value_to_slot_21): Likewise.
17667 (ia64_kernel_trampoline): New struct.
17668 (nopm): New variable.
17669 (jump): Likewise.
17670 (make_trampoline): New function.
17671 (relocate_addresses): Handle ia64.
17672 (make_reloc_section): Likewise.
17673 (load_image): Likewise.
17674
983b414d
VS
176752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17678 warning. Move variables before code while on it.
17679
5d063cdc
VS
176802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 Fuloong support.
17683
17684 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17685 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17686 * grub-core/boot/mips/loongson/fuloong.S: New file.
17687 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17688 Explicitly init CS5536.
17689 [FULOONG]: Don't use serial until CS5536 is available.
17690 Set GPIO based on dumps.
17691 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17692 [FULOONG]: Handle GPIO and memory controller differences.
17693 Parse machine type in $a2.
17694 * grub-core/boot/mips/startup_raw.S: Determine and save the
17695 architecture.
17696 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17697 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17698 init on architecture type.
17699 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17700 SIS315E. Don't init at_keyboard on fuloong.
17701 (grub_halt): Support Fuloong.
17702 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17703 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17704 (loongson_machtypes): New array.
17705 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17706 type.
17707 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17708 config. All users updated. Handle CS5536 serial.
17709 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17710 default port on machine type. Register serial as inactive.
17711 * grub-core/video/sis315pro.c: New file.
17712 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17713 definition.
17714 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17715 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17716 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17717 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17718 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17719 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17720 to ...
17721 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17722 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17723 definition.
17724 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17725 (grub_arch_machine): New extern var.
17726 * include/grub/mips/loongson/serial.h
17727 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17728 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17729 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17730 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17731 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17732 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17733 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17734 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17735 * include/grub/term.h (grub_term_register_input_inactive): New inline
17736 function.
17737 (grub_term_register_output_inactive): Likewise.
17738 * include/grub/video.h (grub_video_driver_id): New value
17739 GRUB_VIDEO_DRIVER_SIS315PRO.
17740 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17741 New field "names". All users updated.
17742 New field value IMAGE_FULOONG_FLASH.
17743 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17744
6ada82d1
JU
177452011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17746
17747 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17748 and add some clarification.
17749
90c571a4
VS
177502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17753 platforms if kernel is compressed.
17754
de04eecf
VS
177552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17758 unused modules since currently referrence counter isn't reliable and
17759 there isn't much memory to recover there anyway.
17760
57688121
VS
177612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17764 rather than resetting it to allow modules to reference themselves
17765 in init.
17766
3d2c7e35
VS
177672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17770 counter on dependencies since grub_dl_unref already handles this.
17771
b25db218
VS
177722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17775 on error if not already done.
17776
25a45338
VS
177772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 Fix few potential memory misusage.
17780
17781 * grub-core/font/font.c (load_font_index): Don't free char_index to
17782 avoid double free.
b25db218
VS
17783 (grub_font_load): Zero-fill font at alloc for safety.
17784 Close file on error.
17785 (free_font): Free bmp_idx.
25a45338 17786
0cac83df
VS
177872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * docs/grub.texi (Installation): Fix several outdated claims.
17790
2217a143
VS
177912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 Handle module_license on windows.
17794
17795 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17796 sections shifted.
17797 (insert_string): Make argument const char * instead of char *.
17798 (write_section_data): Handle long section names.
17799 Handle module_license.
17800
d4de6b01
VS
178012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17804 handle class-free menuentries.
17805 (grub_normal_add_menu_entry): Add a check to be sure.
17806
4c2a3b43
VS
178072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17810 PgUp and PgDown.
17811
85c6210f
VS
178122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * configure.ac: Bump version to 1.99.
17815
36084912
VS
178162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 Give ATA device a bit more time on first try in order to allow disks
17819 to spin up.
17820
17821 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17822 if dev->present is 1. Reset dev->present on failure.
17823 (grub_ata_device_initialize): Set dev->present to 1.
17824 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17825 (grub_ata_device): New member 'present'.
17826
bda0e219
VS
178272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * util/grub-mkimage.c (generate_image): Update hash.
17830
19e1c41b
VS
178312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 Flush caches on DMA memory.
17834
17835 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17836 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17837 (grub_dma_free): Likewise.
17838 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17839
91bbcc0c
VS
178402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17843 to avoid asm treating ld and sd as macros.
17844
60ddfad3
VS
178452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17848 decompressor.
17849
a298aa04
VS
178502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17853 grub_decompress_core since later would fail if grub_decompress_core
17854 is too far.
17855
9b44feca
VS
178562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17859 R_MIPS_JALR since it's used by newer compiler.
17860
56dbe7b4
VS
178612011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17864
52856af2
VS
178652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17868 file_path to 0 for surety.
17869 (grub_chainloader_boot): Set exit_data to NULL.
17870 Unset the loader once done.
17871 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17872
9c9bfc6d
VS
178732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17876 unknown key into a dprintf.
17877
dd94a3df
VS
178782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17881 on first non-existant partition.
17882
fa68d99c
VS
178832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17886 openning fails.
17887 Reported by: Mark Korenberg.
17888
157effb7
VS
178892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17892 overflow.
17893
ea75312f
VS
178942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17897 before closing to ensure that it will be readable by grub-setup.
17898
072b5d31
VS
178992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17902 (devpath_1): Use MAKE_PIWG_PATH.
17903 (devpath_2): Likewise.
17904 (devpath_3): Likewise.
17905 (devpath_4): Likewise.
17906 (devpath_5): Likewise.
17907 (devpath_6): Likewise.
17908
17909 The appleldr.mod was checked that to be binary identical to previous
17910 version.
17911
7fae0051
Z
179122011-05-05 Zach <mikezackles>
17913
17914 Support 2010 Macbooks.
17915
17916 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17917 (devs): Add devpath_6.
17918
7c515bee
VS
179192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17922 /dev/random. /dev/urandom is good enough for our purposes (salting).
17923
ed660bd8
VS
179242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17927
ee5614b7
VS
179282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17929
17930 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17931 hexadecimal.
17932
664889a6
VS
179332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17936 and not 0 on failure.
17937
bd405bbc
CW
179382011-05-03 Colin Watson <cjwatson@ubuntu.com>
17939
17940 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17941 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17942 disk; otherwise grub_fs_probe will not fall back to the next
17943 filesystem.
17944 (grub_pxefs_open): Likewise, for consistency.
17945 Reported and tested by: Ezekiel Grave.
17946
4ebff753
CW
179472011-05-03 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * tests/partmap_test.in: Don't hardcode path to parted.
17950 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17951
8f942553
CW
179522011-05-01 Colin Watson <cjwatson@ubuntu.com>
17953
17954 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17955 of `ls' to find out which devices are available.
17956
3c62402d
VS
179572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17960 than source address for efi mmap buffer.
17961
723f63f2
VS
179622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17965 wrong action on non-detecting the magic.
17966
68797f92
VS
179672011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17970 already supplied by another part of the module (fixes compilation on
17971 FreeBSD).
17972
6be8715d
VS
179732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17976 match the one used by mdadm.
17977
e91dba5b
CW
179782011-04-21 Colin Watson <cjwatson@ubuntu.com>
17979
17980 * po/README: Add instructions for creating po/LINGUAS.
17981
c85140b3
CW
179822011-04-21 Colin Watson <cjwatson@ubuntu.com>
17983
17984 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17985 #551428.
17986
17987 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17988 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17989 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17990 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17991 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17992 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17993 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17994 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17995 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17996 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17997 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17998 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17999 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18000 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18001 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18002 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18003 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18004 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18005 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18006 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18007 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18008 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18009
92051871
CW
180102011-04-21 Colin Watson <cjwatson@ubuntu.com>
18011
18012 * grub-core/kern/emu/getroot.c
18013 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18014 test that was incorrectly reintroduced in r3214.
18015 Reported by: Ian Dall. Fixes Savannah bug #33133.
18016
b13f79a4
CW
180172011-04-21 Colin Watson <cjwatson@ubuntu.com>
18018
18019 Fix stack pointer handling in 16-bit relocator.
18020
18021 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18022 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18023 Fixes Ubuntu bug #683904.
18024
9b710a88
VS
180252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * configure.ac: Bump version to 1.99~rc2.
18028
d97e7b59
VS
180292011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18032 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18033 * grub-core/lib/x86_64/setjmp.S: Likewise.
18034 * grub-core/lib/mips/setjmp.S: Likewise.
18035 * grub-core/lib/powerpc/setjmp.S: Likewise.
18036 * grub-core/lib/sparc64/setjmp.S: Likewise.
18037
0624551c
VS
180382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18041 * grub-core/lib/efi/datetime.c: Likewise.
18042
e8f28d4c
VS
180432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18046 New function.
18047 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18048 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18049 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18050
bba79a15
VS
180512011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18054 bitmap.
18055 (grub_gfxterm_term_init): Likewise.
18056
abc474ef
VS
180572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 Take into account the decorations the computing menu entry width.
18060
18061 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18062 (grub_gfxmenu_create_box): Register get_border_width.
18063 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18064 if available.
18065 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18066 get_border_width.
18067
e74b3947
EP
180682011-04-18 Endres Puschner <code@e7p.de>
18069
18070 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18071 Don't skip first class.
18072
34faa595
VS
180732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18076 chunks.
18077 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18078
93a777e3
VS
180792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 Complete 64-bit division support.
18082
18083 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18084 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18085 * include/grub/misc.h (grub_divmod64): Rename to ...
18086 (grub_divmod64_full): ... this.
18087 (grub_divmod64): New inline function.
18088
a5102d94
VS
180892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18092
f3fb7b36
VS
180932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18096 performing the necessary test.
18097
9ac718b0
VS
180982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18101 (kfreebsd.elf): Likewise.
18102 (pc-chainloader.elf): Likewise.
18103 (ntldr.elf): Likewise.
18104
50d2cc5a
VS
181052011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Identify RAID by its UUID rather than (guessed) name.
18108
18109 * grub-core/disk/raid.c (ascii2hex): New function.
18110 (grub_raid_open): Accept mduuid/%s specification.
18111 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18112 (get_mdadm_uuid): ... this.
18113 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18114
e03f7bea
VS
181152011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18118 to negative size.
18119
e74c3112
CW
181202011-04-13 Colin Watson <cjwatson@ubuntu.com>
18121
18122 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18123 btrfs subvolume.
18124 * util/grub.d/20_linux_xen.in: Likewise.
18125
78fa584f
CW
181262011-04-13 Colin Watson <cjwatson@ubuntu.com>
18127
18128 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18129 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18130
18131 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18132 Build a list of relevant visible mounts using the mnt_id and
18133 parent_mnt_id fields, and then scan that list at the end.
18134
9d5f8162
CW
181352011-04-12 Colin Watson <cjwatson@ubuntu.com>
18136
18137 * docs/grub.texi (normal): New section.
18138 (normal_exit): New section.
18139 (Embedded configuration): Add reference to normal.
18140 (GRUB only offers a rescue shell): Likewise.
18141 * docs/grub-dev.texi (Error Handling): Fix typo.
18142
09a9d66f
CW
181432011-04-12 Colin Watson <cjwatson@ubuntu.com>
18144
18145 * NEWS: Drop obsolete entry about probe-only btrfs support.
18146
0c676933
CW
181472011-04-12 Colin Watson <cjwatson@ubuntu.com>
18148
18149 * util/import_gcry.py: Fix typo.
18150
ec9f5e0d
VS
181512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * NEWS: Add btrfs support.
18154
fe6b2cba
VS
181552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
181562011-04-11 Colin Watson <cjwatson@ubuntu.com>
18157
18158 BtrFS support. Written by me (Vladimir) with important bugfixes and
18159 even more important testing by Colin.
18160
18161 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18162 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18163 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18164 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18165 mem_input_off and mem_input. All users updated to accept in-RAM input.
18166 (gzio_seek): New function.
18167 (test_zlib_header): Likewise.
18168 (grub_gzio_read): Likewise.
18169 (grub_zlib_decompress): Likewise.
18170 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18171 Accept partial and non-virtual mounts.
18172 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18173 avoid receiving /dev/dm-X as device.
18174 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18175 Handle bind and partial mounts.
18176 * grub-core/lib/crc.c: New file.
18177 * include/grub/deflate.h: Likewise.
18178 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18179 proto.
18180 * include/grub/lib/crc.h: New file.
18181
e745cf0c
VS
181822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Implement automatic module license checking according to new GNU
18185 guidelines.
18186
18187 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18188 (grub_dl_load_core): Use grub_dl_check_license.
18189 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18190 (GRUB_MOD_LICENSE): Likewise.
18191 (GRUB_MOD_DUAL_LICENSE): Likewise.
18192 All modules updated.
18193
2a9bc016
CW
181942011-04-11 Colin Watson <cjwatson@ubuntu.com>
18195
18196 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18197 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18198 loaders.
18199 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18200
8a3bc88e
VS
182012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18204
af869a4a
VS
182052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18208 failed.
18209
9ee8d94f
VS
182102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18213 parenthesis in the middle of the filename.
18214
b01abe3e
VS
182152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18218 rather than trying to put initrd way too high.
18219 Reported by: Ryan Lortie <desrt@desrt.ca>
18220
335bda1e
VS
182212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18224 improperly removed string.
18225
5ca1a64d
VS
182262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18229 is_disk.
18230 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18231 (open_device) Likewise.
18232 (grub_util_biosdisk_close): Likewise.
d8ce9995 18233 Reported by: Mark Korenberg.
5ca1a64d 18234
cbac5b1e
AK
182352011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18236
18237 * util/grub-mkconfig_lib.in: Add missing quotes.
18238
088cdb65
CW
182392011-04-10 Colin Watson <cjwatson@ubuntu.com>
18240
18241 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18242 is NULL.
18243
8b8a81fa
VS
182442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Dynamically count the number of lines for the lower banner.
18247
18248 * grub-core/normal/menu_entry.c (per_term_screen): New member
18249 num_entries.
18250 (print_down): Use num_entries.
18251 (update_screen): Likewise.
18252 (grub_menu_entry_run): Set num_entries.
18253 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18254 num_entries.
18255 (grub_print_message_indented): Move real part to ...
18256 (grub_print_message_indented_real): ... here. Additional argument
18257 dry_run.
18258 (draw_border): Additional argument num_entries.
18259 (print_message): Additional argument dry_run.
18260 (print_entries): Receive menu viewer data.
18261 (grub_menu_init_page): New argment num_entries.
18262 (menu_text_set_chosen_entry): Use num_entries.
18263 (grub_menu_try_text): Likewise.
18264 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18265 All users updated.
18266 (grub_ucs4_count_lines): New function.
18267 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18268 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18269 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18270 (grub_term_border_height): Likewise.
18271 (grub_term_num_entries): Likewise.
18272
277f955b
VS
182732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18276 Remove now unused string.
18277
536ce85a
CW
182782011-04-09 Colin Watson <cjwatson@ubuntu.com>
18279
18280 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18281 build system.
18282 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18283
18284 (Comment): Fix typo.
18285 (Getting started): General copy-editing.
18286 (Typical Development Experience): Likewise.
18287 (Error Handling): Likewise.
18288 (Video API): Likewise.
18289
2cf09e32
CW
182902011-04-09 Colin Watson <cjwatson@ubuntu.com>
18291
18292 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18293 throughout.
18294
1ec652f4
VS
182952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18298 directory.
18299
2c583728
CW
183002011-04-08 Colin Watson <cjwatson@ubuntu.com>
18301
18302 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18303 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18304 "development".
18305
d7a565e9
VS
183062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18309 grub_strcpy since the lines aren't necessarily 0-terminated.
18310
7c2e4909
VS
183112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18314 root on legacy.
18315
34c09785
VS
183162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18319 (GRUB_MOD_INIT): DEVICE isn't optional.
18320
6a6f8058
VS
183212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18324 word on new line if it's too long anyway. Fixes a hang.
18325
2e335e90
VS
183262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18329 const.
18330 * util/grub-setup.c (main): Reuse md device name if available.
18331 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18332 not GRUB name as argument.
18333 Based on patch by: Florian Wagner <fwagner>.
18334
10a7a867
VS
183352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18338 Place mbi on low memory for better compatibility.
18339
7a3d6cd9
VS
183402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18343
18dd6b47
VS
183442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
183452011-04-08 Colin Watson <cjwatson@ubuntu.com>
18346
18347 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18348 * conf/Makefile.common: Likewise.
18dd6b47 18349
3c0e3f14
VS
183502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18351
f7148863
VS
18352 * grub-core/normal/menu.c: Add missing include.
18353
183542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18357
6d1fa41f
MZ
183582011-04-08 Martin Zuther <mzuther@mzuther.de>
18359
18360 * util/grub-mkconfig.in: Ignore emacsen backup.
18361
478182a8
VS
183622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18365 on open.
18366 (grub_util_biosdisk_close): Likewise.
18367
72a89a54
VS
183682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18371 const attribute and use grub_isdigit.
18372
b5ebecfa
A
183732011-04-06 Andrey <dev_null@ukr.net>
18374
18375 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18376 gcc warning.
18377
7755f66e
VS
183782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18381 useful grub_dprintf's.
18382
461121ff
VS
183832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18386
2a961775
VS
183872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18390
adf594cc
VS
183912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 Output errors if theme loading failed.
18394
18395 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18396 grub_gfxterm_fullscreen on error paths to ...
18397 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18398 theme loading error.
18399
665900a3
VS
184002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18403 space for older compilers.
18404 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18405
a562b479
VS
184062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18409 and report them as not RAID members since they are useless for GRUB.
18410 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18411
850e9373
VS
184122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 Increase LVM implementation robustness in order not to crash on
18415 configurations like pvmove. Previously code assumed that in some places
18416 only lvs or only pvs are used whereas it seems that they are used
18417 interchangeably.
18418
18419 * grub-core/disk/lvm.c (read_node): New function.
18420 (read_lv): Use read_node.
18421 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18422 Match volumes only at the end when all lvs are found. Take both
18423 pvs (first) and lvs (second) into account.
18424 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18425 mirror_* into node_*. All users updated.
18426 (grub_lvm_stripe): Merge this ...
18427 (grub_lvm_mirror): ... and this ...
18428 (grub_lvm_node): ... into this. All users updated.
18429
6f332153
VS
184302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18433 of function to allow further scanning for LVMs.
18434
829ea451
VS
184352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18438 on failed seek as it breaks open fd reusage.
18439
09ceb9a5
VS
184402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 * util/grub-install.in: Add a recommendation to use --recheck before
18443 reporting bugs.
18444
67e11623
VS
184452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18448 are obtained.
18449
caee5efd
VS
184502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 GRUB developper manual based on existing Internals section and
18453 contributions by the various authors with active copyright assignment.
18454
18455 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18456 * docs/font_char_metrics.png: New file.
18457 * docs/font_char_metrics.txt: Likewise.
18458 * docs/grub-dev.texi: Likewise.
18459 * docs/grub.texi (Internals): Move from here ...
18460 * docs/grub-dev.texi: ... here.
18461
2cccc747
CW
184622011-04-01 Colin Watson <cjwatson@ubuntu.com>
18463
18464 Store the loopback device as data on loopback grub_disk structures,
18465 rather than the file it points to. This fixes use of freed memory
18466 if an existing loopback device is replaced.
18467
18468 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18469 disk->data, not dev->file.
18470 (grub_loopback_read): Adjust file assignment to match.
18471 Fixes Ubuntu bug #742967.
18472
186ae367
CW
184732011-04-01 Colin Watson <cjwatson@ubuntu.com>
18474
18475 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18476 when replacing an existing device.
18477
cfed2ad0
VS
184782011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18481 memory corruptions.
18482
18483 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18484 unsigned.
18485 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18486 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18487 (grub_jfs_read_inode): Likewise.
18488 (grub_jfs_opendir): Likewise. Remove now useless casts.
18489 (grub_jfs_getent): Likewise.
18490 Make ino a grub_uint32_t rather than int.
18491 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18492 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18493 division and module with bit operations.
18494 (grub_jfs_find_file): Make ino a grub_uint32_t.
18495 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18496
05d2ed32
CW
184972011-04-01 Colin Watson <cjwatson@ubuntu.com>
18498
18499 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18500 warning. (This was in fact always initialised before use, but GCC
18501 wasn't smart enough to prove that.)
18502 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18503
91dc6073
VS
185042011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18507 stack alignment.
18508 (efi_wrap_1): Likewise.
18509 (efi_wrap_2): Likewise.
18510 (efi_wrap_3): Likewise.
18511 (efi_wrap_4): Likewise.
18512 (efi_wrap_5): Likewise.
18513 (efi_wrap_6): Likewise.
18514 (efi_wrap_10): Likewise.
18515 Based on information by: Red Hat/Peter Jones.
18516
a8afc1d1
CW
185172011-03-31 Colin Watson <cjwatson@ubuntu.com>
18518
18519 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18520 set-but-not-used variable.
18521
a826cc7d
CW
185222011-03-31 Colin Watson <cjwatson@ubuntu.com>
18523
18524 * docs/grub.texi (Simple configuration): Be more explicit about
18525 GRUB_DEFAULT, and add an example.
18526 Reported by: Leslie Rhorer.
18527
875b67ba
CW
185282011-03-30 Colin Watson <cjwatson@ubuntu.com>
18529
18530 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18531 shell".
18532
fd7cd914
AS
185332011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18534
18535 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18536 * util/grub.d/20_linux_xen.in: Likewise.
18537
090b1b6a
VS
185382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * util/grub.d/10_linux.in: Try alternative config filenames where
18541 we parse config file.
18542 * util/grub.d/20_linux_xen.in: Likewise.
18543
baad885c
AS
185442011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18545
18546 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18547 * util/grub.d/20_linux_xen.in: Likewise.
18548
241e41f5
VS
185492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 * grub-core/disk/raid.c (insert_array): Add few potentially
18552 useful grub_util_info.
18553 (grub_raid_register): Likewise.
18554
56445fb2
VS
185552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18558 Preserve partition number in mdadm code path.
18559
c871b1c6
VS
185602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18563 few potentially useful grub_util_info.
18564
5e631b4f
CW
185652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18568
2d5d0333
CW
185692011-03-30 Colin Watson <cjwatson@ubuntu.com>
18570
18571 * docs/grub.texi (default): Use @example rather than nested
18572 itemized lists to avoid breaking gendocs.
18573
3d7ed04e
CW
185742011-03-30 Colin Watson <cjwatson@ubuntu.com>
18575
18576 * docs/grub.texi (Future): Update.
18577
abf04200 185782011-03-30 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * docs/grub.texi (Environment): New chapter.
18581 (Changes from GRUB Legacy): Link to "Environment block" section for
18582 details of limitations.
18583 (Simple configuration): Likewise. Link to documentation of gfxmode
18584 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18585 respectively.
18586 (Shell-like scripting): Note that normal variables are stored in the
18587 environment.
18588 (gettext): Link to documentation of lang and locale_dir.
18589 (list_env): New section.
18590 (load_env): New section.
18591 (save_env): New section.
18592
18593 (Reporting bugs): Fix typo.
18594
e1ad0edd
VS
185952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18598 the example.
18599
5d803174
VS
186002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * grub-core/term/at_keyboard.c (set_scancodes)
18603 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18604
2a2da1d0
CW
186052011-03-30 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * docs/grub.texi (Menu-specific commands): Remove some semantics
18608 that were true in GRUB Legacy but not in GRUB 2.
18609 (submenu): New section.
18610 (false): New section.
18611 (read): New section.
18612 (true): New section.
18613
a7527639
CW
186142011-03-30 Colin Watson <cjwatson@ubuntu.com>
18615
18616 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18617
186182011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18619
18620 * docs/grub.texi (Simple configuration): Explain some of the
18621 current limitations of grub-mkconfig.
8a748df2 18622 Reported by: Leslie Rhorer.
e30af029 18623
fc858482
VS
186242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 Old macs search for boot.efi rather than for bootia32.efi.
18627
18628 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18629 * util/grub-mkrescue.in: Likewise.
18630 Suggested by: Peter Jones.
18631
e1eb511d
VS
186322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18635
70e75364
VS
186362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18639 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18640 (grub_lvm_mirror): New struct.
18641 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18642 (grub_lvm_iterate): Iterate only visible volumes.
18643 (grub_lvm_read): Factor out to ..
18644 (read_lv): ... this. Support mirrors.
18645 (grub_lvm_read): New wrapper function.
18646 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18647 stripped or mirrored.
18648
fc18f6a3
VS
186492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18652
5c650f4c
CW
186532011-03-29 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * docs/grub.texi (loopback): New section.
18656
61d7156b
CW
186572011-03-29 Colin Watson <cjwatson@ubuntu.com>
18658
18659 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18660 removed -p option.
18661
994b8264
CW
186622011-03-29 Colin Watson <cjwatson@ubuntu.com>
18663
18664 * docs/grub.texi (BIOS installation): New section, partly based on
18665 previous text in other sections.
18666 (Installing GRUB using grub-install): Replace BIOS discussion with a
18667 cross-reference.
18668 (Images): Likewise.
18669
9e4d19e0
VS
186702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18673 [HAVE_DIOCGDINFO]: Add safety checks.
18674
a307c0b2
VS
186752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18676
18677 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18678 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18679
b4db4f39
CW
186802011-03-29 Colin Watson <cjwatson@ubuntu.com>
18681
18682 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18683 real_sb->size is zero (e.g. RAID-0), get the disk size from
18684 real_sb->data_size instead.
18685 Fixes Ubuntu bug #743136.
18686
35e5f84c
VS
186872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18690 printf clauses for printing size and start.
18691
d2e29d81
VS
186922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18695 Reported and tested by: Timothy Nikkel.
18696
ed5587af
VS
186972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18700 (dirty_region_add_real): ... this.
18701 (dirty_region_add): Don't discard margin refresh when performing
18702 scheduled repaint.
18703
a1dc717c
VS
187042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * grub-core/lib/relocator.c (allocate_regstart)
18707 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18708 terminals are capabple of malloc-free operation.
18709 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18710 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18711
9f3677d3
VS
187122011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18713
18714 * util/grub-setup.c: Copy the partition table zone if floppy support
18715 is disabled, even if no partition table is found.
18716
18717 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18718 during POST if an invalid partition table is contained in the PBR
18719 of the active partition when GRUB is installed to a partition.
18720
24148725
CW
187212011-03-28 Colin Watson <cjwatson@debian.org>
18722
18723 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18724 comment.
18725
f329eda7
CW
187262011-03-28 Colin Watson <cjwatson@debian.org>
18727
18728 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18729 to be specific about what kind of RAID device we're scanning for.
18730
c482ad98
SG
187312011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18732
18733 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18734 return freed string.
18735
5ee04984
VS
187362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18739
f4727da9
VS
187402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18741
18742 Use libgeom on FreeBSD to detect partitions.
18743
18744 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18745 (grub-mkrelpath): Likewise.
18746 (grub-script-check): Likewise.
18747 (grub-editenv): Likewise.
18748 (grub-mkpasswd-pbkdf2): Likewise.
18749 (grub-fstest): Likewise.
18750 (grub-mkfont): Likewise.
18751 (grub-mkdevicemap): Likewise.
18752 (grub-probe): Likewise.
18753 (grub-setup): Likewise.
18754 (grub-ofpathname): Likewise.
18755 (grub-mklayout): Likewise.
18756 (example_unit_test): Likewise.
18757 (grub-menulst2cfg): Likewise.
18758 * grub-core/Makefile.core.def (grub-emu): Likewise.
18759 (grub-emu-lite): Likewise.
18760 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18761 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18762 define HAVE_DIOCGDINFO.
18763 (follow_geom_up) [FreeBSD]: New function.
18764 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18765 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18766 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18767 unconditionally of HAVE_DIOCGDINFO.
18768
82fe6c75
VS
187692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Fix FreeBSD compilation problem.
18772
18773 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18774 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18775
4c6c9431
CW
187762011-03-24 Colin Watson <cjwatson@ubuntu.com>
18777
18778 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18779 Switch back to page zero before loading a kernel, since some kernel
18780 drivers expect that.
18781 Thanks to: Felix Kuehling.
18782
c7064d94
VS
187832011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18786 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18787 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18788
3f71cded
VS
187892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18792 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18793
ef6de21a
VS
187942011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18797 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18798 malloc is disabled.
18799
8bc66a2c
VS
188002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18803 for modules headers when counting the needed allocation size.
18804
5657722c
VS
188052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18808 if no ASCII character is found to prevent crash.
18809
41a85f55
AK
188102011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18811
18812 * grub-core/video/bitmap.c (match_extension): Ignore case.
18813
59e1e5f1
VS
188142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18817
bd4d051a
VS
188182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * grub-core/script/parser.y: Declare "time" as valid argument.
18821
bae7fcc1
PJ
188222011-03-23 Peter Jones <pjones@redhat.com>
18823
18824 Fix incorrect assert failure reporting.
18825
18826 * grub-core/tests/example_functional_test.c (example_test): Add
18827 a failure comment.
18828 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18829 (failure_start): ...this. Check that malloc succeeded.
18830 Don't call xvasprintf. Return failure struct.
18831 (failure_append_vtext): New function.
18832 (failure_append_text): Likewise.
18833 (add_failure): Likewise.
18834 (grub_test_assert_helper): Likewise.
18835 * include/grub/test.h (grub_test_assert_helper): New declaration.
18836 (grub_test_assert): Macro rewritten.
18837
537dc9be
VS
188382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18841
fa3e01bf
VS
188422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18845
b1d28404
VS
188462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18849 into GRUB-style one.
18850
2e3e2e09
VS
188512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18854 error and not grub_errno.
18855 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18856
ed57e557
VS
188572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18860 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18861
d1611f01
VS
188622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/efiemu/i386/pc/cfgtables.c
18865 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18866 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18867 (grub_xnu_unlock): Likewise.
18868 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18869
7d4e39d6
VS
188702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18873 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18874 * grub-core/commands/hashsum.c (aliases): Likewise.
18875 * grub-core/commands/setpci.c (pci_registers): Likewise.
18876 * grub-core/disk/usbms.c (attach_hook): Likewise.
18877 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18878 (zio_checksum_table): Likewise.
18879 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18880 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18881 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18882 * grub-core/lib/relocator.c (leftovers): Likewise.
18883 (extra_blocks): Likewise.
18884 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18885 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18886 (modules_last): Likewise.
18887 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18888 (devices): Likewise.
18889 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18890 (modules_last): Likewise.
18891 * grub-core/normal/auth.c (users): Likewise.
18892 * grub-core/normal/context.c (initial_menu): Likewise.
18893 (current_menu): Likewise.
18894 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18895 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18896 (grub_serial_terminfo_input_template): Likewise.
18897 (grub_serial_terminfo_output_template): Likewise.
18898 (grub_serial_terminfo_input): Likewise.
18899 (grub_serial_terminfo_output): Likewise.
18900 (registered): Likewise.
18901 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18902
40fc4659
VS
189032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18906 grub_video_mode_type_t.
18907 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18908 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18909 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18910
2da48d28
VS
189112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * util/grub-install.in: Correct the x86-64 name as x86_64.
18914
9b43bf39
CW
189152011-03-11 Colin Watson <cjwatson@ubuntu.com>
18916
18917 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18918 initial chunk read from the kernel always includes GRUB's multiboot
18919 header, which is now outside the first sector.
18920
be1a7ce0
CW
189212011-03-09 Colin Watson <cjwatson@ubuntu.com>
18922
18923 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18924 cached mmap_size, so that this works correctly when called multiple
18925 times.
18926 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18927
83a3c48d
CW
189282011-03-09 Colin Watson <cjwatson@ubuntu.com>
18929
18930 * docs/grub.texi (Simple configuration): Tidy up formatting.
18931
57d75699
SJ
189322011-03-07 Szymon Janc <szymon@janc.net.pl>
18933
18934 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18935 Set-but-not-used variable removed.
18936
028501a0
VS
189372011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 Workaround yet another IEEE1275 bug.
18940
18941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18942 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18943 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18944 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18945 is set.
18946 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18947 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18948
d998657d
VS
189492011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18952 error.
18953
fee7cdd4
CW
189542011-02-11 Colin Watson <cjwatson@ubuntu.com>
18955
18956 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18957 empty, since in that case we can only generate either nothing or a
18958 syntactically invalid configuration file.
18959 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18960
97286eb5
CW
189612011-02-09 Colin Watson <cjwatson@ubuntu.com>
18962
18963 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18964 (Making a GRUB bootable CD-ROM): Likewise.
18965 (Invoking grub-mkrescue): New section.
18966 Reported by: Yann Dirson. Fixes Debian bug #612585.
18967
22b28eb3
CW
189682011-02-09 Colin Watson <cjwatson@ubuntu.com>
18969
18970 * util/grub-install.in: Remove unnecessary brackets from tr
18971 arguments.
18972 * util/grub.d/10_hurd.in: Likewise.
18973 * util/grub.d/10_kfreebsd.in: Likewise.
18974 * util/grub.d/10_linux.in: Likewise.
18975 * util/grub.d/20_linux_xen.in: Likewise.
18976 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18977
7e735e43
CW
189782011-02-08 Colin Watson <cjwatson@ubuntu.com>
18979
18980 * include/grub/file.h (not_easly_seekable): Rename to ...
18981 (not_easily_seekable): ... this. Update all users.
18982
800f1881
CW
189832011-01-28 Colin Watson <cjwatson@ubuntu.com>
18984
18985 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18986 grub-mkrescue.
18987
3281d3d6
VS
189882011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18989
18990 * util/grub-mkimage.c (generate_image): Refuse to create the images
18991 bigger than the actual flash (512K) in Loongson machines. 512K is also
18992 the biggest chip supported by them.
18993
3533413c
VS
189942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18997
73ae4f4f
VS
189982011-01-22 Anthony DeRobertis <anthony@derobert.net>
18999
19000 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19001 super_offset field.
19002
37f4f608
VS
190032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * util/grub-install.in: Ignore install device on platforms
19006 where it doesn't make sense. Always use UUIDs except on pc, efi and
19007 sparc64.
19008 Reported by: Daniel Kahn Gillmor.
19009
03a4ccb5
VS
190102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19013
ffc8f4d8
VS
190142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19017 (iterate_real): Don't rely on partition being non-NULL.
19018
80f23be7
VS
190192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19022 supported platforms. Put a compile time assert for this rather than
19023 generate a warning with 32-bit shift.
19024
5d4f4dd5
VS
190252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19028 logical expression more readable.
19029
e489601a
VS
190302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19033 even if some elements have a name.
19034 Reported by: Alexander GQ Gerasiov.
19035
96e0a6ea
CW
190362011-01-22 Colin Watson <cjwatson@ubuntu.com>
19037
19038 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19039 path unreadable if `grub-probe -t abstraction' fails, for example if
19040 memberlist fails on an LVM volume group.
19041 Reported by: Darius Jahandarie.
19042
81431e2b
CW
190432011-01-22 Colin Watson <cjwatson@ubuntu.com>
19044
19045 * docs/grub.texi (Simple configuration): Document
19046 GRUB_PRELOAD_MODULES.
19047
5e79d66a
CW
190482011-01-17 Colin Watson <cjwatson@ubuntu.com>
19049
19050 * .bzrignore: Remove nonexistent grub-pbkdf2.
19051
646ada34
VS
190522011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * configure.ac: Bump version to 1.99~rc1.
19055
04360337
VS
190562011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19059 for safety.
19060
46c9db88
VS
190612011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19064 module.
19065
190662011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19067
19068 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19069
4fbf1852
VS
190702011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19073 diskdevid.
19074
f1632d4d
VS
190752011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 Fix compilation on cygwin.
19078
19079 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19080 -R .drectve on cygwin.
19081 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19082 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19083 (COND_CYGWIN): New condition.
19084 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19085 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19086 not @TARGET_OBJ2ELF@.
19087 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19088 type to determine whether aux is to be used.
19089
0b5e127b
VS
190902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19091
19092 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19093 realpath'ed device string.
19094 Handle floppy (somewhat).
19095 Issue error in unknown case rather than garbage.
19096 Reported by: Axel Beckert.
19097
173b71e9
VS
190982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 * util/grub.d/00_header.in (load_video): Handle the case when no video
19101 drivers available.
19102 Thanks to: Axel Beckert.
19103
f8f479db
VS
191042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19107 variable. Fixes problem on big endian platforms.
19108
8fc0a245
VS
191092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19112 It doesn't work well there.
19113
b8494fbe
VS
191142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19117 warning.
19118 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19119 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19120 counter.
19121
b44a558c
VS
191222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 Use alias->path rather than buggy "canon".
19125
19126 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19127 (ofdisk_hash_add): New argument curcan. All users updated.
19128
51fa856c
CW
191292011-01-11 Colin Watson <cjwatson@ubuntu.com>
19130
19131 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19132
9da068a5
VS
191332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19136 loadmask before doing any calculations. Use correct type for offset.
19137 (grub_linux_load64): Likewise.
19138
86205c94
CW
191392011-01-11 Colin Watson <cjwatson@ubuntu.com>
19140
19141 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19142 with NULL.
19143 (console_grub_equivalences_unshift): Likewise.
19144 Reported by: Daniel Dehennin.
19145
4531a206
VS
191462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19149 (set_env_limn_ro): Likewise.
19150 (GRUB_MOD_INIT): Likewise.
19151 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19152 ARRAY_SIZE while on it.
19153 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19154 * grub-core/normal/context.c (grub_env_export): Move from here ...
19155 * grub-core/kern/env.c (grub_env_export): ... here.
19156 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19157 prefix.
19158 * grub-core/kern/main.c (grub_main): Export root and prefix.
19159 * include/grub/env.h (grub_env_export): Export.
19160 Reported by: Seth Goldberg.
19161
45146057
VS
191622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19165 Take into account space used by ELF sections and multiboot palette.
19166 Reported by: Grégoire Sutre.
19167
f093110b
VS
191682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * BUGS: New file.
19171
3395fe52
VS
191722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 Pass more appropriate video id to Linux.
19175
19176 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19177 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19178 fill have_vga.
19179 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19180 shift params->lfb_size.
19181 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19182
c2fa6cbb
VS
191832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19186
b3ff6ff0
VS
191872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19190 separator and pass bootpath/devid even if only one of them is available.
19191 Reported by: Seth Goldberg.
19192
ae67942e
VS
191932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19196 implementations bug on them.
19197
19198 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19199 memory.
19200 (filter_memory_map): Likewise.
19201
d570097a
VS
192022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19203
19204 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19205 Reported by: nebuchadnezzar.
19206
a508e776
VS
192072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19210 Reported by: nebuchadnezzar.
19211
dcb883b1
VS
192122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 Submenu default support.
19215
19216 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19217 auto_boot. All users updated.
19218 Declared static.
19219 Handle chosen and default with submenus.
19220 (grub_menu_execute_with_fallback): Declared static.
19221 Don't notify failure if autobooted. Upper level does it.
19222 (menuentry_eq): New function.
19223 (get_entry_number): Use menuentry_eq.
19224 (show_menu): New parameter "autobooted". All users updated.
19225 (grub_show_menu): Likewise.
19226 * include/grub/normal.h (grub_show_menu): Likewise.
19227 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19228 (grub_menu_execute_with_fallback): Likewise.
19229
6fef99b4
VS
192302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * util/grub-mklayout.c (usage): Update help text.
19233
47a77af5
VS
192342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19237
ce6bb3ee
VS
192382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * util/grub-menulst2cfg.c (main): Trim the line.
19241
db87be2a
VS
192422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19245 (grub_machine_init): Don't check amount of low memory as reportedly
19246 INT 12h can be broken and if low memory is too low we wouldn't have
19247 gotten into grub_machine_init anyway.
19248
c49849cc
VS
192492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19252 (grub_machine_mmap_iterate): Take low memory into account
19253
b1969b30
VS
192542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19257 badfs.
19258 Reported by: TiCPU.
19259
cf0eaf13
VS
192602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19263 members errors.
19264
1f060f39
GS
192652011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19266
19267 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19268 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19269
a21e5672
GS
192702011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19271
19272 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19273 openbsd and netbsd types being in part_bsd module.
19274
c88172fa
VS
192752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19278 (_FILE_OFFSET_BITS): Likewise.
19279 Reported by: Seth Goldberg.
19280
53798c4b
GS
192812011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19282
19283 * configure.ac: Check for libdevmapper header.
19284
e7121b69
VS
192852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19288 avoid aliasing.
19289 (fzap_lookup): Likewise.
19290 (dnode_get): Likewise.
19291 (make_mdn): Likewise.
19292 (zfs_mount): Likewise.
19293 (fzap_iterate): Use temporary pointer to avoid aliasing.
19294 (grub_zfs_read): Likewise.
19295 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19296 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19297 pointers to avoid aliasing.
19298 (grub_cmd_xnu_kernel64): Likewise.
19299 (grub_xnu_load_driver): Likewise.
19300
fc836af9
VS
193012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19304 aliasing warning.
19305 (grub_cmd_terminal_output): Likewise.
19306 Reported and tested by: Grégoire Sutre.
19307
f9f37648
VS
193082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19311 warning.
19312 Reported and tested by: Grégoire Sutre.
19313
ec1dfd63
VS
193142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * configure.ac: Do CPU substitution even if it's specified explicitly.
19317 Reported and tested by: Alain Greppin.
19318
9462775a
VS
193192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19322 Reported and tested by: Alain Greppin.
19323
0fd48e35
VS
193242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 Satisfy some bison versions need for inttypes.h.
19327
19328 * grub-core/lib/posix_wrap/inttypes.h: New file.
19329 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19330 (int16_t): Likewise.
19331 (int32_t): Likewise.
19332 (int64_t): Likewise.
19333 Reported and tested by: Alain Greppin.
19334
43f1bc83
VS
193352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19338 Silence spurious warning.
19339 Reported and tested by: Alain Greppin.
19340
64d1f041
SJ
193412011-01-07 Szymon Janc <szymon@janc.net.pl>
19342
19343 * docs/grub.texi (Support automatic decompression): Update with xz
19344 decompression support.
19345
25953e10
SJ
193462011-01-07 Szymon Janc <szymon@janc.net.pl>
19347
19348 Improve loaders' kernel command line handling.
19349
19350 * grub-core/lib/cmdline.c: New file.
19351 * include/grub/lib/cmdline.h: Likewise.
19352 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19353 grub_create_loader_cmdline to create kernel command line.
19354 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19355 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19356 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19357 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19358 (linux): Add lib/cmdline.c on common.
19359
e72d259f
VS
193602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19363 inopos might be unaligned.
19364
c0cf26da
VS
193652011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19366
19367 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19368 endian transformations.
19369 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19370 Based on report by: Doug Nazar.
19371
0ca09e6c
DN
193722011-01-07 Doug Nazar <nazard.michi@gmail.com>
19373
19374 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19375 array->members[i].start_sector.
19376 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19377
014b6806
VS
193782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19381 Reported and tested by: Grégoire Sutre.
19382
415502c2
CW
193832011-01-06 Colin Watson <cjwatson@ubuntu.com>
19384
19385 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19386 avoid causing test failures by clearing the screen.
19387
71b6a2b7
CW
193882011-01-06 Colin Watson <cjwatson@ubuntu.com>
19389
19390 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19391 Fix prefix check to handle the case where dir ends with a slash
19392 (most significantly, "/" itself).
19393 Reported by: Michael Vogt.
19394
b3f8d28a
VS
193952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 Run terminfo_cls on initing terminfo output to clear the screen and
19398 move the cursor to (0,0).
19399
19400 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19401 Call grub_terminfo_output_init.
19402 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19403 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19404 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19405
4c3e4f37
VS
194062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19409 only when needed.
19410
488f71f1
VS
194112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19414 CTRL.
19415
18a38098
VS
194162011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 The E820 type 5 is BADRAM, not EXEC_CODE.
19419
19420 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19421 (GRUB_E820_BADRAM): New define.
19422 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19423 into reserved. Propagate BADRAM.
19424 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19425 (GRUB_E820_BADRAM): New define.
19426
9eae2084
VS
194272011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19430 Ignore the memory post-4G.
19431 (grub_relocator_firmware_alloc_region): Additional debug statement.
19432
ebc71d28
VS
194332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19436 names.
19437 Reported by: David Pravec.
19438
446fa400
VS
194392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19442 BIOSes.
19443
a0159f37
VS
194442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19447 Prevent overflow.
19448 (grub_reed_solomon_recover): Likewise.
19449
e5146ca1
VS
194502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19453
194542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19455
19456 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19457 variable.
19458
5b1bdf12
CW
194592011-01-04 Colin Watson <cjwatson@ubuntu.com>
19460
19461 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19462 descriptions of extract_legacy_entries_source and
19463 extract_legacy_entries_configfile.
19464 Reported by: Seung Soo, Ha.
19465
99d925aa
CW
194662011-01-03 Colin Watson <cjwatson@ubuntu.com>
19467
19468 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19469 on devices that do not implement function 0.
19470
4af0504b
DV
194712011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19472
19473 * grub-core/fs/hfsplus.c: Make parent unsigned.
19474 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19475 overflows.
19476 (grub_hfsplus_cmp_extkey): Likewise
19477
469ee10a
VS
194782011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * util/grub-install.in: Correctly use bootloader_id and not
19481 GRUB_DISTRIBUTOR on efibootmgr line.
19482
323a8e9c
VS
194832011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19486
1b394975
IC
194872010-12-31 Ian Campbell <ijc@hellion.org.uk>
19488
19489 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19490 Xen and reorder menu item wording to make it clearer that this entry
19491 will launch Xen. Print separate messages when loading Xen and
19492 Linux.
19493
275bff5f
VS
194942010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19495
19496 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19497 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19498 loop in case of incorrect amiga partmap.
19499
307806cb
VS
195002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19503 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19504 Reported by:EHeM.
19505
b12b923e
VS
195062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19509 spurious warning.
19510 Reported by: crocket
19511
14b48a19
VS
195122010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19515 Preload EFIemu.
19516 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19517
693db2df
VS
195182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19521 is loaded
19522 (grub_cmd_xnu_kextdir): Likewise.
19523 (grub_cmd_xnu_splash): Likewise.
19524
c7638645
VS
195252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 Avoid using Reed-Solomon with 0 redundancy.
19528
19529 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19530 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19531 or 0 redundancy.
19532 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19533 (grub_reed_solomon_recover): Likewise.
19534
25dd4780
VS
195352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 Don't use disk subsystem in freebsd_boot.
19538
19539 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19540 (freebsd_biosdev): Likewise.
19541 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19542 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19543
0b2db943
VS
195442010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 Handling of files of unknown size is currently limited. They can't be
19547 used e.g. for initrd or modules. Moreover gzip handling of not
19548 easily seekable files is buggy. Disable unknown file size for now. May
19549 be inefficient but works.
19550
19551 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19552 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19553
5c408d0f
MP
195542010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19555
19556 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19557 floppy probe.
19558
190a011a
JD
195592010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19560
19561 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19562
022d01b8
SL
195632010-12-25 Shea Levy <shlevy>
19564
19565 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19566
c4855fdc
VS
195672010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19570 Windows Server 2008.
19571 Reported by: Devin Giddings.
19572
0354b867
VS
195732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19576 writing an error message because of async power management.
19577 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19578 (grub_reboot): Likewise.
19579
ab66c69f
JU
195802010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19581
19582 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19583 keep unit tests from failing when they shouldn't.
19584
1426ef35
CW
195852010-12-21 Colin Watson <cjwatson@ubuntu.com>
19586
19587 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19588 previous patch increased the size of the RS code by 20 bytes (at
19589 least with gcc-4.4), so increase this by 20 bytes to match.
19590 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19591
20641b6b
CW
195922010-12-21 Colin Watson <cjwatson@ubuntu.com>
19593
19594 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19595 scratch area. Make sure to initialise chosen in standalone mode as
19596 well as non-standalone.
19597 Reported by: Robert Hooker and Andy Whitcroft.
19598 Tested by: Andy Whitcroft.
19599
d060ad60
CW
196002010-12-21 Colin Watson <cjwatson@ubuntu.com>
19601
19602 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19603 constructing a new unescaped string and passing it to grub_xputs in
19604 one go, rather than passing characters to grub_printf one at a time.
19605
b889cfad
CW
196062010-12-21 Colin Watson <cjwatson@ubuntu.com>
19607
19608 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19609 initialising utf16.
19610
4e01b6c8
CW
196112010-12-21 Colin Watson <cjwatson@ubuntu.com>
19612
19613 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19614 comment. Add an extra layer of quotation, requiring the output of
19615 this function to be used in a printf format string.
19616 (gettext_printf): New function.
19617 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19618 Extract translatable strings from here-documents and use a temporary
19619 variable instead, so that xgettext can find them.
19620 * util/grub.d/10_kfreebsd.in: Likewise.
19621 * util/grub.d/10_linux.in: Likewise.
19622 * util/grub.d/20_linux_xen.in: Likewise.
19623
19624 * po/grub.d.sed: New file.
19625 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19626 arguments. Set c-format flags on all strings extracted from
19627 util/grub.d/ (xgettext refuses to include these itself for strings
19628 it extracted from a shell file, but these really are c-format).
19629
5318fe98
VS
196302010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19633 Avoid next pointing to nowhere.
19634
6c85b743
VS
196352010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19638 rather than assuming than rootblock is exactly in the middle.
19639 (grub_affs_label): Likewise.
19640
a2a08a35
VS
196412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19644 reserved_first_sector to 0.
19645 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19646 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19647 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19648
7059d1ec
VS
196492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 Fix handling of UTF-16 UDF labels.
19652
19653 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19654 (read_string): .. here.
19655 (grub_udf_label): Use read_string.
19656
30aff4cb
BC
196572010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19658
19659 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19660 editor under argument scope.
19661 Reported by: Jordan Uggla
19662
5cf86f4b
VS
196632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19666
32570200
CW
196672010-12-18 Colin Watson <cjwatson@ubuntu.com>
19668
19669 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19670 line, and other keys scroll an entire page (previous handling was
19671 for \r and \n to scroll a page and other keys to scroll two lines).
19672
e1dffcf2
VS
196732010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19676 Set ptrdest to correct get_physical_target_address rather than
19677 incorrect get_virtual_current_address.
19678
b04298cf 196792010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19680
19681 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19682 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19683
5367ecd3
CW
196842010-12-10 Colin Watson <cjwatson@ubuntu.com>
19685
19686 * .bzrignore: Ignore grub-core/rs_decoder.S.
19687
1fb430f8
CW
196882010-12-10 Colin Watson <cjwatson@ubuntu.com>
19689
19690 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19691 .mo/.mo.gz opening sequence to ...
19692 (grub_mofile_open_lang): ... here.
19693 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19694 * util/grub.d/00_header.in (grub_lang): Include country part of
19695 locale.
19696 Reported by: Mario Limonciello.
19697
a94a6671
RM
196982010-12-09 Robert Millan <rmh@gnu.org>
19699
19700 * NEWS: Document addition of ZFS support.
19701
24b7938b
CW
197022010-12-04 Colin Watson <cjwatson@ubuntu.com>
19703
19704 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19705 rather than `/ 2', as the latter requires -Wa,--divide which would
19706 require bumping our minimum binutils version.
19707
bddc3ef6
BC
197082010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19709
19710 * util/grub-script-check.c (main): Print script line number on
19711 error.
19712
bf78d5b2
RM
197132010-12-01 Robert Millan <rmh@gnu.org>
19714
19715 * grub-core/fs/zfs/zfs.c: New file.
19716 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19717 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19718 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19719 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19720
19721 * include/grub/zfs/dmu.h: Likewise.
19722 * include/grub/zfs/dmu_objset.h: Likewise.
19723 * include/grub/zfs/dnode.h: Likewise.
19724 * include/grub/zfs/dsl_dataset.h: Likewise.
19725 * include/grub/zfs/dsl_dir.h: Likewise.
19726 * include/grub/zfs/sa_impl.h: Likewise.
19727 * include/grub/zfs/spa.h: Likewise.
19728 * include/grub/zfs/uberblock_impl.h: Likewise.
19729 * include/grub/zfs/vdev_impl.h: Likewise.
19730 * include/grub/zfs/zap_impl.h: Likewise.
19731 * include/grub/zfs/zap_leaf.h: Likewise.
19732 * include/grub/zfs/zfs.h: Likewise.
19733 * include/grub/zfs/zfs_acl.h: Likewise.
19734 * include/grub/zfs/zfs_znode.h: Likewise.
19735 * include/grub/zfs/zil.h: Likewise.
19736 * include/grub/zfs/zio.h: Likewise.
19737 * include/grub/zfs/zio_checksum.h: Likewise.
19738
19739 * Makefile.util.def: Build ZFS into libgrubmods.
19740 * grub-core/Makefile.core.def: Build zfs.mod.
19741
3f0f3831
SJ
197422010-11-30 Szymon Janc <szymon@janc.net.pl>
19743
19744 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19745 variable.
19746 * grub-core/commands/wildcard.c (match_files): Likewise.
19747
3a4253b2
RM
197482010-11-30 Robert Millan <rmh@gnu.org>
19749
19750 * grub-core/loader/i386/bsd.c
19751 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19752 whether kernel is loaded using grub_loader_is_loaded(), rather
19753 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19754 certain error conditions.
19755
8c317b27
RM
197562010-11-30 Robert Millan <rmh@gnu.org>
19757
c5c9cd3e
RM
19758 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19759 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19760
49d3ab46
VS
197612010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 Avoid using tricks for initialising endian variables.
19764
19765 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19766 Make const.
19767 (GRUB_MOD_INIT): Don't byte-swap.
19768 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19769 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19770 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19771 (grub_swap_bytes32_compile_time): Likewise.
19772 (grub_cpu_to_le32_compile_time): Likewise.
19773 (grub_cpu_to_le16_compile_time): Likewise.
19774
f420a804
VS
197752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 * util/grub-setup.c (setup): Stop recommending --force. People who
19778 understand the dangers of blocklists are able to find this option
19779 anyway and the ones who don't shouldn't use it anyway.
19780
4e7db17b
RM
197812010-11-26 Robert Millan <rmh@gnu.org>
19782
19783 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19784 Update all users.
19785
9be57a0d
CW
197862010-11-26 Colin Watson <cjwatson@ubuntu.com>
19787
19788 Fix LVM-on-RAID probing.
19789
19790 * util/grub-probe.c (probe): Remember which disk was detected as
19791 RAID (perhaps an LVM physical volume). Use that disk's raidname
19792 rather than that of the top-level disk.
19793
2c7859b3 197942010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19795
d7647bb6
BC
19796 Fix cmdline argument quotes for setparams command of menuentry
19797 definitions.
7e623b0d
BC
19798
19799 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19800 quotes for arguments.
f866fe80 19801 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19802 grub_strchrsub function instead.
f866fe80 19803
7955bea0 19804 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19805
74f72a64
CW
198062010-11-24 Colin Watson <cjwatson@ubuntu.com>
19807
19808 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19809 effort by skipping "." and ".." entries up-front.
19810 Suggested by: Michael Lazarev.
19811
5a407278
CW
198122010-11-24 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19815 ldflags to ldadd, to fix link line ordering.
19816 (none_decompress): Likewise.
19817
3030d8ec
CW
198182010-11-24 Colin Watson <cjwatson@ubuntu.com>
19819
19820 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19821 platforms.
19822 (grub-emu-lite): Remove kern/emu/cache.S.
19823
b7fbac12
CW
198242010-11-23 Colin Watson <cjwatson@ubuntu.com>
19825
19826 * util/deviceiter.c (compare_devices): If the by-id link for a
19827 device couldn't be resolved, fall back to sorting by the by-id link
19828 rather than segfaulting.
19829 Reported and tested by: Daniel Mierswa.
19830
5225f328
CW
198312010-11-23 Colin Watson <cjwatson@ubuntu.com>
19832
19833 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19834 ldflags, to fix link line ordering.
19835
038b3ce8
CW
198362010-11-23 Colin Watson <cjwatson@ubuntu.com>
19837
19838 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19839 linkers are picky about this.
19840
bf16e98e
CW
198412010-11-23 Colin Watson <cjwatson@ubuntu.com>
19842
19843 * grub-core/Makefile.am (command.lst): Adjust sed expression
19844 ordering so that extended and priority commands aren't treated as
19845 ordinary commands.
19846
7242bab6
CW
198472010-11-23 Colin Watson <cjwatson@ubuntu.com>
19848
19849 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19850 Remove byte-swapping function calls, which are not valid in
19851 structure initialisers.
19852 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19853 non-const.
19854 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19855 grub_gpt_partition_type_bios_boot.
19856
14e8b279
CW
198572010-11-22 Colin Watson <cjwatson@ubuntu.com>
19858
19859 Fix test program build on GNU/kFreeBSD.
19860
19861 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19862 $(LIBNVPAIR)' library dependencies.
19863
e6f63338 198642010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19865
19866 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19867
cf8ffc38
CW
198682010-11-22 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * util/grub-install.in: Remove excessive quoting that broke
19871 installations to RAID devices.
19872
7f8b0fd7
VS
198732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19876 bootloader version instead of 0.
19877
dfd240b1
VS
198782010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19881 warning.
19882
7b61e609
VS
198832010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19886 retrieve the metadat sector if size isn't known.
19887 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19888
9dfe92d0
RM
198892010-11-18 Robert Millan <rmh@gnu.org>
19890
19891 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19892 with grub_memcmp().
19893
41cc919e
VS
198942010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19897 arrow.
19898 Reported by: Jordan Uggla.
19899
1afcc914
VS
199002010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 Make better UTF compliant.
19903
19904 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19905 sequences as incorrect.
19906 (grub_is_valid_utf8): Likewise.
19907 (grub_utf8_to_ucs4): Likewise.
19908 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19909 (grub_ucs4_to_utf8_alloc): Likewise.
19910 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19911
f1808884
VS
199122010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 Make legacy_source behave like source.
19915
19916 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19917 grub_show_menu.
19918 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19919
24ec575b
CW
199202010-11-16 Colin Watson <cjwatson@debian.org>
19921
19922 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19923 (-Wunused implies -Wunused-parameter, but not vice versa).
19924
72b7c7aa
CW
199252010-11-16 Colin Watson <cjwatson@ubuntu.com>
19926
19927 * configure.ac: Make error messages less confusing by testing for
19928 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19929 accepted, but produces a diagnostic if something else is wrong).
19930
e98937aa
VS
199312010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19934 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19935 (now unused).
19936 (grub_keyboard_controller_init)
19937 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19938 read the initial state since controller isn't inited yet.
19939
f6bbabc3
VS
199402010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19943 allocate_regbeg may need to create new chunk header.
19944
22e7dbb2
VS
199452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 Fix quoting in legacy parser.
19948
19949 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19950 single quotes.
19951 (grub_legacy_parse): Likewise.
19952 Reported by: Jordan Uggla.
19953 Tested by: Jordan Uggla.
19954
03f80960
VS
199552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 Don't add -lgcc on i386 and x86_64.
19958
19959 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19960 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19961 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19962
779dc15b
VS
199632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 * configure.ac: Add -Wno-trampolines when supported.
19966
d20a3b37
MV
199672010-11-14 Modestas Vainius <modax@debian.org>
19968
19969 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19970 fakeraid.
19971
e5360933
GC
199722010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19973
19974 Add generic logical block size support for UDF.
19975
19976 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19977 (GRUB_UDF_BLKSZ): Removed.
19978 (struct grub_udf_data): New field "lbshift" to hold the logical block
19979 size of the file system in log2 format. All users updated.
19980 (sblocklist): Change type to unsigned.
19981 (grub_udf_mount): Change type of "sblklist" to unsigned.
19982 Move AVDP search before VRS recognition, because the latter requires
19983 knowledge of the logical block size, which is detected during the
19984 former.
19985 Detect and validate logical block size during AVDP search, adding
19986 support for block sizes 512, 1024 and 4096.
19987 Make VRS recognition independent of block size.
19988
cb0229c5
GC
199892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19990
19991 Properly handle deleted files on UDF.
19992
19993 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19994 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19995 set.
19996
406858a8
GC
199972010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19998
19999 Support reading files larger than 2 GiB.
20000
20001 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20002 "offset" to grub_off_t.
20003 (grub_udf_read_file): Likewise for parameter "pos".
20004
130da6a7
VS
200052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20008 unavailable.
20009 (Simple configuration): Refer to Changes from GRUB Legacy about
20010 save_env availability.
20011
65e93f6b
VS
200122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * util/grub-install.in: Ignore empty partition table detection
20015 instead of trying to include part_ module.
20016
1fd08bf1
VS
200172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20020 LVM on RAID support.
20021
de1a024f
VS
200222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 Properly define WORDS_BIGENDIAN in wrapped environments.
20025
20026 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20027 definition.
20028 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20029
20030 Reported by: Manoel Rebelo Abranches.
20031 Tested by: Manoel Rebelo Abranches.
20032
bc5dd0b9
VS
200332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * util/grub-mkconfig.in: Fix quoting.
20036
58c184be
VS
200372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 Support big ext2 files.
20040
20041 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20042 (grub_ext2_read_block): Support triple indirect blocks.
20043 (grub_ext2_read_file): Use 64-bit types and read size_high.
20044 (grub_ext2_open): Read size_high.
20045 Reported by: Ximin Luo.
20046 Tested by: Manoel Rebelo Abranches.
20047
5f0c02b3
VS
200482010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * util/grub-install.in: Handle filenames containing spaces.
20051 Reported by: Jordan Uggla.
20052 Tested by: Jordan Uggla.
20053
4417aae6
VS
200542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * util/grub-mkconfig.in (grub_script_check): New variable.
20057 Use grub_script_check instead of grub-script-check.
20058 Reported by: Barry Jackson.
20059
7625a68e
VS
200602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * docs/grub.texi (menu): Correct the order.
20063 Reported by: D. Hugh Redelmeier.
20064
10001ac5
VS
200652010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20068 jump.
20069
9c4cf53b
MRA
200702010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20071
10001ac5
VS
20072 * include/grub/elfload.h (grub_elf32_size): New parameter.
20073 All users updated.
9c4cf53b
MRA
20074 Return maximum segments alignment.
20075 (grub_elf64_size): Likewise.
20076 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20077 Return maximum segments alignment.
20078 (grub_elf64_size): Likewise.
20079 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20080 (grub_linux_claimmap_iterate): New function. Uses the
20081 "available" property in the "memory" node for memory allocation
20082 for kernel in the PowerPC loader.
9c4cf53b
MRA
20083 (grub_linux_load32): Correctly find linux entry point offset.
20084 (grub_linux_load64): Likewise.
20085
d2bf06bf
RM
200862010-11-07 Robert Millan <rmh@gnu.org>
20087
20088 On mips-yeeloong, build with -march=loongson2f when this flag is
20089 available (GCC >= 4.4).
20090 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20091 `-march=mips3'.
20092 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20093 or otherwise add -march=mips3.
20094
898c99a2
BC
200952010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20096
87220a68
BC
20097 Suppress shell expansion on echo '*' and echo "*" like cases.
20098 Reported by: Jordan Uggla.
898c99a2
BC
20099
20100 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20101 string arguments before shell expansion.
20102 * tests/grub_cmd_echo.in: New testcases.
20103
4f9b406a
RM
201042010-11-07 Robert Millan <rmh@gnu.org>
20105
20106 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20107 transition.
20108
80c6d25e
VS
201092010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 * grub-core/kern/emu/hostdisk.c
20112 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20113
4a1a0153
VS
201142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20117 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20118 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20119
34706ddc
VS
201202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20123
6972dea9
VS
201242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 * util/grub-install.in: Replace useless recomendation to pass
20127 --modules with a recomendation to report a bug.
20128
9c693bd6
VS
201292010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20130
20131 Properly register serial terminfo.
20132 Reported by: Jordan Uggla
20133
20134 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20135 const.
20136 (grub_serial_terminfo_output_template): Likewise.
20137 (grub_cmd_serial): Register "serial" with terminfo.
20138 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20139 grub_serial_terminfo_output.
20140
6c9e4c0c
RM
201412010-11-05 Robert Millan <rmh@gnu.org>
20142
20143 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20144 needed).
20145
b9b3839f
RM
201462010-11-05 Robert Millan <rmh@gnu.org>
20147
20148 On Yeeloong, pass machine type information to Linux.
20149
20150 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20151 (LOONGSON_MACHTYPE): New macro, set to
20152 "machtype=lemote-yeeloong-2f-8.9inches".
20153 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20154 additional argument to Linux.
20155
1a3aaff4
RM
201562010-11-04 Robert Millan <rmh@gnu.org>
20157
20158 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20159 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20160 (its SATA disks are detected as slaveless IDE master drives on
20161 kFreeBSD).
20162 Reported by Carsten Aulbert.
20163
a75f4f62
CW
201642010-11-02 Colin Watson <cjwatson@ubuntu.com>
20165
20166 * util/bin2h.c (main): Fix spelling error in generated output.
20167
33b4b0c6
GS
201682010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20169
20170 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20171
2b36fbf4
VS
201722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20175 vga= option is supplied.
20176
74aaf558
VS
201772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20180 * util/grub.d/10_kfreebsd.in: Likewise.
20181 * util/grub.d/10_linux.in: Likewise.
20182 * util/grub.d/20_linux_xen.in: Likewise.
20183
6428dec3
VS
201842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20187 argument as an argument to no-argument option.
20188
f8729d98
VS
201892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * util/grub.d/10_linux.in: Add missing load_video with explicit
20192 GRUB_GFXPAYLOAD_LINUX.
20193
89d68fa6
VS
201942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20197
3a1197cd
VS
201982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20201 elements with invlid index.
20202 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20203 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20204 members.
20205 * include/grub/raid.h (grub_raid_member): New struct.
20206 (grub_raid_array): Transform devices and start_sector into usage of
20207 grub_raid_member. All users updated
20208 (allocated_devs): New member.
20209
71574288
VS
202102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20213 is modified
20214
8d40ec65
BC
202152010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20216
20217 NetBSD build fix for getline function conflict from gnulib.
20218
20219 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20220 components that depend on gnulib headers.
20221 (libgrubmods.a): Renamed from earlier libgrub.a.
20222 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20223
95b9257e
VS
202242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20227 install rather than creating a broken install.
20228
26c53dc6
VS
202292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * util/grub-setup.c (argp): Remove misleading example of installing to
20232 a partition.
20233
4171b3c5
VS
202342010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * util/grub-setup.c (setup): Clarify the error message.
20237
18568d18
VS
202382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20241
4f6a2e21
VS
202422010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * grub-core/kern/emu/misc.c
20245 (grub_make_system_path_relative_to_its_root)
20246 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20247
202482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20249
20250 * grub-core/kern/emu/misc.c
20251 (grub_make_system_path_relative_to_its_root): Revert r2882.
20252
e138c458
VS
202532010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20256 useless field head. All users updated.
20257 (free_subchunk): Correct handling of IN_REGION subchunk.
20258
0cbcdf0e
CW
202592010-10-22 Colin Watson <cjwatson@ubuntu.com>
20260
20261 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20262 (Supported kernels): Likewise.
20263
b65ea155
GS
202642010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20265
20266 Make mktemp invocations portable.
20267
20268 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20269 exit if mktemp fails.
20270 * tests/grub_script_blockarg.in: Likewise.
20271 * tests/partmap_test.in: Likewise.
20272 * tests/util/grub-shell-tester.in: Likewise.
20273 * tests/util/grub-shell.in: Likewise.
20274 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20275 * Makefile.am: Likewise, and chain shell commands with `&&'
20276 instead of ';'.
20277 * util/grub-mkrescue.in: Use the same explicit template as above, and
20278 exit if mktemp fails.
20279
05f43cdd
BC
202802010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20281
20282 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20283 Linux kernel, reported by Dennis Schridde.
20284
800e6a9b
SJ
202852010-10-17 Szymon Janc <szymon@janc.net.pl>
20286
20287 * grub-core/normal/auth.c (grub_auth_check_authentication):
20288 Set-but-not-used variable removed.
20289
d82df574
VS
202902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20293 32-bit linux protocol.
20294
7bced458
VS
202952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20298 cursor shape for sanity.
20299
5b027690
VS
203002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * docs/grub.texi (Installation): Document buggy BIOS install.
20303
ba5f65cf
VS
203042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * docs/grub.texi (Installation): Indent.
20307
fdf2ec9c
VS
203082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * util/grub-setup.c (setup): New parameter allow_floppy.
20311 (arguments): New member allow_floppy.
20312 (argp_parser): Handle --allow-floppy.
20313 (main): Pass allow_floppy.
20314 * util/grub-install.in: New option --allow-floppy passed though to
20315 grub-setup.
20316
861dfd4c
VS
203172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 * util/grub-install.in: Handle partitionless disks.
20320
f77a8c24
VS
203212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * util/grub-setup.c (setup): Don't clean blocklists before readability
20324 verfification.
20325
27d9ee32
VS
203262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 * docs/grub.texi (Installation): Document embedding zone. Remove
20329 obsolete grub-install example.
20330
6bdda8f8
SJ
203312010-10-16 Szymon Janc <szymon@janc.net.pl>
20332
20333 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20334 Set-but-not-used variable ifdef'ed.
20335 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20336 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20337 variable removed.
20338 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20339 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20340 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20341 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20342 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20343 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20344 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20345 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20346 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20347 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20348 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20349 Likewise.
20350
e19b016b
VS
203512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20354 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20355 enum value.
20356
6c8d3002
VS
203572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20360 synonym to _S5_. Needed for some DSDTs.
20361
c32b51c9
VS
203622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 Userspace ACPI parser debugging.
20365
20366 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20367 headers and add relevant defines. Don't include standard headers.
20368 (main) [GRUB_DSDT_TEST]: New function.
20369 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20370 Don't declare functions.
20371
fbfbeb39
VS
203722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 Remove dead grub_efi_mm_fini.
20375
20376 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20377 (ALLOCATED_PAGES_SIZE): Likewise.
20378 (MAX_ALLOCATED_PAGES): Likewise.
20379 (allocated_pages): Likewise.
20380 (grub_efi_allocate_pages): Don't record allocated pages.
20381 (grub_efi_free_pages): Likewise.
20382 (grub_efi_mm_init): Likewise.
20383 (grub_efi_mm_fini): Removed.
20384
65f7ed7c
VS
203852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20388 (grub_efi_mm_init): Take into account the memory map size increase.
20389
24977b44
VS
203902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20393 (serial_hw_put): Wait based on real time rather than port reads. Don't
20394 roken ports.
20395 * include/grub/serial.h (grub_serial_port): New field broken.
20396
1eb01cd2
RM
203972010-10-16 Robert Millan <rmh@gnu.org>
20398
20399 * grub-core/kern/emu/misc.c
20400 (grub_make_system_path_relative_to_its_root): Fix premature return
20401 when processing non-root ZFS filesystems.
5f8b440b 20402 Reported by Sergio Talens-Oliag.
1eb01cd2 20403
2d5fed60
RM
204042010-10-15 Robert Millan <rmh@gnu.org>
20405
20406 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20407 guarantee compressed ones are processed first.
20408
d0f4c1ea
VS
204092010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20412 grub_efiemu_autocore.
20413
d87c681f
VS
204142010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20417 rather than 0x1b.
20418 (grub_console_getkey): Use correct jae opcode rather than ja.
20419
219b3564
RM
204202010-10-12 Robert Millan <rmh@gnu.org>
20421
20422 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20423 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20424 variable. All references updated.
20425
20426 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20427
20c6bb7e
VS
204282010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 Correctly distinguish mdraid flavours.
20431
20432 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20433 (insert_array): New argument raid.
20434 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20435 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20436 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20437
74baff84
VS
204382010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20441 handling of special keys.
20442
3ef068df 204432010-10-02 Aleš Nesrsta <starous@volny.cz>
20444
c7980ad9
VS
20445 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20446 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20447
a9455194 204482010-10-02 Aleš Nesrsta <starous@volny.cz>
20449
c7980ad9
VS
20450 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20451 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20452 users updated.
a9455194 20453 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20454 Use right endpoint when querying descriptor.
a9455194 20455
441cfe65
VS
204562010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Clear out 0x80 color bit on EFI.
20459 Tested by: decoder
20460 Reported by: decoder and meta tech.
20461
20462 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20463 (grub_console_setcolorstate): Clear out 0x80 bit.
20464 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20465 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20466 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20467
bf26bcc4
VS
204682010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20471 Set to "auto".
20472
6e3c515d
VS
204732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20476 mo_file after freeing.
20477
e6d983ba
VS
204782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20481
74ccb5b5
VS
204822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20485 flags.
20486
17821956
VS
204872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20490 usage.
20491
ee74fa48
VS
204922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20493
20494 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20495
20496 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20497 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20498 and terminfo.h when needed.
20499 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20500 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20501 (terminfo): Enable only on terminfokernel.
20502 (extcmd): Likewise.
20503 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20504 * include/grub/lib/arg.h: Likewise.
20505 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20506 incorrect usage of ->.
20507
aa438e68
VS
205082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20511 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20512
57994012
VS
205132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 Fix coreboot compilation.
20516
20517 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20518 Take VBE info into account even if only text is supported.
20519 (fill_vbe_info): Take into account the case when only VGA text
20520 is supported.
20521 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20522 on coreboot, multiboot and qemu.
20523
2a406611
VS
205242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20527 debug messages.
20528 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20529
d33613fc
VS
205302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20533 parameters.
20534
44a1b432
VS
205352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20538 if they were BSD-style.
20539
edde54e6
VS
205402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * grub-core/boot/i386/pc/lnxboot.S: Replace
20543 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20544 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20545
b65830fa
VS
205462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 Write embedding zone using Reed-Solomon.
20549
20550 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20551 * grub-core/Makefile.am (rs_decoder.S): New target.
20552 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20553 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20554 (multiboot): Move to RS part.
20555 (post_reed_solomon): New label.
20556 (grub_boot_drive): Move to non-RS part since it's modified in memory
20557 on boot.
20558 Include rs_decoder.S.
20559 * grub-core/lib/reed_solomon.c: New file.
20560 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20561 New definition.
20562 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20563 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20564 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20565 * include/grub/partition.h (grub_partition_map): Change prototype of
20566 embed to allow returning additional sectors.
20567 * include/grub/reed_solomon.h: New file.
20568 * util/grub-setup.c (setup): Handle Reed-Solomon.
20569
0b4b227f
CW
205702010-09-28 Colin Watson <cjwatson@ubuntu.com>
20571
20572 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20573 i386 and x86-64 definedness tests.
20574
f772623b
YB
205752010-09-27 Yves Blusseau <blusseau@zetam.org>
20576
20577 Fix generation of kernel_syms.lst
20578
20579 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20580 ASM_PREFIX
20581
8e57a6ca
RM
205822010-09-26 Robert Millan <rmh@gnu.org>
20583
20584 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20585
20586 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20587 the pool is an array of devices, iterate through it and return the
20588 first device that passes a stat() test (instead of blindly returning
20589 the first one).
20590
f9130836
RM
205912010-09-26 Robert Millan <rmh@gnu.org>
20592
20593 Build fixes for GNU/kFreeBSD.
20594
20595 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20596 to programs that require ZFS conversion.
20597 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20598 kernels that don't have FLOPPY_MAJOR.
20599
96510faf
BC
206002010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20601
20602 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20603
449333eb
BC
206042010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20605
20606 Fix grub-emu build.
20607
20608 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20609 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20610 mdraid09 and mdraid1x.
20611
e1fd1939
CW
206122010-09-24 Colin Watson <cjwatson@ubuntu.com>
20613
20614 Re-enable grub-extras.
20615
20616 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20617 avoid confusing Automake. Run autogen only twice, once for the top
20618 level and once for grub-core. Add Makefile.util.def and
20619 Makefile.core.def from extra modules to the appropriate autogen
20620 invocations. If Makefile.common exists in an extra module, include
20621 it in both Makefile.util.am and grub-core/Makefile.core.am;
20622 similarly, include any Makefile.util.common file in Makefile.util.am
20623 and any Makefile.core.common file in grub-core/Makefile.core.am.
20624 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20625 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20626 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20627 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20628
20629 * gentpl.py (gvar_add): Turn GVARS into a set.
20630 (global_variable_initializers): Sort global variables on output.
20631 (vars_init): New function.
20632 (first_time): Likewise.
20633 (library): Ensure that non-global variable initialisations are
20634 emitted before the first time we emit code for a library block.
20635 Append to variables rather than setting them. Only emit
20636 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20637 each conditional path.
20638 (program): installdir() emits an Autogen macro, so must be passed to
20639 var_add rather than gvar_add.
20640 (data): Likewise.
20641 (script): Likewise.
20642 (rules): New function, centralising handling for different target
20643 types. Set up Guile association lists for first_time and vars_init,
20644 and send most output to a diversion so that variable initialisations
20645 can be emitted first.
20646 (module_rules): Use new rules function.
20647 (kernel_rules): Likewise.
20648 (image_rules): Likewise.
20649 (library_rules): Likewise.
20650 (program_rules): Likewise.
20651 (script_rules): Likewise.
20652 (data_rules): Likewise.
20653
20654 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20655
20656 * .bzrignore: Add contrib and grub-core/contrib. Remove
20657 grub-core/Makefile.gcry.am.
20658
1d12cf29
YB
206592010-09-24 Yves Blusseau <blusseau@zetam.org>
20660
20661 * grub-core/lib/LzFind.c: Add missing include.
20662 * grub-core/lib/LzmaEnc.c: Likewise.
20663 * grub-core/script/lexer.c: Likewise.
20664 * grub-core/script/yylex.l: Likewise.
20665 * util/grub-macho2img.c: Likewise.
20666 * util/grub-menulst2cfg.c: Likewise.
20667 * util/grub-mklayout.c: Likewise.
20668 * util/grub-mkpasswd-pbkdf2.c
20669 * util/grub-mkrelpath.c: Likewise.
20670 * util/resolve.c: Likewise.
20671
dd363028
BC
206722010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20673
20674 * Makefile.util.def (example_unit_test): Add
20675 grub-core/gnulib/libgnu.a.
20676
f5a109e2
GS
206772010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20678
20679 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20680
6d0fa83c
VS
206812010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 Support xz compression on yeeloong.
20684
20685 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20686 * configure.ac: Check for LZMA.
20687 * grub-core/Makefile.core.def (xz_decompress): New target.
20688 (none_decompress): Likewise.
20689 * grub-core/boot/decompressor/minilib.c: New file.
20690 * grub-core/boot/decompressor/none.c: Likewise.
20691 * grub-core/boot/decompressor/xz.c: Likewise.
20692 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20693 * grub-core/kern/mips/cache_flush.S: Likewise.
20694 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20695 * grub-core/kern/mips/startup.S: Move first stage to ...
20696 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20697 nomacro.
20698 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20699 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20700 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20701 Allocate statically.
20702 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20703 Allocate statically or use scratch. Don't check CRC32.
20704 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20705 Allocate statically. Don't check CRC32.
20706 * include/grub/decompressor.h: New file.
20707 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20708 Removed.
20709 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20710 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20711 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20712 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20713 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20714 * util/grub-mkimage.c (grub_compression_t): New type.
20715 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20716 (image_target_desc): New field default_compression.
20717 (image_targets): Adjust yeeloong targets.
20718 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20719 (compress_kernel): New parameter comp.
20720 (generate_image): Likewise. Handle new compression case.
20721 (options): New option --compression
20722 (help): Likewise.
20723 (main): Handle new option.
20724
1b655af6
GS
207252010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20726
20727 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20728
8f03f0b5
CW
207292010-09-22 Colin Watson <cjwatson@ubuntu.com>
20730
20731 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20732 typo in __i386__ conditional.
20733
7835dfd3
VS
207342010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20737 include.
20738
e255597e
VS
207392010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20740
6d0fa83c 20741 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20742
20743 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20744 new tags as supported.
20745 (acpiv2_size): New function.
20746 (grub_multiboot_get_mbi_size): Take new tags into account.
20747 (grub_multiboot_make_mbi): Add new tags.
20748 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20749
6cc14051 207502010-09-21 Aleš Nesrsta <starous@volny.cz>
20751
20752 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20753 Added missing configuration of USB device.
20754
df7769d8
CW
207552010-09-21 Colin Watson <cjwatson@ubuntu.com>
20756
20757 * grub-core/normal/menu_entry.c (run): Make sure we always return
20758 a value.
20759
b031012d
CW
207602010-09-21 Colin Watson <cjwatson@ubuntu.com>
20761
20762 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20763 NumberOfPages is UINT64 according to the UEFI specification, not
20764 UINTN. Fix printf format.
20765
174de8f3
CW
207662010-09-21 Colin Watson <cjwatson@ubuntu.com>
20767
20768 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20769 `err' to grub_usb_err_t.
20770 Reported and tested by: KESHAV P.R.
20771
d7dbe923
CW
207722010-09-21 Colin Watson <cjwatson@ubuntu.com>
20773
20774 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20775 tpart non-const, so that we can assign to it. (Since this is a
20776 typedef, the constness refers to the pointer rather than what it
20777 points to.)
20778
8d5e2af3
CW
207792010-09-21 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20782 $(top_srcdir)/grub-core/gnulib as well as
20783 $(top_builddir)/grub-core/gnulib.
20784 Reported by: KESHAV P.R.
20785
5c527783
CW
207862010-09-21 Colin Watson <cjwatson@ubuntu.com>
20787
20788 * util/grub-install.in: Fix the bootloader ID option to be
20789 consistently --bootloader-id, not --bootloader_id.
20790 Reported by: KESHAV P.R.
20791
d309a16e
CW
207922010-09-21 Colin Watson <cjwatson@ubuntu.com>
20793
20794 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20795 check hash checksum." consistently translatable.
20796
b830cd16
YB
207972010-09-21 Yves Blusseau <blusseau@zetam.org>
20798
20799 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20800 $(top_builddir).
20801
c4fe27a8
CW
208022010-09-21 Colin Watson <cjwatson@ubuntu.com>
20803
20804 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20805 (GRUB_MOD_INIT): Register sha1sum command.
20806 (GRUB_MOD_FINI): Unregister sha1sum command.
20807
a4c1d277
YB
208082010-09-21 Yves Blusseau <blusseau@zetam.org>
20809
20810 Keep boot and grub directory names in sync with utils scripts
20811
20812 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20813 * config.h.in: Add previous macros.
20814 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20815 * util/grub-install.in: Use $bootdir and $grubdir variables.
20816
4eff79d2
CW
208172010-09-21 Colin Watson <cjwatson@ubuntu.com>
20818
20819 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20820 convert partition names to disk names if the new `convert' parameter
20821 is set.
20822 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20823 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20824 disk in its own right. This can happen with Xen disk images.
20825
934d7e44
YB
208262010-09-21 Yves Blusseau <blusseau@zetam.org>
20827
20828 * util/grub-editenv.c: Update strings to avoid warnings when generating
20829 grub.pot file.
20830 * util/grub-setup.c: Likewise.
934d7e44 20831
df3367cc
VS
208322010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * configure.ac: Change version to 1.99~beta0.
20835
77a94e98
VS
208362010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20839 Add BADRAM.
20840 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20841 Likewise.
20842 * include/multiboot.h: Resynced with specification.
20843 * include/multiboot2.h: Likewise.
20844
269004c1
CW
208452010-09-21 Colin Watson <cjwatson@ubuntu.com>
20846
20847 Fix po directory handling.
20848
20849 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20850 * grub-core/gnulib/Makefile.am: Import gettext module.
20851 * m4/gnulib-cache.m4: Likewise.
20852 * m4/gnulib-comp.m4: Likewise.
20853 * m4/gettext.m4: New file, from gnulib.
20854 * m4/glibc2.m4: Likewise.
20855 * m4/iconv.m4: Likewise.
20856 * m4/intdiv0.m4: Likewise.
20857 * m4/intl.m4: Likewise.
20858 * m4/intldir.m4: Likewise.
20859 * m4/intlmacosx.m4: Likewise.
20860 * m4/intmax.m4: Likewise.
20861 * m4/inttypes-pri.m4: Likewise.
20862 * m4/lcmessage.m4: Likewise.
20863 * m4/lib-ld.m4: Likewise.
20864 * m4/lib-link.m4: Likewise.
20865 * m4/lib-prefix.m4: Likewise.
20866 * m4/lock.m4: Likewise.
20867 * m4/nls.m4: Likewise.
20868 * m4/po.m4: Likewise.
20869 * m4/printf-posix.m4: Likewise.
20870 * m4/progtest.m4: Likewise.
20871 * m4/threadlib.m4: Likewise.
20872 * m4/uintmax_t.m4: Likewise.
20873 * m4/visibility.m4: Likewise.
20874 * po/Makefile.am: Remove.
20875 * po/Makefile.in.in: New file, from gettext.
20876 ($(DOMAIN).pot-update): Support POTFILES-shell.
20877 * po/Makevars: New file.
20878 * po/POTFILES-shell: Rename to ...
20879 * po/POTFILES-shell.in: ... this. Update.
20880 * po/POTFILES: Rename to ...
20881 * po/POTFILES.in: ... this. Update.
20882 * po/Rules-quot: New file, from gettext.
20883 * po/boldquot.sed: Likewise.
20884 * po/en@boldquot.header: Likewise.
20885 * po/en@quot.header: Likewise.
20886 * po/insert-header.sin: Likewise.
20887 * po/quot.sed: Likewise.
20888 * po/remove-potcdate.sin: Likewise.
20889
3e0fa5d0
VS
208902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20893
ade9bd66
VS
208942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * util/grub.d/20_linux_xen.in: Use submenus.
20897
fc55cc4c
VS
208982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20899
20900 Support submenus.
20901
20902 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20903 parameter submenu. All users updated.
20904 * grub-core/normal/main.c (free_menu): Rename to ...
20905 (grub_normal_free_menu): ... this. Made global.
20906 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20907 if requested.
20908 * grub-core/normal/menu_entry.c (screen): New field submenu.
20909 (make_screen): Set submenu.
20910 (run): Open new context if requested.
20911 * include/grub/menu.h (grub_menu_entry): New field submenu.
20912 * include/grub/normal.h (grub_normal_free_menu): New proto.
20913
600cedf7
VS
209142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 Menu entries extractor.
20917
20918 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20919 variants.
20920 (GRUB_MOD_INIT): Register new variants.
20921 (GRUB_MOD_FINI): Unregister new variants.
20922 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20923 into grub_cmd_legacy_source.
20924 (grub_cmd_legacy_source): Implement extractor variants.
20925 (GRUB_MOD_INIT): Register new variants.
20926 (GRUB_MOD_FINI): Unregister new variants.
20927 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20928 as an extractor.
20929 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20930 search as an extractor.
20931 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20932 test as an extractor.
20933 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20934 as an extractor.
20935 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20936 (grub_env_new_context): New function.
20937 (grub_env_context_open): Likewise.
20938 (grub_env_extractor_open): Likewise.
20939 (grub_env_extractor_close): Likewise.
20940 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20941 grub_extractor_level.
20942 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20943 * include/grub/env.h (grub_env_extractor_open): New proto.
20944 (grub_env_extractor_close): Likewise.
20945 * include/grub/normal.h (grub_extractor_level): New external variable.
20946
7bda3a87
VS
209472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 Make cutmem accept a region specification.
20950 Suggested by: Samuel Thibault
20951
20952 * grub-core/mmap/mmap.c (parsemem): New function.
20953 (grub_cmd_cutmem): Handle new arguments.
20954
2ea57f88
VS
209552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20956
20957 New command cutmem.
20958
20959 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20960 (GRUB_MOD_INIT): Register new command.
20961 (GRUB_MOD_FINI): Unregister new command.
20962
74342e31
VS
209632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 Support some annoying BSD and Minix subpartitions.
20966
20967 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20968 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20969 Properly handle concatenation.
20970 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20971 * grub-core/normal/completion.c (iterate_partition): Likewise.
20972 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20973 contain partition. All users updated.
20974 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20975 struct.
20976 (grub_openbsdlabel_partition_map): Likewise.
20977 (bsdlabel_partition_map_iterate): Rename to ..
20978 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20979 (bsdlabel_partition_map_iterate): New function.
20980 (netopenbsdlabel_partition_map_iterate): Likewise.
20981 (netbsdlabel_partition_map_iterate): Likewise.
20982 (openbsdlabel_partition_map_iterate): Likewise.
20983 (GRUB_MOD_INIT): Register new partmaps.
20984 (GRUB_MOD_FINI): Unregister new partmaps.
20985 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20986 (grub_partition_msdos_iterate): ... this. All users updated.
20987 Don't support embedding other than in a minix partition.
20988 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20989 proto.
20990 * include/grub/partition.h (grub_partition): New field msdostype.
20991 * util/grub-install.in: Handle openbsd and netbsd types being in
20992 part_bsd module.
20993
1e8d555b
VS
209942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20997
20998 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20999 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21000 (mdraid09): ... this.
21001 (mdraid1x): New module.
21002 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21003 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21004
899d8af4
VS
210052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21006
21007 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21008 vsprintf.
21009
40901acd
CW
210102010-09-20 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * grub-core/commands/efi/lsefimmap.c: Correct header.
21013 * NEWS: Update.
21014
dfe3b247
CW
210152010-09-20 Colin Watson <cjwatson@ubuntu.com>
21016
21017 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21018 as printf format strings; the translations might contain '%' which
21019 could cause a crash.
21020 (main): Likewise.
21021 * util/grub-fstest.c (argp_parser): Likewise.
21022 * util/grub-setup.c (argp_parser): Likewise.
21023 (main): Likewise.
21024
3286a4b4
VS
210252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 Use argp in grub-fstest.
21028
21029 * util/grub-fstest.c: Don't include getopt.h.
21030 Include argp.h.
21031 (root): New variable.
21032 (args_count): Likewise.
21033 (nparm): Likewise.
21034 (num_disks): Likewise.
21035 (images): Likewise.
21036 (cmd): Likewise.
21037 (debug_str): Likewise.
21038 (args): Likewise.
21039 (options): Transformed to argp.
21040 (usage): Removed.
21041 (main): Split argument parsing into ...
21042 (argp_parser): ... this. Changed to argp format.
21043 (argp): New variable.
21044 (main): Use argp_parse.
21045
3dccbe4b
TG
210462010-09-20 Tristan Gingold <gingold@free.fr>
210472010-09-20 Robert Millan <rmh.grub@aybabtu.com>
210482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 * grub-core/commands/efi/lsefimmap.c: New file.
21051 * grub-core/Makefile.core.def (lsefimmap): New module.
21052 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21053
38c259a7
VS
210542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21055
21056 Pause the execution (10s max) if any errors are displayed so the user
21057 has a chance to see them.
21058
21059 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21060 (grub_print_error): Increment grub_err_printed_errors.
21061 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21062 execution if any errors were displayed.
21063 (show_menu): Remove old code for pause.
21064 * grub-core/normal/menu_entry.c (run): Likewise.
21065 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21066 users updated.
21067 (grub_normal_get_char_counter): Likewise.
21068 * include/grub/err.h (grub_err_printed_errors): New external variable.
21069 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21070
f218b09c
VS
210712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21072
21073 Support multiboot VBE info.
21074
21075 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21076 Take VBE info into account.
21077 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21078 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21079 Call fill_vbe_info when appropriate.
21080 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21081 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21082 as supported.
21083 (grub_multiboot_get_mbi_size): Take new tags into account.
21084 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21085 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21086 Call fill_vbe_tag when appropriate.
21087 (grub_multiboot_make_mbi): Properly align tags.
21088 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21089 function.
21090 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21091 proto.
21092 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21093
a9cc5438
VS
210942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 Suport manual terminal geometry specification.
21097
21098 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21099 Save state in grub_ofconsole_terminfo_output.
21100 (grub_ofconsole_term): Use grub_terminfo_getwh.
21101 (grub_ofconsole_getwh): Removed.
21102 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21103 (grub_serial_term): Use grub_terminfo_getwh.
21104 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21105 (options): New struct.
21106 (OPTION_*): New enum.
21107 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21108 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21109 width and height.
21110 (grub_terminfo_getwh): New proto.
21111 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21112
1a8fed20
VS
211132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 Handle legacy "terminal" command.
21116
21117 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21118 and FLAG_TERMINAL.
21119 (legacy_commands): Add terminal and title.
21120 (grub_legacy_parse): Handle terminal. Simplify title handling.
21121
41e9c57d
VS
211222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21125 parameters overflow.
21126
61c874c5
CW
211272010-09-20 Colin Watson <cjwatson@ubuntu.com>
21128
21129 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21130 widthspec.h.
21131
21132 * docs/grub.texi (Shell-like scripting): Document `!'.
21133 (Network): Simplify using new i386-pc-pxe format. Mention
21134 grub-mknetdir.
21135
21136 * NEWS: Update.
21137
943682b4
CW
211382010-09-20 Colin Watson <cjwatson@ubuntu.com>
21139
21140 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21141 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21142 when needed.
21143
6d3d698d
CW
211442010-09-20 Colin Watson <cjwatson@ubuntu.com>
21145
21146 * grub-core/commands/efi/lsefisystab.c: Correct header.
21147 * grub-core/commands/efi/lssal.c: Likewise.
21148 * grub-core/commands/testload.c: Likewise.
21149
c982589f
CW
211502010-09-20 Colin Watson <cjwatson@ubuntu.com>
21151
21152 * util/grub-mkrescue.in: Add explicit root argument to --set to
21153 prevent the UUID being interpreted as an argument to --set (matches
21154 previous change to prepare_grub_to_access_device).
21155
a63c31b6
CW
211562010-09-20 Colin Watson <cjwatson@ubuntu.com>
21157
21158 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21159 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21160 the verbosity of later #ifs.
21161 (find_partition_start): Define this function on FreeBSD too.
21162 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21163 function.
21164 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21165 on FreeBSD.
21166
6439b8ee
YB
211672010-09-20 Yves Blusseau <blusseau@zetam.org>
21168
21169 * util/grub-editenv.c: Use argp instead of getopt.
21170
c5930ec8
YB
211712010-09-20 Yves Blusseau <blusseau@zetam.org>
21172
21173 * util/grub-setup.c: Use argp instead of getopt.
21174
15c69261
YB
211752010-09-20 Yves Blusseau <blusseau@zetam.org>
21176
21177 Use gnulib-tool to create gnulib source files.
21178
21179 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21180 grub-core/gnulib directories
21181 * .bzignore: Add **/.deps and autogenerated gnulib files
21182 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21183 of gnulib macros, add grub-core/gnulib/Makefile
21184 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21185 include m4 directory to aclocal.
21186 * Makefile.util.def: Remove direct compilation of gnulib source files
21187 and use the new grub-core/gnulib/libgnu.a.
21188 * build-aux/config.rpath: move config.rpath from top directory to
21189 build-aux
21190 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21191 in gnulib headers
21192 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21193 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21194 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21195 header.
21196 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21197 string.
21198
e511c9f5
YB
211992010-09-20 Yves Blusseau <blusseau@zetam.org>
21200
21201 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21202 grub-core/genmod.sh and grub-core/gensyminfo.sh
21203
c2dede05
BC
212042010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21205
21206 Add a test for echo command options.
21207
21208 * tests/grub_cmd_echo.in: New test.
21209 * Makefile.util.def: Rules for new test.
21210
c55f5018
SJ
212112010-09-20 Szymon Janc <szymon@janc.net.pl>
21212
21213 Remove crc.mod and move crc command to hashsum.mod.
21214 Remove lib/crc.c - users updated to use gcrypt implementation.
21215
21216 * grub-core/commands/crc.c: Removed.
21217 * grub-core/Makefile.core.def (crc): Module removed.
21218 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21219 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21220 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21221 * grub-core/lib/crc.c: Removed.
21222 * include/grub/lib/crc.h: Removed.
21223 * Makefile.util.def (crc): Remove lib/crc.c
21224 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21225 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21226 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21227 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21228 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21229 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21230
e0337366
VS
212312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21234
742f9232
VS
212352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 Split config.h for util and core.
21238
21239 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21240 (ADDR32): Likewise.
21241 (DATA32): Likewise.
21242 (BSS_START_SYMBOL): Likewise.
21243 (END_SYMBOL): Likewise.
21244 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21245 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21246 * config.h.in: New file.
21247 * configure.ac: Use config-util.h as config define file.
21248 Rename MACHINE into GRUB_MACHINE. All users updated.
21249 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21250 updated.
21251 (NESTED_FUNC_ATTR): Likewise.
21252 Substitue new variables.
21253 (COND_HAVE_ASM_USCORE): New conditional.
21254 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21255 (kernel_syms.lst): Use ASM_PREFIX.
21256 * grub-core/kern/emu/console.c: Include config-util.h.
21257 * grub-core/kern/emu/misc.c: Likewise.
21258 * grub-core/kern/emu/mm.c: Likewise.
21259 * include/grub/emu/misc.h: Likewise.
21260 * include/grub/libgcc.h: Likewise.
21261
39feb0e8
VS
212622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21265 constants usage.
21266 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21267 Fix GRUB_TERM_KEY_* constants usage.
21268 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21269
9af6dac3
VS
212702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21273 print pointer.
21274 * grub-core/bus/usb/uhci.c: Remove empty define.
21275 (grub_uhci_check_transfer): Add missing cast.
21276 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21277 print pointer.
21278 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21279 PRIuGRUB_SIZE.
21280 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21281
d6d94820
VS
212822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * grub-core/Makefile.core.def (legacycfg): Add
21285 lib/i386/pc/vesa_modes_table.c on emu.
21286
3572f2b6
BC
212872010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21288
21289 Reduce number of temporary files generated by build system.
21290
21291 * grub-core/gencmdlist.sh: Removed.
21292 * grub-core/genfslist.sh: Removed.
21293 * grub-core/genhandlerlist.sh: Removed.
21294 * grub-core/genmodsrc.sh: Removed.
21295 * grub-core/genpartmaplist.sh: Removed.
21296 * grub-core/genparttoollist.sh: Removed.
21297 * grub-core/gentermiinallist.sh: Removed.
21298 * grub-core/genvideolist.sh: Removed.
21299
21300 * grub-core/genmod.sh.in: New file.
21301 * grub-core/gensyminfo.sh.in: New file.
21302
21303 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21304 * conf/Makefile.extra-dist: Update with new files.
21305 * gentpl.py: Remove rules related to unnecessary temporary files.
21306 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21307 and und-* files.
21308 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21309 genmod.sh scripts.
21310 * grub-core/bus/usb/uhci.c: Remove empty #define.
21311 * grub-core/genmoddep.awk: Updated with new syminfo format.
21312 * util/bash-completion.d/Makefile.am: Add config.log to
21313 CLEANFILES.
21314
c836b030
YB
213152010-09-19 Yves Blusseau <blusseau@zetam.org>
21316
21317 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21318
2f4e8053
BC
213192010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21320
21321 * util/grub-mkconfig.in: Check the config script for syntax errors
21322 before saving.
21323
75831c34
CW
213242010-09-19 Colin Watson <cjwatson@ubuntu.com>
213252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21326
21327 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21328 platforms.
21329 * util/grub-install.in: Add EFI and IEEE1275 support.
21330 * util/i386/efi/grub-install.in: Removed.
21331 * util/ieee1275/grub-install.in: Likewise.
21332
eaf41b25
VS
213332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21336 (grub_cmd_cmosclean): Likewise.
21337 (GRUB_MOD_INIT): Register command cmosclean.
21338 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21339 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21340
1a9130dd
CPE
213412010-09-18 Carles Pina i Estany <carles@pina.cat>
213422010-09-18 Aleš Nesrsta <starous@volny.cz>
213432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 Add keyboard layouts support.
21346
21347 * Makefile.util.def (grub-mklayout): New file.
21348 (grub-kbdcomp): New script.
21349 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21350 Add keyboard_layouts.h.
21351 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21352 commands/boot.c on yeeloong.
21353 (keylayouts): New module.
21354 * grub-core/bus/usb/ohci.c
21355 * grub-core/bus/usb/uhci.c
21356 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21357 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21358 (attach_root_port): Likewise.
21359 (poll_nonroot_hub): Likewise.
21360 (grub_usb_poll_devices): Likewise.
21361 (detach_device): Close transfer.
21362 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21363 function.
21364 (grub_usb_bulk_setup_readwrite): Likewise.
21365 (grub_usb_bulk_finish_readwrite): Likewise.
21366 * grub-core/commands/keylayouts.c: New file.
21367 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21368 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21369 aliases.
21370 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21371 support scancode 2.
21372 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21373 * include/grub/keyboard_layouts.h: New file.
21374 * util/grub-mklayout.c: New file.
21375 * util/grub-kbdcomp.in: Likewise.
21376
a1d84a5e
VS
213772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21378
21379 Unify memory types.
21380
21381 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21382 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21383 types.
21384 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21385 (grub_upper_mem): Likewise.
21386 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21387 * include/grub/memory.h (grub_memory_type_t): New enum.
21388 All users updated.
21389
9696382e
VS
213902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * grub-core/Makefile.core.def (lsapm): New module.
21393 * grub-core/commands/i386/pc/lsapm.c: New file.
21394 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21395 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21396 Likewise.
21397 * include/grub/i386/pc/apm.h: New file.
21398 * include/multiboot.h (multiboot_apm_info): New struct.
21399
214002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 GRUB-legacy configuration file support.
21403
21404 * Makefile.util.def (grub-menulst2cfg): New util.
21405 * docs/man/grub-menulst2cfg.h2m: New file.
21406 * grub-core/Makefile.core.def (legacycfg): New module.
21407 * grub-core/commands/legacycfg.c: New file.
21408 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21409 (grub_normal_add_menu_entry): ... this.
21410 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21411 (grub_normal_set_password): ...this.
21412 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21413 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21414 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21415 * grub-core/lib/legacy_parse.c: New file.
21416 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21417 * include/grub/i386/pc/vesa_modes_table.h: New file.
21418 * include/grub/legacy_parse.h: Likewise.
21419 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21420 * util/grub-menulst2cfg.c: New file.
21421
bf8d1338
CW
214222010-09-17 Colin Watson <cjwatson@ubuntu.com>
21423
21424 * grub-core/kern/emu/hostdisk.c
21425 (convert_system_partition_to_system_disk): Initialise node.
21426
9c0bad2e
CW
214272010-09-17 Colin Watson <cjwatson@ubuntu.com>
21428
21429 * grub-core/kern/emu/hostdisk.c
21430 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21431 leak.
21432 Reported and based on patch by: Modestas Vainius.
21433
a939d135
CW
214342010-09-17 Colin Watson <cjwatson@ubuntu.com>
21435
21436 Fix DM-RAID probing with recent versions of device-mapper udev
21437 rules.
21438
21439 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21440 canonicalise device paths under /dev/mapper/.
21441 (convert_system_partition_to_system_disk): Compare the
21442 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21443 path, since device nodes under /dev/mapper/ are often symlinks.
21444
0f7ee3c9
YB
214452010-09-17 Yves Blusseau <blusseau@zetam.org>
21446
21447 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21448
10854d0d
YB
214492010-09-16 Yves Blusseau <blusseau@zetam.org>
21450
21451 * configure.ac: Avoid some annoying error messages if freetype-config
21452 program is not found.
21453
108538d8
CW
214542010-09-16 Colin Watson <cjwatson@ubuntu.com>
21455
21456 Support RAID on virtio devices, and others.
21457
21458 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21459 Rename to ...
21460 [__MINGW32__] (grub_find_device): ... this.
21461 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21462 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21463 reasonable default if dir is NULL.
21464 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21465 ...
21466 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21467 (grub_guess_root_device): Update callers.
21468 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21469
21470 * util/raid.c (grub_util_getdiskname): Remove.
21471 (grub_util_raid_getmembers): Use grub_find_device rather than
21472 grub_util_getdiskname.
21473
e5bfc130
CW
214742010-09-16 Colin Watson <cjwatson@ubuntu.com>
21475
21476 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21477 needing to be compiled with serial support.
21478 (ls): Indicate that multiple files are accepted.
21479 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21480 indicate that multiple files are accepted.
21481
be458ae2
CW
214822010-09-16 Colin Watson <cjwatson@ubuntu.com>
21483
21484 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21485 libgrub_a_init.c, and util/bash-completion.d/grub.
21486
cb731b5e
VS
214872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * util/grub-setup.c (setup): Fix incorrect container semantics.
21490
35139e8a
VS
214912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21494 misusage.
21495 Reported by: J. Nick Terry
21496
e50fca4a
VS
214972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 Move embedding routines to partmap sources files.
21500
21501 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21502 [GRUB_UTIL]: New variable.
21503 (gpt_partition_map_iterate): Set part.parent.
21504 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21505 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21506 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21507 New function.
21508 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21509 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21510 (grub_partition_map) [GRUB_UTIL]: New field embed.
21511 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21512 (setup): Use ->embed.
21513
f00478b7
VS
215142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21517 function.
21518 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21519 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21520
2b94e3ff
YB
215212010-09-15 Yves Blusseau <blusseau@zetam.org>
21522
21523 Add function to get completions from usage.
21524
21525 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21526 completions from usage. Use LC_ALL=C to get options properly.
21527
2e04a006
VS
215282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * grub-core/gnulib/basename-lgpl.c: Imported.
21531 * grub-core/gnulib/basename.c: Likewise.
21532 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21533 * grub-core/gnulib/dirname.c: Likewise.
21534 * grub-core/gnulib/dirname.h: Likewise.
21535 * grub-core/gnulib/stripslash.c: Likewise.
21536
5dcdf93a
VS
215372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 * grub-core/gnulib/error.c: Resynced.
21540 * grub-core/gnulib/getopt.c: Likewise.
21541 * grub-core/gnulib/getopt_int.h: Likewise.
21542 * grub-core/gnulib/regex.h: Likewise.
21543 * grub-core/gnulib/regex_internal.c: Likewise.
21544 * grub-core/gnulib/regex_internal.h: Likewise.
21545
014f47b7
SJ
215462010-09-15 Szymon Janc <szymon@janc.net.pl>
21547
21548 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21549 CRC calculations and validity checks.
21550 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21551 calculations.
21552
dd521a4a
SJ
215532010-09-15 Szymon Janc <szymon@janc.net.pl>
21554
21555 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21556
79c4eeb9
VS
215572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 Fix incorrect echo options handling.
21560 Reported by: Yves Blusseau.
21561
21562 * include/grub/command.h (grub_command_flags_t): New flags
21563 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21564 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21565 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21566
ed80f7d5
VS
215672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21570 users updated.
21571 (GRUB_COMMAND_FLAG_MENU): Likewise.
21572 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21573 (GRUB_COMMAND_FLAG_TITLE): Removed.
21574 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21575 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21576 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21577 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21578 (grub_command_flags_t): New enum. All users updated.
21579
5fe7620a
SG
215802010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21581
21582 Fix solaris compilation.
21583
21584 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21585 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21586 (grub-emu-list): Likewise.
21587
545b752f
VS
215882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 Remove deprecated root command.
21591
21592 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21593 updated.
21594
6c1a338c
VS
215952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 * util/i386/pc/grub-setup.c: Merge this ...
21598 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21599 * util/grub-setup.c: ... into this.
21600 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21601 New struct.
21602
216032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21604
21605 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21606 possible.
21607
d2ea4551
VS
216082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21611 allocate p.
21612
3c3b5040
VS
216132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21616 explicit root argument to set to prevent UUID to be interpreted as
21617 argument to set.
21618
b71c3fae
VS
216192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21622
275433e6
VS
216232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 Don't export grub_gate_a20.
21626
21627 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21628 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21629 to ...
21630 (grub_gate_a20): ... this. All users updated.
21631 * include/grub/i386/pc/init.h: Removed. All users updated.
21632
a5dbb1f1
VS
216332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 Create euro.pf2 which supports most European languages.
21636
21637 * Makefile.am (grubdata_DATA): Add euro.pf2.
21638 (euro.pf2): New target.
21639 (CLEANFILES): Add euro.pf2.
21640
62a747cb
VS
216412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21642
21643 * configure.ac: Disable emu-usb by default to prevent inadvertent
21644 device takeover.
21645
608e43b1
VS
216462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 Disable usbserial on grub-emu since our libusb code isn't good enough
21649 yet.
21650
21651 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21652 (usbserial_pl2303): Likewise.
21653 (usbserial_ftdi): Likewise.
21654
94564f81
VS
216552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 * include/grub/disk.h (grub_disk): Remove has_partitions.
21658 All users updated.
21659 * disk/loopback.c (grub_loopback): Remove has_partitions.
21660 All users updated.
21661 (options): Remove partitions. All users updated.
21662 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21663 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21664 actual partition table is found.
21665
3352800b
VS
216662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 Remove readability checks (too many false negatives).
21669
21670 * util/grub-install.in: Remove readability checks.
21671 * util/grub-mkconfig.in: Likewise.
21672 * util/grub.d/10_hurd.in: Likewise.
21673 * util/grub.d/10_kfreebsd.in: Likewise.
21674 * util/grub.d/10_linux.in: Likewise.
21675 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21676 way.
21677
2419f17a
VS
216782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 Enable acpi shutdown on all ACPI platforms.
21681
21682 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21683 on coreboo, multiboot and EFI.
21684 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21685 (grub_acpi_halt): Likewise.
21686 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21687 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21688 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21689 * grub-core/lib/i386/halt.c (grub_halt)
21690 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21691
0575c7c3
VS
216922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21695 context.
21696
54ac3cd1
VS
216972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21700 * grub-core/video/efi_uga.c: Likewise.
21701
b2a30ac5
VS
217022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21703
21704 Filter devaliases and never open same device twice.
21705
21706 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21707 (last_ihandle): Likewise.
21708 (ofdisk_hash_ent): New member shortest.
21709 (ofdisk_hash_add): Add canonical path too.
21710 (scan): New function.
21711 (grub_ofdisk_iterate): Iterate over hashed entries.
21712 (compute_dev_path): Don't add :0.
21713 (grub_ofdisk_open): Don't really open the disk.
21714 (grub_ofdisk_close): Avoid closing unrelated disk.
21715 (grub_ofdisk_read): Implement reopen logic.
21716 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21717 New function.
21718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21719 New proto.
21720
fb53b340
VS
217212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21722
21723 Fix sparc64.
21724
21725 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21726 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21727 right address. Add sparc64_ieee1275_ldflags.
21728 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21729 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21730 to grub_host_to_target_addr
21731 (load_image): Likewise.
21732
f452b040
VS
217332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21734
21735 * grub-core/normal/completion.c (complete_file): Handle device
21736 containing slash.
21737 Fix based on patch by Doug Nazar.
21738
9b5b2541
VS
217392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21740
21741 grub-mknetdir script.
21742
21743 * Makefile.util.def (grub-mknetdir): New module.
21744 * tests/util/grub-shell.in: Support boot=net
21745 * util/grub-mknetdir.in: New file.
21746
9d2be652
VS
217472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 videoinfo on non-vbe.
21750
21751 * grub-core/Makefile.core.def (vbeinfo): Removed.
21752 (vbetest): Removed.
21753 (videoinfo): New module.
21754 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21755 * grub-core/commands/i386/pc/vbetest.c: Removed.
21756 * grub-core/commands/videoinfo.c: New file.
21757 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21758 specification.
21759 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21760 as vbetest.
21761 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21762 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21763 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21764 mode_number. New parameter mode. All users updated.
21765 (grub_video_gop_iterate): New function.
21766 (grub_video_efi_gop): New member iterate.
21767 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21768 (grub_vbe_set_video_mode): Remove setting useless fields.
21769 (vbe2videoinfo): New function.
21770 (grub_video_vbe_iterate): Likewise.
21771 (grub_video_vbe_setup): Use vbe2videoinfo.
21772 (grub_video_vbe_print_adapter_specific_info): New function.
21773 (grub_video_vbe_adapter): New fields iterate and
21774 print_adapter_specific_info.
21775 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21776 All users updated.
21777 (grub_video_mode_info): New field mode_number.
21778 (grub_video_adapter): New fields iterate and
21779 print_adapter_specific_info.
21780
179503f5
TG
217812010-09-13 Tristan Gingold <gingold@free.fr>
217822010-09-13 Robert Millan <rmh.grub@aybabtu.com>
217832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * grub-core/commands/efi/lsefisystab.c: New file.
21786 * grub-core/commands/efi/lssal.c: Likewise.
21787 * grub-core/Makefile.core.def (lsacpi): New module.
21788 (lsefisystab): Likewise.
21789 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21790 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21791 (grub_efi_sal_system_table): New struct.
21792 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21793 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21794 (grub_efi_sal_system_table_platform_features): Likewise.
21795 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21796 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21797 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21798 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21799
cf9827de
VS
218002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 Support explicit user claim that a device is BIOS-visible.
21803
21804 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21805 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21806 * grub-core/kern/emu/hostdisk.c
21807 (convert_system_partition_to_system_disk): Support mdX.
21808 (find_system_device): New parameter add. All users updated.
21809 (grub_util_biosdisk_is_present): New function.
21810 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21811 proto.
21812
53f0eb1f
VS
218132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21814
21815 Search hints support.
21816
21817 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21818 All users updated.
21819
b23ffd70
YB
218202010-09-13 Yves Blusseau <blusseau@zetam.org>
21821
21822 Bash completion script for util commands
21823
21824 * Makefile.am: Add util/bash-completion.d directory
21825 * configure.ac: Likewise.
21826 * util/bash-completion.d/Makefile.am: New file.
21827 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21828
d547dc28
VS
218292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21830
21831 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21832 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21833 Reported by: Yves Blusseau.
21834
2fc8ccb9
VS
218352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21836
21837 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21838 partition size and offset.
21839
d8a84076
VS
218402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21841
21842 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21843
84fb3b3d
VS
218442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21847
768ec2e2
VS
218482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21851 (grub_xvasprintf): Likewise.
21852
4870900f
VS
218532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21856
faca6bec
VS
218572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21860 args ending with NULL.
21861
218622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21863
21864 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21865 pointer.
21866
3c70f225
SJ
218672010-09-11 Szymon Janc <szymon@janc.net.pl>
21868
21869 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21870
4df7996d
VS
218712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21872
21873 Shutdown using ACPI.
21874
21875 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21876 * grub-core/commands/acpihalt.c: New file.
21877 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21878 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21879 (grub_acpi_halt): New proto.
21880 (GRUB_ACPI_SLP_EN): New const.
21881 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21882 (GRUB_ACPI_OPCODE_*): New enum.
21883 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21884
126b4c32
TG
218852010-09-11 Tristan Gingold <gingold@free.fr>
218862010-09-11 Robert Millan <rmh.grub@aybabtu.com>
218872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 * commands/lsacpi.c: New file.
21890 * grub-core/Makefile.core.def (lsacpi): New module.
21891 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21892 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21893 (grub_acpi_madt_entry_header): New struct.
21894 (grub_acpi_madt): Likewise.
21895 (grub_acpi_madt_entry_interrupt_override): Likewise.
21896 (grub_acpi_madt_entry_sapic): Likewise.
21897 (grub_acpi_madt_entry_lsapic): Likewise.
21898 (grub_acpi_madt_entry_platform_int_source): Likewise.
21899 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21900 (PRIuGRUB_UINT32_T): Likewise.
21901 (PRIxGRUB_UINT64_T): Likewise.
21902
1aa4fe88
VS
219032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 Implement loading palette on ieee1275_fb.
21906
21907 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21908 (have_setcolors): Likewise.
21909 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21910 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21911 (grub_video_ieee1275_set_palette): Implement.
21912
25761e13
VS
219132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
219142010-09-11 Colin Watson <cjwatson@ubuntu.com>
21915
21916 * util/grub-install.in (grub_partition): New variable.
21917 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21918 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21919 Fixes a bug reported by Yves Blusseau.
21920
050abaea
VS
219212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21922
21923 Fix emu on mipsel.
21924
21925 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21926 =grub_cpu_flush_cache on all mips and not only yeeloong.
21927 * configure.ac (COND_mips): New conditional.
21928 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21929 platforms.
21930 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21931 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21932 [GRUB_LINKER_HAVE_INIT]: New function.
21933 (grub_emu_post_init): Likewise.
21934 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21935 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21936 * include/grub/cache.h (_mips): Include mips/cache.h.
21937 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21938 LVM and RAID prototypes.
21939 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21940 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21941 function.
21942
5ed7d816
CW
219432010-09-10 Colin Watson <cjwatson@ubuntu.com>
21944
21945 * util/grub-install.in: Don't try to verify core.img until after
21946 running grub-mkimage to create it.
21947
90367e04
RM
219482010-09-10 Robert Millan <rmh@gnu.org>
21949
21950 * util/grub.d/10_hurd.in: Add misc readability checks.
21951 * util/grub.d/10_kfreebsd.in: Likewise.
21952 * util/grub.d/10_linux.in: Likewise.
21953
c452fa66
CW
219542010-09-10 Colin Watson <cjwatson@ubuntu.com>
21955
21956 * util/grub-install.in: ${imgext} won't be defined here until the
21957 install branch is merged. For the meantime, only verify core.img on
21958 i386-pc and sparc64-ieee1275 platforms.
21959
c38fe9f4
RM
219602010-09-10 Robert Millan <rmh@gnu.org>
21961
21962 Solaris support in grub_find_zpool_from_dir(). Thanks
21963 Seth Goldberg for referring to getextmntent() facility.
21964
21965 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21966 `sys/mkdev.h'.
21967 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21968 `<sys/mnttab.h>'.
21969 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21970 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21971 method for finding zpool name.
21972
905f7773
CW
219732010-09-10 Colin Watson <cjwatson@ubuntu.com>
21974
21975 grub-fstest needs the host and hostfs modules while other utilities
21976 actively require those modules to be absent, so grub-fstest needs
21977 its own initialisation and finalisation code.
21978
21979 * Makefile.am (grub_fstest.pp): New target.
21980 (grub_fstest_init.lst): Likewise.
21981 (grub_fstest_init.c): Likewise.
21982 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21983
fb90b546
RM
219842010-09-10 Robert Millan <rmh@gnu.org>
21985
21986 * configure.ac: Check for `struct statfs.f_fstypename' and
21987 `struct statfs.f_mntfromname'.
21988
21989 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21990 kFreeBSD-specific code.
21991
66d4bea5
RM
219922010-09-10 Robert Millan <rmh@gnu.org>
21993
21994 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21995 on ZFS. Now non-main filesystems are supported as / too.
21996
b6a690ee
CW
219972010-09-09 Colin Watson <cjwatson@ubuntu.com>
21998
21999 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22000 and grub-core/disk/host.c to ...
22001 (grub-fstest): ... here. Having the host disk implementation
22002 present confuses grub-probe and other utility programs.
22003
22004 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22005 when writing to a file, not when writing to stdout.
22006
8901b00c 220072010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22008
22009 * tests/partmap_test.in: New test for partitions.
22010 * Makefile.util.def: Rules for new test.
22011
7bf45fdd
RM
220122010-09-09 Robert Millan <rmh@gnu.org>
22013
22014 * util/grub-probe.c (probe): Fix a pair of unhandled error
22015 conditions.
22016
4dfbc574
RM
220172010-09-09 Robert Millan <rmh@gnu.org>
22018
22019 Basic Btrfs support (detection and UUID).
22020
22021 * grub-core/fs/btrfs.c: New file.
22022 * Makefile.util.def (library): Register btrfs.c.
22023 * grub-core/Makefile.core.def: Likewise.
22024
6b8e78ae
RM
220252010-09-08 Robert Millan <rmh@gnu.org>
22026
22027 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22028 with (optional) parameters to specify device and relative path.
22029 * util/grub-install.in: Use is_path_readable_by_grub() to
22030 verify readability of a few critical files.
22031 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22032 verify readability of grub.cfg.new.
22033
27f21a8b
VS
220342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 Split minix.mod into minix.mod and minix2.mod.
22037
22038 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22039 * grub-core/Makefile.core.def (minix2): New module.
22040 * grub-core/fs/minix.c: Use definitions instead of runtime version
22041 checking.
22042 * grub-core/fs/minix2.c: New file.
22043
c0e53ea5
YB
220442010-09-08 Yves Blusseau <blusseau@zetam.org>
22045
22046 Add new --boot-directory option to replace --root-directory
22047
22048 * util/grub-install.in: Add new --boot-directory option
22049 * util/grub-reboot.in: Likewise.
22050 * util/grub-set-default.in: Likewise.
22051
b9fe6ea2
YB
220522010-09-08 Yves Blusseau <blusseau@zetam.org>
22053
22054 * util/grub-mkconfig.in: Use new variable.
22055
d87aedff
YB
220562010-09-08 Yves Blusseau <blusseau@zetam.org>
22057
22058 * configure.ac: Define some useful variables.
22059
e55e8495
VS
220602010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22063 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22064 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22065 Use terminfo and don't use cursor-on/cursor-off unless it's known
22066 to work.
22067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22068 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22069
6fa6d675
CW
220702010-09-08 Colin Watson <cjwatson@ubuntu.com>
22071
22072 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22073 starts with "(,", fill the drive containing the loaded image in
22074 between those two characters, but expect that a full partition
22075 specification including partition map names will follow.
22076
92f2aef0
RM
220772010-09-08 Robert Millan <rmh@gnu.org>
22078
22079 * configure.ac: Remove `--enable-grub-fstest' option.
22080 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22081
22082 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22083 `grub-fstest' instead of `grub-probe' for readability verification.
22084 * util/grub-probe.c (probe): Remove readability verification kludge.
22085
99fd620d
RM
220862010-09-08 Robert Millan <rmh@gnu.org>
22087
22088 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22089 initializing `GRUB_FS'.
22090
058e30ac 220912010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22092
22093 Not command (!) support to GRUB script.
22094
22095 * tests/grub_script_not.in: New test.
22096 * Makefile.util.def: Rules for new test.
22097
22098 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22099 ! command as a special case.
22100 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22101
b61d05ed 221022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22103
058e30ac 22104 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22105 grub_free.
b61d05ed 22106
4d69c786 221072010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22108
22109 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22110
aa3119c4 221112010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22112
22113 * docs/grub.texi (Shell-like scripting): Documentation for break,
22114 continue, shift and return commands.
22115
db0f7e3d
VS
221162010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Rename CD-ROM to cd on BIOS.
22119
22120 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22121 "cd".
22122 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22123
88b87c93
VS
221242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22125
22126 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22127 * util/grub-probe.c (main): Likewise.
22128 * util/i386/pc/grub-setup.c (main): Likewise.
22129 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22130 Reported and debugged by: alexxy
22131
294f324d
VS
221322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22133
22134 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22135 diagnostic info.
22136
d7ee3441
JS
221372010-09-05 Jo Shields <directhex@apebox.org>
22138
22139 * util/grub.d/30_os-prober.in: Add missing classes.
22140
d7e06c1f
VS
221412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * docs/grub.texi (Theme file format): Document new position format.
22144
fc157e53
VS
221452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22148 a table. Use @code instead of @verbatim.
22149
506e9a1c
CB
221502010-09-05 Colin D Bennett <colin@gibibit.com>
22151
22152 Gfxmenu documentation.
22153
22154 * docs/grub.texi (Theme file format): New chapter.
22155
f0aff67c
SJ
221562010-09-05 Szymon Janc <szymon@janc.net.pl>
22157
22158 * grub-core/Makefile.core.def (xzio): New module.
22159 * grub-core/io/xzio.c: New file.
22160 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22161 * grub-core/lib/xzembed/xz_config.h: Likewise.
22162 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22163 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22164 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22165 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22166 * grub-core/lib/xzembed/xz_private.h: Likewise.
22167 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22168 * include/grub/file.h (grub_file_filter_id): New compression filter
22169 GRUB_FILE_FILTER_XZIO.
22170
82a85062
VS
221712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22174 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22175 size.
22176
3579415d
VS
221772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22178
22179 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22180 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22181
5124ae6d
VS
221822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 Uncompressed checksum support.
22185
22186 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22187 (check_list): New parameter uncompress.
22188 (grub_cmd_hashsum): Handle --uncompress.
22189
9aadb3d1
VS
221902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 Reintroduce testload.
22193
22194 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22195 from here ...
22196 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22197 (GRUB_MOD_INIT): New function.
22198 (GRUB_MOD_FINI): Likewise.
22199 * grub-core/Makefile.core.def (testload): New module.
22200
a17792c3
SJ
222012010-09-05 Szymon Janc <szymon@janc.net.pl>
22202
22203 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22204 (uint8_t): New type.
22205 (uint16_t): Likewise.
22206 (uint32_t): Likewise.
22207 (uint64_t): Likewise.
22208
b81e40a3
SJ
222092010-09-05 Szymon Janc <szymon@janc.net.pl>
22210
22211 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22212
fc2ef117
VS
222132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22216 Made static.
22217 (grub_gzfile_open): Removed. All users updated.
22218 (GRUB_MOD_INIT): New function.
22219 (GRUB_MOD_FINI): Likewise.
22220 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22221 (grub_file_filters_enabled): Likewise.
22222 (grub_file_open): Handle filters.
22223 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22224 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22225 * include/grub/file.h (grub_file_filter_id_t): New type.
22226 (grub_file_filter_t): Likewise.
22227 (grub_file_filters_all): New extern variable.
22228 (grub_file_filters_enabled): Likewise.
22229 (grub_file_filter_register): New inline function.
22230 (grub_file_filter_unregister): Likewise.
22231 (grub_file_filter_disable): Likewise.
22232 (grub_file_filter_disable_compression): Likewise.
22233 * include/grub/gzio.h: Removed.
22234
35ee15e0
BC
222352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22236
22237 Filename expansion support for wildcards in GRUB script.
22238
22239 * tests/grub_script_expansion.in: New test.
22240 * Makefile.util.def: Rule for new test.
22241
22242 * grub-core/commands/wildcard.c: New file, implements filename
22243 expansion support for GRUB script.
22244 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22245 * grub-core/script/argv.c: Cosmetic changes.
22246 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22247 Refactored to perform wildcard expansion on arguments.
22248 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22249 struct.
22250
22251 * tests/util/grub-shell.in: Fix quoting for read input.
22252
5f0c4aca
BC
222532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22254
22255 Support for updating environment variables with matched substrings
22256 of regexp.
22257
22258 * tests/grub_cmd_regexp.in: New test.
22259 * Makefile.util.def: Rule for new test.
22260
22261 * grub-core/commands/regexp.c: New option -s to update environment
22262 variables with regexp matches.
22263
3759a35f
SJ
222642010-09-04 Szymon Janc <szymon@janc.net.pl>
22265
22266 * include/grub/file.h (grub_file): New member not_easly_seekable.
22267 (grub_file_seekable): New inline function.
22268 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22269 easily seekable.
22270 (grub_gzio_open): Set not_easly_seekable.
22271 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22272 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22273
ed8c6dec
BC
222742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22275
22276 Support for options to appear multiple times on cmdline.
22277
22278 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22279 * grub-core/commands/extcmd.c: Support for repeatable option.
22280 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22281 repeatable option support.
22282
22283 Refactor menuentry into a regular command.
22284
22285 * grub-core/commands/menuentry.c: New file, menuentry command
22286 implementation.
22287 * grub-core/Makefile.core.def: Rule update for normal.mod.
22288 * grub-core/normal/main.c: Moved menuentry creation to
22289 grub-core/commands/menuentry.c.
22290 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22291 (grub_menu_execute_entry_real): Removed.
22292 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22293 function.
22294 (grub_script_execute_menuentry): Removed.
22295 * grub-core/script/parser.y (menuentry): Removed.
22296 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22297 * grub-core/script/yylex.l (menuentry): Removed.
22298 * include/grub/menu.h (grub_menu_init): New prototype.
22299 (grub_menu_fini): New prototype.
22300 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22301 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22302 (grub_script_execute_sourcecode): New prototype.
22303
dacd0cf0
BC
223042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22305
22306 "return" command for GRUB script functions.
22307
22308 * tests/grub_script_return.in: New test.
22309 * Makefile.util.def: Rules for new test.
22310
22311 * grub-core/script/execute.c (grub_script_return): New function.
22312 * grub-core/script/main.c: Register/unregister return commaond.
22313 * include/grub/script_sh.h (grub_script_return): New prototype.
22314
52e72f9d
BC
223152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22316
22317 "setparams" command to update positional parameters.
22318
22319 * tests/grub_script_setparams.in: New test.
22320 * Makefile.util.def: Rules for new test.
22321
22322 * grub-core/script/argv.c (grub_script_argv_make): New function.
22323 * grub-core/script/execute.c (replace_scope): New function.
22324 (grub_script_setparams): New function.
22325 * grub-core/script/lexer.c: Remove unused variables.
22326 * grub-core/script/main.c: Register/unregister setparams command.
22327 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22328 (grub_script_setparams): New prototype.
22329
25b60c91
BC
223302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22331
22332 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22333 grub_free order.
22334
37e7bf68
BC
223352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22336
22337 Support for passing block of commands as an argument to extcmds.
22338
22339 * Makefile.util.def: Rules for new test.
22340 * tests/grub_script_blockarg.in: New test.
22341 * grub-core/tests/test_blockarg.c: New file, block argument
22342 command used in the test.
22343
22344 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22345 (grub_register_extcmd_prio): New function prototype.
22346 (grub_extcmd_dispatcher): New function prototype.
22347 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22348 type.
22349 * include/grub/script_sh.h (struct grub_script): New members
22350 `children', `next_siblings' and `refcnt' for block arguments and
22351 reference counting.
22352 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22353 (grub_script_arg): New member `script' for block argument.
22354 (grub_script_argv): New member `script' for block argument.
22355 (grub_parser_param): New member `scripts' for block argument.
22356 (grub_script_mem_free): New extern function prototype.
22357 (grub_script_ref): New function prototype.
22358 (grub_script_unref): New function prototype.
22359
22360 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22361 extcmd form to support block arguments.
22362 * grub-core/script/argv.c: Block arguments support.
22363 * grub-core/script/execute.c: Likewise.
22364 * grub-core/script/lexer.c: Likewise.
22365 * grub-core/script/main.c: Likewise.
22366 * grub-core/script/script.c: Likewise.
22367 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22368 non-terminals.
22369
22370 * grub-core/commands/acpi.c: Update extcmd implementations with
22371 grub_extcmd_context_t.
22372 * grub-core/commands/cat.c: Likewise.
22373 * grub-core/commands/echo.c: Likewise.
22374 * grub-core/commands/extcmd.c: Likewise.
22375 * grub-core/commands/hashsum.c: Likewise.
22376 * grub-core/commands/hdparm.c: Likewise.
22377 * grub-core/commands/help.c: Likewise.
22378 * grub-core/commands/hexdump.c: Likewise.
22379 * grub-core/commands/i386/cpuid.c: Likewise.
22380 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22381 * grub-core/commands/i386/pc/halt.c: Likewise.
22382 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22383 * grub-core/commands/iorw.c: Likewise.
22384 * grub-core/commands/keystatus.c: Likewise.
22385 * grub-core/commands/loadenv.c: Likewise.
22386 * grub-core/commands/ls.c: Likewise.
22387 * grub-core/commands/lspci.c: Likewise.
22388 * grub-core/commands/memrw.c: Likewise.
22389 * grub-core/commands/probe.c: Likewise.
22390 * grub-core/commands/search_wrap.c: Likewise.
22391 * grub-core/commands/setpci.c: Likewise.
22392 * grub-core/commands/sleep.c: Likewise.
22393 * grub-core/disk/loopback.c: Likewise.
22394 * grub-core/hello/hello.c: Likewise.
22395 * grub-core/loader/i386/bsd.c: Likewise.
22396 * grub-core/loader/xnu.c: Likewise.
22397 * grub-core/term/gfxterm.c: Likewise.
22398 * grub-core/term/serial.c: Likewise.
22399 * grub-core/tests/lib/functional_test.c: Likewise.
22400
888d1500
BC
224012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22402
22403 Multi-line quoted strings support.
22404
22405 * grub-core/script/lexer.c (append_newline): Removed.
22406 (grub_script_lexer_yywrap): Refactored.
22407 (grub_script_lexer_init): Refactored.
22408 * grub-core/script/yylex.l (yywrap): New function.
22409 (grub_lexer_resplit): New function.
22410 (grub_lexer_unput): New function.
22411 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22412 and resplit.
22413 * tests/grub_script_echo1.in: Added few more testcases.
22414
dda060dd
VS
224152010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22416
22417 * grub-core/kern/misc.c: Don't add abort alias in utils.
22418 Reported by: echoline.
22419
6556eba9
BC
224202010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22421
22422 Add missing files into "make dist" tarball for other platforms.
22423
22424 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22425 * conf/Makefile.common (dist_noinst_DATA): New variable.
22426 * conf/Makefile.extra-dist: Added missing make dist files.
22427 * grub-core/Makefile.core.def: Likewise.
22428
c8e7bf5f
VS
224292010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 Compress grub_prefix.
22432
22433 * grub-core/boot/i386/pc/lnxboot.S: Use
22434 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22435 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22436 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22437 GRUB_MACHINE_PREFIX_END. All users updated.
22438 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22439 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22440 + 0x40.
22441 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22442 * util/grub-mkimage.c (image_target_desc): Change data_end to
22443 prefix_end. All users updated.
22444
a7c00cdb
VS
224452010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22446
22447 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22448 value.
22449 (grub_openbsd_boot): Likewise.
22450 (grub_netbsd_boot): Likewise.
22451 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22452 (grub_xnu_boot): Likewise.
22453
9f915872
VS
224542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * configure.ac: Clean LIBS variable after tests.
22457
efa1bee7
CW
224582010-09-02 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22461
61d720e5
VS
224622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22465 echo if libdevmapper will be used.
22466
ef8e0ec8
IT
224672010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22468
22469 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22470 constant for the same file.
22471
03e261d8
VS
224722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22475
c2a4eba6
CW
224762010-09-02 Colin Watson <cjwatson@ubuntu.com>
22477
22478 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22479 grub-core/*.pp.
22480
9056cbf3
CW
224812010-09-02 Colin Watson <cjwatson@ubuntu.com>
22482
22483 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22484 required by the boot protocol.
22485
22486 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22487 ebp and edi members.
22488 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22489 state.ebp and state.edi.
22490 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22491 %ebp and %edi according to grub_relocator32_ebp and
22492 grub_relocator32_edi respectively.
22493 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22494 and state.edi.
22495
529cc99a
VS
224962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 Add i386-pc-pxe image target.
22499
22500 * util/grub-mkimage.c (image_target_desc): New enum value
22501 IMAGE_I386_PC_PXE.
22502 (image_targets): New target i386-pc-pxe.
22503 (generate_image): Handle i386-pc-pxe image.
22504
9a093920
VS
225052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 Fix grub_pxe_scan.
22508
22509 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22510 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22511 All users updated.
22512 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22513 (grub_pxe_pxenv): Correct type.
22514
f9cefc4e
CW
225152010-09-01 Colin Watson <cjwatson@ubuntu.com>
22516
22517 * NEWS: Document most of the important changes since 1.98.
22518
4066f57f
CW
225192010-09-01 Colin Watson <cjwatson@ubuntu.com>
22520
22521 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22522 generated manual page) a little.
22523
da2891f9
CW
225242010-09-01 Colin Watson <cjwatson@ubuntu.com>
22525
22526 * docs/grub.texi: Add myself as an author.
22527
ad717fae
VS
225282010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22529
22530 * Makefile.util.def (libgrub.a): Add missing sunpc.
22531 Reported by: Seth Goldberg.
22532
eefe8abd
VS
225332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 Interrupt wrapping and code simplifications.
22536
9494ef9a
VS
22537 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22538 x86_noieee1275 which are functionaly equivalent in this case.
22539 (grub-install): Make source on each platform explicit. Enable on
22540 all noemu.
22541 * gentpl.py (x86_efi_pc): Removed group.
22542 (x86_noefi): Likewise.
22543 (i386_noefi): Likewise.
22544 (x86_noieee1275): Likewise.
22545 (i386_noieee1275): Likewise.
22546 (i386_noefi_noieee1275): Likewise.
22547 (i386_pc_qemu_coreboot): Likewise.
22548 (i386_coreboot_multiboot): Likewise.
22549 (i386_pc_coreboot_multiboot_qemu): Likewise.
22550 (x86_noefi_mips): Likewise.
22551 (noieee1275): Likewise.
22552 (ieee1275_mips): Likewise.
22553 (noemu_noieee1275): Likewise.
22554 (cmos): New group.
22555 (usb): Likewise.
22556 (videoinkernel): Likewise.
22557 (videomodules): Likewise.
eefe8abd 22558 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22559 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22560 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22561 include/grub/loader.h, include/grub/msdos_partition.h,
22562 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22563 include/grub/machine/console.h, include/grub/machine/vga.h,
22564 include/grub/machine/vbe.h, include/grub/machine/init.h,
22565 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22566 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22567 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22568 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22569 * grub-core/Makefile.core.def (kernel): Explicit the source for
22570 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22571 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22572 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22573 Use videoinkernel tag.
22574 (usb): Enable on all usb.
22575 (usbserial_common): Likewise.
22576 (usbserial_pl2303): Likewise.
22577 (usbserial_ftdi): Likewise.
22578 (uhci): Enable on all x86.
22579 (ohci): Enable on all pci.
22580 (cmostest): Enable on all CMOS.
22581 (acpi): Include commands/acpi.c on all platforms.
22582 (halt): Add relevant lib/*/halt.c.
22583 (hdparm): Enable on all pci.
22584 (lspci): Likewise.
22585 (usbtest): Enable on all usb.
22586 (ata): Enable on all pci.
22587 (ata_pthru): Likewise.
22588 (usbms): Enable on all usb.
22589 (usb_keyboard): Likewise.
22590 (font): Use tag videomodules.
22591 (bufio): Likewise.
22592 (datetime): Use tag cmos. Enable on all noemu.
22593 (mmap): Use tags common and x86.
22594 (gfxterm): Use tag videomodules.
22595 (bitmap): Likewise.
22596 (bitmap_scale): Likewise.
22597 (video_fb): Likewise.
22598 (video): Likewise.
22599 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22600 adjust padding accordingly. All users updated.
22601 (grub_ohci_transaction): Fix bad format specification.
22602 (GRUB_MOD_INIT): Add asserts for struct size.
22603 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22604 (grub_alloc_td): Likewise.
22605 (grub_free_queue): Likewise.
22606 (grub_uhci_transfer): Likewise.
22607 (grub_uhci_transaction): Fix bad format specification.
22608 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22609 (grub_usb_bulk_readwrite): Likewise.
22610 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22611 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22612 Made static.
22613 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22614 Made static.
22615 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22616 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22617 Transformed into C.
22618 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22619 Moved from here ...
22620 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22621 ... here. Transformed into C. Made static.
22622 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22623 Moved from here ...
22624 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22625 ... here. Transformed into C. Made static.
22626 * grub-core/kern/i386/pc/startup.S
22627 (grub_biosdisk_check_int13_extensions): Moved from here ...
22628 * grub-core/disk/i386/pc/biosdisk.c
22629 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22630 Made static.
22631 * grub-core/kern/i386/pc/startup.S
22632 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22633 * grub-core/disk/i386/pc/biosdisk.c
22634 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22635 Transformed into C. Made static.
22636 * grub-core/kern/i386/pc/startup.S
22637 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22638 * grub-core/disk/i386/pc/biosdisk.c
22639 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22640 Transformed into C. Made static.
22641 * grub-core/kern/i386/pc/startup.S
22642 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22643 * grub-core/disk/i386/pc/biosdisk.c
22644 (grub_biosdisk_get_diskinfo_standard): ... here.
22645 Transformed into C. Made static.
22646 * grub-core/kern/i386/pc/startup.S
22647 (grub_biosdisk_get_num_floppies): Moved from here ...
22648 * grub-core/disk/i386/pc/biosdisk.c
22649 (grub_biosdisk_get_num_floppies): ... here.
22650 Transformed into C. Made static.
22651 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22652 New function.
22653 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22654 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22655 Transformed into C. Made static.
22656 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22657 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22658 Transformed into C. Made static.
22659 * grub-core/kern/i386/ieee1275/init.c: Removed.
22660 * grub-core/kern/i386/misc.S: Likewise.
22661 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22662 Splitted from here ...
22663 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22664 Transformed into C. Made static. All users updated.
22665 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22666 Transformed into C. Made static. All users updated.
22667 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22668 Moved from here...
22669 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22670 Transformed into C. Made static. All users updated.
22671 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22672 Moved from here...
22673 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22674 Transformed into C. Made static. All users updated.
22675 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22676 Removed (replaced by C version).
22677 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22678 Moved from here...
22679 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22680 Transformed into C. Made static.
22681 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22682 Moved from here...
22683 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22684 ... here. Transformed into C.
22685 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22686 Moved from here...
22687 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22688 ... here. Transformed into C.
22689 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22690 Moved from here...
22691 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22692 ... here. Transformed into C. Made static.
22693 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22694 Moved from here...
22695 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22696 ... here. Transformed into C.
21ed554b
VS
22697 * grub-core/kern/i386/pc/startup.S
22698 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22699 * grub-core/video/i386/pc/vbe.c
22700 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22701 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22702 Moved from here...
22703 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22704 ... here. Transformed into C.
22705 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22706 Moved from here...
22707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22708 ... here. Transformed into C.
22709 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22710 Moved from here...
22711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22712 ... here. Transformed into C.
22713 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22714 Moved from here...
22715 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22716 ... here. Transformed into C.
22717 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22718 Moved from here...
22719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22720 ... here. Transformed into C. Made static.
22721 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22722 Moved from here...
22723 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22724 ... here. Transformed into C. Made static.
22725 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22726 Moved from here...
22727 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22728 ... here. Transformed into C. Made static.
22729 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22730 pxe_rm_entry as third argument.
22731 (grub_bios_interrupt): New function.
22732 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22733 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22734 of calling grub_stop.
22735 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22736 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22737 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22738 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22739 * grub-core/lib/i386/halt.c: Moved from here ...
22740 * grub-core/lib/i386/halt.c: ... here.
22741 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22742 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22743 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22744 grub_stop_floppy.
22745 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22746 * include/grub/i386/coreboot/init.h: Removed.
22747 * include/grub/i386/multiboot/init.h: Likewise.
22748 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22749 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22750 * include/grub/i386/pc/int.h: New file.
22751 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22752 (grub_pxe_scan): Removed.
22753 (grub_pxe_call): Update prototype.
22754 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22755 prototypes.
22756 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22757 * include/grub/i386/qemu/init.h: Removed.
22758 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22759 noreturn.
22760 (grub_halt): Likewise.
22761 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22762 (grub_reboot): Likewise.
22763 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22764 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22765 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22766
215dd471
RM
227672010-08-30 Robert Millan <rmh@gnu.org>
22768
22769 * NEWS: Document addition of ZFS support in `grub-install' and
22770 `grub-mkconfig'.
22771
ebd65b82
BC
227722010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22773
22774 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22775 dprintf output.
22776
11721d19
VS
227772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 Remove leftover embedding of font objects.
22780
22781 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22782 * util/grub-install.in (font): Removed.
22783 * util/grub-mkimage.c (generate_image): Remove font support. All users
22784 updated.
22785
37837d4e
VS
227862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 Remove leftover embedding of font objects.
22789
22790 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22791 * util/grub-install.in (font): Removed.
22792 * util/grub-mkimage.c (generate_image): Remove font support. All users
22793 updated.
22794
b4c1aae0
VS
227952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22798 Reported by: Ian Turner
b4c1aae0 22799
8920a08d
VS
228002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22801
22802 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22803 timeout to avoid indefinite boot stalling.
22804
f21db033
VS
228052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22806
22807 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22808 (grub_env_write_color_highlight): Likewise.
22809
9a9de209
VS
228102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22811
22812 * grub-core/normal/term.c (print_more): Return to normal and not
22813 to standard state after printing "---MORE---".
22814
3dca01d7
VS
228152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22818 Mask out the bit 0x80 since it has other meaning that specifiing color.
22819
0b986c40
VS
228202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 New relocator. Allows for more kernel support and more straightforward
22823 loader writing.
22824
22825 * Makefile.am (BOOTTARGET): New variable.
22826 (QEMU32): Likewise.
22827 (linux.init.x86_64): New target.
22828 (linux.init.i386): Likewise.
22829 (multiboot.elf): Likewise.
22830 (kfreebsd.elf): Likewise.
22831 (kfreebsd.aout): Likewise.
22832 (pc-chainloader.elf): Likewise.
22833 (pc-chainloader.bin): Likewise.
22834 (ntldr.elf): Likewise.
22835 (ntldr.bin): Likewise.
22836 (multiboot2.elf): Likewise.
22837 (kfreebsd.init.x86_64): Likewise.
22838 (kfreebsd.init.i386): Likewise.
22839 (knetbsd.init.i386): Likewise.
22840 (kopenbsd.init.i386): Likewise.
22841 (knetbsd.init.x86_64): Likewise.
22842 (kopenbsd.init.x86_64): Likewise.
22843 (linux-initramfs.i386): Likewise.
22844 (linux-initramfs.x86_64): Likewise.
22845 (kfreebsd-mfsroot.i386.img): Likewise.
22846 (knetbsd.image.i386): Likewise.
22847 (kopenbsd.image.i386): Likewise.
22848 (kopenbsd.image.x86_64): Likewise.
22849 (knetbsd.miniroot-image.i386.img): Likewise.
22850 (kfreebsd-mfsroot.x86_64.img): Likewise.
22851 (knetbsd.image.x86_64): Likewise.
22852 (knetbsd.miniroot-image.x86_64.img): Likewise.
22853 (kfreebsd-mfsroot.i386.gz): Likewise.
22854 (bootcheck-kfreebsd-i386): Likewise.
22855 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22856 (bootcheck-kfreebsd-x86_64): Likewise.
22857 (knetbsd.miniroot-image.i386.gz): Likewise.
22858 (bootcheck-knetbsd-i386): Likewise.
22859 (bootcheck-kopenbsd-i386): Likewise.
22860 (bootcheck-kopenbsd-x86_64): Likewise.
22861 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22862 (bootcheck-knetbsd-x86_64): Likewise.
22863 (bootcheck-linux-i386): Likewise.
22864 (bootcheck-linux-x86_64): Likewise.
22865 (bootcheck-linux16-i386): Likewise.
22866 (bootcheck-linux16-x86_64): Likewise.
22867 (bootcheck-multiboot): Likewise.
22868 (bootcheck-multiboot2): Likewise.
22869 (bootcheck-kfreebsd-aout): Likewise.
22870 (bootcheck-pc-chainloader): Likewise.
22871 (bootcheck-ntldr): Likewise.
22872 (CLEANFILES): Add new targets.
22873 (BOOTCHECKS): New variable.
22874 (.PHONY): Add bootchecks.
22875 (SUCCESSFUL_BOOT_STRING): New variable.
22876 (BOOTCHECK_TIMEOUT): Likewise.
22877 (bootcheck): New target
22878 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22879 * configure.ac: Correct efiemu excuse.
22880 * docs/grub.texi (Supported kernels): New chapter.
22881 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22882 include/grub/mm_private.h. Simplify inclusion of
22883 include/grub/boot.h, include/grub/loader.h
22884 and include/grub/msdos_partition.h
22885 (KERNEL_HEADER_FILES) [i386_coreboot]:
22886 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22887 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22888 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22889 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22890 include/grub/machine/loader.h.
22891 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22892 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22893 extra_dist.
22894 (pci.mod): Enable on i386-multiboot.
22895 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22896 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22897 i386-qemu.
22898 (relocator.mod): Rewritten.
22899 (aout.mod): Enable on all x86.
22900 (bsd.mod): Likewise.
22901 (ntldr.mod): New module.
22902 (linux.mod): Use loader/i386/linux.c on all x86.
22903 (xnu.mod): Enable on all x86.
22904 (vga_text.mod): disable on EFI and QEMU.
22905 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22906 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22907 * grub-core/efiemu/loadcore.c: Likewise.
22908 * grub-core/efiemu/main.c: Likewise.
22909 (grub_efiemu_exit_boot_services): Removed.
22910 (grub_efiemu_finish_boot_services): Likewise.
22911 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22912 function.
22913 * grub-core/efiemu/i386/nocfgtables.c: New file.
22914 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22915 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22916 (grub_efi_finish_boot_services): Moved from here ...
22917 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22918 Fille finish memory map and related data.
22919 (finish_mmap_buf): New variable.
22920 (grub_efi_uintn_t finish_mmap_size): Likewise.
22921 (grub_efi_uintn_t finish_key): Likewise.
22922 (grub_efi_uintn_t finish_desc_size): Likewise.
22923 (grub_efi_uint32_t finish_desc_version): Likewise.
22924 (grub_efi_is_finished): Likewise.
22925 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22926 finished.
22927 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22928 (grub_elf64_phdr_iterate): Likewise.
22929 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22930 (grub_os_area_size): Likewise.
22931 (grub_machine_init): Don't reserve os area.
22932 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22933 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22934 * grub-core/kern/i386/loader.S: Removed.
22935 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22936 (grub_os_area_size): Likewise.
22937 (grub_machine_init): Don't reserve os area.
22938 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22939 Don't call grub_dl_unload_all.
22940 Don't include loader.S.
22941 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22942 Declare the memory after _end as available.
22943 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22944 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22945 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22946 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22947 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22948 * include/grub/mm_private.h (grub_mm_header): ... here.
22949 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22950 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22951 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22952 (grub_mm_region): ..here. Removed addr. Added pre_size.
22953 All users updated.
22954 * grub-core/kern/mm.c (base): Renamed to ...
22955 (grub_mm_base): ... this. Made global.
22956 (grub_real_malloc): Alloc from end of region.
22957 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22958 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22959 * grub-core/kern/powerpc/cache_flush.S: ... here.
22960 * grub-core/lib/efi/relocator.c: New file.
22961 * grub-core/lib/i386/relocator.c: Rewritten.
22962 * grub-core/lib/i386/relocator16.S: New file.
22963 * grub-core/lib/i386/relocator32.S: Likewise.
22964 * grub-core/lib/i386/relocator64.S: Likewise.
22965 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22966 * grub-core/lib/i386/relocator_common.S: New file.
22967 * grub-core/lib/ieee1275/relocator.c: Likewise.
22968 * grub-core/lib/mips/relocator.c: Rewritten.
22969 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22970 stylistic adjustments.
22971 * grub-core/lib/powerpc/relocator.c: New file.
22972 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22973 * grub-core/lib/relocator.c: Rewritten.
22974 * grub-core/lib/x86_64/relocator_asm.S: New file.
22975 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22976 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22977 (bsd_tag): New struct.
22978 (tags): New variable.
22979 (tags_last): Likewise.
22980 (netbsd_module): New struct.
22981 (netbsd_mods): New variable.
22982 (netbsd_mods_last): Likewise.
22983 (openbsd_opts): New parameter "serial".
22984 (OPENBSD_SERIAL_ARG): New definition.
22985 (netbsd_opts): New parameter "serial".
22986 (NETBSD_SERIAL_ARG): New definition.
22987 (grub_freebsd_add_meta): Reorganised into ...
22988 (grub_bsd_add_meta): ...this. All users updated.
22989 (grub_freebsd_add_mmap): Reorganised into ...
22990 (generate_e820_mmap): ...this...
22991 (grub_bsd_add_mmap): ...and this. All users updated.
22992 (grub_freebsd_list_modules): Use tags.
22993 (grub_netbsd_add_meta_module): New function.
22994 (grub_netbsd_list_modules): Likewise.
22995 (grub_freebsd_boot): Use relocator and finish EFI.
22996 (grub_openbsd_boot): Likewise.
22997 (grub_netbsd_setup_video): New function.
22998 (grub_netbsd_add_modules): Likewise.
22999 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23000 and finish EFI.
23001 (grub_bsd_unload): Unload tags.
23002 (grub_bsd_load_aout): Use relocator.
23003 (grub_bsd_elf32_size_hook): New function.
23004 (grub_bsd_elf32_hook): Use relocator.
23005 (grub_bsd_elf64_size_hook): New function.
23006 (grub_bsd_elf64_hook): Use relocator.
23007 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23008 (grub_bsd_load): Zero-out openbsd_ramdisk.
23009 (grub_bsd_load): Use relocator.
23010 (grub_cmd_openbsd): Support serial.
23011 (grub_cmd_netbsd): Support modules.
23012 (grub_cmd_freebsd_module): Use relocator.
23013 (grub_netbsd_module_load): New function.
23014 (grub_cmd_netbsd_module): Likewise.
23015 (grub_cmd_openbsd_ramdisk): Likewise.
23016 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23017 kopenbsd_ramdisk.
23018 (GRUB_MOD_FINI): Unregister new commands.
23019 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23020 (grub_freebsd_load_elfmodule_obj): Use relocator.
23021 (grub_freebsd_load_elfmodule): Likewise.
23022 (grub_freebsd_load_elf_meta): Likewise.
23023 (grub_netbsd_load_elf_meta): New function.
23024 (grub_openbsd_find_ramdisk): Likewise.
23025 * grub-core/loader/i386/bsd_helper.S: Removed.
23026 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23027 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23028 * grub-core/loader/i386/efi/linux.c: Likewise.
23029 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23030 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23031 (DEFAULT_VIDEO_MODE): Likewise.
23032 (real_mode_target): New variable.
23033 (prot_mode_target): Likewise.
23034 (initrd_mem_target): Likewise.
23035 (relocator): Likewise.
23036 (efi_mmap_buf): Likewise.
23037 (efi_mmap_size): Likewise.
23038 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23039 (free_pages): Use relocator.
23040 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23041 (grub_linux_setup_video): Return error.
23042 (grub_linux_trampoline_start): Removed.
23043 (grub_linux_trampoline_end): Likewise.
23044 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23045 andd video parameters depending on firmware.
23046 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23047 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23048 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23049 (grub_cmd_initrd): Use relocator.
23050 * grub-core/loader/i386/linux_trampoline.S: Removed.
23051 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23052 (elf_sec_entsize): Likewise.
23053 (elf_sec_shstrndx): Likewise.
23054 (elf_sections): Likewise.
23055 (grub_multiboot_load): Use relocator.
23056 (grub_multiboot_get_mbi_size): Account for sections.
23057 (grub_multiboot_make_mbi): Use relocator and support sections.
23058 (grub_multiboot_add_elfsyms): New function.
23059 (grub_multiboot_free_mbi): Free sections.
23060 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23061 (grub_linux_real_target): Likewise.
23062 (grub_linux_real_chunk): Likewise.
23063 (grub_linux16_prot_size): Likewise.
23064 (grub_linux16_boot): Use relocator.
23065 (grub_linux_unload): Unload relocator.
23066 (grub_cmd_linux): Use relocator.
23067 (grub_cmd_initrd): Likewise.
23068 * grub-core/loader/i386/pc/ntldr.c: New file.
23069 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23070 Don't try to guess CPU frequency.
23071 (grub_xnu_set_video): Stretch bitmap.
23072 (grub_xnu_boot): Use relocator.
23073 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23074 (grub_linux_unload): Free relocator.
23075 (grub_linux_load32): Use relocator.
23076 (grub_linux_load64): Likewise.
23077 (grub_cmd_initrd): Likewise.
23078 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23079 (grub_multiboot_unload): Unload relocator.
23080 (grub_cmd_multiboot): Use relocator.
23081 (grub_cmd_module): Likewise.
23082 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23083 Use relocator and support sections.
23084 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23085 (elf_sec_entsize): Likewise.
23086 (elf_sec_shstrndx): Likewise.
23087 (elf_sections): Likewise.
23088 (grub_multiboot_load): Use relocator.
23089 (grub_multiboot_get_mbi_size): Account for sections.
23090 (grub_multiboot_make_mbi): Use relocator and support sections.
23091 (grub_multiboot_add_elfsyms): New function.
23092 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23093 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23094 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23095 Prototype changed. All users updated.
23096 (grub_xnu_align_heap): Simplified.
23097 (grub_xnu_writetree_toheap): Likewise.
23098 (grub_xnu_unload): Unload relocator.
23099 (grub_cmd_xnu_kernel): Use relocator.
23100 (grub_cmd_xnu_kernel64): Likewise.
23101 (grub_xnu_register_memory): Simplified.
23102 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23103 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23104 EFI is finished.
23105 (grub_console_checkkey): Likewise.
23106 (grub_console_getkey): Likewise.
23107 (grub_console_getwh): Likewise.
23108 (grub_console_getxy): Likewise.
23109 (grub_console_gotoxy): Likewise.
23110 (grub_console_cls): Likewise.
23111 (grub_console_setcolorstate): Likewise.
23112 (grub_console_setcursor): Likewise.
23113 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23114 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23115 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23116 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23117 * grub-core/tests/boot/kernel-8086.S: Likewise.
23118 * grub-core/tests/boot/kernel-i386.S: Likewise.
23119 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23120 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23121 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23122 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23123 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23124 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23125 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23126 * grub-core/tests/boot/linux.cfg: Likewise.
23127 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23128 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23129 * grub-core/tests/boot/linux16.cfg: Likewise.
23130 * grub-core/tests/boot/multiboot.cfg: Likewise.
23131 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23132 * grub-core/tests/boot/ntldr.cfg: Likewise.
23133 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23134 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23135 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23136 New definition.
23137 * include/grub/dl.h (grub_dl_unload_all): Removed.
23138 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23139 (grub_efi_finish_boot_services): Change prototype.
23140 (grub_efi_is_finished): New variable.
23141 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23142 Changed prototype.
23143 (grub_efiemu_finish_boot_services): Removed.
23144 (grub_machine_efiemu_init_tables): New prototype.
23145 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23146 (grub_elf64_phdr_iterate): Likewise.
23147 * include/grub/i386/bsd.h: Include relocator.h.
23148 (freebsd_tag_header): New struct.
23149 (grub_openbsd_bios_mmap): Removed.
23150 (grub_unix_real_boot): Removed.
23151 (grub_freebsd_load_elfmodule32): Changed prototype.
23152 (grub_freebsd_load_elfmodule_obj64): Likewise.
23153 (grub_freebsd_load_elf_meta32): Likewise.
23154 (grub_freebsd_load_elf_meta64): Likewise.
23155 (grub_freebsd_add_meta): Removed.
23156 (grub_netbsd_load_elf_meta32): New prototype.
23157 (grub_netbsd_load_elf_meta64): Likewise.
23158 (grub_bsd_add_meta): Likewise.
23159 (grub_openbsd_ramdisk_descriptor): New struct.
23160 (grub_openbsd_find_ramdisk32): New prototype.
23161 (grub_openbsd_find_ramdisk64): Likewise.
23162 * include/grub/i386/coreboot/loader.h: Removed.
23163 * include/grub/i386/efi/loader.h: Likewise.
23164 * include/grub/i386/ieee1275/loader.h: Likewise.
23165 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23166 to grub_uint32_t.
23167 * include/grub/i386/loader.h: Removed.
23168 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23169 value.
23170 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23171 (grub_phys_addr_t): New type.
23172 (grub_vtop): New inline function.
23173 (grub_map_memory): Likewise.
23174 (grub_unmap_memory): Likewise.
23175 * include/grub/i386/multiboot/loader.h: Removed.
23176 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23177 (NETBSD_BTINFO_CONSOLE): New definition.
23178 (NETBSD_BTINFO_SYMTAB): Likewise.
23179 (NETBSD_BTINFO_MODULES): Likewise.
23180 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23181 (grub_netbsd_bootinfo): New struct.
23182 (grub_netbsd_btinfo_common): Use explicit bitsize.
23183 (grub_netbsd_btinfo_mmap_entry): Removed.
23184 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23185 (grub_netbsd_btinfo_bootdisk): New struct.
23186 (grub_netbsd_btinfo_symtab): Likewise.
23187 (grub_netbsd_btinfo_serial): Likewise.
23188 (grub_netbsd_btinfo_modules): Likewise.
23189 (grub_netbsd_btinfo_framebuf): Likewise.
23190 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23191 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23192 Likewise.
23193 (grub_openbsd_bootargs): Use explicit bitsize.
23194 (grub_openbsd_bootarg_console): New struct.
23195 (GRUB_OPENBSD_COM_MAJOR): New definition.
23196 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23197 * include/grub/i386/pc/efiemu.h: Removed.
23198 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23199 * include/grub/i386/qemu/loader.h: Removed.
23200 * include/grub/i386/relocator.h: Rewritten.
23201 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23202 * include/grub/mips/memory.h: New file.
23203 * include/grub/mips/multiboot.h: Rewritten.
23204 * include/grub/mips/relocator.h: Rewritten.
23205 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23206 (grub_vtop): New function.
23207 (grub_map_memory): Likewise.
23208 (grub_unmap_memory): Likewise.
23209 * include/grub/misc.h (ALIGN_DOWN): New definition.
23210 * include/grub/mm.h (grub_mm_check_real): New proto.
23211 (GRUB_MM_CHECK): New definition.
23212 * include/grub/mm_private.h: New file.
23213 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23214 (grub_multiboot_get_mbi_size): Removed.
23215 (grub_multiboot_make_mbi): Change prottype.
23216 (grub_multiboot_set_accepts_video): New proto.
23217 (grub_multiboot_add_elfsyms): Likewise.
23218 (grub_multiboot_payload_eip): New variable.
23219 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23220 New prototype.
23221 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23222 New definition.
23223 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23224 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23225 * include/grub/powerpc/ieee1275/loader.h: Removed.
23226 * include/grub/powerpc/memory.h: New file.
23227 * include/grub/powerpc/relocator.h: Likewise.
23228 * include/grub/relocator.h: Likewise.
23229 * include/grub/relocator_private.h: Likewise.
23230 * include/grub/sparc64/ieee1275/loader.h: Removed.
23231 * include/grub/x86_64/memory.h: New file.
23232 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23233 (grub_xnu_heap_malloc): Likewise.
23234 (grub_xnu_heap_real_start): Removed.
23235 (grub_xnu_heap_start): Likewise.
23236 (grub_xnu_relocator): New variable.
23237 (grub_xnu_heap_target_start): Likewise.
23238 * tests/util/grub-shell.in: Support non-pc.
23239 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23240
5303b85d
VS
232412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23244 on malloc error.
23245 (grub_bidi_logical_to_visual): Check that malloc succeded.
23246 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23247 puts.
23248 (grub_xputs_normal): Likewise.
23249
d768d159
VS
232502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23251
23252 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23253 extra_dist.
23254
232552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23258
5bf84df4
VS
232592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23262
3626810e
VS
232632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23266 dprintf.
23267
a7363f53
BC
232682010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23269
23270 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23271
902f75f6
VS
232722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 * grub-core/normal/term.c (print_more): Fix a memory leak.
23275 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23276 (grub_xputs_normal): Likewise.
23277
3c707967
VS
232782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23279
23280 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23281 the begining of the string
23282
2053cc07
VS
232832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23284
23285 * grub-core/script/script.c (grub_script_parse): Free parsed on
23286 failure.
23287
46422ebf
VS
232882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23291 on failure.
23292
9e0fa3f6
VS
232932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23296 return.
23297
3393cf16
VS
232982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23299
23300 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23301 (scroll_up): Fix a memory leak.
23302
b17540cb
VS
233032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23306 errors.
23307
67140446
VS
233082010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 Handle USB pendrives exposed as floppies.
23311
23312 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23313 floppy.
23314 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23315 Check for partitions on all devices.
23316
e35e46fc
VS
233172010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23320 (readkey): Likewise.
23321
d24c6190
BC
233222010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23323
23324 Multiple variable names support to "export" command.
23325
23326 * normal/context.c (grub_cmd_export): "export" command supports
23327 multiple variable names.
23328
04ddcc6a
ST
233292010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23330
23331 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23332 --target=drive output to Mach device name.
23333
0c8b61d8
BC
233342010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23335
23336 New Automake based build system for GRUB.
23337
23338 * ABOUT-NLS: New file.
23339 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23340 in Makefile.util.def file.
23341 * Makefile.util.def: New file. Autogen build definitions file for
23342 GRUB host utils.
23343 * conf/Makefile.common: New file. Common variables for GRUB host
23344 utils and target modules.
23345 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23346 * docs/Makefile.am: New file. Automake file for docs.
23347 * gentpl.py: New file. Python script to generate Autogen
23348 template.
23349 * grub-core/Makefile.am: New file. GRUB target modules' rules
23350 that doesn't fit in Makefile.core.def file.
23351 * grub-core/Makefile.core.def: New file. Autogen build
23352 definitions file for GRUB target modules.
23353 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23354 specific setjmp.S file.
23355 * po/Makefile.am: New file.
23356
23357 * .bzrignore: New ignores.
23358 * INSTALL: New requirements, without Ruby.
23359 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23360 * autogen.sh: Updated to invoke autogen as necessary.
23361 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23362 and defines for Automake conditionals.
23363 * geninit.sh: Refactoring.
23364
23365 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23366 necessary.
23367 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23368 New prototype.
23369
23370 * include/grub/test.h: Fix functional test modules' naming.
23371 * grub-core/tests/example_functional_test.c: Fix test module name.
23372
23373 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23374 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23375 * util/grub-editenv.c: Likewise.
23376 * util/grub-fstest.c: Likewise.
23377 * util/grub-mkdevicemap.c: Likewise.
23378 * util/grub-mkfont.c: Likewise.
23379 * util/grub-mkimage.c: Likewise.
23380 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23381 * util/grub-probe.c: Likewise.
23382 * util/grub-script-check.c: Likewise.
23383 * util/i386/pc/grub-setup.c: Likewise.
23384 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23385
23386 * tests/util/grub-shell.in: Fix override directory path.
23387 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23388 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23389
23390 * util/lvm.c: Update #includes.
23391 * util/raid.c: Likewise.
23392 * util/resolve.c: Likewise.
23393 * grub-core/bus/emu/pci.c: Likewise.
23394 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23395 * grub-core/lib/posix_wrap/string.h: Likewise.
23396 * grub-core/kern/emu/main.c: Likewise.
23397
23398 * grub-core/gensymlist.sh: New file. Script for generating kernel
23399 symbols file.
23400 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23401
23402 * grub-core/gentrigtables.c: Fix unused variable warnings.
23403
23404 * Makefile.in: Removed.
23405 * conf/any-emu.rmk: Removed.
23406 * conf/common.rmk: Removed.
23407 * conf/i386-coreboot.rmk: Removed.
23408 * conf/i386-efi.rmk: Removed.
23409 * conf/i386-ieee1275.rmk: Removed.
23410 * conf/i386-multiboot.rmk: Removed.
23411 * conf/i386-pc.rmk: Removed.
23412 * conf/i386-qemu.rmk: Removed.
23413 * conf/i386.rmk: Removed.
23414 * conf/mips-yeeloong.rmk: Removed.
23415 * conf/mips.rmk: Removed.
23416 * conf/powerpc-ieee1275.rmk: Removed.
23417 * conf/sparc64-ieee1275.rmk: Removed.
23418 * conf/tests.rmk: Removed.
23419 * conf/x86-efi.rmk: Removed.
23420 * conf/x86_64-efi.rmk: Removed.
23421 * gendistlist.sh: Removed.
23422 * geninitheader.sh: Removed.
23423 * genkernsyms.sh.in: Removed.
23424 * genmk.rb: Removed.
23425 * gensymlist.sh.in: Removed.
23426 * mkinstalldirs: Removed.
23427 * boot: Moved ...
23428 * grub-core/boot: ... to here.
23429 * bus: Moved ...
23430 * grub-core/bus: ... to here.
23431 * commands: Moved ...
23432 * grub-core/commands: ... to here.
23433 * disk: Moved ...
23434 * grub-core/disk: ... to here.
23435 * efiemu: Moved ...
23436 * grub-core/efiemu: ... to here.
23437 * font: Moved ...
23438 * grub-core/font: ... to here.
23439 * fs: Moved ...
23440 * grub-core/fs: ... to here.
23441 * gencmdlist.sh: Moved ...
23442 * grub-core/gencmdlist.sh: ... to here.
23443 * genemuinit.sh: Moved ...
23444 * grub-core/genemuinit.sh: ... to here.
23445 * genemuinitheader.sh: Moved ...
23446 * grub-core/genemuinitheader.sh: ... to here.
23447 * genfslist.sh: Moved ...
23448 * grub-core/genfslist.sh: ... to here.
23449 * genhandlerlist.sh: Moved ...
23450 * grub-core/genhandlerlist.sh: ... to here.
23451 * genmoddep.awk: Moved ...
23452 * grub-core/genmoddep.awk: ... to here.
23453 * genmodsrc.sh: Moved ...
23454 * grub-core/genmodsrc.sh: ... to here.
23455 * genpartmaplist.sh: Moved ...
23456 * grub-core/genpartmaplist.sh: ... to here.
23457 * genparttoollist.sh: Moved ...
23458 * grub-core/genparttoollist.sh: ... to here.
23459 * genterminallist.sh: Moved ...
23460 * grub-core/genterminallist.sh: ... to here.
23461 * gentrigtables.c: Moved ...
23462 * grub-core/gentrigtables.c: ... to here.
23463 * genvideolist.sh: Moved ...
23464 * grub-core/genvideolist.sh: ... to here.
23465 * gettext: Moved ...
23466 * grub-core/gettext: ... to here.
23467 * gfxmenu: Moved ...
23468 * grub-core/gfxmenu: ... to here.
23469 * gnulib: Moved ...
23470 * grub-core/gnulib: ... to here.
23471 * hello: Moved ...
23472 * grub-core/hello: ... to here.
23473 * hook: Moved ...
23474 * grub-core/hook: ... to here.
23475 * io: Moved ...
23476 * grub-core/io: ... to here.
23477 * kern: Moved ...
23478 * grub-core/kern: ... to here.
23479 * lib: Moved ...
23480 * grub-core/lib: ... to here.
23481 * loader: Moved ...
23482 * grub-core/loader: ... to here.
23483 * mmap: Moved ...
23484 * grub-core/mmap: ... to here.
23485 * normal: Moved ...
23486 * grub-core/normal: ... to here.
23487 * partmap: Moved ...
23488 * grub-core/partmap: ... to here.
23489 * parttool: Moved ...
23490 * grub-core/parttool: ... to here.
23491 * script: Moved ...
23492 * grub-core/script: ... to here.
23493 * term: Moved ...
23494 * grub-core/term: ... to here
23495 * tests/example_functional_test.c: Moved ...
23496 * grub-core/tests/example_functional_test.c: ... to here.
23497 * tests/lib/functional_test.c: Moved ...
23498 * grub-core/tests/lib/functional_test.c: ... to here.
23499 * tests/lib/test.c: Moved ...
23500 * grub-core/tests/lib/test.c: ... to here.
23501 * video: Moved ...
23502 * grub-core/video: ... to here.
23503
645586e6
BC
235042010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23505
23506 Replace --enable-grub-emu-modules with grub-emu-lite.
23507
23508 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23509 cache.S.
23510
23511 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23512 * kern/emu/full.c: New file. For grub-emu specific initialization.
23513 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23514 * kern/emu/main.c: Call initialization function grub_emu_init.
23515
23516 * Makefile.in: Include grub-emu-lite in install.
23517 * commands/parttool.c: Use grub_no_autoload to differentiate
23518 between grub-emu and grub-emu-lite.
23519 * include/grub/misc.h: New variable grub_no_autoload.
23520
23521 * conf/any-emu.rmk: New rules for grub-emu-lite.
23522 * configure.ac: Remove --enable-grub-emu-modules.
23523 * genmk.rb: Cleanup unnecessary rules.
23524 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23525
23526 * normal/main.c: Don't load list files on grub-emu-lite.
23527 * util/misc.c (grub_arch_sync_caches): Removed.
23528
f86a4030
CW
235292010-08-23 Colin Watson <cjwatson@ubuntu.com>
23530
23531 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23532 grub-mkimage rather than grub-mkelfimage.
23533 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23534
06776944
VS
235352010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23536
23537 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23538 a key after CapsLock or NumLock. It's just a qemu bug.
23539
df262419
VS
235402010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23543 needed by libusb wrapper.
23544
b40ea81b
ST
235452010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23546
23547 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23548
dee50575
VS
235492010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23552 --nounzip is passed.
23553
fb1d7b79
VS
235542010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23555
23556 USB hotunplugging and USB serial support.
23557
23558 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23559 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23560 (grub_uhci_transfer): Respect timeout and set *actual.
23561 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23562 non-standard length.
23563 (grub_usb_device_attach): Autoload modules.
23564 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23565 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23566 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23567 users updated.
23568 (grub_usb_add_hub): Fill nports and children.
23569 (attach_root_port): Receive hub instead of controller.
23570 All users updated. Fill hub->devices.
23571 (grub_usb_root_hub): Allocate hub->devices.
23572 (detach_device): New function.
23573 (poll_nonroot_hub): Fill children and detach devices.
23574 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23575 actual arguments. All users updated.
23576 (grub_usb_bulk_read_extended): New function.
23577 * bus/usb/serial/common.c: New file.
23578 * bus/usb/serial/ftdi.c: Likewise.
23579 * bus/usb/serial/pl2303.c: Likewise.
23580 * commands/terminal.c (handle_command): Support wildcard.
23581 * commands/usbtest.c: Output "Unknown" instead of empty string.
23582 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23583 (usbserial_common_mod_SOURCES): New variable.
23584 (usbserial_common_mod_CFLAGS): Likewise.
23585 (usbserial_common_mod_LDFLAGS): Likewise.
23586 (pkglib_MODULES): Add usbserial_pl2303.mod.
23587 (usbserial_pl2303_mod_SOURCES): New variable.
23588 (usbserial_pl2303_mod_CFLAGS): Likewise.
23589 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23590 (pkglib_MODULES): Add usbserial_ftdi.mod.
23591 (usbserial_ftdi_mod_SOURCES): New variable.
23592 (usbserial_ftdi_mod_CFLAGS): Likewise.
23593 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23594 (pkglib_MODULES): Add serial.mod.
23595 (serial_mod_SOURCES): New variable.
23596 (serial_mod_CFLAGS): Likewise.
23597 (serial_mod_LDFLAGS): Likewise.
23598 * conf/i386-pc.rmk: Likewise.
23599 * conf/mips-yeeloong.rmk: Likewise.
23600 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23601 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23602 * disk/usbms.c (first_available_slot): New variable.
23603 (grub_usbms_attach): Don't reuse free slots due to potential cache
23604 problems.
23605 * include/grub/serial.h: Moved to ..
23606 * include/grub/ns8250.h: ...this.
23607 * include/grub/serial.h: New file.
23608 * include/grub/term.h (grub_term_poll_usb): New variable.
23609 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23610 readkey. All users updated.
23611 (grub_terminfo_output_state): Pass term to put.
23612 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23613 (grub_usb_controller_dev): Add timeout and actual arguments to
23614 transfer. All users updated.
23615 (grub_usb_interface): New field detach_data.
23616 (grub_usb_device): New fields children and nports.
23617 (grub_usb_ep_type_t): New type.
23618 (grub_usb_get_ep_type): New function.
23619 (grub_usb_bulk_read_extended): Likewise.
23620 * include/grub/usbdesc.h (grub_usb_desc): New type.
23621 * include/grub/usbserial.h: New file.
23622 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23623 * kern/term.c (grub_term_poll_usb): New variable.
23624 (grub_getkey): Call grub_term_poll_usb if set.
23625 (grub_checkkey): Likewise.
23626 (grub_getkeystatus): Likewise.
23627 * term/serial.c: Moved controller-specific parts to ...
23628 * term/ns8250.c: ... here.
23629 * term/serial.c: Mostly rewritten.
23630 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23631 according to spec.
23632
21a313de
RM
236332010-08-20 Robert Millan <rmh@gnu.org>
23634
23635 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23636 a separate module and maybe other interesting combinations.
23637
23638 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23639 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23640 (kfreebsd_entry): Add generic filesystem module load routine.
23641 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23642
63c734a6
CW
236432010-08-20 Colin Watson <cjwatson@ubuntu.com>
23644
23645 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23646 "numcenter" (I misunderstood the purpose of this entry).
23647 * docs/grub.texi (sendkey): Likewise.
23648
c4d16542
CW
236492010-08-20 Colin Watson <cjwatson@ubuntu.com>
23650
23651 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23652 status flag options; simply omitting the option is equivalent and
23653 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23654 (keysym_table): Rename "num5numlock" to "numlock".
23655 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23656 can uniformly say that only the last of multiple `sendkey'
23657 invocations has any effect.
23658 * docs/grub.texi (sendkey): New section.
23659
93541d66
CW
236602010-08-19 Colin Watson <cjwatson@ubuntu.com>
23661
23662 * commands/i386/pc/sendkey.c (options): Fix three typos.
23663
b4ece5e1
VS
236642010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 Implement sendkey support.
23667
23668 * commands/i386/pc/sendkey.c: New file.
23669 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23670 (sendkey_mod_SOURCES): New variable.
23671 (sendkey_mod_CFLAGS): Likewise.
23672 (sendkey_mod_LDFLAGS): Likewise.
23673
51f1f5af
CW
236742010-08-18 Colin Watson <cjwatson@ubuntu.com>
23675
23676 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23677 fix warnings from Autoconf.
23678
9da94e05
CW
236792010-08-18 Colin Watson <cjwatson@ubuntu.com>
23680
23681 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23682 to avoid false positives with some assemblers that output things
23683 like "someprefix_func" as part of their output.
23684
729a0f2e
RM
236852010-08-15 Robert Millan <rmh@gnu.org>
23686
23687 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23688 errors.
23689 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23690 grub_get_libzfs_handle() errors.
23691
f3710e08
RM
236922010-08-14 Robert Millan <rmh@gnu.org>
23693
23694 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23695 filesystem is not ZFS.
23696
7a3c13de
BC
236972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23698
23699 Fix for misspelled color names defaulting to black/black (bug
23700 reported by Doug Nazar)
23701
23702 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23703 status to prototype.
23704 * normal/color.c (grub_parse_color_name_pair): Return failure
23705 status.
23706 (grub_env_write_color_normal): Ignore bad color names.
23707 (grub_env_write_color_highlight): Likewise.
23708 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23709
ab8ba50d
BC
237102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23711
23712 "shift" command support to GRUB script.
23713
23714 * include/grub/script_sh.h (grub_script_shift): New prototype.
23715 * script/execute.c (grub_script_shift): New function.
23716 * script/main.c (grub_script_init): Register shift command.
23717 (grub_script_fini): Unregister shift command.
23718 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23719
23720 * tests/grub_script_shift.in: New testcase.
23721 * conf/tests.rmk: Rules for new testcase.
23722
4d61999e
BC
237232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23724
23725 "continue" command support to GRUB script.
23726
23727 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23728 (grub_script_break): Continue support.
23729 * script/main.c (grub_script_init): Register continue command.
23730 (grub_script_fini): Unregister continue command.
23731
23732 * tests/grub_script_continue.in: New testcase.
23733 * conf/tests.rmk: Rules for new testcase.
23734
4df51e00
BC
237352010-08-12 BVK Chaitanya <bvk@dbook>
23736
23737 "break" command support to GRUB script.
23738
23739 * conf/common.rmk: Rule updates to grub-script-check.
23740 * include/grub/misc.h (grub_min): New function.
23741 * include/grub/script_sh.h (grub_script_init): New prototype.
23742 (grub_script_fini): New prototype.
23743 (grub_script_break): New prototype.
23744 * script/main.c (grub_script_init): New function.
23745 (grub_script_fini): New function.
23746 * script/execute.c (grub_script_break): New function.
23747 * normal/main.c: Calls to grub_script_{init,fini}.
23748 * util/grub-script-check.c (grub_script_break): New function.
23749
23750 * tests/grub_script_break.in: New testcase.
23751 * conf/tests.rmk: Rules for new test case.
23752
f12c8420
BC
237532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23754
23755 Function parameters support to GRUB script.
23756
23757 * script/yylex.l (VARIABLE): Regular expression update.
23758 * script/function.c (grub_script_function_call): Moved ...
23759 * script/execute.c (grub_script_function_call): ... to here.
23760 (grub_script_execute_arglist_to_argv): Removed.
23761 (grub_script_arglist_to_argv): New function.
23762 * script/argv.c: New file.
23763 (grub_script_argv_free): New function.
23764 (grub_script_argv_next): Likewise.
23765 (grub_script_argv_append): Likewise.
23766 (grub_script_argv_split_append): Likewise.
23767 * include/grub/script_sh.h (grub_script_argv): New struct.
23768 (grub_script_argv_free): New function.
23769 (grub_script_argv_next): Likewise.
23770 (grub_script_argv_append): Likewise.
23771 (grub_script_argv_split_append): Likewise.
23772
23773 * conf/common.rmk (normal.mod): New source script/argv.c.
23774
23775 * tests/grub_script_echo1.in: More tests.
23776 * tests/grub_script_vars1.in: Likewise.
23777 * tests/grub_script_functions.in: New test case.
23778 * conf/tests.rmk: Rules for new testcase.
23779
8022b748
BC
237802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23781
23782 Remove grub_script_cmdblock struct.
23783
23784 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23785 * script/parser.y: Likewise.
23786 * script/execute.c: Rename cmdblock suffix to cmdlist.
23787 * script/script.c: Likewise.
23788 * util/grub-script-check.c: Likewise.
23789
79a6ba61
YB
237902010-08-11 Yves Blusseau <blusseau@zetam.org>
23791
23792 * .bzrignore: add grub-macho2img
23793
d04b9414
VS
237942010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23797
f947ab49
VS
237982010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 Remove the dump of sm712 initialisation sequence.
23801
23802 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23803 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23804 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23805 (GRUB_VGA_CR_*): Added many registers.
23806 (GRUB_VGA_SR_*): Likewise.
23807 (GRUB_VGA_GR_*): Likewise.
23808 (grub_vga_write_arx): New function.
23809 (grub_video_hw_config): New struct.
23810 (grub_vga_set_geometry): New function.
23811 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23812 GRUB_PCI_CLASS_SUBCLASS_VGA.
23813 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23814 * video/sm712.c (grub_sm712_write_reg): New function
23815 (grub_sm712_read_reg): Likewise.
23816 (grub_sm712_sr_write): Likewise.
23817 (grub_sm712_gr_write): Likewise.
23818 (grub_sm712_cr_write): Likewise.
23819 (grub_sm712_write_arx): Likewise.
23820 (grub_sm712_cr_shadow_write): Likewise.
23821 (grub_sm712_write_dda_lookup): Likewise.
23822 (grub_video_sm712_setup): Initialise the video rather then
23823 blindly replay the dump.
23824 (main) [TEST]: Add a routine to be able to compile as standalone for
23825 tests.
23826 * video/sm712_init.c (sm712_init): Removed.
23827 (sm712_sr_seq1): New array.
23828 (sm712_sr_seq2): Likewise.
23829
f0206638
VS
238302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23831
23832 * include/grub/vga.h: Add missing grub/pci.h include.
23833
2764da3b
YB
238342010-08-10 Yves Blusseau <blusseau@zetam.org>
23835
23836 * util/grub-macho2img.c (main): fix typo
23837
cf0c775e
VS
238382010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23839
23840 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23841 (grub_vga_gr_read): Likewise.
23842 (grub_vga_cr_write): Likewise.
23843 (grub_vga_cr_read): Likewise.
23844 (grub_vga_sr_write): Likewise.
23845 (grub_vga_sr_read): Likewise.
23846 (grub_vga_palette_read): Likewise.
23847 (grub_vga_palette_write): Likewise.
23848 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23849 (grub_sm712_sr_read): New function.
23850 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23851 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23852
07f360e9
RM
238532010-08-09 Robert Millan <rmh@gnu.org>
23854
23855 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23856 out unused variables on non-ZFS build.
23857
346c2072
RM
238582010-08-08 Robert Millan <rmh@gnu.org>
23859
23860 Fix path generation for sub-filesystems in ZFS.
23861
23862 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23863 missing slash.
23864
71175420
RM
238652010-08-08 Robert Millan <rmh@gnu.org>
23866
23867 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23868
0d8286f3
RM
238692010-08-08 Robert Millan <rmh@gnu.org>
23870
23871 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23872 exist, issue a proper error message (rely on `ls' for translated
23873 strings).
23874
55dd2924
RM
238752010-08-08 Robert Millan <rmh@gnu.org>
23876
23877 Fix grub-probe invocation.
23878
23879 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23880
d3dd9e80
RM
238812010-08-04 Robert Millan <rmh@gnu.org>
23882
23883 * configure.ac: Remove checks for getfsstat() and getmntany().
23884 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23885 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23886 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23887 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23888 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23889 function.
23890 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23891 via find_mount_point_from_dir() and getfsstat() / getmntany().
23892
0de22aa9
RM
238932010-08-04 Robert Millan <rmh@gnu.org>
23894
23895 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23896 (grub_find_zpool_from_mount_point): Merge into ...
23897 (grub_find_zpool_from_dir): ... this.
23898 * kern/emu/misc.c: Likewise.
23899
23900 * kern/emu/misc.c
23901 (grub_make_system_path_relative_to_its_root): Replace
23902 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23903 with grub_find_zpool_from_dir().
23904 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23905
62858144
RM
239062010-08-04 Robert Millan <rmh@gnu.org>
23907
23908 Support OpenSolaris in ZFS device resolution.
23909
23910 * configure.ac: Check for getmntany().
23911 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23912 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23913 support.
23914
9dd6fd50
RM
239152010-08-03 Robert Millan <rmh@gnu.org>
23916
23917 Fix grub-emu build.
23918
23919 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23920 * include/grub/emu/misc.h: ... here.
23921
23922 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23923 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23924
23925 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23926 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23927 (grub_get_libzfs_handle): Move to ...
23928 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23929 (grub_get_libzfs_handle): ... here.
23930
c9f7ff97
BC
239312010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23932
23933 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23934 as command name case.
23935
a870a783
CW
239362010-08-02 Colin Watson <cjwatson@ubuntu.com>
23937
23938 * disk/raid.c (insert_array): Select unique numbers for named arrays
23939 as well, for use as keys in the disk cache.
23940
c7db243b
RM
239412010-08-01 Robert Millan <rmh@gnu.org>
23942
23943 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23944 kFreeBSD device name, except on ZFS where the filesystem label is
23945 used.
23946 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23947 `/boot/zfs/zpool.cache'.
23948 Set mountfrom kernel variable using ${kfreebsd_device}.
23949
f7abdefb
RM
239502010-08-01 Robert Millan <rmh@gnu.org>
23951
23952 Make it even harder to use uninitialized `libzfs_handle' (and
23953 make the interface a bit simpler).
23954
23955 * include/grub/util/misc.h (grub_util_init_libzfs)
23956 (libzfs_handle): Remove.
23957 (grub_get_libzfs_handle): New prototype.
23958
23959 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23960 attribute.
23961 (grub_util_init_libzfs): Remove.
23962 (grub_get_libzfs_handle): New function.
23963
23964 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23965 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23966 accessing `libzfs_handle' directly.
23967
c882acc0
RM
239682010-08-01 Robert Millan <rmh@gnu.org>
23969
23970 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23971 (grub_find_zpool_from_mount_point): New function prototypes.
23972
23973 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23974 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23975
23976 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23977 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23978 `static' attribute.
23979
23980 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23981 finding zpool from mount point into ...
23982 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23983
23984 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23985 requested path is part of a ZFS pool, use
23986 grub_find_zpool_from_mount_point() to detect its filesystem name,
23987 and generate a path with `/fsname@path' syntax.
23988
8bfe31d8
CW
239892010-08-01 Colin Watson <cjwatson@ubuntu.com>
23990
23991 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23992 (void) rather than () so that this is a proper prototype.
23993
553df63d
VS
239942010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23997
8687cf07
VS
239982010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23999
24000 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24001 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24002
ea9be8ea
CW
240032010-08-01 Colin Watson <cjwatson@ubuntu.com>
24004
24005 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24006
6eea041a
CW
240072010-08-01 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24010
2cfb45df
CW
240112010-08-01 Colin Watson <cjwatson@ubuntu.com>
24012
24013 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24014 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24015 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24016 disable gfxpayload.
24017 (Shell-like scripting): Add real content.
24018 (Serial terminal): Suggest `terminal_input serial; terminal_output
24019 serial' rather than putting the two commands on separate lines,
24020 since console input will be inoperative after the first command.
24021 (menuentry): Document --class, --users, and --hotkey options.
24022 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24023 Vladimir Serbinenko).
24024
7decd202
VS
240252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
240262010-08-01 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24029
c882acc0
RM
240302010-08-01 Robert Millan <rmh@gnu.org>
24031
24032 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24033 (grub_find_zpool_from_mount_point): New function prototypes.
24034
24035 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24036 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24037
24038 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24039 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24040 `static' attribute.
24041
24042 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24043 finding zpool from mount point into ...
24044 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24045
24046 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24047 requested path is part of a ZFS pool, use
24048 grub_find_zpool_from_mount_point() to detect its filesystem name,
24049 and generate a path with `/fsname@path' syntax.
24050
deb0caa3
RM
240512010-08-01 Robert Millan <rmh@gnu.org>
24052
24053 Prevent accidental use of uninitialized libzfs_handle.
24054
24055 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24056 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24057 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24058
ce04ef47
CW
240592010-08-01 Colin Watson <cjwatson@ubuntu.com>
24060
24061 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24062 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24063
ebf53056
RM
240642010-08-01 Robert Millan <rmh@gnu.org>
24065
24066 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24067
3710bb6b
RM
240682010-07-31 Robert Millan <rmh@gnu.org>
24069
24070 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24071
8072efeb
RM
240722010-07-31 Robert Millan <rmh@gnu.org>
24073
24074 * kern/emu/misc.c: Add missing license header.
24075
3169f4c7
RM
240762010-07-31 Robert Millan <rmh@gnu.org>
24077
24078 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24079
24080 * include/grub/util/libnvpair.h: Include `<config.h>'.
24081 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24082 declaring libnvpair prototypes ourselves.
24083 * include/grub/util/libzfs.h: Include `<config.h>'.
24084 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24085 declaring libzfs prototypes ourselves.
24086
24087 (libzfs_handle): Moved to ...
24088 * include/grub/util/misc.h (libzfs_handle): ... here.
24089 Include `<grub/util/libzfs.h>'.
24090
c9a00aee
RM
240912010-07-30 Robert Millan <rmh@gnu.org>
24092
24093 * include/grub/emu/misc.h: Add missing license header.
24094
a184f9c8
RM
240952010-07-30 Robert Millan <rmh@gnu.org>
24096
24097 Enable `grub-probe -t device' resolution on ZFS.
24098
24099 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24100 * include/grub/util/libnvpair.h: New file.
24101 * include/grub/util/libzfs.h: New file.
24102
24103 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24104 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24105 `<grub/util/libnvpair.h>'.
24106 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24107
24108 (find_mount_point_from_dir): New static function.
24109 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24110 function.
24111 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24112 find_root_device_from_libzfs() before ressorting to find_root_device().
24113
24114 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24115 prototype.
24116 * util/misc.c: Include `<grub/util/libzfs.h>'.
24117 (grub_util_init_libzfs): New function.
24118 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24119 [HAVE_LIBZFS] (fini_libzfs): New static function.
24120 (grub_util_init_libzfs): New function.
24121 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24122
f7790cdd
RM
241232010-07-30 Robert Millan <rmh@gnu.org>
24124
24125 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24126 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24127 `warn_unused_result' attribute.
24128 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24129 (grub_xasprintf, grub_xvasprintf): Likewise.
24130 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24131
0806b63c
RM
241322010-07-29 Robert Millan <rmh@gnu.org>
24133
24134 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24135 (probe): Handle `PRINT_FS_LABEL'.
24136 (main): Handle `-t fs_label'.
24137
9f841f5c
RM
241382010-07-29 Robert Millan <rmh@gnu.org>
24139
24140 * configure.ac: Remove grub-mkisofs checks.
24141
46371121
VS
241422010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24145 Reported by: Lennart Sorensen.
24146
241472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24150 prior to terminal_input/terminal_output separation. It's been over 1.5
24151 years and those versions weren't widely deployed.
24152
a9600892
CW
241532010-07-22 Colin Watson <cjwatson@ubuntu.com>
24154
24155 * disk/raid.c (insert_array): Don't count named arrays when looking
24156 for unused array numbers.
697e053c 24157 Reported and tested by: Michael Guntsche.
a9600892 24158
c03507df
CW
241592010-07-20 Colin Watson <cjwatson@ubuntu.com>
24160
24161 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24162 implementation of this so that grub-emu links again, with a note
24163 that this should support hotplugging in the future.
24164
b26f1c11
CW
241652010-07-20 Colin Watson <cjwatson@ubuntu.com>
24166
24167 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24168
efc9d7f1
CW
241692010-07-20 Colin Watson <cjwatson@ubuntu.com>
24170
24171 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24172 handle on failure.
24173 (grub_loopback_close): Remove empty function.
24174 (grub_loopback_dev): Remove close method.
24175
dd8ff5c9
CW
241762010-07-20 Colin Watson <cjwatson@ubuntu.com>
24177
24178 Disable EFI cursor when the EFI console becomes inactive.
24179
24180 * term/efi/console.c (grub_efi_console_init): New function.
24181 (grub_efi_console_fini): New function.
24182 (grub_console_term_output): Register init and fini methods.
24183
5e3bec67
VS
241842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24187 sh script.
24188
afaec079
VS
241892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24190
24191 * disk/loopback.c (grub_loopback): Replace filename with file.
24192 (delete_loopback): Handle new semantics.
24193 (grub_cmd_loopback): Likewise.
24194 (grub_loopback_iterate): Likewise.
24195 (grub_loopback_close): Likewise.
24196
a6a11f3c
VS
241972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24198
24199 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24200 with -p "".
24201 Reported by: Tito Keitel.
24202
64a638b0
VS
242032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 * docs/grub.texi (Naming convention): Document new naming convention.
24206
ab8ba957
VS
242072010-07-20 Vadim Solomin <vadic052@gmail.com>
242082010-07-20 Colin Watson <cjwatson@ubuntu.com>
24209
24210 Generate device.map in something closer to the old ordering.
24211
24212 * util/deviceiter.c (struct device): New declaration.
24213 (compare_file_names): Rename to ...
24214 (compare_devices): ... this. Sort by kernel name in preference to
24215 the stable by-id name, but keep the latter as a fallback comparison.
24216 Update header comment.
24217 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24218 of `struct device' rather than of plain file names.
24219
a29d6a4b
TF
242202010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24221
24222 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24223 on i386.
24224
39d824e8
VS
242252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24226
24227 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24228 hardcoding size.
24229 (setv1table): Likewise.
24230
f058276b
FZ
242312010-07-20 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24234 removing the homehost if present.
24235 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24236 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24237 removing the homehost if present.
24238 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24239 if possible.
24240 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24241
24242 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24243 parameter. Set its pointer target to 0.
24244 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24245 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24246 `data_offset' value from the superblock for 1.x metadata.
24247 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24248 data on the device.
24249 (insert_array): Record the start sector of data on the device.
24250 (grub_raid_register): Pass start_sector parameters to
24251 grub_raid_list->detect and insert_array.
24252 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24253 member.
24254 (struct grub_raid): Add start_sector parameter to `detect'.
24255
24256 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24257 __attribute__ ((packed)), leaving a comment.
24258 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24259 (grub_mdraid_detect_09): ... here and ...
24260 (grub_mdraid_detect_1x): ... here.
24261
242622010-07-20 Peter Henn <peter.henn@web.de>
24263
24264 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24265 chunk size and disk size, which are already given as sector counts
24266 as distinct from the 0.90 units. Fetch the correct device number
24267 from the role table instead of using the table index.
24268
242692010-07-20 Felix Zielcke <fzielcke@z-51.de>
24270
24271 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24272 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24273 (WriteMostly1): New macro.
24274 Set array->name to NULL for metadata format 0.90. Add support for
24275 metadata 1.x. Fix some comments.
24276 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24277 few comments.
24278 * util/getroot.c (grub_util_get_grub_dev): Add support for
24279 /dev/md/name style devices.
24280
4b761da9
CW
242812010-07-20 Colin Watson <cjwatson@ubuntu.com>
24282
24283 * .bzrignore: Ignore 20_linux_xen.
24284
5771289a
CW
242852010-07-17 Colin Watson <cjwatson@ubuntu.com>
24286
24287 * util/import_unicode.py: Remove unnecessary imports.
24288
5dab68df
AN
242892010-07-17 Aleš Nesrsta <starous@volny.cz>
24290
24291 Hotplugging and USB hub support.
24292
24293 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24294 (grub_ohci): Likewise.
24295 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24296 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24297 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24298 (GRUB_OHCI_CTRL_EDS): Likewise.
24299 (GRUB_OHCI_BULK_EDS): Likewise.
24300 (GRUB_OHCI_TDS): Likewise.
24301 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24302 (grub_ohci_ed_phys2virt): New function.
24303 (grub_ohci_virt_to_phys): Likewise.
24304 (grub_ohci_td_phys2virt): Likewise.
24305 (grub_ohci_td_virt2phys): Likewise.
24306 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24307 attachment.
24308 (grub_ohci_find_ed): New function.
24309 (grub_ohci_alloc_td): Likewise.
24310 (grub_ohci_free_td): Likewise.
24311 (grub_ohci_free_tds): Likewise.
24312 (grub_ohci_transfer): Use previously allocated memory.
24313 (grub_ohci_portstatus): Reset status changed bit.
24314 (grub_ohci_detect_dev): Supply status changed.
24315 (grub_ohci_fini_hw): Free memory.
24316 (grub_ohci_restore_hw): Reallocate memory.
24317 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24318 Reset status change.
24319 (grub_uhci_detect_dev): Supply status_change.
24320 * bus/usb/usb.c (attach_hooks): New var.
24321 (grub_usb_device_attach): New function.
24322 (grub_usb_register_attach_hook_class): Likewise.
24323 (grub_usb_unregister_attach_hook_class): Likewise.
24324 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24325 (grub_usb_add_hub): Reset connection changed bit.
24326 (attach_root_port): New function.
24327 (grub_usb_root_hub): Likewise.
24328 (poll_nonroot_hub): Likewise.
24329 (grub_usb_poll_devices): Likewise.
24330 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24331 * disk/usbms.c (grub_usbms_open): Use device hooks.
24332 (grub_usbms_iterate) :Poll devices.
24333 (grub_usbms_finddevs): Split into ...
24334 (grub_usbms_attach): ... this ...
24335 (grub_usbms_attach): ... and this.
24336 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24337 in detect_dev.
24338 (grub_usb_interface): New fields attached and detach_hook.
24339 (grub_usb_attach_hook_class): New type.
24340 (grub_usb_attach_desc): New struct.
24341 (grub_usb_register_attach_hook_class): New function.
24342 (grub_usb_unregister_attach_hook_class): Likewise.
24343 (grub_usb_poll_devices): Likewise.
24344 (grub_usb_device_attach): Likewise.
24345 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24346 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24347
3222efaf
VS
243482010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24351 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24352 delta determination style. Works with most NetBSD partitions too.
24353
139b714a
VS
243542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24357 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24358
986aad56
VS
243592010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24360
24361 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24362
99be513c
AB
243632010-07-14 Anton Blanchard <anton@samba.org>
24364
24365 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24366 ET_DYN files.
24367
18075f62
GS
243682010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24369
24370 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24371
8d9a5b15
GS
243722010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24373
24374 * kern/partition.c (grub_partition_check_containment): New function to
24375 check that a partition is physically contained in a parent. Since
24376 offsets are relative (and non-negative), this reduces to checking that
24377 the partition ends before its parent.
24378 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24379 (grub_partition_iterate): Likewise.
24380 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24381 comments.
24382 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24383 partitions that start before their parent, and add debug printfs.
24384
19563c25
CW
243852010-07-13 Colin Watson <cjwatson@ubuntu.com>
24386
24387 * Makefile.in (.SUFFIX): Spell correctly, as ...
24388 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24389 bare module name without `.mod', e.g. `test') tried to invoke a
24390 Modula-2 compiler.
24391
1a1f1e67
CW
243922010-07-13 Colin Watson <cjwatson@ubuntu.com>
24393
24394 * README: Point to the Info manual.
24395
811b0dca
JS
243962010-07-13 Jiro SEKIBA <jir@unicus.jp>
24397
24398 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24399 2nd superblock position from partition size.
24400
e4f4eafc
CW
244012010-07-10 Colin Watson <cjwatson@ubuntu.com>
24402
24403 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24404 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24405 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24406 outputs.
24407
4274c30f
VS
244082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 Restructure SCSI .id handling.
24411 Reported and tested by: Aleš Nesrsta.
24412
24413 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24414 (grub_atapi_dev): Changed .name to "ata". New field .id.
24415 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24416 (grub_usbms_dev): New field .id.
24417 * disk/scsi.c (grub_scsi_iterate): Generate name.
24418 (grub_scsi_open): Parse name.
24419 * include/grub/scsi.h (grub_make_scsi_id): New function.
24420 (grub_scsi_dev): Change iterate and open to number instead of naming
24421 busses. All users updated.
24422 (grub_scsi): Remove name. Add .bus.
24423
5bc24388
VS
244242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * commands/help.c (grub_cmd_help): Fix a typo.
24427
249975ba
VS
244282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24431 Reported and tested by: Colin Watson.
24432
3eaac1a1
VS
244332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24434
24435 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24436 in this context.
24437
becce1b1
VS
244382010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24441
f7bf0918
CW
244422010-07-07 Colin Watson <cjwatson@ubuntu.com>
24443
24444 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24445 indentation.
24446
0b0f9620
CW
244472010-07-06 Colin Watson <cjwatson@ubuntu.com>
24448
24449 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24450 and disk/raid6_recover.c.
24451 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24452 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24453
1e545469
CW
244542010-07-06 Colin Watson <cjwatson@ubuntu.com>
24455
24456 * term/gfxterm.c (repaint_schedulded): Rename to ...
24457 (repaint_scheduled): ... this. Update all callers.
24458 (repaint_was_schedulded): Rename to ...
24459 (repaint_was_scheduled): ... this. Update all callers.
24460
5357687a
CW
244612010-07-06 Colin Watson <cjwatson@ubuntu.com>
24462
24463 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24464 which we expect to be handled by upper layers.
24465
29d7e783
BC
244662010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24467
24468 * bus/usb/usbhub.c: #include time.h header.
24469
37582066
CW
244702010-07-06 Colin Watson <cjwatson@ubuntu.com>
24471
24472 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24473 entry_name also for entries without stat blocks (e.g. ".."); fixes
24474 corruption of the first entry in a directory.
24475
c8c06953
CW
244762010-07-06 Colin Watson <cjwatson@ubuntu.com>
24477
24478 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24479 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24480 doesn't work otherwise.
24481
e75056f1
CW
244822010-07-05 Colin Watson <cjwatson@ubuntu.com>
24483
24484 * docs/grub.texi (Features): Update list of supported file systems.
24485 (GNU/Linux): Update for GRUB 2.
24486 (Serial terminal): Remove mention of --disable-serial, which was a
24487 GRUB Legacy configure option. Update instructions to use
24488 `terminal_input' and `terminal_output' rather than `terminal'.
24489 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24490 configuration' and `Installing GRUB using grub-install'.
24491 (Menu entry editor): Update for GRUB 2.
24492 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24493 Document new -a, -u, and -v options.
24494 (initrd): New section.
24495 (initrd16): New section.
24496 (linux): New section.
24497 (linux16): New section.
24498 (search): The `var' argument to `--set' is optional.
24499 (GRUB only offers a rescue shell): Go into a little more detail on
24500 drive ordering.
24501
5cf69151
CW
245022010-07-05 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24505
e3f90044
CW
245062010-07-05 Colin Watson <cjwatson@ubuntu.com>
24507
24508 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24509 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24510
38d8f4f3
CW
245112010-07-05 Colin Watson <cjwatson@ubuntu.com>
24512
24513 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24514 install_prefix, in line with install_dos_part and install_bsd_part.
24515 Add new prefix variable, which is copied to install_prefix after
24516 comparing core.img in memory with the one read from disk in the
24517 no-embedding case, and use that rather than overwriting
24518 install_prefix immediately when installing to a partition.
24519 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24520 Bicakci.
24521
57ebd41e
GS
245222010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24523
24524 * configure.ac: Avoid == in test command, it's not portable.
24525 * util/grub.d/30_os-prober.in: Likewise.
24526
cb7f64b2
CW
245272010-07-04 Colin Watson <cjwatson@ubuntu.com>
24528
24529 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24530
6b654bb0
GS
245312010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24532
24533 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24534 multiple (top-level) partmaps.
24535
72a2026d
VS
245362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24539 Reported by: Tino Keitel.
72a2026d 24540
df3eb88f
VS
245412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24542
24543 Bidi and diacritics support.
24544
24545 * Makefile.in (widthspec.bin): New target.
24546 (widthspec.h): Likewise.
24547 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24548 * autogen.sh: Generate unidata.c.
24549 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24550 * commands/ls.c (grub_ls_list_devices): Likewise.
24551 (grub_ls_list_files): Likewise.
24552 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24553 (grub_mini_cmd_lsmod): Likewise.
24554 * commands/read.c: Likewise.
24555 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24556 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24557 * lib/arg.c (grub_arg_show_help): Likewise.
24558 * lib/crypto.c (grub_password_get): Likewise.
24559 * normal/auth.c (grub_username_get): Likewise.
24560 * normal/misc.c (grub_normal_print_device_info): Likewise.
24561 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24562 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24563 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24564 (normal/charset.c_DEPENDENCIES): New variable.
24565 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24566 (pkglib_MODULES): Remove charset.mod.
24567 (charset_mod_SOURCES): Removed.
24568 (charset_mod_CFLAGS): Likewise.
24569 (charset_mod_LDFLAGS): Likewise.
24570 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24571 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24572 and term/tparm.c.
24573 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24574 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24575 (kernel_img_HEADERS): Add terminfo.h.
24576 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24577 Fill ->font. Reverse ascii bitmaps.
24578 (grub_font_get_xheight): New function.
24579 * font/font.c (grub_font_get_string_width): Moved from here ...
24580 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24581 * font/font.c (grub_font_draw_string): Moved from here ...
24582 * gfxmenu/font.c (grub_font_draw_string): ... here.
24583 * font/font.c (grub_font_dup_glyph): New function.
24584 (grub_font_blit_glyph): Likewise.
24585 (grub_font_blit_glyph_mirror): Likewise.
24586 (blit_comb): Likewise.
24587 (grub_font_construct_dry_run): Likewise.
24588 (grub_font_get_constructed_device_width): Likewise.
24589 (grub_font_construct_glyph): Likewise.
24590 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24591 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24592 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24593 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24594 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24595 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24596 (grub_font_get_xheight): New proto.
24597 (grub_font_get_constructed_device_width): Likewise.
24598 (grub_font_construct_glyph): Likewise.
24599 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24600 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24601 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24602 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24603 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24604 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24605 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24606 (grub_console_getcharwidth): Likewise.
24607 * include/grub/misc.h (grub_xputs): New proto.
24608 (grub_puts): Inlined.
24609 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24610 (grub_normal_get_line_counter): Removed.
24611 (grub_install_newline_hook): Likewise.
24612 (grub_normal_get_char_counter): New proto.
24613 (grub_normal_reset_more): Likewise.
24614 (grub_xputs_normal): Likewise.
24615 * include/grub/powerpc/ieee1275/console.h: Removed.
24616 * include/grub/sparc64/ieee1275/console.h: Likewise.
24617 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24618 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24619 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24620 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24621 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24622 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24623 (grub_term_input): Pass reference to self. All users updated.
24624 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24625 Pass reference to self. New fields normal_color, highlight_color and
24626 data. All users updated.
24627 (grub_putchar): Removed.
24628 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24629 (grub_unicode_estimate_width): New function.
24630 (grub_term_getcharwidth): Add defaults.
24631 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24632 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24633 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24634 (grub_cls): Remove EXPORT_FUNC.
24635 (grub_setcolorstate): Inline.
24636 (grub_newline_hook): Removed.
24637 * include/grub/terminfo.h: Rewritten. All users updated.
24638 * include/grub/unicode.h: New file.
24639 * include/grub/video.h (grub_video_signed_rect): New type.
24640 * kern/emu/console.c (grub_console_highlight_color): Removed.
24641 (grub_console_normal_color): Likewise.
24642 (grub_console_standard_color): Made static.
24643 (grub_ncurses_putchar): Remove mapping.
24644 (grub_ncurses_getcharwidth): Removed.
24645 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24646 (grub_ncurses_setcolor): Removed.
24647 (grub_ncurses_getcolor): Likewise.
24648 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24649 (grub_console_putchar): ... this.
24650 (grub_console_putchar): Handle argument difference.
24651 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24652 console_init_early and console_init_lately.
24653 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24654 * kern/misc.c (grub_puts): Removed.
24655 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24656 (grub_vsnprintf_real): Remove str = NULL support.
24657 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24658 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24659 * kern/term.c (grub_putcode): Renamed to ...
24660 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24661 (grub_putchar): Removed.
24662 (grub_xputs_dumb): New function.
24663 (grub_xputs): New variable.
24664 * lib/charset.c: Move from here ...
24665 * normal/charset.c: ... to here.
24666 (grub_ucs4_to_utf8): New function.
24667 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24668 (join_types): New variable.
24669 (unpack_join): New function.
24670 (bidi_types): New variable.
24671 (unpack_bidi): New function.
24672 (get_bidi_type): Likewise.
24673 (get_join_type): Likewise.
24674 (is_mirrored): Likewise.
24675 (grub_unicode_get_comb_type): Likewise.
24676 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24677 (is_type_after): Likewise.
24678 (grub_unicode_aglomerate_comb): Likewise.
24679 (bidi_line_wrap): Likewise.
24680 (grub_bidi_line_logical_to_visual): Likewise.
24681 (grub_bidi_logical_to_visual): Likewise.
24682 (grub_unicode_mirror_code): Likewise.
24683 (grub_unicode_shape_code): Likewise.
24684 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24685 Don't use grub_putchar.
24686 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24687 (grub_normal_reader_init): Likewise.
24688 (grub_xputs_saved): New variable.
24689 (GRUB_MOD_INIT): Set grub_xputs.
24690 (GRUB_MOD_FINI): Restore grub_xputs.
24691 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24692 (menu_init): Avoid printing gfxmenu error.
24693 (show_menu): Use grub_normal_get_char_counter.
24694 * normal/menu_entry.c (update_screen): Fix out-of-array.
24695 (complete): Avoid NULL dereferencing.
24696 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24697 * normal/menu_text.c (print_spaces): Removed.
24698 (grub_print_ucs4): Likewise.
24699 (grub_print_message_indented): Use grub_print_ucs4.
24700 (print_message): Use grub_putcode.
24701 (print_entry): Hanlde diacritics.
24702 * normal/term.c (term_state): New type.
24703 (grub_more_lines): Removed.
24704 (term_states): New variable.
24705 (grub_normal_line_counter): Renamed to ..
24706 (grub_normal_char_counter): ...this. All users updated.
24707 (grub_normal_get_line_counter): Renamed to ...
24708 (grub_normal_get_char_counter): ... this.
24709 (grub_normal_reset_more): New function.
24710 (process_newline): Removed.
24711 (print_more): New function.
24712 (grub_install_newline_hook): Removed.
24713 (map_code): New function.
24714 (grub_puts_terminal): Use grub_print_ucs4.
24715 (putglyph): New function.
24716 (putcode_real): Likewise.
24717 (grub_putcode): Use putcode_real.
24718 (get_maxwidth): New function.
24719 (get_startwidth): Likewise.
24720 (print_ucs4_terminal): Likewise.
24721 (find_term_state): Likewise.
24722 (put_glyphs_terminal): Likewise.
24723 (print_backlog): Likewise.
24724 (print_ucs4_real): Likewise.
24725 (grub_print_ucs4): Likewise.
24726 (grub_xputs_normal): Likewise.
24727 * term/efi/console.c (grub_console_putchar): Output diacritics.
24728 (grub_console_getcharwidth): Removed.
24729 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24730 * term/gfxterm.c (clear_char): Free chars.
24731 (scroll_up): Avoid leaking memory.
24732 (grub_gfxterm_putchar): Support diacritics.
24733 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24734 * term/i386/pc/console.c (grub_console_term_output): Declare as
24735 GRUB_TERM_CODE_TYPE_VGA.
24736 * term/i386/pc/vga.c (grub_vga_term): Declare as
24737 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24738 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24739 GRUB_TERM_CODE_TYPE_VGA.
24740 * term/i386/vga_common.c (map_char): Removed.
24741 (grub_console_putchar): Likewise.
24742 (grub_console_getcharwidth): Likewise.
24743 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24744 (colors): Reordered to match terminfo.
24745 (grub_ofconsole_normal_color): Removed.
24746 (grub_ofconsole_writeesc): Likewise.
24747 (grub_ofconsole_highlight_color): Likewise.
24748 (grub_ofconsole_getcharwidth): Likewise.
24749 (grub_ofconsole_setcolorstate): Likewise.
24750 (grub_ofconsole_setcolor): Likewise.
24751 (grub_ofconsole_getcolor): Likewise.
24752 (grub_ofconsole_readkey): Renamed to ...
24753 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24754 key.
24755 (grub_ofconsole_checkkey): Removed.
24756 (grub_ofconsole_getkey): Likewise.
24757 (grub_ofconsole_getxy): Likewise.
24758 (grub_ofconsole_gotoxy): Likewise.
24759 (grub_ofconsole_cls): Likewise.
24760 (grub_ofconsole_refresh): Likewise.
24761 (grub_ofconsole_terminfo_input): New struct.
24762 (grub_ofconsole_terminfo_output): Likewise.
24763 (grub_ofconsole_term_input): Use terminfo.
24764 (grub_ofconsole_term_output): Likewise.
24765 (grub_console_init): Split into ...
24766 (grub_console_init_early): ...this and ...
24767 (grub_console_init_lately): ...this. Use terminfo.
24768 (grub_ofconsole_putchar): Renamed to ...
24769 (put): ... this. Remove mapping.
24770 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24771 * term/serial.c: Simplify using terminfo.
24772 (xpos): Removed.
24773 (ypos): Likewise.
24774 (keep_track): Likewise.
24775 (registered): Likewise.
24776 (input_buf): Likewise.
24777 (npending): Likewise.
24778 (serial_translate_key_sequence): Likewise.
24779 (fill_input_buf): Likewise.
24780 (grub_serial_checkkey): Likewise.
24781 (grub_serial_getkey): Likewise.
24782 (grub_serial_getxy): Likewise.
24783 (grub_serial_gotoxy): Likewise.
24784 (grub_serial_putchar): Likewise.
24785 (grub_serial_cls): Likewise.
24786 (grub_serial_setcolorstate): Likewise.
24787 (grub_serial_setcursor): Likewise.
24788 (serial_hw_init): Use serial_hw_fetch.
24789 (grub_serial_terminfo_input): New variable.
24790 (grub_serial_terminfo_output): Likewise.
24791 (grub_serial_term_input): Use terminfo.
24792 (grub_serial_term_output): Likewise.
24793 * term/terminfo.c (putstr): Use put.
24794 (grub_terminfo_all_free): New function
24795 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24796 (grub_terminfo_output_register): New function.
24797 (grub_terminfo_output_unregister): Likewise.
24798 (grub_terminfo_getxy): Likewise.
24799 (grub_terminfo_readkey): Likewise.
24800 (grub_terminfo_checkkey): Likewise.
24801 (grub_terminfo_getkey): Likewise.
24802 (grub_terminfo_input_init): Likewise.
24803 (print_terminfo): Likewise.
24804 (grub_cmd_terminfo): Handle encoding.
24805 (grub_terminfo_gotoxy): Track position.
24806 (grub_terminfo_cls): Likewise.
24807 (grub_terminfo_putchar): Likewise.
24808 (grub_terminfo_setcolorstate): Handle colors
24809 (grub_terminfo_cursor_on): This ...
24810 (grub_terminfo_cursor_off): ... and this merged into ...
24811 (grub_terminfo_setcursor): ... this.
24812 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24813 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24814 * unicode/BidiMirroring.txt: Likewise.
24815 * unicode/UnicodeData.txt: Likewise.
24816 * unicode/COPYING: Likewise.
24817 * util/grub-editenv.c (grub_putchar): Removed.
24818 (grub_xputs_real): New function.
24819 (grub_xputs): New variable.
24820 * util/grub-fstest.c (grub_putchar): Removed.
24821 (grub_xputs_real): New function.
24822 (grub_xputs): New variable.
24823 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24824 (grub_xputs_real): New function.
24825 (grub_xputs): New variable.
24826 * util/grub-probe.c (grub_putchar): Removed.
24827 (grub_xputs_real): New function.
24828 (grub_xputs): New variable.
24829 * util/grub-script-check.c (grub_putchar): Removed.
24830 (grub_xputs_real): New function.
24831 (grub_xputs): New variable.
24832 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24833 (grub_xputs_real): New function.
24834 (grub_xputs): New variable.
24835 * util/import_unicode.py: New file.
24836 * util/grub-mkfont.c (ft_errmsgs): New array.
24837 (grub_glyph_info): Make bitmap a pointer.
24838 (file_formats): New type WIDTH_SPEC.
24839 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24840 (options): Add width-spec.
24841 (help): Likewise.
24842 (add_char): Renamed to ...
24843 (add_glyph): ... this.
24844 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24845 (glyph_replace): New type.
24846 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24847 (add_char): New function.
24848 (add_subst): Likewise.
24849 (process_cursive): Likewise.
24850 (add_font): Handle GSUB.
24851 (write_font_width_spec): New function.
24852 (main): Sort glyphs.
24853 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24854 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24855 * kern/term.c (grub_cls): Moved from here...
24856 * normal/term.c (grub_cls): ... here.
24857
50f0bcda
CW
248582010-07-02 Colin Watson <cjwatson@ubuntu.com>
24859
24860 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24861 suitable for using within the format argument of printf when
24862 converting grub_size_t.
24863 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24864 "x" to convert grub_size_t arguments.
24865
40372103
VS
248662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24869 too long captions.
24870 (list_get_minimal_size): Take selection box into account.
24871
942a10c7
VS
248722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24873
24874 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24875 NULL font.
24876
2bdb2892
CW
248772010-07-02 Colin Watson <cjwatson@ubuntu.com>
24878
24879 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24880 devices when iterating over /dev/disk/by-id; they will be handled
24881 later if appropriate, which they aren't always (e.g. LVM).
24882
e03ed6c1
CW
248832010-07-02 Colin Watson <cjwatson@ubuntu.com>
24884
24885 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24886 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24887 fails.
24888 (grub_halt): Likewise.
24889 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24890 reset-all fails.
24891 (grub_halt): Don't return, even if all of shut-down, power-off, and
24892 poweroff fail.
24893
47695765
CW
248942010-07-02 Colin Watson <cjwatson@ubuntu.com>
24895
24896 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24897 arguments, not three.
24898
507736c8
CW
248992010-07-02 Colin Watson <cjwatson@ubuntu.com>
24900
24901 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24902 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24903 LVM-on-RAID is handled correctly.
24904
e3c8cd37
CW
249052010-07-02 Colin Watson <cjwatson@ubuntu.com>
24906
24907 * docs/grub.texi (Changes from GRUB Legacy): New section.
24908 (Future): Fix typo.
24909
8d4a2fec
CW
249102010-07-02 Colin Watson <cjwatson@ubuntu.com>
24911
24912 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24913 grub.d/README accidentally ends up executable for one reason or
24914 another. Ignore it.
24915
1c4827be
VS
249162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24917
24918 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24919 (gpt_partition_map_iterate): Support non-512B sectors.
24920
d9a0c941
VS
249212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24924 Tested by: Seth Goldberg.
24925
48f27e87
VS
249262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24929 Properly align mbi.
24930 Reported by: Seth Goldberg.
24931
b0c4f956
VS
249322010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * util/grub-mkrescue.in: Avoid module duplication.
24935
105a2e8c
SF
249362010-07-01 Sean Finney <seanius@seanius.net>
24937
24938 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24939
5944958c
SF
249402010-07-01 Sean Finney <seanius@seanius.net>
24941
24942 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24943
249442010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * disk/lvm.c (grub_lvm_checkvalue): New function.
24947 (grub_lvm_check_flag): Likewise.
24948
b79889ba
RM
249492010-07-01 Robert Millan <rmh@gnu.org>
24950
24951 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24952 Support 'p' as partition separator on kernel of FreeBSD (used
24953 with GPT labels).
24954 (grub_util_biosdisk_get_grub_dev): Likewise.
24955
ec1d04f1
VS
249562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24957
24958 Yeeloong firmware port.
24959
24960 * boot/mips/yeeloong/fwstart.S: New file.
24961 * bus/cs5536.c (gpiodump): New const.
24962 (set_io_space): New function.
24963 (set_iod): Likewise.
24964 (set_p2d): Likewise.
24965 (grub_cs5536_init_geode): Likewise.
24966 * commands/mips/yeeloong/lsspd.c: New file.
24967 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24968 (serial_mod_SOURCES): New variable.
24969 (serial_mod_CFLAGS): Likewise.
24970 (serial_mod_LDFLAGS): Likewise.
24971 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24972 term/terminfo.c and term/tparm.c.
24973 (pkglib_IMAGES): Add fwstart.img.
24974 (fwstart_img_SOURCES): New variable.
24975 (fwstart_img_CFLAGS): Likewise.
24976 (fwstart_img_ASFLAGS): Likewise.
24977 (fwstart_img_LDFLAGS): Likewise.
24978 (fwstart_img_FORMAT): Likewise.
24979 (pkglib_MODULES): Add lsspd.mod.
24980 (lsspd_mod_SOURCES): New variable.
24981 (lsspd_mod_CFLAGS): Likewise.
24982 (lsspd_mod_LDFLAGS): Likewise.
24983 (pkglib_MODULES): Add halt.mod.
24984 (halt_mod_SOURCES): New variable.
24985 (halt_mod_CFLAGS): Likewise.
24986 (halt_mod_LDFLAGS): Likewise.
24987 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24988 (serial_mod_SOURCES): Removed.
24989 (serial_mod_CFLAGS): Likewise.
24990 (serial_mod_LDFLAGS): Likewise.
24991 * disk/ata.c (check_device): New function.
24992 (grub_ata_device_initialize): Use check_device.
24993 (grub_ata_iterate): Recheck devices.
24994 (grub_ata_open): Likewise.
24995 (grub_atapi_iterate): Likewise.
24996 (grub_atapi_open): Likewise.
24997 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24998 (GRUB_ATA_CH1_PORT1): Likewise.
24999 (GRUB_ATA_CH0_PORT2): Likewise.
25000 (GRUB_ATA_CH1_PORT2): Likewise.
25001 * include/grub/mips/loongson.h: New file.
25002 * include/grub/mips/yeeloong/ec.h: Likewise.
25003 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25004 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25005 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25006 * include/grub/misc.h (grub_halt): Declare as noreturn.
25007 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25008 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25009 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25010 (UART_ENABLE_DTRRTS): Likewise.
25011 (UART_ENABLE_MODEM): Removed.
25012 (UART_ENABLE_OUT2): New const.
25013 * include/grub/term.h (grub_term_register_input_active): New function.
25014 (grub_term_register_output_active): Likewise.
25015 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25016 argument.
25017 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25018 (init_pci): New function.
25019 (grub_machine_init): Execute platform init when firmware. Init serial.
25020 (grub_halt): Implement.
25021 (grub_exit): Likewise.
25022 (grub_reboot): Likewise.
25023 * term/serial.c (serial_hw_init): Update macros.
25024 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25025 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25026 (image_targets): New target mipsel-yeeloong-flash.
25027 (generate_image): Support IMAGE_YEELOONG_FLASH.
25028 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25029 (grub_video_sm712_setup): Init card.
25030 (grub_video_sm712_set_palette): Removed.
25031 * video/sm712_init.c: New file.
25032
ff4a70d2
CW
250332010-06-30 Colin Watson <cjwatson@ubuntu.com>
25034
25035 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25036 PATH when running help2man and then run it on the unadorned
25037 executable names, rather than passing $(builddir)/* paths to
25038 help2man. This avoids the build directory ending up in generated
25039 manual pages.
25040
1246efeb
CW
250412010-06-29 Colin Watson <cjwatson@ubuntu.com>
25042
25043 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25044 to avoid accidents when debugging with 'sh -x'.
25045 * util/grub-mkrescue.in: Likewise.
25046 * util/grub.d/00_header.in: Likewise.
25047 * util/grub.d/10_hurd.in: Likewise.
25048 * util/grub.d/10_kfreebsd.in: Likewise.
25049 * util/grub.d/10_linux.in: Likewise.
25050 * util/grub.d/10_netbsd.in: Likewise.
25051 * util/grub.d/10_windows.in: Likewise.
25052 * util/grub.d/20_linux_xen.in: Likewise.
25053 * util/grub.d/30_os-prober.in: Likewise.
25054 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25055
1ba9b889
CW
250562010-06-29 Colin Watson <cjwatson@ubuntu.com>
25057
25058 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25059 last character in the buffer.
25060 Reported by: Vladimir Serbinenko.
25061
dccaf99d
RM
250622010-06-29 Robert Millan <rmh@gnu.org>
25063
25064 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25065 (Command-line and menu entry commands): Document `badram' command.
25066
d500ed12
RM
250672010-06-28 Robert Millan <rmh@gnu.org>
25068
25069 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25070 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25071 command using ${GRUB_BADRAM} as parameter.
25072
20bc84a6
CW
250732010-06-28 Colin Watson <cjwatson@ubuntu.com>
25074
25075 * docs/grub.texi (Device map): New section.
25076 (Themes): New section (stub).
25077 * Makefile.in (docs/grub.info): The info documentation now builds
25078 without errors. Make sure it stays that way.
25079
4045dee1
VS
250802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25081
25082 Use normal parser for menu entries.
25083 Reported by: Thomas Frauendorfer
25084
25085 * include/grub/parser.h (grub_parser_execute): Don't export.
25086 * normal/menu.c (grub_menu_execute_entry_real): New function.
25087 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25088
bca58c7b
CW
250892010-06-28 Colin Watson <cjwatson@ubuntu.com>
25090
25091 * docs/grub.texi (Embedded configuration): New section (replacing
25092 old "Preset Menu" stub).
25093 (Images): New section.
25094 (configfile): Note that any menu entries defined in `file' are shown
25095 immediately.
25096
dec53e63
JT
250972010-06-28 Josh Triplett <josh@joshtriplett.org>
25098
25099 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25100
c06e40f7
CW
251012010-06-28 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/grub-install.in: Add --debug-image= option.
25104
cb88052b
CW
251052010-06-28 Colin Watson <cjwatson@ubuntu.com>
25106
25107 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25108 possible on Linux.
25109
25110 * util/deviceiter.c (check_device): Rename to ...
25111 (check_device_readable_unique): ... this. Update all callers.
25112 Maintain and check a list of which devices (by canonicalized name)
25113 have already been seen.
25114 (clear_seen_devices): New function.
25115 (compare_file_names) [__linux__]: New function.
25116 (grub_util_iterate_devices): Clear the list of seen devices on exit
25117 and (just in case) on entry.
25118 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25119 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25120 seen-devices list, superseded by general code in check_device.
25121
bbe34652
CW
251222010-06-28 Colin Watson <cjwatson@ubuntu.com>
25123
25124 * commands/cat.c (options): New variable.
25125 (grub_cmd_cat): Parse options. If the --dos option is given, print
25126 DOS-style "\r\n" line endings as simple newlines (Debian bug
25127 #586358).
25128 (GRUB_MOD_INIT): Use extcmd.
25129 (GRUB_MOD_FINI): Likewise.
25130 * docs/grub.texi (cat): Document --dos.
25131
412e09f3
VS
251322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25133
25134 XEN with Linux grub-mkconfig support.
25135
25136 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25137 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25138 GRUB_CMDLINE_XEN_DEFAULT.
25139 * util/grub.d/20_linux_xen.in: New file.
25140
53f3ef38 251412010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25142
25143 Initialise VGA video on qemu ourselves.
25144
25145 * boot/i386/qemu/boot.S: Don't call 0xc000.
25146 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25147 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25148 (kernel_img_HEADERS): Add pci.h.
25149 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25150 * configure.ac: Force unifont on qemu and yeeloong.
25151 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25152 (grub_vga_palette_write): Use correct register.
25153 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25154 Call grub_qemu_init_cirrus.
25155 * kern/i386/qemu/init.c: New file.
25156 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25157
25158 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25159
c75be4fb
PR
251602010-06-26 Pavel Roskin <proski@gnu.org>
25161
25162 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25163 13.
25164
d8034603
CW
251652010-06-26 Colin Watson <cjwatson@ubuntu.com>
25166
25167 * docs/grub.texi (Simple configuration): Explain that
25168 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25169 set to `true' to disable their respective recovery entries, not
25170 merely set.
25171
3fa06487
CW
251722010-06-26 Colin Watson <cjwatson@ubuntu.com>
25173
25174 Make the `source' command slightly faster.
25175
25176 * normal/main.c (grub_normal_execute): Don't re-read list files when
25177 nested.
25178
e9b29642
CW
251792010-06-23 Colin Watson <cjwatson@ubuntu.com>
25180
25181 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25182 field position and mask size to red fields from mode_info, not
25183 green.
25184 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25185 Remove redundant tag->common.framebuffer_type assignment.
25186 Reported by: Seth Goldberg.
25187
e726542f
CW
251882010-06-23 Colin Watson <cjwatson@ubuntu.com>
25189
25190 Sync up other versions of the Linux loader with Robert Millan's
25191 change of 2010-01-09, "Make loader output a bit more user-friendly".
25192
25193 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25194 grub_dprintf().
25195 (grub_cmd_linux): Likewise.
25196 (grub_cmd_initrd): Likewise.
25197 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25198 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25199
d6e98a17
CW
252002010-06-21 Colin Watson <cjwatson@ubuntu.com>
25201
25202 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25203 larger than MEMORY_MAP_SIZE.
25204
14d3f08e
BC
252052010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25206
25207 Fix parallel build.
25208
25209 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25210 dependency.
25211 * script/parser.y: #include grub_script.tab.h header.
25212
4f9613a3
VS
252132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25214
25215 Support >3GiB and <16MiB RAM in i386-qemu.
25216
25217 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25218 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25219 (grub_lower_mem): Removed.
25220 (grub_upper_mem): Likewise.
25221 (mem_size): Made static.
25222 (above_4g): New variable.
25223 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25224 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25225 support.
25226
05e51879
VS
252272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 Cirrus 5446 and Bochs video cards support.
25230
25231 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25232 video_bochs.mod
25233 (video_cirrus_mod_SOURCES): New variable.
25234 (video_cirrus_mod_CFLAGS): Likewise.
25235 (video_cirrus_mod_LDFLAGS): Likewise.
25236 (video_bochs_mod_SOURCES): Likewise.
25237 (video_bochs_mod_CFLAGS): Likewise.
25238 (video_bochs_mod_LDFLAGS): Likewise.
25239 * include/grub/vga.h: New file.
25240 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25241 (grub_video_fb_set_page_t): New type.
25242 (grub_video_fb_setup): New prototype.
25243 (grub_video_fb_swap_buffers): Likewise.
25244 (grub_video_fb_get_info_and_fini): Likewise.
25245 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25246 (CRTC_DATA_PORT): Likewise.
25247 (CRTC_CURSOR): Likewise.
25248 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25249 (CRTC_CURSOR_ADDR_LOW): Likewise.
25250 (CRTC_CURSOR_DISABLE): Likewise.
25251 (update_cursor): Use grub_vga_cr_write.
25252 (grub_vga_text_setcursor): Likewise.
25253 * video/bochs.c: New file.
25254 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25255 (palette): Likewise.
25256 (palette_size): Likewise.
25257 (framebuffer): New variable.
25258 (grub_video_fb_init): Use 'framebuffer'.
25259 (grub_video_fb_fini): Likewise.
25260 (grub_video_fb_get_info): Likewise.
25261 (grub_video_fb_get_palette): Likewise.
25262 (grub_video_fb_set_palette): Likewise.
25263 (grub_video_fb_set_viewport): Likewise.
25264 (grub_video_fb_get_viewport): Likewise.
25265 (grub_video_fb_map_color): Likewise.
25266 (grub_video_fb_map_rgb): Likewise.
25267 (grub_video_fb_map_rgba): Likewise.
25268 (grub_video_fb_unmap_color): Likewise.
25269 (grub_video_fb_unmap_color_int): Likewise.
25270 (grub_video_fb_fill_rect): Likewise.
25271 (grub_video_fb_blit_bitmap): Likewise.
25272 (grub_video_fb_blit_render_target): Likewise.
25273 (grub_video_fb_scroll): Likewise.
25274 (grub_video_fb_create_render_target): Likewise.
25275 (grub_video_fb_doublebuf_blit_init): Likewise.
25276 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25277 (doublebuf_pageflipping_update_screen): New function.
25278 (doublebuf_pageflipping_init): Likewise.
25279 (grub_video_fb_setup): Likewise.
25280 (grub_video_fb_swap_buffers): Likewise.
25281 (grub_video_fb_get_info_and_fini): Likewise.
25282 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25283 All users updated.
25284 (doublebuf_pageflipping_commit): Restructured into ...
25285 (doublebuf_pageflipping_set_page): ... this.
25286 (doublebuf_pageflipping_update_screen): Removed.
25287 (doublebuf_pageflipping_init): Likewise.
25288 (double_buffering_init): Likewise.
25289 (grub_video_vbe_setup): Use grub_video_fb_setup.
25290 (grub_video_vbe_swap_buffers): Removed.
25291 (grub_video_vbe_set_active_render_target): Likewise.
25292 (grub_video_vbe_get_active_render_target): Likewise.
25293 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25294 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25295 grub_video_fb_set_active_render_target and
25296 grub_video_fb_get_active_render_target.
25297 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25298 (SEQUENCER_DATA_PORT): Likewise.
25299 (MAP_MASK_REGISTER): Likewise.
25300 (CRTC_ADDR_PORT): Likewise.
25301 (CRTC_DATA_PORT): Likewise.
25302 (START_ADDR_HIGH_REGISTER): Likewise.
25303 (START_ADDR_LOW_REGISTER): Likewise.
25304 (GRAPHICS_ADDR_PORT): Likewise.
25305 (GRAPHICS_DATA_PORT): Likewise.
25306 (READ_MAP_REGISTER): Likewise.
25307 (INPUT_STATUS1_REGISTER): Likewise.
25308 (INPUT_STATUS1_VERTR_BIT): Likewise.
25309 (get_map_mask): Use grub_vga_sr_read.
25310 (set_map_mask): Use grub_vga_sr_write.
25311 (set_read_map): Use grub_vga_gr_write.
25312 (set_start_address): Use grub_vga_cr_write.
25313 * video/sm712.c (framebuffer): Remove leftover fields.
25314
4321c64a
CW
253152010-06-20 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25318 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25319 instead. Replace the gfxterm backend check with a check that
25320 ${GRUB_PREFIX}/video.lst is non-empty.
25321 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25322 again.
25323 (load_video): New generated function. Call it before loading
25324 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25325 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25326 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25327 * docs/grub.texi (Simple configuration): Document
25328 GRUB_VIDEO_BACKEND.
25329
253302010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 Use video functions in linux and xnu loaders.
25333
25334 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25335 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25336 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25337 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25338 loader/i386/pc/linux.c.
25339 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25340 (find_line_len): Removed.
25341 (find_framebuf): Likewise.
25342 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25343 * loader/i386/efi/xnu.c: Removed.
25344 * loader/i386/pc/xnu.c: Moved from here...
25345 * loader/i386/xnu.c: ...here.
25346
25347 Enable priorities in video drivers.
25348
25349 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25350 (grub_video_adapter): New field prio.
25351 (grub_video_register): Respect prio when inserting.
25352 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25353 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25354 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25355 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25356 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25357 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25358 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25359
25360 Fix SDL driver ID.
25361
25362 * include/grub/video.h (grub_video_driver_id_t): New value
25363 GRUB_VIDEO_DRIVER_SDL.
25364 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25365
7d24e434
CW
253662010-06-17 Colin Watson <cjwatson@ubuntu.com>
25367
25368 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25369 argument to printf.
25370 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25371
c88a83f6
CW
253722010-06-17 Colin Watson <cjwatson@ubuntu.com>
25373
25374 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25375 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25376
094dfb69
CW
253772010-06-17 Colin Watson <cjwatson@ubuntu.com>
25378
25379 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25380 directly, and recommend grub-install instead.
25381 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25382
2164da6b
CW
253832010-06-17 Colin Watson <cjwatson@ubuntu.com>
25384
25385 Fix i386-pc prefix handling with nested partitions (Debian bug
25386 #585068). Note that the case where the core image is booted using
25387 multiboot and relocated from its original location still requires
25388 more work.
25389
25390 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25391 with "(,", fill the boot drive in between those two characters, but
25392 expect that a full partition specification including partition map
25393 names will follow.
25394 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25395 specified, write a prefix without the drive name but including a
25396 full partition specification.
25397
044e2e60
CW
253982010-06-16 Colin Watson <cjwatson@ubuntu.com>
25399
25400 * util/grub-mkconfig.in: Ignore non-option arguments, for
25401 compatibility with older versions (before 2010-06-12) which did the
25402 same. In particular, this makes it easier to ship an update-grub
25403 wrapper which is compatible with that used with GRUB Legacy (Debian
25404 bug #586056).
25405
5591324f
GS
254062010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25407
25408 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25409 for manual page generation.
25410
662e24d5
GS
254112010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25412
25413 * po/POTFILES: Remove leftover commands/handler.c.
25414
8d70754e
CW
254152010-06-14 Colin Watson <cjwatson@ubuntu.com>
25416
25417 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25418 left this script non-functional.
25419
41160e2e
CW
254202010-06-14 Colin Watson <cjwatson@ubuntu.com>
25421
25422 * docs/man/grub-emu.h2m: New file.
25423
b5309cc1
CW
254242010-06-13 Colin Watson <cjwatson@ubuntu.com>
25425
25426 * docs/grub.texi (Commands): Document reduced command set in rescue
25427 mode.
25428 (cpuid): New section.
25429
fcb2d090
GS
254302010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25431
25432 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25433 new partition naming style.
25434 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25435
96e5c556
BC
254362010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25437
25438 Add "-o grub.iso" like cmdline options support.
25439
25440 * util/grub-install.in: Improve cmdline option parsing.
25441 * util/grub-mkconfig.in: Likewise.
25442 * util/grub-mkrescue.in: Likewise.
25443 * util/grub-reboot.in: Likewise.
25444 * util/grub-set-default.in: Likewise.
25445 * util/i386/efi/grub-install.in: Likewise.
25446 * util/ieee1275/grub-install.in: Likewise.
25447 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25448
c16be99b
CW
254492010-06-12 Colin Watson <cjwatson@ubuntu.com>
25450
25451 * .bzrignore: Ignore 41_custom.
25452
ce08a9fb
TS
254532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25454
25455 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25456
7beac90c
CW
254572010-06-12 Colin Watson <cjwatson@ubuntu.com>
25458
25459 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25460 prototype declarations.
25461
25462 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25463 generating fs, partmap, and video lists.
25464 * include/grub/fs.h (grub_fs_register): Omit prototype if
25465 GRUB_LST_GENERATOR is defined.
25466 * include/grub/partition.h (grub_partition_map_register): Likewise.
25467 * include/grub/video.h (grub_video_register): Likewise.
25468
1c8f0f8d
JM
254692010-06-12 Javier Martín <lordhabbit@gmail.com>
25470
25471 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25472
a6085973
TS
254732010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25474
25475 * util/grub-mkrescue.in: Support --xorriso argument.
25476
25c56d29
VS
254772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25478
25479 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25480 Suggested by: Thomas Schmitt.
25481
e03e4b24
VS
254822010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25483
25484 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25485 Suggested by: Thomas Schmitt.
25486
57711df6
VS
254872010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25488
25489 custom.cfg support.
25490
25491 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25492 * util/grub.d/41_custom.in: New file.
25493
ee62c427
CW
254942010-06-12 Colin Watson <cjwatson@ubuntu.com>
25495
25496 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25497 been merged back into normal.
25498
283af07a
CW
254992010-06-11 Colin Watson <cjwatson@ubuntu.com>
25500
25501 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25502 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25503
56a0d956
CW
255042010-06-11 Colin Watson <cjwatson@ubuntu.com>
25505
25506 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25507 when generating manual pages.
25508 * docs/man/grub-bin2h.h2m: New file.
25509 * docs/man/grub-editenv.h2m: New file.
25510 * docs/man/grub-fstest.h2m: New file.
25511 * docs/man/grub-install.h2m: New file.
25512 * docs/man/grub-macho2img.h2m: New file.
25513 * docs/man/grub-mkconfig.h2m: New file.
25514 * docs/man/grub-mkdevicemap.h2m: New file.
25515 * docs/man/grub-mkfont.h2m: New file.
25516 * docs/man/grub-mkimage.h2m: New file.
25517 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25518 * docs/man/grub-mkrelpath.h2m: New file.
25519 * docs/man/grub-mkrescue.h2m: New file.
25520 * docs/man/grub-ofpathname.h2m: New file.
25521 * docs/man/grub-pe2elf.h2m: New file.
25522 * docs/man/grub-probe.h2m: New file.
25523 * docs/man/grub-reboot.h2m: New file.
25524 * docs/man/grub-script-check.h2m: New file.
25525 * docs/man/grub-set-default.h2m: New file.
25526 * docs/man/grub-setup.h2m: New file.
25527
3a37e322
VS
255282010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25529
25530 Use FOR_* macros instead of *_iterate whenever possible.
25531
25532 * commands/handler.c: Removed.
25533 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25534 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25535 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25536 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25537 (grub_probe_SOURCES): Remove kern/parser.c.
25538 (util/grub-script-check.c_DEPENDENCIES): Removed.
25539 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25540 and grub_script_check_init.c.
25541 (grub_script_check_init.lst): Removed.
25542 (grub_script_check_init.h): Likewise.
25543 (grub_script_check_init.c): Likewise.
25544 (pkglib_MODULES): Remove handler.mod and sh.mod.
25545 (handler_mod_SOURCES): Removed.
25546 (handler_mod_CFLAGS): Likewise.
25547 (handler_mod_LDFLAGS): Likewise.
25548 (normal_mod_SOURCES): Remove normal/handler.c.
25549 Add script/main.c, script/script.c, script/execute.c,
25550 script/function.c, script/lexer.c, grub_script.tab.c
25551 and grub_script.yy.c.
25552 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25553 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25554 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25555 (grub_setup_SOURCES): Remove kern/parser.c.
25556 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25557 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25558 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25559 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25560 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25561 (grub_setup_SOURCES): Remove kern/parser.c.
25562 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25563 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25564 * include/grub/command.h (grub_command_iterate): Removed.
25565 (FOR_COMMANDS): New macro.
25566 * include/grub/dl.h (grub_dl): New member next.
25567 (grub_dl_iterate): Removed.
25568 (grub_dl_head): New variable declaration.
25569 (FOR_DL_MODULES): New macro.
25570 * include/grub/fs.h: Include list.h.
25571 (grub_fs): Make next first element.
25572 (grub_fs_list): New variable declaration.
25573 (grub_fs_register): Make inline.
25574 (grub_fs_unregister): Likewise.
25575 (grub_fs_iterate): Removed.
25576 (FOR_FILESYSTEMS): New macro.
25577 * include/grub/handler.h: Removed.
25578 * include/grub/list.h (grub_list_hook_t): Removed.
25579 (grub_list_test_t): Likewise.
25580 (grub_list_pop): Likewise.
25581 (grub_list_iterate): Likewise.
25582 (grub_list_insert): Likewise.
25583 (FOR_LIST_ELEMENTS): New macro.
25584 * include/grub/parser.h (grub_parser_class): Removed.
25585 (grub_parser_register): Likewise.
25586 (grub_parser_unregister): Likewise.
25587 (grub_parser_get_current): Likewise.
25588 (grub_parser_set_current): Likewise.
25589 (grub_register_rescue_parser): Likewise.
25590 (grub_rescue_parse_line): New function.
25591 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25592 * include/grub/script_sh.h (grub_script_function_list): New variable
25593 declaration.
25594 (FOR_SCRIPT_FUNCTIONS): New macro.
25595 (grub_script_function_iterate): Removed.
25596 (grub_normal_parse_line): New prototype.
25597 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25598 (FOR_DISABLED_TERM_INPUTS): Likewise.
25599 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25600 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25601 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25602 element.
25603 (grub_video_register): Inline.
25604 (grub_video_unregister): Likewise.
25605 (grub_video_adapter_list): New variable declaration.
25606 (grub_video_iterate): Removed.
25607 (FOR_VIDEO_ADAPTERS): New macro.
25608 * kern/dl.c (grub_dl_list): Removed. All users updated.
25609 (grub_dl_iterate): Removed.
25610 * kern/fs.c (grub_fs_list): Make global.
25611 (grub_fs_register): Removed.
25612 (grub_fs_unregister): Likewise.
25613 (grub_fs_iterate): Likewise.
25614 * kern/handler.c: Removed.
25615 * kern/list.c (grub_list_pop): Removed.
25616 (grub_list_iterate): Likewise.
25617 (grub_list_insert): Likewise.
25618 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25619 (grub_prio_list_insert): Don't use grub_list_insert.
25620 * kern/main.c (grub_register_rescue_parser): Don't call
25621 grub_register_rescue_parser.
25622 * kern/parser.c (grub_parser_class): Removed.
25623 (grub_parser_execute): Use grub_rescue_parse_line.
25624 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25625 (grub_rescue_parser): Removed.
25626 (grub_register_rescue_parser): Likewise.
25627 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25628 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25629 (grub_auth_check_authentication): Likewise.
25630 * normal/completion.c (iterate_command): Removed.
25631 (grub_normal_do_completion): Use FOR_COMMANDS.
25632 * normal/handler.c: Removed.
25633 * normal/main.c (read_config_file): Remove parser changing.
25634 (grub_normal_execute): Don't call read_handler_list.
25635 (grub_normal_read_line_real): Statically allocate prompt.
25636 (grub_cmdline_run): Use grub_normal_parse_line.
25637 (GRUB_MOD_FINI): Don't call free_handler_list.
25638 * normal/menu_entry.c (run): Likewise.
25639 * script/function.c (grub_script_function_list): Make global.
25640 (grub_script_function_iterate): Removed.
25641 * script/main.c (grub_normal_parse_line): Make global.
25642 (grub_sh_parser): Removed.
25643 (GRUB_MOD_INIT): Likewise.
25644 (GRUB_MOD_FINI): Likewise.
25645 * tests/lib/functional_test.c (grub_functional_test): Use
25646 FOR_LIST_ELEMENTS.
25647 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25648 (grub_test_run): Use FOR_LIST_ELEMENTS.
25649 * tests/lib/unit_test.c (main): Likewise.
25650 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25651 grub_list_pop.
25652 * util/grub-fstest.c (grub_term_input_class): Removed.
25653 (grub_term_output_class): Likewise.
25654 * util/grub-probe.c: Likewise.
25655 * util/i386/pc/grub-setup.c: Likewise.
25656 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25657 * util/grub-script-check.c (main): Don't call grub_init_all and
25658 grub_fini_all.
25659 * video/video.c (grub_video_adapter_list): Make global.
25660 (grub_video_register): Removed.
25661 (grub_video_unregister): Likewise.
25662 (grub_video_iterate): Likewise.
25663
6289c3a7
VS
256642010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25665
25666 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25667 reported by Henrique Ferreiro.
25668
91460247
RM
256692010-06-09 Robert Millan <rmh@gnu.org>
25670
25671 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25672 ones, when both are available.
25673
0ea7c4f9
GS
256742010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25675
25676 Make --version uniform and avoid hard-coded program name.
25677
25678 * util/grub-mkimage.c (main): Use `program_name' instead of
25679 hard-coded string.
25680 * util/i386/pc/grub-setup.c (main): Likewise.
25681 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25682 * util/grub-install.in: Save the basename of $0 in $self, and use the
25683 latter in informational messages. Use the same format for --version
25684 as the binary programs.
25685 * util/grub-mkconfig.in: Likewise.
25686 * util/grub-mkrescue.in: Likewise.
25687 * util/grub-reboot.in: Likewise.
25688 * util/grub-set-default.in: Likewise.
25689 * util/i386/efi/grub-install.in: Likewise.
25690 * util/ieee1275/grub-install.in: Likewise.
25691 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25692
e8a6f3b6
GS
256932010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25694
25695 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25696 embedding area. Use <= instead of == when checking for non-emptiness.
25697
f4d095d7
GS
256982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25699
25700 * configure.ac: Add `.' to the directories searched for unifont.
25701
50e532ca
CW
257022010-06-08 Colin Watson <cjwatson@ubuntu.com>
25703
25704 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25705 grub_script.yy.h.
25706
d39f3dec
CW
257072010-06-08 Colin Watson <cjwatson@ubuntu.com>
25708
25709 * docs/grub.texi (History): Expand to cover GRUB 2.
25710 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25711 commands, not `terminal'.
25712 (serial): Likewise.
25713 (terminal_input): New section.
25714 (terminal_output): New section.
25715 (uppermem): New section (stub).
25716 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25717
6ef0ddb4
CW
257182010-06-08 Colin Watson <cjwatson@ubuntu.com>
25719
25720 * docs/grub.texi (Security): Menu entries are unrestricted by
25721 default, not restricted to superusers as I had previously thought.
25722 Reword to account for this.
25723
e0f4c438
CW
257242010-06-07 Colin Watson <cjwatson@ubuntu.com>
25725
25726 * kern/emu/misc.c (device_mapper_null_log): New function.
25727 (grub_device_mapper_supported): New function.
25728 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25729 prototype.
25730 * kern/emu/hostdisk.c (find_partition_start): Check whether
25731 device-mapper is supported before trying to use it.
25732 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25733
da908200
CW
257342010-06-07 Colin Watson <cjwatson@ubuntu.com>
25735
25736 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25737 (File name syntax): Likewise.
25738 (help): --all is no longer supported in GRUB 2. Be more precise
25739 about pattern matching.
25740
fb55c3ac
CW
257412010-06-07 Colin Watson <cjwatson@ubuntu.com>
25742
25743 * normal/completion.c (grub_normal_do_completion): When completing
25744 arguments to "set" and the current word contains an equals sign,
25745 skip to after the equals sign before starting completion.
25746
258c2573
CW
257472010-06-07 Colin Watson <cjwatson@ubuntu.com>
25748
25749 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25750
ee75515e
CW
257512010-06-07 Colin Watson <cjwatson@ubuntu.com>
25752
25753 * docs/grub.texi (Network): New section.
25754 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25755 `(nd)' as in GRUB Legacy.
25756 (pxe_unload): New section.
25757
a6a700aa
CW
257582010-06-07 Colin Watson <cjwatson@ubuntu.com>
25759
25760 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25761 in the rescue shell, so recommend using `set' instead. Thanks,
25762 Jordan Uggla.
25763
4003dd38
CW
257642010-06-07 Colin Watson <cjwatson@ubuntu.com>
25765
25766 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25767 (password): New section.
25768 (password_pbkdf2): New section.
25769 (search): New section.
25770 (Security): New section.
25771 (Troubleshooting): New section, currently very incomplete.
25772 (Invoking grub-mkpasswd-pbkdf2): New section.
25773 (Internals): New section, currently very incomplete.
25774
e1cbcc40
CW
257752010-06-07 Colin Watson <cjwatson@ubuntu.com>
25776
25777 * util/grub.d/00_header.in: Add some more quoting (of
25778 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25779 work again.
25780 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25781
db8fa1ad
CW
257822010-06-07 Colin Watson <cjwatson@ubuntu.com>
25783
25784 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25785 to `count', fixing variable shadowing that broke the -c option.
25786
257872010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25788
25789 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25790 in case they contain spaces.
25791
f28a9212
CW
257922010-06-04 Colin Watson <cjwatson@ubuntu.com>
25793
25794 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25795 "part_" to partmap module names, in line with grub-install.
25796 Reported by: Jindřich Makovička (Debian bug #584426).
25797
9cdfe32f
CW
257982010-06-04 Colin Watson <cjwatson@ubuntu.com>
25799
25800 * util/grub-mkimage.c: Make target-related error messages slightly
25801 more helpful; -O talks about "format". Explicitly point to the use
25802 of -O if no target is specified.
25803 Reported by: Didier Raboud (Debian bug #584415).
25804
795b593a
CW
258052010-06-03 Colin Watson <cjwatson@ubuntu.com>
25806
25807 * INSTALL: Document several build requirements for optional features
25808 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25809
9d9b5833
GS
258102010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25811
25812 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25813 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25814 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25815
0819fec8
CW
258162010-06-02 Colin Watson <cjwatson@ubuntu.com>
25817
25818 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25819 Thanks to Jordan Uggla for spotting this.
25820
49396b4f
VS
258212010-06-02 Aleš Nesrsta <starous@volny.cz>
25822
25823 Finally make USB usable.
25824
25825 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25826 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25827 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25828 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25829 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25830 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25831 (GRUB_OHCI_FSMPS): Likewise.
25832 (GRUB_OHCI_PERIODIC_START): Likewise.
25833 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25834 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25835 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25836 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25837 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25838 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25839 (grub_ohci_transaction): Likewise.
25840 (grub_ohci_transfer): Improve condition detection algorithms.
25841 Handle toggle property. Program the transactions correctly.
25842 Improve error handling. Various important fixups.
25843 (grub_ohci_portstatus): Put register writes in right order.
25844 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25845 (grub_uhci_transfer): Don't show "failed" message on success.
25846 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25847 array.
25848 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25849 determine its size.
25850 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25851 before initialization is completed. Use IN direction for empty
25852 transfers. Use last_trans and compute toggle.
25853 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25854 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25855 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25856 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25857 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25858 (grub_usb_device): Increase toggle to 256.
25859 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25860 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25861 GRUB_USBMS_SUBCLASS_SFF8070.
25862 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25863 (grub_scsi_inquiry): New member page and alloc_length.
25864 (grub_scsi_request_sense): New structure.
25865 (grub_scsi_request_sense_data): Likewise.
25866 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25867 control.
25868 * disk/scsi.c (grub_scsi_request_sense): New function.
25869 (grub_scsi_test_unit_ready): Likewise.
25870 (grub_scsi_inquiry): Fill new fields.
25871 (grub_scsi_read_capacity): Likewise.
25872 (grub_scsi_read10): Add request sense at the end.
25873 (grub_scsi_read12): Likewise.
25874 (grub_scsi_write10): Likewise.
25875 (grub_scsi_write12): Likewise.
25876 (grub_scsi_open): Add Test Unit Ready.
25877 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25878 Support additional subclasses. Con't clear halt yet. Activate the
25879 proper config. Calculate LUNs correctly.
25880 (grub_usbms_transfer): Various important fixups.
25881
258822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25883
25884 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25885 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25886 (grub_ohci_fini_hw): New function.
25887 (grub_ohci_restore_hw): Likewise.
25888 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25889 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25890 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25891
258922010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25893
25894 Dedicated DMA allocations.
25895
25896 * bus/pci.c (grub_memalign_dma32): New function
25897 (grub_dma_free): Likewise.
25898 (grub_dma_get_virt): Likewise.
25899 (grub_dma_get_phys): Likewise.
25900 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25901 (grub_ohci_pci_iter): Use dma32_alloc.
25902 (grub_ohci_transfer): Likewise.
25903 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25904 (grub_usb_bulk_readwrite): Likewise.
25905 * include/grub/pci.h: Add declarations.
25906
259072010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25908
25909 CS5536 support.
25910
25911 * bus/cs5536.c: New file.
25912 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25913 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25914 (cs5536_mod_SOURCES): New variable.
25915 (cs5536_mod_CFLAGS): Likewise.
25916 (cs5536_mod_LDFLAGS): Likewise.
25917 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25918 machine/pci.h.
25919 (kernel_img_SOURCES): Add bus/cs5536.c.
25920 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25921 usb_keyboard.mod.
25922 (usb_mod_SOURCES): New variable.
25923 (usb_mod_CFLAGS): New variable.
25924 (usb_mod_LDFLAGS): New variable.
25925 (usbtest_mod_SOURCES): New variable.
25926 (usbtest_mod_CFLAGS): New variable.
25927 (usbtest_mod_LDFLAGS): New variable.
25928 (ohci_mod_SOURCES): New variable.
25929 (ohci_mod_CFLAGS): New variable.
25930 (ohci_mod_LDFLAGS): New variable.
25931 (usbms_mod_SOURCES): New variable.
25932 (usbms_mod_CFLAGS): New variable.
25933 (usbms_mod_LDFLAGS): New variable.
25934 (usb_keyboard_mod_SOURCES): New variable.
25935 (usb_keyboard_mod_CFLAGS): New variable.
25936 (usb_keyboard_mod_LDFLAGS): New variable.
25937 * include/grub/smbus.h: New file.
25938 * include/grub/cs5536.h: New file.
25939
0b35b2a9
CW
259402010-06-02 Colin Watson <cjwatson@ubuntu.com>
25941
25942 * util/grub.d/00_header.in: Add safety check to make sure that
25943 ${locale_dir} exists before trying to probe it.
25944
ca0afd5b
CW
259452010-06-02 Colin Watson <cjwatson@ubuntu.com>
25946
25947 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25948 per the GNU Coding Standards; this is now too obscure to be worth
25949 documenting.
25950 (QNX): Likewise.
25951 (chainloader): Remove cross-reference to `SCO UnixWare'.
25952
1c41aa78
CW
259532010-06-02 Colin Watson <cjwatson@ubuntu.com>
25954
25955 * docs/grub.texi (Chain-loading): New section.
25956 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25957 adjusted for GRUB 2.
25958 (SCO UnixWare): Likewise.
25959 (QNX): Likewise.
25960 (chainloader): Add reference to `Block list syntax'.
25961 (drivemap): New section.
25962 (parttool): New section.
25963
bb8ea0f5
CW
259642010-06-02 Colin Watson <cjwatson@ubuntu.com>
25965
25966 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25967 the grub shell'.
25968 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25969 (Installing GRUB using grub-install): Remove reference to the grub
25970 shell; mention `grub-mkimage' and `grub-setup' instead.
25971 (Invoking grub-install): Likewise.
25972 (Interface): Add reference to `Menu entry editor'.
25973 (serial): Remove `--device' option.
25974
288dd6ed
CW
259752010-06-02 Colin Watson <cjwatson@ubuntu.com>
25976
25977 * docs/grub.texi (Configuration): New section, documenting
25978 configuration file generation using grub-mkconfig. I've left a slot
25979 for documenting the full shell scripting format but have not yet
25980 started on writing that up.
25981 (Invoking grub-mkconfig): New section.
25982
34c9f0e9
CW
259832010-06-02 Colin Watson <cjwatson@ubuntu.com>
25984
25985 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25986 (GNU GRUB manual): Likewise.
25987 (General commands): Update description of `terminfo' for GRUB 2.
25988
9121567e
CW
259892010-06-02 Colin Watson <cjwatson@ubuntu.com>
25990
25991 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25992 (GRUB_MOD_INIT): Fix capitalisation.
25993 * docs/grub.texi (Command-line and menu entry commands): Document
25994 gettext and gptsync commands.
25995
ab631611
CW
259962010-06-02 Colin Watson <cjwatson@ubuntu.com>
25997
25998 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25999 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26000
bde4a9ac
CW
260012010-06-01 Colin Watson <cjwatson@ubuntu.com>
26002
26003 Add btrfs probing support, currently only in the single-device case.
26004
26005 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26006 function.
26007 (grub_guess_root_device): Call find_root_device_from_mountinfo
26008 before looking in /dev.
26009
b1d17e10
VS
260102010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26011
26012 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26013 GRUB_DISK_SIZE_UNKNOWN.
26014 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26015
dfbfe004
JS
260162010-05-31 Jiro SEKIBA <jir@unicus.jp>
26017
26018 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26019 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26020 corrupted or not synced properly.
26021
c2ffc8e9
VS
260222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26025 Reported by: Seth Goldberg.
26026
56293166
VS
260272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26028
26029 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26030 addition of dest.
26031 Reported by: Seth Goldberg.
26032
7620e7de
VS
260332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26034
26035 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26036 Reported by: Seth Goldberg.
26037
c837af3f
VS
260382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26041 64-bit address as signed on MIPS.
26042
c7c75cf4
CW
260432010-05-28 Colin Watson <cjwatson@ubuntu.com>
26044
26045 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26046 to the empty string.
26047
fa4b8490
BC
260482010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26049
26050 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26051
26052 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26053 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26054 * kern/misc.c (__enable_execute_stack): Disable on
26055 GRUB_MACHINE_EMU.
26056
a33075b9
CW
260572010-05-28 Colin Watson <cjwatson@ubuntu.com>
26058
26059 Make grub-probe work with symbolic links under /dev/mapper as well
26060 as with real block devices. The Linux world seems to be (at best)
26061 in transition here, and GRUB shouldn't get caught in the middle.
26062
26063 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26064 /dev/mapper.
26065
d8708134
CW
260662010-05-27 Colin Watson <cjwatson@ubuntu.com>
26067
26068 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26069 input files (in which case exit zero).
26070
db2102a0
CW
260712010-05-27 Colin Watson <cjwatson@ubuntu.com>
26072
26073 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26074 return NULL for various reasons even if it has a maximum-length
26075 buffer: for example, there might be a symlink loop, or the path
26076 might exceed PATH_MAX. If this happens, return NULL.
26077
5fdba519
RM
260782010-05-27 Robert Millan <rmh@gnu.org>
26079
26080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26081 partmap module to handle cross-partmap setups.
26082 Reported by Orestes Mas. Gràcies!
26083
d1d368e4
CW
260842010-05-27 Colin Watson <cjwatson@ubuntu.com>
26085
26086 * util/grub-mkrescue.in: Initialise override_dir rather than
26087 assuming that it's unset or empty in the environment.
26088
95ac3c73
GS
260892010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26090
26091 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26092 variable index into p_index to suppress a warning with -Wshadow.
26093
7d8c0213
BC
260942010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26095
26096 * INSTALL: Added flex >= 2.5.35 requirement.
26097
db4d5813
VS
260982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26099
26100 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26101
f24f4300
VS
261022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 cmostest support.
26105
26106 * commands/i386/cmostest.c: New file.
26107 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26108 (cmostest_mod_SOURCES): New variable.
26109 (cmostest_mod_CFLAGS): Likewise.
26110 (cmostest_mod_LDFLAGS): Likewise.
26111 * conf/i386-pc.rmk: Likewise.
26112 * docs/grub.texi (Vendor power-on keys): New section.
26113 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26114 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26115 and GRUB_BUTTON_CMOS_ADDRESS.
26116 * util/grub.d/00_header.in: Handle powering-on by separate button.
26117
ad603f61
VS
261182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26119
26120 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26121 Removed drawing_scrollbar argument. All users updated
26122 Fixes #29792.
26123 Reported by Jo Shields
26124
3ecb080a
VS
261252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26128 buffer since gfxterm handles double repaint.
26129
5f2316c1
VS
261302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26133 * term/gfxterm.c (real_scroll): Likewise.
26134
9a25f885
VS
261352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26138 before calling BIOS.
26139
39fbb79a
VS
261402010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * include/grub/i18n.h: Always enable grub_gettext.
26143
228cfa97
VS
261442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26145
26146 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26147 partition naming style.
26148
21717c8f
CW
261492010-05-21 Colin Watson <cjwatson@ubuntu.com>
26150
26151 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26152 not the first option.
26153
c0f48e65
CW
261542010-05-20 Colin Watson <cjwatson@ubuntu.com>
26155
26156 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26157
96779aec
CW
261582010-05-20 Colin Watson <cjwatson@ubuntu.com>
26159
26160 * util/misc.c: Move inclusion of <limits.h> to ...
26161 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26162
fa9d256e
GS
261632010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26164
26165 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26166 Fix merge error in NetBSD code.
26167 (find_partition_start) [__NetBSD__]: Likewise.
26168
123b7a85
BC
261692010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26170
26171 Fix grub-mkrescue usage unit testing.
26172
26173 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26174
74276c0d
CF
261752010-05-18 Christian Franke <franke@computer.org>
26176
26177 * util/grub.d/10_windows.in: Use path names instead of
26178 drive letters to prevent warning from Cygwin 1.7.
26179 Add drivemap command to menuentry if needed.
26180
c4f7b523
ST
261812010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26182
26183 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26184 gnumach and gnumach.gz.
26185
95b97950
VS
261862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26187
26188 * include/grub/i18n.h (gettext): Inline instead of using #define.
26189 (grub_gettext): Likewise.
26190 (_): Likewise.
26191
01b8d2d7
VS
261922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26193
26194 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26195 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26196 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26197 (main): Add a slash after pkglibdirroot.
26198
654e1d1e
VS
261992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26200
26201 * util/grub-install.in: Add missing "in" keyword.
26202
26966aeb
VS
262032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26204
26205 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26206 Reported by: Seth Goldberg.
26207
75006747
VS
262082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26209
26210 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26211
74cbf5bd
CW
262122010-05-18 Colin Watson <cjwatson@ubuntu.com>
26213
26214 * configure.ac: Check for Linux device-mapper support.
26215
26216 * util/hostdisk.c (device_is_mapped): New function.
26217 (find_partition_start): New function, partly broken out from
26218 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26219 device-mapper support added.
26220 (linux_find_partition): Use find_partition_start.
26221 (convert_system_partition_to_system_disk): Add `st' argument.
26222 Support Linux /dev/mapper/* devices if device-mapper support is
26223 available; only DM-RAID devices are understood at present.
26224 (find_system_device): Add `st' argument. Pass it to
26225 convert_system_partition_to_system_disk.
26226 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26227 find_system_device and convert_system_partition_to_system_disk. Use
26228 find_partition_start.
26229
26230 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26231 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26232 * util/deviceiter.c [__linux__]: Define MINOR.
26233 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26234 * util/mkdevicemap.c (grub_putchar): New function.
26235 (grub_getkey): New function.
26236 (grub_refresh): New function.
26237 (main): Set debug=all if -v -v is used.
26238
355b51e9
CW
262392010-05-18 Colin Watson <cjwatson@ubuntu.com>
26240
26241 Fix build with non-GNU libcs.
26242
26243 * util/misc.c (canonicalize_file_name): Move to ...
26244 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26245 grub_make_system_path_relative_to_its_root.
26246
7fb5c25f
CW
262472010-05-18 Colin Watson <cjwatson@ubuntu.com>
26248
26249 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26250 we handle finding grub-mkimage. Default to finding grub-mkimage in
26251 ${bindir} with program_transform_name applied, and provide a
26252 --grub-mkimage option to override this.
26253
1d3293d6
VS
262542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 Remove grub-mkisofs.
26257
26258 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26259 (grub_mkisofs_SOURCES): Removed.
26260 (grub_mkisofs_CFLAGS): Removed.
26261 * util/mkisofs/defaults.h: Removed.
26262 * util/mkisofs/eltorito.c: Likewise.
26263 * util/mkisofs/exclude.h: Likewise.
26264 * util/mkisofs/hash.c: Likewise.
26265 * util/mkisofs/include/: Likewise.
26266 * util/mkisofs/include/fctldefs.h: Likewise.
26267 * util/mkisofs/include/mconfig.h: Likewise.
26268 * util/mkisofs/include/prototyp.h: Likewise.
26269 * util/mkisofs/include/statdefs.h: Likewise.
26270 * util/mkisofs/iso9660.h: Likewise.
26271 * util/mkisofs/joliet.c: Likewise.
26272 * util/mkisofs/match.c: Likewise.
26273 * util/mkisofs/match.h: Likewise.
26274 * util/mkisofs/mkisofs.c: Likewise.
26275 * util/mkisofs/mkisofs.h: Likewise.
26276 * util/mkisofs/msdos_partition.h: Likewise.
26277 * util/mkisofs/multi.c: Likewise.
26278 * util/mkisofs/name.c: Likewise.
26279 * util/mkisofs/rock.c: Likewise.
26280 * util/mkisofs/tree.c: Likewise.
26281 * util/mkisofs/write.c: Likewise.
26282
5dde9afe
VS
262832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 Unify grub-mkimage accross platforms.
26286
26287 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26288 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26289 (grub_mkelfimage_SOURCES): Removed.
26290 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26291 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26292 (bin_UTILITIES): Add grub-mkimage.
26293 (grub_mkimage_SOURCES): New variable.
26294 (kernel_img_HEADERS): Remove machine/kernel.h.
26295 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26296 (pkglib_PROGRAMS): Add kernel.img.
26297 (kernel_img_HEADERS): Add machine/kernel.h.
26298 (kernel_img_FORMAT): Removed.
26299 (bin_UTILITIES): Remove grub-mkimage.
26300 (grub_mkimage_SOURCES): Removed.
26301 (grub_mkimage_CFLAGS): Likewise.
26302 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26303 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26304 (pkglib_PROGRAMS): Add kernel.img.
26305 (bin_UTILITIES): Remove grub-mkimage.
26306 (grub_mkimage_SOURCES): Removed.
26307 (grub_mkimage_CFLAGS): Likewise.
26308 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26309 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26310 (pkglib_PROGRAMS): Add kernel.img.
26311 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26312 (pkglib_PROGRAMS): Add kernel.img.
26313 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26314 (grub_mkimage_SOURCES): Removed.
26315 (grub_mkimage_CFLAGS): Likewise.
26316 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26317 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26318 (pkglib_PROGRAMS): Add kernel.img.
26319 (bin_UTILITIES): Remove grub-mkimage.
26320 (grub_mkimage_SOURCES): Removed.
26321 (grub_mkimage_CFLAGS): Likewise.
26322 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26323 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26324 (grub_mkimage_SOURCES): Removed.
26325 (grub_mkimage_CFLAGS): Likewise.
26326 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26327 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26328 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26329 (grub_pe32_optional_header): ... this.
26330 (grub_pe64_optional_header): ... and this. All users updated.
26331 (GRUB_PE32_PE32_MAGIC): Split into ..
26332 (GRUB_PE32_PE32_MAGIC): .. this.
26333 (GRUB_PE32_PE64_MAGIC): .. and this.
26334 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26335 * include/grub/elf.h (PT_GNU_STACK): New definition.
26336 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26337 * include/grub/i386/efi/kernel.h: Likewise.
26338 * include/grub/i386/kernel.h: Likewise.
26339 * include/grub/i386/pc/kernel.h: Likewise.
26340 * include/grub/i386/qemu/boot.h: Likewise.
26341 * include/grub/mips/kernel.h: Likewise.
26342 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26343 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26344 * include/grub/powerpc/kernel.h: Likewise.
26345 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26346 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26347 * include/grub/sparc64/kernel.h: Likewise.
26348 * include/grub/x86_64/efi/kernel.h: Likewise.
26349 * include/grub/x86_64/kernel.h: Likewise.
26350 * include/grub/offsets.h: New file.
26351 * include/grub/kernel.h (grub_module_info): Split into ...
26352 (grub_module_info32): ... this.
26353 (grub_module_info64): ... and this.
26354 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26355 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26356 (grub_boot_blocklist): Moved from here ...
26357 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26358 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26359 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26360 * include/grub/types.h (grub_target_to_host16): Removed.
26361 (grub_target_to_host32): Likewise.
26362 (grub_target_to_host64): Likewise.
26363 (grub_host_to_target16): Likewise.
26364 (grub_host_to_target32): Likewise.
26365 (grub_host_to_target64): Likewise.
26366 (grub_host_to_target_addr): Likewise.
26367
26368 Support grub-mkrescue for efi, coreboot and qemu.
26369
26370 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26371 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26372 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26373 * util/grub-mkrawimage.c: Moved from here ...
26374 * util/grub-mkimage.c: ... here. All users updated.
26375 (ALIGN_ADDR): Use image_target.
26376 (TARGET_NO_FIELD): New const.
26377 (image_target_desc): New type.
26378 (image_targets): New array.
26379 (grub_target_to_host64): Use image_target.
26380 (grub_target_to_host32): Likewise.
26381 (grub_target_to_host16): Likewise.
26382 (grub_host_to_target64): Likewise.
26383 (grub_host_to_target32): Likewise.
26384 (grub_host_to_target16): Likewise.
26385 (grub_host_to_target_addr): Likewise.
26386 (generate_image): Handle multiimage.
26387 (main): Require -O parameter. All users updated.
26388 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26389 util/efi/grub-mkimage.c
26390 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26391 New option --rom-directory.
26392 Use xorriso.
26393 * util/i386/efi/grub-mkimage.c: Removed.
26394 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26395 (grub_target_to_host32): Likewise.
26396 (grub_target_to_host64): Likewise.
26397 (grub_host_to_target16): Likewise.
26398 (grub_host_to_target32): Likewise.
26399 (grub_host_to_target64): Likewise.
26400 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26401 (grub_target_to_host32): Likewise.
26402 (grub_target_to_host64): Likewise.
26403 (grub_host_to_target16): Likewise.
26404 (grub_host_to_target32): Likewise.
26405 (grub_host_to_target64): Likewise.
26406
f4fc97d0
BC
264072010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26408
26409 Source tree is reorganized for emu build.
26410
26411 * include/grub/util/console.h: Move from here...
26412 * include/grub/emu/console.h: ...to here.
26413 * include/grub/util/getroot.h: Move from here...
26414 * include/grub/emu/getroot.h: ...to here.
26415 * include/grub/util/hostdisk.h: Move from here...
26416 * include/grub/emu/hostdisk.h: ...to here.
26417 * util/console.c: Move from here...
26418 * kern/emu/console.c: ...to here.
26419 * util/getroot.c: Move from here...
26420 * kern/emu/getroot.c: ...to here.
26421 * util/grub-emu.c: Move from here...
26422 * kern/emu/main.c: ...to here.
26423 * util/hostdisk.c: Move from here...
26424 * kern/emu/hostdisk.c: ...to here.
26425 * util/hostfs.c: Move from here...
26426 * kern/emu/hostfs.c: ...to here.
26427 * util/mm.c: Move from here...
26428 * kern/emu/mm.c: ...to here.
26429 * util/pci.c: Move from here...
26430 * bus/emu/pci.c: ...to here.
26431 * util/sdl.c: Move from here...
26432 * video/emu/sdl.c: ...to here.
26433 * util/time.c: Move from here...
26434 * kern/emu/time.c: ...to here.
26435 * util/usb.c: Move from here...
26436 * bus/usb/emu/usb.c: ...to here.
26437
26438 * include/grub/emu/misc.h: New header for grub-emu functions.
26439 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26440
26441 * conf/any-emu.rmk: Rule updates for above renames.
26442 * conf/common.rmk: Likewise.
26443 * conf/i386-pc.rmk: Likewise.
26444 * conf/i386-qemu.rmk: Likewise.
26445 * conf/mips.rmk: Likewise.
26446 * conf/sparc64-ieee1275.rmk: Likewise.
26447 * conf/x86-efi.rmk: Likewise.
26448
26449 * disk/lvm.h: #include updates for above renames.
26450 * util/grub-mkrelpath.c: Likewise.
26451 * util/grub-probe.c: Likewise.
26452 * util/i386/pc/grub-setup.c: Likewise.
26453 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26454 * kern/emu/console.c: Likewise.
26455 * kern/emu/getroot.c: Likewise.
26456 * kern/emu/hostdisk.c: Likewise.
26457 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26458
26459 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26460 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26461 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26462 * util/misc.c: Remove grub-emu functions.
26463
cced9145
VS
264642010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 Fix gfxmenu crash.
26467 Reported by: Thorsten Grützmacher.
26468
26469 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26470 timeout hook.
26471 (circprog_set_property): Register and unregister timeout hook.
26472 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26473 (label_destroy): Free template. and unregister hook.
26474 (label_set_state): New function.
26475 (label_set_property): Handle templates and hooks.
26476 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26477 timeout hook.
26478 (progress_bar_set_property): Register and unregister timeout hook.
26479 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26480 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26481 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26482 (update_timeout_visit): Removed.
26483 (update_timeouts): New function.
26484 (redraw_timeouts): Likewise.
26485 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26486 (grub_gfxmenu_clear_timeout): Likewise.
26487 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26488 (grub_gfxmenu_timeout_notify): Likewise.
26489 (grub_gfxmenu_timeout_notifications): New external variable.
26490 (grub_gfxmenu_timeout_register): New function.
26491 (grub_gfxmenu_timeout_unregister): Likewise.
26492
c6e5caab
VS
264932010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26494
26495 Transform (broken) vga terminal into (working) vga video driver.
26496
26497 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26498 video/i386/pc/vga.c.
26499 * include/grub/video.h (grub_video_driver_id):
26500 Add GRUB_VIDEO_DRIVER_VGA.
26501 * term/i386/pc/vga.c: Renamed to ...
26502 * video/i386/pc/vga.c: ...this
26503 (DEBUG_VGA): Removed.
26504 (CHAR_WIDTH): Likewise.
26505 (CHAR_HEIGHT): Likewise.
26506 (TEXT_WIDTH): Likewise.
26507 (TEXT_HEIGHT): Likewise.
26508 (DEFAULT_FG_COLOR): Likewise.
26509 (DEFAULT_BG_COLOR): Likewise.
26510 (colored_char): Likewise.
26511 (xpos): Likewise.
26512 (ypos): Likewise.
26513 (cursor_state): Likewise.
26514 (fg_color): Likewise.
26515 (bg_color): Likewise.
26516 (text_buf): Likewise.
26517 (page): Likewise.
26518 (font): Likewise.
26519 (framebuffer): New variable.
26520 (set_read_map): Disabled.
26521 (setup): New variable.
26522 (is_target): Likewise.
26523 (grub_vga_mod_init): Likewise.
26524 (grub_vga_mod_fini): Likewise.
26525 (check_vga_mem): Likewise.
26526 (write_char): Likewise.
26527 (write_cursor): Likewise.
26528 (scroll_up): Likewise.
26529 (grub_vga_putchar): Likewise.
26530 (grub_vga_getcharwidth): Likewise.
26531 (grub_vga_getwh): Likewise.
26532 (grub_vga_getxy): Likewise.
26533 (grub_vga_gotoxy): Likewise.
26534 (grub_vga_cls): Likewise.
26535 (grub_vga_setcolorstate): Likewise.
26536 (grub_vga_setcursor): Likewise.
26537 (grub_video_vga_init): New function.
26538 (grub_video_vga_setup): Likewise.
26539 (grub_video_vga_fini): Likewise.
26540 (update_target): Likewise.
26541 (grub_video_vga_blit_bitmap): Likewise.
26542 (grub_video_vga_blit_render_target): Likewise.
26543 (grub_video_vga_set_active_render_target): Likewise.
26544 (grub_video_vga_get_active_render_target): Likewise.
26545 (grub_video_vga_swap_buffers): Likewise.
26546 (grub_video_vga_set_palette): Likewise.
26547 (grub_video_vga_get_info_and_fini): Likewise.
26548 (grub_vga_term): Removed.
26549 (grub_video_vga_adapter): New variable.
26550 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26551 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26552
2bf61a98
VS
265532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26554
26555 * video/readers/jpeg.c: Indented.
26556
09ddcd11
VS
265572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26558
26559 Various jpeg cleanups.
26560
26561 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26562 (grub_jpeg_decode_quan_table): Use sizeof.
26563 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26564
e5507505
PH
265652010-05-05 Peter Hurley <No e-mail available> (tiny change)
26566
26567 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26568 tables. Ignore non-last ac bit.
26569 (grub_jpeg_decode_quan_table): Likewise.
26570
7e720a9b
VS
265712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26572
26573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26574 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26575 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26576 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26577 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26578 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26579
a7fc080b
VS
265802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26581
26582 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26583 error.
26584
2bf6012d
VS
265852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26586
26587 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26588
265d68cd
VS
265892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26590
26591 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26592 condition.
26593
265942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26595
26596 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26597 part.
26598
265d68cd 265992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26600
26601 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26602 pointers.
26603
265d68cd 266042010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26605
26606 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26607
d1b61374
CF
266082010-05-01 Christian Franke <franke@computer.org>
26609
26610 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26611 Remove broken Cygwin path conversion.
26612 * util/misc.c: [__CYGWIN__] Add include and define.
26613 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26614 for Cygwin 1.7.
26615 (make_system_path_relative_to_its_root): Simplify loop, replace early
26616 return by break.
26617 [__CYGWIN__] Add conversion to win32 path.
26618 Include "/" case in trailing slash removal.
26619
3558c6e9
VS
266202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26623 Reported by: Seth Goldberg
26624
f5f3ff93
VS
266252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * commands/help.c (grub_cmd_help): Fix a typo.
26628 Reported by: Seth Goldberg
26629
d8b5cd40
VS
266302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26631
26632 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26633 name and add N_.
26634 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26635 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26636 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26637 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26638 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26639 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26640 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26641 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26642 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26643 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26644 * normal/context.c (GRUB_MOD_INIT): Likewise.
26645 * normal/main.c (GRUB_MOD_INIT): Likewise.
26646 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26647 * term/serial.c (GRUB_MOD_INIT): Likewise.
26648 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26649
88c14915
VS
266502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26651
26652 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26653 extra == 0.
26654
165134bc
VS
266552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 * commands/iorw.c: New file.
26658 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26659 (iorw_mod_SOURCES): New variable.
26660 (iorw_mod_CFLAGS): Likewise.
26661 (iorw_mod_LDFLAGS): Likewise.
26662
c5ac9b32
VS
266632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26664
26665 Hotkey support
26666
26667 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26668 * normal/main.c (hotkey_aliases): New variable.
26669 (grub_normal_add_menu_entry): Parse "--hotkey".
26670 * normal/menu_text.c (run_menu): Handle hotkeys.
26671
ce60689c
VS
266722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26673
26674 * kern/i386/coreboot/init.c (grub_machine_init): Call
26675 grub_machine_mmap_init on qemu.
26676
0359d006
VS
266772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26678
26679 * boot/i386/qemu/boot.S: Add a missing .code16.
26680
7819a456
VS
266812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26682
26683 Use LBIO on coreboot.
26684
26685 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26686 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26687 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26688 New declaration.
26689 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26690 grub_machine_mmap_init on coreboot.
26691 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26692 GRUB_LINUXBIOS_MEMBER_LINK.
26693 (grub_machine_mmap_iterate): Fix declaration.
26694 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26695
7210dca9
VS
266962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 Split coreboot and multiboot ports.
26699
26700 * conf/i386-multiboot.rmk: New file.
26701 * configure.ac: Add multiboot port.
26702 * include/grub/i386/multiboot/boot.h: New file.
26703 * include/grub/i386/multiboot/console.h: Likewise.
26704 * include/grub/i386/multiboot/init.h: Likewise.
26705 * include/grub/i386/multiboot/kernel.h: Likewise.
26706 * include/grub/i386/multiboot/loader.h: Likewise.
26707 * include/grub/i386/multiboot/memory.h: Likewise.
26708 * include/grub/i386/multiboot/serial.h: Likewise.
26709 * include/grub/i386/multiboot/time.h: Likewise.
26710 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26711 * loader/multiboot.c: Likewise.
26712 * loader/multiboot_mbi2.c: Likewise.
26713 * util/grub-mkrescue.in: Generate multiboot rescue.
26714
6f8aaf68
VS
267152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26716
3080f7a7
VS
26717 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26718
267192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26720
26721 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26722
26723 * commands/terminal.c (abstract_terminal): New struct.
26724 (handle_command): New function. Based on grub_cmd_terminal_input.
26725 (grub_cmd_terminal_input): Use handle_command.
26726 (grub_cmd_terminal_output): Use handle_command.
26727
a8ebb841
BC
267282010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26729
26730 Fix comment handling.
26731
26732 * tests/grub_script_comments.in: New testcase.
26733 * conf/tests.rmk: Rules for new testcase.
26734 * script/yylex.l: Updated flex rules.
26735
bb06ba08
ST
267362010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26737
26738 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26739 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26740 if argc is 1.
bb06ba08 26741
cc9d2425
VS
267422010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26745 autogen issues.
26746
460d8402
CF
267472010-04-26 Christian Franke <franke@computer.org>
26748
26749 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26750 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26751 (grub_get_prefix): Remove function.
26752 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26753 make_system_path_relative_to_its_root ().
26754 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26755
553c01f9
CF
267562010-04-24 Christian Franke <franke@computer.org>
26757
26758 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26759 (kernel_img_LDFLAGS): Remove -static-libgcc.
26760
2aec1692
CF
267612010-04-24 Christian Franke <franke@computer.org>
26762
26763 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26764 and CHECK_END_SYMBOL if grub-emu is built.
26765 Unset TARGET_OBJ2ELF if grub-emu is built
26766 without module support.
26767
f67dc308
JS
267682010-04-24 Jiro SEKIBA <jir@unicus.jp>
26769
26770 Nilfs2 support.
26771
26772 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26773 (grub_fstest_SOURCES): Likewise.
26774 (pkglib_MODULES): Add nilfs2.mod.
26775 (nilfs2_mod_SOURCES): New variable.
26776 (nilfs2_mod_CFLAGS): Likewise.
26777 (nilfs2_mod_LDFLAGS): Likewise.
26778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26779 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26780 * fs/nilfs2.c: New file.
26781
4ba8d354
VS
267822010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26785 is not supported.
26786
0d2c20c6
GS
267872010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26788
26789 Add grub-mkconfig support for NetBSD.
26790
26791 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26792 * util/grub-mkconfig.in: export new NetBSD specific variables.
26793 * po/POTFILES-shell: added 10_netbsd.in.
26794 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26795
bc4a2d83
BC
267962010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26797
26798 Fix emu build with grub-emu-pci and grub-emu-modules.
26799
26800 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26801 functions.
26802 * include/grub/libpciaccess.h: New file.
26803 * conf/any-emu.rmk: Update kernel headers for emu build.
26804
f48c87aa
VS
268052010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26808
18959385
VS
268092010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26810
26811 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26812
0037de3f
VS
268132010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26814
26815 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26816 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26817 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26818 util/ieee1275/ofpath.c.
26819 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26820 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26821 * include/grub/sparc64/ieee1275/boot.h
26822 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26823 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26824 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26825 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26826 const char *.
26827 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26828 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26829 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26830 install.
26831
38e55e90
GS
268322010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26833
26834 * util/grub-mkconfig.in: Corrected two == equality tests.
26835 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26836 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26837 expect a number appended to it.
26838 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26839 expects a number appended to it.
26840
a9e6ff28
VS
268412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26844
0b830b8f
VS
268452010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26846
26847 * util/hostdisk.c (make_device_name): Change to new partition naming.
26848
0973daeb
VS
268492010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26852
460d8402 268532010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26854
26855 * Makefile.in: Add missing localedir setting.
26856
0b456309
CW
268572010-04-14 Colin Watson <cjwatson@ubuntu.com>
26858
26859 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26860 mistake in r2156. Noticed by Anthony Fok.
26861
26862 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26863 @localedir@.
26864 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26865
08f46d62
BC
268662010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26867
26868 Fix a spurious, uninitialized variable warning.
26869
26870 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26871 Initialize variable, shdr.
26872 (grub_freebsd_load_elfmodule): Likewise.
26873 (grub_freebsd_load_elf_meta): Likewise.
26874
8c4a72d4
BC
268752010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26876
26877 Fix for escaped dollar in double quoted strings.
26878
26879 * script/yylex.l: Updated flex rules.
26880 * conf/tests.rmk: Rule for new testcase.
26881 * tests/grub_script_dollar.in: New testcase.
26882
ce44826e
CPE
268832010-04-13 Carles Pina i Estany <carles@pina.cat>
268842010-04-13 Colin Watson <cjwatson@ubuntu.com>
26885
26886 Enclose all translated strings in grub.cfg in single quotes, and
26887 escape them appropriately (Ubuntu bug #552921).
26888
26889 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26890 * util/grub.d/10_hurd.in: Use it.
26891 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26892 * util/grub.d/10_linux.in (linux_entry): Likewise.
26893
4b0cd8f8
VS
268942010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 Fix cygwin compilation.
26897
26898 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26899 * include/grub/misc.h (__register_frame_info)
26900 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26901 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26902 * kern/misc.c (__register_frame_info)
26903 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26904 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26905
01fcf061
VS
269062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26909
5d04b11e
VS
269102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26911
26912 Unify libgcc processing.
26913
26914 * Makefile.in (kernel_img_LDFLAGS): New variable.
26915 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26916 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26917 overwriting.
26918 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26919 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26920 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26921 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26922 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26923 overwriting. Remove -lgcc and -static-libgcc
26924 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26925 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26926 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26927 (kernel_img_LDFLAGS): Append instead of overwriting.
26928 Remove -lgcc and -static-libgcc
26929 * conf/sparc64-ieee1275.rmk: Likewise.
26930 * include/grub/powerpc/libgcc.h: Move to ...
26931 * include/grub/libgcc.h: .. this.
26932 * include/grub/libgcc.h: Don't export most of the function on x86.
26933 (__bswapsi2): New export.
26934 (__bswapdi2): Likewise.
26935 * include/grub/mips/libgcc.h: Removed.
26936 * include/grub/sparc64/libgcc.h: Likewise.
26937
b7f3ac29
VS
269382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26939
26940 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26941 disk_info_msg (conflicts with gettexting into languages with cases).
26942
2c7031b1
GS
269432010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26944
26945 Add grub-probe support for NetBSD.
26946
26947 * util/getroot.c (find_root_device): Convert block device to
26948 character device on NetBSD.
26949 * util/probe.c (probe): Require character device on NetBSD.
26950 * util/hostdisk.c: NetBSD specific headers.
26951 (configure_device_driver): new function to tune device driver
26952 parameters (currently only for NetBSD floppy driver).
26953 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26954 via disklabel ioctl).
26955 (open_device): call configure_device_driver on NetBSD.
26956 (convert_system_partition_to_system_disk): NetBSD specific code.
26957 (device_is_wholedisk): Likewise.
26958 (grub_util_biosdisk_get_grub_dev): Likewise.
26959 (make_device_name): Fixed a typo in bsd_part_str.
26960 * configure.ac: check for opendisk() and getrawpartition() on
26961 NetBSD and set LIBUTIL.
26962 * Makefile.in: add LIBUTIL to LIBS.
26963
f516290c
BC
269642010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26965
26966 Documentation fix.
26967
26968 * util/grub-script-check.c: Better help message.
26969
d8dcc0df
BC
269702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26971
26972 Fix FreeBSD build.
26973
26974 * configure.ac: Flex version check.
26975 * conf/common.rmk: Add -Wno-error to sh.mod.
26976 * script/yylex.l: Remove all #pragma.
26977
6734334a
VS
269782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26979
26980 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26981 prototype.
26982 Reported by: Seth Goldberg.
26983
daea6abd
VS
269842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26985
26986 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26987 Rename "module" to "module2".
26988 Reported by: Seth Goldberg.
26989
f2fd9d2b
VS
269902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26993 EXPORT_FUNC.
26994 Reported by: Seth Goldberg.
26995
be124579
VS
269962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26997
26998 * lib/posix_wrap/locale.h: Add missing file.
26999 Reported by: Seth Goldberg.
27000
ef5da797
VS
270012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27002
27003 grub-emu module load support.
27004
27005 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27006 NO_DYNAMIC_MODULES switched to this.
27007 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27008 (CFLAGS): Likewise.
27009 * conf/any-emu.rmk: Generate symlist.
27010 (kernel_img_HEADERS): Add util/datetime.h.
27011 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27012 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27013 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27014 kern/$(target_cpu)/cache.S.
27015 * configure.ac (grub-emu-modules): New option.
27016 * genmk.rb: Handle multiple source lists.
27017 * include/grub/sdl.h: New file.
27018 * include/grub/libusb.h: Likewise.
27019 * util/grub-emu.c (main): Hanle (host) root.
27020 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27021 GRUB_ERR_UNKNOWN_DEVICE.
27022 * util/misc.c: Move mm functions to ...
27023 * util/mm.c: ... here. All users updated.
27024
47822096
VS
270252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27026
27027 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27028 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27029 missing files.
27030 (maintainer-clean): Remove libgcrypt-grub.
27031
5d7e7445
VS
270322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27035
25f4e252
EC
270362010-04-09 EFI Coder <eficoder@hotmail.com>
27037
27038 * normal/menu_text.c (print_message): Clean up the message and show
27039 the Fn information when on EFI
27040 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27041
027de555
VS
270422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27043
27044 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27045 All users updated.
27046 * normal/crypto.c (read_crypto_list): Likewise.
27047 * normal/dyncmd.c (read_command_list): Likewise.
27048 * normal/term.c (read_terminal_list): Likewise.
27049 * normal/main.c (read_lists): Use explicit prefix.
27050 (read_lists_hook): Use read_lists.
27051 (grub_normal_execute): Likewise.
27052
47779711
VS
270532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27054
27055 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27056 Reported by: Thomas Schmitt.
27057 Add -no-emul-boot to grub-mkisofs parameters.
27058
1118c32e
VS
270592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * font/font.c: Indented.
27062
7d652447
BC
270632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27064
27065 Elif support to GRUB script (by Deepak Vankadaru).
27066
27067 * tests/grub_script_if.in: New testcase.
27068 * conf/tests.rmk: Rule for new testcase.
27069 * script/parser.y: Grammar rules for elif.
27070
34bb22df
BC
270712010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27072
27073 While and until loops support to GRUB script.
27074
27075 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27076 (grub_script_create_cmdwhile): New function prototype.
27077 (grub_script_execute_cmdwhile): New function prototype.
27078 * script/execute.c (grub_script_execute_cmdwhile): New function.
27079 * script/parser.y (command): New commands.
27080 (whilecmd): New grammar rule.
27081 (untilcmd): New grammar rule.
27082 * script/script.c (grub_script_create_cmdwhile): New function.
27083 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27084 function.
27085
27086 * tests/grub_script_while1.in: New testcase.
27087 * conf/tests.rmk: Rule for new testcase.
27088
e215d8e0
VS
270892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27092 as *.jpg.
27093
d7c43ba1
MV
270942010-04-09 Mario Vazquez <mariovazq@gmail.com>
27095
27096 GRUB_BACKGROUND support.
27097
27098 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27099 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27100
d64795c0
VS
271012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27104 Idea by: Mario Vazquez
d64795c0
VS
27105
27106 * util/grub.d/00_header.in: Load pf2 and image modules.
27107
f267f83a
VS
271082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 grub-mkconfig multiple terminal support.
27111
27112 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27113 * util/grub.d/00_header.in: Likewise.
27114
b7841ceb
VS
271152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27116
27117 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27118 we use cd $(srcdir).
27119
df60998c
CW
271202010-04-08 Colin Watson <cjwatson@ubuntu.com>
27121
27122 * util/grub.d/10_linux.in: Only use the first word of
27123 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27124 spaces in GRUB_DISTRIBUTOR.
27125 * util/grub.d/10_kfreebsd.in: Likewise.
27126 * util/grub.d/10_hurd.in: Likewise.
27127
fa09c82e
BC
271282010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27129
14e18ae3 27130 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27131
27132 * tests/util/grub-shell.in: Remove -serial stdio option.
27133
daf892b3
BC
271342010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27135
27136 POSIX header file wrappers.
27137
27138 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27139 equivalents.
27140 * lib/posix_wrap/ctype.h: Likewise.
27141 * lib/posix_wrap/errno.h: Likewise.
27142 * lib/posix_wrap/langinfo.h: Likewise.
27143 * lib/posix_wrap/limits.h: Likewise.
27144 * lib/posix_wrap/localcharset.h: Likewise.
27145 * lib/posix_wrap/stdint.h: Likewise.
27146 * lib/posix_wrap/stdio.h: Likewise.
27147 * lib/posix_wrap/stdlib.h: Likewise.
27148 * lib/posix_wrap/string.h: Likewise.
27149 * lib/posix_wrap/sys/types.h: Likewise.
27150 * lib/posix_wrap/unistd.h: Likewise.
27151 * lib/posix_wrap/wchar.h: Likewise.
27152 * lib/posix_wrap/wctype.h: Likewise.
27153 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27154 (grub_script.yy.h): Likewise.
27155 * script/yylex.l: Remove POSIX emulation #defines.
27156 * Makefile.in (POSIX_CFLAGS): New variable.
27157 (GNULIB_UTIL_CFLAGS): Likewise.
27158
27159 Regexp support.
27160
27161 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27162 (regexp_mod_SOURCES): New variable.
27163 (regexp_mod_CFLAGS): Likewise.
27164 (regexp_mod_LDFLAGS): Likewise.
27165 * commands/regexp.c: New file.
27166 * gnulib/regcomp.c: New file. Imported from gnulib.
27167 * gnulib/regex.c: Likewise.
27168 * gnulib/regex_internal.c: Likewise.
27169 * gnulib/regex_internal.h: Likewise.
27170 * gnulib/regexec.c: Likewise.
27171 * gnulib/regex.h: Likewise.
27172
974ac4f7
VS
271732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27174
27175 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27176 unsupported video mode types.
27177
2622c3ff
VS
271782010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27181
064cb524
VS
271822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27183
27184 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27185 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27186
a8c3b552
VS
271872010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 Remove unused grub_vga_get_font.
27190
27191 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27192 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27193
187bbe3d
GS
271942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27195
27196 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27197 * include/grub/misc.h: Likewise.
27198
b9396631
GS
271992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27200
27201 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27202 for which failure is fatal.
27203
50479feb
GS
272042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27205
27206 * util/grub-install.in: Use mkdir -p to create grub directory.
27207 * util/i386/efi/grub-install.in: Likewise.
27208 * util/ieee1275/grub-install.in: Likewise.
27209
b1654fdf
GS
272102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27211
27212 * Makefile.in (LEX): new variable.
27213
bd5a6415
GS
272142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27215
27216 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27217 `=' and added double quotes on operands of this equality test.
27218
3db3a82b
VS
272192010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27220
27221 * Makefile.in (uninstall): Remove a leftover debug echo.
27222 Reported by: Grégoire Sutre
27223
38023412
VS
272242010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27225
27226 MIPS multiboot2 support.
27227
27228 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27229 (multiboot2_mod_SOURCES): New variable.
27230 (multiboot2_mod_CFLAGS): Likewise.
27231 (multiboot2_mod_LDFLAGS): Likewise.
27232 (multiboot2_mod_ASFLAGS): Likewise.
27233 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27234 definition.
27235 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27236 (MULTIBOOT_MBI_REGISTER): Likewise.
27237 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27238 (MULTIBOOT_ELF32_MACHINE): Likewise.
27239 (MULTIBOOT_ELF64_MACHINE): Likewise.
27240 * include/grub/mips/multiboot.h: New file.
27241 * include/grub/video.h (grub_video_driver_id): New type
27242 GRUB_VIDEO_DRIVER_SM712.
27243 (grub_video_get_info_and_fini): Export.
27244 (grub_video_get_palette): Likewise.
27245 (grub_video_get_driver_id): Likewise.
27246 * include/multiboot2.h: Resynced with spec.
27247 * loader/i386/multiboot.c: Moved from here ...
27248 * loader/multiboot.c: ... here. All users updated.
27249 (grub_multiboot_boot): Use platform-specific macros.
27250 * loader/i386/multiboot_elfxx.c: Moved from here ...
27251 * loader/multiboot_elfxx.c: ... here. All users updated.
27252 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27253 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27254 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27255
47674667
VS
272562010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 Import gnulib argp module.
27259
27260 * gnulib/argp-ba.c: New file.
27261 * gnulib/argp-eexst.c: Likewise.
27262 * gnulib/argp-fmtstream.c: Likewise.
27263 * gnulib/argp-fmtstream.h: Likewise.
27264 * gnulib/argp-fs-xinl.c: Likewise.
27265 * gnulib/argp-help.c: Likewise.
27266 * gnulib/argp-namefrob.h: Likewise.
27267 * gnulib/argp-parse.c: Likewise.
27268 * gnulib/argp-pin.c: Likewise.
27269 * gnulib/argp-pv.c: Likewise.
27270 * gnulib/argp-pvh.c: Likewise.
27271 * gnulib/argp-version-etc.c: Likewise.
27272 * gnulib/argp-version-etc.h: Likewise.
27273 * gnulib/argp-xinl.c: Likewise.
27274 * gnulib/argp.h: Likewise.
27275
495442ed
VS
272762010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27277
27278 * kern/device.c (grub_device_iterate): Clear errors after failed
27279 opening device.
27280
f9fd65df
VS
272812010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27284 returned by firmware.
27285
af09641e
VS
272862010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27287
27288 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27289 compilation on coreboot and qemu
27290
016883a5
VS
272912010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 * include/multiboot2.h: Resync with spec.
27294
f97e1f7d
VS
272952010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27296
27297 Multiboot2 tag support
27298
27299 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27300 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27301 Remove loader/multiboot_loader.c.
27302 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27303 (grub_multiboot2_real_boot): Likewise.
27304 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27305 (grub_get_multiboot_mmap_count): New proto.
27306 (grub_fill_multiboot_mmap): Likewise.
27307 (grub_multiboot_set_video_mode): Likewise.
27308 (grub_multiboot_set_console): Likewise.
27309 (grub_multiboot_load): Likewise.
27310 (grub_multiboot_load_elf): Likewise.
27311 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27312 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27313 * include/multiboot.h: Resynced with specification.
27314 * include/multiboot2.h: Resynced with specification.
27315 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27316 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27317 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27318 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27319 users updated.
27320 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27321 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27322 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27323 Removed.
27324 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27325 Moved from here...
27326 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27327 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27328 Moved from here...
27329 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27330 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27331 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27332 All users updated.
27333 * loader/i386/multiboot_mbi2.c: New file.
27334
3506b90b
VS
273352010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 Resync with gnulib.
27338
27339 * Makefile.in (GNULIB_CFLAGS): New variable.
27340 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27341 (grub_script_check_CFLAGS): New variable.
27342 * gnulib/alloca.h: Resync with gnulib.
27343 * gnulib/error.c: Likewise.
27344 * gnulib/error.h: Likewise.
27345 * gnulib/fnmatch.c: Likewise.
27346 * gnulib/fnmatch_loop.c: Likewise.
27347 * gnulib/getdelim.c: Likewise.
27348 * gnulib/getline.c: Likewise.
27349 * gnulib/getopt.c: Likewise.
27350 * gnulib/getopt1.c: Likewise.
27351 * gnulib/getopt_int.h: Likewise.
27352 * gnulib/gettext.h: Likewise.
27353 * gnulib/progname.c: Likewise.
27354 * gnulib/progname.h: Likewise.
27355
394a3120
GS
273562010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27357
27358 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27359 which is the case with --disabled-nls.
27360
27361 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27362 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27363 * util/misc.c: Likewise.
27364 * util/mkisofs/mkisofs.c: Likewise.
27365 * util/mkisofs/mkisofs.h: Likewise.
27366
969d1c78
VS
273672010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27368
27369 Simplify Apple CC support.
27370
27371 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27372 Add 0 byte at the end not to have a symbol with empty target.
27373 * mmap/i386/pc/mmap_helper.S: Likewise.
27374 * genmk.rb: Ignore errors 2030 and 2050.
27375 * kern/i386/pc/startup.S: Use LOCAL when possible.
27376
8d2977bb
BC
273772010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27378
27379 Testcase and the fix for final semicolon on cmdline.
27380
27381 * tests/grub_script_final_semicolon.in: New testcase.
27382 * conf/tests.rmk: Rules for the new testcase.
27383 * script/parser.y: Grammar fix.
27384
a7bd6915
BC
273852010-03-26 BVK Chaitanya <bvk@localhost>
27386
27387 Blank lines testcase for GRUB script.
27388
27389 * tests/grub_script_blanklines.in: New testcase.
27390 * conf/tests.rmk: Rules for the new testcase.
27391
e4ff6628
VS
273922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 Don't use __FILE__.
27395
27396 * genmk.rb: Add -DGRUB_FILE to all C targets.
27397 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27398 * include/grub/list.h: Likewise.
27399 * include/grub/misc.h: Likewise.
27400 * include/grub/mm.h: Likewise.
27401 * include/grub/test.h: Likewise.
27402 * kern/mm.c: Likewise.
27403 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27404
6a5cf6b6
VS
274052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27406
27407 Sunpc partitions support.
27408
27409 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27410 (grub_fstest_SOURCES): Likewise.
27411 (pkglib_MODULES): Add part_sunpc.mod.
27412 (part_sunpc_mod_SOURCES): New variable.
27413 (part_sunpc_mod_CFLAGS): Likewise.
27414 (part_sunpc_mod_LDFLAGS): Likewise.
27415 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27416 * partmap/sunpc.c: New file.
27417
746d9045
BC
274182010-03-26 BVK Chaitanya <bvk@localhost>
27419
27420 For loop support to GRUB script.
27421
27422 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27423 (grub_script_create_cmdfor): New function prototype.
27424 (grub_script_execute_cmdfor): New function prototype.
27425 * script/execute.c (grub_script_execute_cmdfor): New function.
27426 * script/parser.y (command): New for command.
27427 (forcmd): New grammar rule.
27428 * script/script.c (grub_script_create_cmdfor): New function.
27429 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27430 function.
27431 * tests/grub_script_for1.in: New testcase.
27432 * conf/tests.rmk: Rules for new testcase.
27433
18486b18
VS
274342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27435
27436 Nested partitions
27437
27438 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27439 'partition' is NULL, grub_partition_get_start already does that.
27440 * commands/loadenv.c (check_blocklists): Likewise.
27441 (write_blocklists): Likewise.
27442 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27443 (grub_fstest_SOURCES): Likewise.
27444 (pkglib_MODULES): Add part_bsd.mod.
27445 (part_bsd_mod_SOURCES): New variable.
27446 (part_bsd_mod_CFLAGS): Likewise.
27447 (part_bsd_mod_LDFLAGS): Likewise.
27448 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27449 (grub_emu_SOURCES): Likewise.
27450 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27451 * include/grub/bsdlabel.h: New file.
27452 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27453 'get_name'.
27454 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27455 (grub_partition_map_list): New variable.
27456 (grub_partition_map_register): Inline.
27457 (grub_partition_map_unregister): Likewise.
27458 (FOR_PARTITION_MAPS): New macro.
27459 (grub_partition_map_iterate): Removed.
27460 (grub_partition_get_start): Handle nested partitions.
27461 * include/grub/msdos_partition.h: Remove bsd-related entries.
27462 (grub_pc_partition): Remove.
27463 * kern/disk.c (grub_disk_close): Free partition data.
27464 (grub_disk_adjust_range): Handle nested partitions.
27465 * kern/partition.c (grub_partition_map_probe): New function.
27466 (grub_partition_probe): Parse name to number, handle subpartitions.
27467 (get_partmap): New function.
27468 (grub_partition_iterate): Handle subpartitions.
27469 (grub_partition_get_name): Likewise.
27470 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27471 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27472 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27473 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27474 Set 'number'.
27475 (acorn_partition_map_probe): Remove.
27476 (acorn_partition_map_get_name): Likewise.
27477 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27478 Set 'number'.
27479 Set 'index' to 0 since there can be only one partition entry per sector.
27480 (amiga_partition_map_probe): Remove.
27481 (amiga_partition_map_get_name): Likewise.
27482 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27483 Set 'number'.
27484 Set 'offset' and 'index' to real positions of partitions.
27485 (apple_partition_map_probe): Remove.
27486 (apple_partition_map_get_name): Likewise.
27487 * partmap/bsdlabel.c: New file.
27488 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27489 Set 'number'.
27490 Allocate 'data' so it can be correctly freed.
27491 Set 'index' to offset inside sector.
27492 (gpt_partition_map_probe): Remove.
27493 (gpt_partition_map_get_name): Likewise.
27494 * partmap/msdos.c (grub_partition_parse): Remove.
27495 (pc_partition_map_iterate): Don't force raw access.
27496 Set 'number'.
27497 Make 'ext_offset' a local variable.
27498 (pc_partition_map_probe): Remove.
27499 (pc_partition_map_get_name): Remove.
27500 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27501 Set 'number'.
27502 (sun_partition_map_probe): Remove.
27503 (sun_partition_map_get_name): Likewise.
27504 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27505 (grub_pcpart_type): Likewise.
27506 * util/hostdisk.c (open_device): Handle new numbering scheme.
27507 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27508 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27509 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27510 * util/grub-install.in: Insert all subpartition modules.
27511 * util/ieee1275/grub-install.in: Likewise.
27512
a3940f88
AG
275132010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27514
27515 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27516 grammar.
27517
21b99926 275182010-03-24 Colin Watson <cjwatson@ubuntu.com>
27519
27520 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27521
bed1d352
CW
275222010-03-21 Colin Watson <cjwatson@ubuntu.com>
27523
27524 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27525 match where 'make install' puts them.
27526 * util/i386/efi/grub-install.in: Likewise.
27527
c9f58427
CW
275282010-03-19 Colin Watson <cjwatson@ubuntu.com>
27529
27530 * .bzrignore: Add gentrigtables, grub-script-check,
27531 grub_script_check_init.c, grub_script_check_init.h, and
27532 trigtables.c.
27533
f84afb27
VS
275342010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27535
27536 * kern/parser.c: Indented.
27537
ed0e3d30
VS
275382010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27539
27540 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27541
0ea81d98
VS
275422010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27543
27544 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27545 alpha_mask_size == 0 case.
27546
0cdc2a09
BC
275472010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27548
27549 GRUB shell lexer and parser improvements.
27550
27551 * conf/any-emu.rmk: Build rule updates.
27552 * conf/common.rmk: Likewise.
27553 * conf/i386-coreboot.rmk: Likewise.
27554 * conf/i386-efi.rmk: Likewise.
27555 * conf/i386-ieee1275.rmk: Likewise.
27556 * conf/i386-pc.rmk: Likewise.
27557 * conf/powerpc-ieee1275.rmk: Likewise.
27558 * conf/x86_64-efi.rmk: Likewise.
27559
27560 * configure.ac: Configure check for flex.
27561
27562 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27563 types.
27564 (grub_lexer_param): Struct member updates.
27565 (grub_parser_param): Likewise.
27566 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27567 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27568 (grub_script_lexer_init): Prototype update.
27569 (grub_script_lexer_record_start): Likewise.
27570 (grub_script_lexer_record_stop): Likewise.
27571 (grub_script_lexer_yywrap): New function prototype.
27572 (grub_script_lexer_fini): Likewise.
27573 (grub_script_execute_argument_to_string): Removed by...
27574 (grub_script_execute_argument_to_argv): ...better version.
27575
27576 * script/execute.c (ROUND_UPTO): New macro.
27577 (grub_script_execute_cmdline): Out of memory fixes.
27578 (grub_script_execute_menuentry): Likewise.
27579 (grub_script_execute_argument_to_string): Removed. Update all
27580 users by...
27581 (grub_script_execute_argument_to_argv): ...better version.
27582 * script/function.c (grub_script_function_create): Use
27583 grub_script_execute_argument_to_argv instead of
27584 grub_script_execute_argument_to_string.
27585
27586 * script/lexer.c (check_varstate): Removed.
27587 (check_textstate): Removed.
27588 (grub_script_lexer_record_start): Likewise.
27589 (grub_script_lexer_record_stop): Likewise.
27590 (recordchar): Replaced with...
27591 (grub_script_lexer_record): ...new function.
27592 (nextchar): Removed.
27593 (grub_script_lexer_init): Rewritten.
27594 (grub_script_yylex): Rewritten.
27595 (append_newline): New function.
27596 (grub_script_lexer_yywrap): New function.
27597 (grub_script_lexer_fini): New function.
27598 (grub_script_yyerror): Sets error flag.
27599
27600 * script/yylex.l: New file.
27601 (grub_lexer_yyfree): Wrapper for flex yyffre.
27602 (grub_lexer_yyalloc): Likewise.
27603 (grub_lexer_yyrealloc): Likewise.
27604 * script/parser.y: Refactored.
27605
27606 * script/script.c (grub_script_arg_add): Out of memory fixes.
27607 (grub_script_add_arglist): Likewise.
27608 (grub_script_create_cmdline): Likewise.
27609 (grub_script_create_cmdmenu): Likewise.
27610 (grub_script_add_cmd): Likewise.
27611 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27612 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27613 unnecessary code.
27614
27615 * tests/grub_script_echo1.in: New testcase.
27616 * tests/grub_script_vars1.in: New testcase.
27617 * tests/grub_script_echo_keywords.in: New testcase.
27618
1d63a066
VS
276192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27620
27621 Remove some redundancy in build system.
27622
27623 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27624 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27625 (TARGET_LDFLAGS): Add -nostdlib.
27626 (TARGET_IMG_LDFLAGS): Likewise.
27627 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27628 anything since mmap isn't available.
27629 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27630 Add util/time.c.
27631 (pkglib_MODULES): Remove reboot.mod.
27632 (reboot_mod_SOURCES): Removed.
27633 (reboot_mod_CFLAGS): Likewise.
27634 (reboot_mod_LDFLAGS): Likewise.
27635 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27636 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27637 (DEFSYMFILES): Add kernel_syms.lst.
27638 (kernel_img_HEADERS): Add common headers.
27639 (symlist.c): New target.
27640 (kernel_syms.lst): Likewise.
27641 (pkglib_MODULES): Add memdisk.mod.
27642 (memdisk_mod_SOURCES): New variable.
27643 (memdisk_mod_CFLAGS): Likewise.
27644 (memdisk_mod_LDFLAGS): Likewise.
27645 (pkglib_MODULES): Add reboot.mod.
27646 (reboot_mod_SOURCES): New variable.
27647 (reboot_mod_CFLAGS): Likewise.
27648 (reboot_mod_LDFLAGS): Likewise.
27649 (pkglib_MODULES): Add date.mod.
27650 (date_mod_SOURCES): New variable.
27651 (date_mod_CFLAGS): Likewise.
27652 (date_mod_LDFLAGS): Likewise.
27653 (pkglib_MODULES): Add datehook.mod.
27654 (datehook_mod_SOURCES): New variable.
27655 (datehook_mod_CFLAGS): Likewise.
27656 (datehook_mod_LDFLAGS): Likewise.
27657 (pkglib_MODULES): Add lsmmap.mod.
27658 (lsmmap_mod_SOURCES): New variable.
27659 (lsmmap_mod_CFLAGS): Likewise.
27660 (lsmmap_mod_LDFLAGS): Likewise.
27661 (pkglib_MODULES): Add boot.mod.
27662 (boot_mod_SOURCES): New variable.
27663 (boot_mod_CFLAGS): Likewise.
27664 (boot_mod_LDFLAGS): Likewise.
27665 * conf/i386-coreboot.rmk: Removed redundant parts.
27666 * conf/i386-ieee1275.rmk: Likewise.
27667 * conf/i386-pc.rmk: Likewise.
27668 * conf/mips-yeeloong.rmk: Likewise.
27669 * conf/mips.rmk: Likewise.
27670 * conf/powerpc-ieee1275.rmk: Likewise.
27671 * conf/sparc64-ieee1275.rmk: Likewise.
27672 * conf/x86_64-efi.rmk: Likewise.
27673 * conf/i386-coreboot.rmk: Moved qemu parts ..
27674 * conf/i386-qemu.rmk: ... here
27675 * conf/i386-efi.rmk: Moved common parts to...
27676 * conf/x86-efi.rmk: ... here.
27677 * conf/i386.rmk: Added modules common to all x86 variants.
27678 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27679 * disk/memdisk.c: Remove grub/machine/kernel.h.
27680 * gensymlist.sh.in: Include symbol.h.
27681 * hook/datehook.c: Correct module name.
27682 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27683 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27684 * include/grub/i386/efi/serial.h: New file.
27685 * include/grub/x86_64/efi/serial.h: Likewise.
27686 * util/time.c: Likewise.
27687 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27688
463ac55f
CK
276892010-03-14 Colin King <colin.king@ubuntu.com>
276902010-03-14 Colin Watson <cjwatson@ubuntu.com>
27691
27692 Shrink the pre-partition-table part of boot.img by eight bytes.
27693
27694 * boot/i386/pc/boot.S (ERR): New macro.
27695 (chs_mode): Use ERR.
27696 (geometry_error): Likewise.
27697 (hd_probe_error): Remove. This is only used once, so we wrwite
27698 it inline instead.
27699 (read_error): Instead of printing read_error_string, just set up
27700 %si and fall through to ...
27701 (error_message): ... this new function, also used by ERR.
27702
08e46ede
CW
277032010-03-14 Colin Watson <cjwatson@ubuntu.com>
27704
27705 Speed up consecutive hostdisk operations on the same device.
27706
27707 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27708 (grub_util_biosdisk_open): Initialise disk->data.
27709 (struct linux_partition_cache): New structure.
27710 (linux_find_partition): Cache partition start positions; these are
27711 expensive to compute on every read and write.
27712 (open_device): Cache open file descriptor in disk->data, so that we
27713 don't have to reopen it and flush the buffer cache for consecutive
27714 operations on the same device.
27715 (grub_util_biosdisk_close): New function.
27716 (grub_util_biosdisk_dev): Set `close' member.
27717
27718 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27719 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27720 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27721 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27722 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27723
4a6d2d06
VS
277242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27725
27726 Compile parts of grub-emu as modules.
27727
27728 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27729 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27730 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27731 (all-local): Add $(GRUB_EMU).
27732 (install-local): Install $(GRUB_EMU).
27733 (uninstall): Uninstall $(GRUB_EMU).
27734 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27735 * kern/dl.c: Likewise.
27736 * commands/sleep.c: Not include machine/time.h.
27737 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27738 (COMMON_CFLAGS): Likewise.
27739 (sbin_UTILITIES): Remove grub-emu.
27740 (grub_emu_SOURCES): Removed.
27741 (kernel_img_RELOCATABLE): New variable.
27742 (pkglib_PROGRAMS): Add kernel.img.
27743 (kernel_img_SOURCES): New variable
27744 (kernel_img_CFLAGS): Likewise.
27745 (kernel_img_LDFLAGS): Likewise.
27746 (TARGET_NO_STRIP): Likewise.
27747 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27748 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27749 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27750 (grub-emu): New target.
27751 (GRUB_EMU): New variable.
27752 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27753 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27754 * loader/xnu.c: Likewise.
27755 * include/grub/pci.h: Likewise.
27756 * genemuinit.sh: New file.
27757 * genemuinitheader.sh: Likewise.
27758 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27759 Support TARGET_NO_DYNAMIC_MODULES.
27760 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27761 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27762 * disk/loopback.c: Likewise.
27763 * font/font_cmd.c: Likewise.
27764 * partmap/acorn.c: Likewise.
27765 * partmap/amiga.c: Likewise.
27766 * partmap/apple.c: Likewise.
27767 * partmap/gpt.c: Likewise.
27768 * partmap/msdos.c: Likewise.
27769 * partmap/sun.c: Likewise.
27770 * parttool/msdospart.c: Likewise.
27771 * term/gfxterm.c: Likewise.
27772 * video/bitmap.c: Likewise.
27773 * video/readers/jpeg.c: Likewise.
27774 * video/readers/png.c: Likewise.
27775 * video/readers/tga.c: Likewise.
27776 * video/video.c: Likewise.
27777 * util/grub-emu.c (read_command_list): Removed.
27778 (main): Don't call util_init_nls.
27779 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27780 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27781
91fdd2ed
VS
277822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27785 date.mod, datehook.mod.
27786 (datetime_mod_SOURCES): New variable.
27787 (datetime_mod_CFLAGS): Likewise.
27788 (datetime_mod_LDFLAGS): Likewise.
27789 (date_mod_SOURCES): Likewise.
27790 (date_mod_CFLAGS): Likewise.
27791 (date_mod_LDFLAGS): Likewise.
27792 (datehook_mod_SOURCES): Likewise.
27793 (datehook_mod_CFLAGS): Likewise.
27794 (datehook_mod_LDFLAGS): Likewise.
27795 * conf/sparc64-ieee1275.rmk: Likewise.
27796 * lib/ieee1275/datetime.c: New file.
27797
873ccae6
VS
277982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27801 (ieee1275_fb_mod_SOURCES): New variable.
27802 (ieee1275_fb_mod_CFLAGS): Likewise.
27803 (ieee1275_fb_mod_LDFLAGS): Likewise.
27804 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27805 New proto.
27806 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27807 (HEAP_MAX_ADDR): Likewise.
27808 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27809 type.
27810 Correct stop condition.
27811 (grub_ieee1275_devices_iterate): New function.
27812 * video/ieee1275.c: New file.
27813
601c97c0
VS
278142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27815
27816 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27817
27818 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27819 as scratch.
27820 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27821 SCRATCH_PAD_DISKBOOT as scratch.
27822 (bootit): Pass Openfirmware pointer in %o4.
27823 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27824 of 0x200000.
27825 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27826 with util/grub-mkrawimage.c.
27827 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27828 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27829 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27830 (grub_aout_load) [GRUB_UTIL]: Likewise.
27831 * include/grub/kernel.h (grub_modules_get_end): New proto.
27832 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27833 (SCRATCH_PAD_BOOT): New definition.
27834 (SCRATCH_PAD_DISKBOOT): Likewise.
27835 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27836 * include/grub/sparc64/ieee1275/ieee1275.h
27837 (grub_ieee1275_original_stack): New variable
27838 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27839 New definition
27840 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27841 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27842 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27843 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27844 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27845 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27846 (grub_platform_image_format_t): New type.
27847 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27848 * kern/main.c (grub_modules_get_end)
27849 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27850 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27851 (codestart): Switch stacks.
27852 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27853 variable.
27854 (grub_heap_init): Use grub_modules_get_end.
27855 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27856 stack.
27857 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27858 (main): Likewise.
27859 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27860
d68b491e
TG
278612010-03-14 Thorsten Glaser <tg@mirbsd.org>
27862
27863 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27864
4e02ed50
MK
278652010-03-08 Matt Kraai <kraai@ftbfs.org>
27866
27867 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27868 bug #559005).
27869
1f15fc1e
VS
278702010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * genmoddep.awk: Output all missing symbols and not only first.
27873
fce5d8ff
VS
278742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * NEWS: Put the date of 1.98 release.
27877
d1e8a02f
VS
278782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27879
27880 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27881 ft2build.h.
27882
696fd607
VS
278832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27884
27885 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27886 completition in the middle of string.
27887
33e2e6f3
VS
278882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * util/grub-mkrescue.in: Use mktemp with explicit template.
27891
b1f6d291
VS
278922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27893
27894 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27895
2ac227c7
VS
278962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27897
27898 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27899 right pointer.
27900
8f9a632b
VS
279012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27902
27903 Fix FreeBSD compilation.
27904
27905 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27906 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27907
60b03859
VS
279082010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27911
48a5a769
VS
279122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27913
27914 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27915
3ab4bd77
VS
279162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27917
27918 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27919
d116e0d8
RM
279202010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27921
27922 Support relative image path in theme file.
27923
27924 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27925 (image_set_property): Handle theme_dir and relative path.
27926
c7ef54aa
VS
279272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * configure.ac: Alias amd64 to x86_64.
27930
fcee14ed
VS
279312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * NEWS: mention multiboot on EFI.
27934
d0780363
VS
279352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 * kern/main.c (grub_load_modules): Handle errors from init functions of
27938 embeded modules.
27939
41168ea4
VS
279402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 * normal/autofs.c (autoload_fs_module): Handle errors.
27943
b54d93ac
VS
279442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27945
27946 Disable linux.mod on qemu-mips since it's not functional and leads
27947 to compilation failure.
27948
27949 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27950 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27951 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27952 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27953 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27954 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27955 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27956 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27957 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27958 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27959 Reported by: BVK Chaitanya
27960
fc8345da
JU
279612010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27962
27963 * INSTALL: Add gettext as a dependency and add qemu to a new section
27964 "Prerequisites for make-check".
27965
4760f979
CF
279662010-03-04 Christian Franke <franke@computer.org>
27967
27968 * util/grub-pe2elf.c: Add missing include "progname.h".
27969
f209b5b2
VS
279702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 * normal/crypto.c (read_crypto_list): Fix a typo.
27973 Reported by: Seth Goldberg.
27974
b4b7be98
VS
279752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27978 Reported by: Seth Goldberg.
b4b7be98 27979
c0ee0385
VS
279802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27983 ascii.bitmaps.
27984
a8efbf64
VS
279852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27988 Reported by: Seth Goldberg.
a8efbf64 27989
08dcd913
VS
279902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 * util/i386/efi/grub-install.in: Copy gettext files.
27993
c4d0b332
VS
279942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27995
27996 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27997
c6f2fe52
VS
279982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 Wait for user entry basing on presence of output rather than on errors.
28001
28002 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28003 (grub_install_newline_hook): Likewise.
28004 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28005 * normal/menu.c (show_menu): Check line_counter to determine presence
28006 of output.
28007 * normal/term.c (grub_normal_line_counter): New variable.
28008 (grub_normal_get_line_counter): New function.
28009 (grub_install_newline_hook): Likewise.
28010
5382b1e4
VS
280112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28014
5519963b
VS
280152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * configure.ac: Update version to 1.98.
28018
72b28631
VS
280192010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28020
28021 * util/grub.d/10_linux.in (linux_entry): Don't default to
28022 gfxpayload=keep if Linux doesn't support video handover.
28023
c140a180
VS
280242010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28025
28026 Don't compile video modules on yeeloong since video subsystem is part
28027 of kernel.
28028
28029 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28030 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28031 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28032 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28033 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28034 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28035 * include/grub/bitmap_scale.h: Likewise.
28036 * include/grub/bufio.h: Likewise.
28037 * include/grub/font.h: Likewise.
28038 * include/grub/gfxterm.h: Likewise.
28039 * include/grub/video.h: Likewise.
28040 * include/grub/vbe.h: Don't include video_fb.h.
28041 * video/i386/pc/vbe.c: Include video_fb.h.
28042 * commands/i386/pc/vbetest.c: Include video.h.
28043
a0ca21c2
CW
280442010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28045
28046 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28047 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28048 default entry if GRUB_SAVEDEFAULT=true. This allows using
28049 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28050 saving a new default on every boot.
28051
4a8a763c
VS
280522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28053
28054 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28055 * normal/term.c (read_terminal_list): Likewise.
28056 * normal/main.c (grub_normal_init_page): Likewise.
28057 (grub_normal_read_line_real): Likewise.
28058
607ffde2
VS
280592010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28060
28061 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28062 memory leak.
28063 Reported by: Seth Goldberg.
28064
2b8fa975
CW
280652010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28066
28067 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28068 duplicate declaration of `start'.
28069
618307dd
VS
280702010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28073 filename.
28074 Reported by: Georgy Buranov
28075
7dd05b96 280762010-02-20 Carles Pina i Estany <carles@pina.cat>
28077
28078 * util/grub-mkrawimage.c (usage): Change string formatting to
28079 improve gettext.
28080
d1484a42
MRA
280812010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28082
28083 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28084 backspace keys.
28085
42b1d186
VS
280862010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28087
28088 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28089 Reported by: Michael Suchanek.
28090
280912010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28092
28093 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28094 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28095
d9f31a41
VS
280962010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 Remove any reference to non-free fonts.
28099
28100 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28101 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28102 uses non-free components.
28103 * font/font.c (grub_font_get_name): Remove example name.
28104 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28105 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28106 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28107 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28108
2793c71e
GB
281092010-02-16 Georgy Buranov <gburanov@gmail.com>
28110
28111 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28112
402e3779
VS
281132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28114
28115 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28116 Double divisor.
28117 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28118 features.
28119 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28120
0dd1e0dd
VS
281212010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28124
6fa7cfce
ST
281252010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28126
28127 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28128 * docs/grub.texi (Command-line and menu entry commands): Document play
28129 command.
28130
37c8483b
ST
281312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28132
28133 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28134 parse arguments as inline tempo and notes. Move code for playing notes
28135 to...
28136 (play): ... new function.
28137
14da0fb7
ST
281382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28139
28140 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28141 grub_uint16_t instead of short.
28142 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28143 disk from little endian to cpu endianness.
28144
04459e70
ST
281452010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28146
28147 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28148 GRUB_TICKS_PER_SECOND instead of 120.
28149
a0876943
VS
281502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28151
28152 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28153 escape sequence after \e.
28154
e29f95dc
VS
281552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28158 non-ASCII characters.
28159
d27859b2
VS
281602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28161
28162 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28163 set root in single quotes to prevent \, from being unescaped.
28164
bc028f2f
VS
281652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Prevent unknown commands from stopping menuentry execution.
28168
28169 * script/execute.c (grub_script_execute_cmdline): Print error after
28170 unknown command.
28171
095f5f82
VS
281722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28173
28174 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28175 Reported by: Pavel Pisa.
28176
8c717950
VS
281772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28180
904935c3
VS
281812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 Merge grub_ieee1275_map_physical into grub_map and rename to
28184 grub_ieee1275_map
28185
28186 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28187 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28188 Remove.
28189 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28190 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28191 necessary.
28192 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28193
5b59a4e3
VS
281942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28197 opening and not after.
28198
69e137e8
VS
281992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28200
28201 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28202 constants.
28203
2c0fcc36
VS
282042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28205
28206 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28207 (alloc_phys): Use ALIGN_UP instead of align_addr.
28208
8c6052ce
VS
282092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28212
17cec782
VS
282132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28216
e0128bbd
VS
282172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28218
28219 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28220 verbose dprintf.
28221
ca62070b
VS
282222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28223
28224 Fix over-4GiB seek on sparc64.
28225
28226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28227 Replace pos_i and pos_lo with pos. All users updated.
28228 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28229 New constant.
28230 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28231 Likewise.
28232 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28233 and pos_lo.
28234
bdca2607
VS
282352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * util/grub-mkrawimage.c (main): Call set_program_name.
28238
da278c4d
VS
282392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 Properly align 64-bit targets.
28242
28243 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28244 (generate_image): Use ALIGN_ADDR.
28245
b274d734
VS
282462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28247
28248 Properly create cross-endian images.
28249
28250 * include/grub/types.h (grub_host_to_target_addr): New macro
28251 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28252
82da2062
VS
282532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28256
7cae4377
VS
282572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28258
28259 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28260
28261 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28262 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28263 (grub_linux_boot): Divide by 64K when on VESA.
28264
65a533e7
VS
282652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28266
28267 Support GRUB_GFXPAYLOAD_LINUX.
28268
28269 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28270 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28271
dd01d397
VS
282722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28273
28274 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28275 to show messages instead of discarding them.
28276 Process errors after executing command and not before. Keep old method
28277 too as precaution.
28278
660960d6
VS
282792010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28280
28281 * configure.ac: Check for ft2build.h.
28282
62509f04
VS
282832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28286
473df63d
VS
282872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 * genkernsyms.sh.in: Use TARGET_CC.
28290
c98d2a13
CW
282912010-02-07 Colin Watson <cjwatson@ubuntu.com>
28292
28293 * NEWS: Update.
28294
6e14234c
VS
282952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28296
28297 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28298 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28299 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28300
b255e9cf
YB
283012010-02-07 Yves Blusseau <blusseau@zetam.org>
28302
6e14234c 28303 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28304
98e6959d
VS
283052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28306
28307 Fix warnings in grub-emu when compiling with maximum warning options.
28308
28309 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28310 (grub_arch_modules_addr): Return 0 and not NULL.
28311 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28312 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28313 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28314 of disk to dsk to avoid shadowing.
74e4934e
VS
28315 (find_free_slot): Fix prototype.
28316 * util/getroot.c (grub_util_is_dmraid): Make static.
28317 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28318 Add missing prototype.
28319 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28320
74e31b5c
VS
283212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28324 appropriately.
28325
6b2ad14b
VS
283262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28327
28328 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28329 code out.
28330
8f891adc
VS
283312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28332
28333 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28334 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28335 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28336 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28337 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28338 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28339
74b45184
VS
283402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28341
28342 * include/grub/err.h (grub_err_printf): Don't export.
28343
a4bced77
VS
283442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28345
28346 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28347
007d0695
VS
283482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28351 * kern/misc.c (grub_gettext_dummy): Make static.
28352
b6c0d9c2
VS
283532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28356 by non-valid ones.
28357 * kern/term.c (grub_putchar): Likewise.
28358
f51a90d0
VS
283592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28360
28361 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28362 buggy hook call and memory leak.
28363
6846cec5
VS
283642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28367
468d69fe
VS
283682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28369
28370 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28371
51906b8c
VS
283722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28373
28374 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28375 modevar.
28376 Return grub_errno on allocation error.
28377
09706ce5
VS
283782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28379
28380 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28381
911df80c
YB
283822010-02-06 Yves Blusseau <blusseau@zetam.org>
28383
28384 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28385 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28386
3746a6bc
VS
283872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28388
28389 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28390 non-pxe disk.
28391 (grub_pxefs_open): Likewise.
28392
09706ce5
VS
283932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28394
28395 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28396 * util/grub.d/10_kfreebsd.in: Likewise.
28397 * util/grub.d/10_linux.in: Likewise.
28398
7cc192d9
VS
283992010-02-06 Colin D Bennett <colin@gibibit.com>
28400
28401 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28402 (gfxmenu_mod_SOURCES): New variable.
28403 (gfxmenu_mod_CFLAGS): Likewise.
28404 (gfxmenu_mod_LDFLAGS): Likewise.
28405 * include/grub/term.h (grub_term_set_current_output): Declare
28406 argument as const.
28407 * docs/gfxmenu-theme-example.txt: New file.
28408 * gfxmenu/gfxmenu.c: Likewise.
28409 * gfxmenu/gui_box.c: Likewise.
28410 * gfxmenu/gui_canvas.c: Likewise.
28411 * gfxmenu/gui_circular_progress.c: Likewise.
28412 * gfxmenu/gui_image.c: Likewise.
28413 * gfxmenu/gui_label.c: Likewise.
28414 * gfxmenu/gui_list.c: Likewise.
28415 * gfxmenu/gui_progress_bar.c: Likewise.
28416 * gfxmenu/gui_string_util.c: Likewise.
28417 * gfxmenu/gui_util.c: Likewise.
28418 * gfxmenu/icon_manager.c: Likewise.
28419 * gfxmenu/model.c: Likewise.
28420 * gfxmenu/named_colors.c: Likewise.
28421 * gfxmenu/theme_loader.c: Likewise.
28422 * gfxmenu/view.c: Likewise.
28423 * gfxmenu/widget-box.c: Likewise.
28424 * include/grub/gfxmenu_model.h: Likewise.
28425 * include/grub/gfxmenu_view.h: Likewise.
28426 * include/grub/gfxwidgets.h: Likewise.
28427 * include/grub/gui.h: Likewise.
28428 * include/grub/gui_string_util.h: Likewise.
28429 * include/grub/icon_manager.h: Likewise.
28430
284312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28432
28433 Agglomerate scrolling in gfxterm.
28434
28435 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28436 (grub_virtual_screen_setup): Initialise 'total_screen'.
28437 (write_char): Split to ...
28438 (paint_char): ... this ...
28439 (write_char): ... and this.
28440 (paint_char): Handle delayed scrolling.
28441 (draw_cursor): Likewise.
28442 (scroll_up): Split to ...
28443 (real_scroll): ... this ...
28444 (scroll_up): ... and this.
28445 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28446 characters.
28447 (grub_gfxterm_refresh): Call real_scroll.
28448
284492010-02-06 Colin D Bennett <colin@gibibit.com>
28450
28451 * include/grub/misc.h (grub_iscntrl): New inline function.
28452 (grub_isalnum): Likewise.
28453 (grub_strtol): Likewise.
28454
284552010-02-06 Colin D Bennett <colin@gibibit.com>
28456
28457 * normal/menu_text.c (get_entry_number): Move from here ...
28458 * normal/menu.c (get_entry_number): ... moved here.
28459 * include/grub/menu.h (grub_menu_get_default_entry_index):
28460 New prototype.
28461 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28462 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28463 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28464 (grub_menu_viewer_should_return): Likewise.
28465 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28466 * normal/menu_text.c (run_menu): Enable menu switching.
28467 * normal/menu_viewer.c (should_return): New variable.
28468 (menu_viewer_changed): Likewise.
28469 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28470 (grub_menu_viewer_should_return): New function.
28471 (menuviewer_write_hook): Likewise.
28472 (grub_menu_viewer_init): Likewise.
28473
284742010-02-06 Colin D Bennet <colin@gibibit.com>
284752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 Support for gfxterm in a window.
28478
28479 * include/grub/gfxterm.h: New file.
28480 * include/grub/video.h (struct grub_video_rect): New declaration.
28481 (grub_video_rect_t): Likewise.
28482 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28483 (refcount): New variable.
28484 (render_target): Likewise.
28485 (window): Likewise.
28486 (repaint_callback): Likewise.
28487 (grub_virtual_screen_setup): Use 'render_target'.
28488 (init_window): New function.
28489 (grub_gfxterm_init_window): Likewise.
28490 (grub_gfxterm_init): Check reference counter.
28491 Use init_window.
28492 (destroy_window): New function.
28493 (grub_gfxterm_destroy_window): Likewise.
28494 (grub_gfxterm_fini): Check reference counter.
28495 Use destroy_window.
28496 (redraw_screen_rect): Restore viewport.
28497 Use 'render_target' and 'window'.
28498 Call 'repaint_callback'.
28499 (write_char): Use 'render_target'.
28500 (draw_cursor): Likewise.
28501 (scroll_up): Restore viewport.
28502 Use 'render_target' and 'window'.
28503 Call 'repaint_callback'.
28504 (grub_gfxterm_cls): Likewise.
28505 (grub_gfxterm_refresh): Use 'window'.
28506 (grub_gfxterm_set_repaint_callback): New function.
28507 (grub_gfxterm_background_image_cmd): Use 'window'.
28508 (grub_gfxterm_get_term): New function.
28509 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28510
285112010-02-06 Colin D Bennett <colin@gibibit.com>
28512
28513 Bitmap scaling support.
28514
28515 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28516 (bitmap_scale_mod_SOURCES): New variable.
28517 (bitmap_scale_mod_CFLAGS): Likewise.
28518 (bitmap_scale_mod_LDFLAGS): Likewise.
28519 * include/grub/bitmap_scale.h: New file.
28520 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28521 (background_image_cmd_options): New variable.
28522 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28523 (cmd): Rename and change type to ...
28524 (background_image_cmd_handle): ... this. All users updated.
28525 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28526 * video/bitmap_scale.c: New file.
28527
285282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 SDL support.
28531
28532 * Makefile.in (LIBSDL): New variable.
28533 (enable_grub_emu_sdl): Likewise.
28534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28535 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28536 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28537 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28538 * util/sdl.c: New file.
28539
285402010-02-06 Colin D Bennett <colin@gibibit.com>
285412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 Double buffering support.
28544
28545 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28546 * include/grub/video.h: Update comment.
28547 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28548 New type.
28549 (grub_video_fb_doublebuf_blit_init): New prototype.
28550 * term/gfxterm.c (scroll_up): Support double buffering.
28551 (grub_gfxterm_refresh): Likewise.
28552 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28553 (grub_video_fb_doublebuf_blit_init): Likewise.
28554 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28555 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28556 'displayed_page', 'render_page' and 'update_screen'.
28557 (grub_video_vbe_fini): Free offscreen buffer.
28558 (doublebuf_pageflipping_commit): New function.
28559 (doublebuf_pageflipping_update_screen): Likewise.
28560 (doublebuf_pageflipping_init): Likewise.
28561 (double_buffering_init): Likewise.
28562 (grub_video_vbe_setup): Enable doublebuffering.
28563 (grub_video_vbe_swap_buffers): Implement.
28564 (grub_video_vbe_set_active_render_target): Handle double buffering.
28565 (grub_video_vbe_get_active_render_target): Likewise.
28566 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28567 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28568 (grub_video_vbe_enable_double_buffering): Likewise.
28569 (grub_video_vbe_swap_buffers): Use update_screen.
28570 (grub_video_set_mode): Use double buffering.
28571
285722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28573
28574 * maintainance/gentrigtables.py: Remove.
28575 * lib/trig.c: Likewise.
28576
28577 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28578
28579 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28580 `trigtables.c'.
28581 (trigtables.c): New rule.
28582 (gentrigtables): Likewise.
28583 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28584
285852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28586
28587 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28588 integer constants.
28589
285902010-02-06 Colin D Bennet <colin@gibibit.com>
28591
28592 Trigonometry support.
28593
28594 * include/grub/trig.h: New file.
28595 * lib/trig.c: Likewise.
28596 * maintainance/gentrigtables.py: Likewise.
28597 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28598 (trig_mod_SOURCES): New variable.
28599 (trig_mod_CFLAGS): Likewise.
28600 (trig_mod_LDFLAGS): Likewise.
28601
5562834e
VS
286022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28603
28604 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28605 disk devices.
28606
4f8528fc
VS
286072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28608
28609 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28610 error.
28611
2b4068e9
VS
286122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28613
28614 * util/hostdisk.c (open_device): Don't use partition device when reading
28615 before the partition.
28616 (grub_util_biosdisk_read): Don't read from partition and before the
28617 partition in single operation.
28618 (grub_util_biosdisk_write): Don't write to partition and before the
28619 partition in single operation.
28620
399f6e4d
TL
286212010-02-03 Torsten Landschoff <torsten@debian.org>
28622
28623 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28624 last sectors.
28625
996649b0
VS
286262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28627
28628 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28629 CDROM reads.
28630 (grub_biosdisk_write): Refuse to write to CDROM.
28631
3b205d4d
VS
286322010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28633
28634 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28635
61e89d9d
VS
286362010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28637
28638 * font/font.c (find_glyph): Check that bmp_idx is available before
28639 using it.
28640 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28641 with (font == NULL).
28642
bf7fcba2
CS
286432010-01-28 Christian Schmitt <chris@ilovelinux.de>
28644
28645 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28646
f45d2663
BC
286472010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28648
28649 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28650 * util/grub-script-check.c (getline): Fix empty lines case.
28651
ec1444e6
RM
286522010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28653
28654 * Makefile.in (check): Exit with fail status when one of the tests
28655 fails.
28656 * tests/example_functional_test.c (example_test): Fix reversed assert.
28657 * tests/example_unit_test.c (example_test): Likewise.
28658
2e1cb9bb
CW
286592010-01-28 Colin Watson <cjwatson@ubuntu.com>
28660
28661 * util/grub.d/10_linux.in: This script does not use any of the
28662 contents of gettext.sh, only the external command `gettext', so stop
28663 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28664 the same prefix as GRUB.)
28665 * util/grub.d/10_kfreebsd.in: Likewise.
28666
63533ab0
VS
286672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28668
28669 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28670 of the line.
28671
989e1f93
VS
286722010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28673
28674 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28675 last sectors.
28676
e709ebe2
VS
286772010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28678
28679 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28680 having a 4KiB and not 32KiB buffer size.
28681
27dea7ed
RM
286822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28683
28684 * util/hostfs.c: Include `<errno.h>'.
28685 (grub_hostfs_read): Handle errors from fseeko() and fread().
28686
67667b9c
RM
286872010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28688
28689 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28690 loop when using read hooks on files whose size isn't sector-aligned.
28691
c294d9d8
RM
286922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28693
28694 Remove unused parameter.
28695
28696 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28697 (grub_iso9660_open): Remove initialization of `data->length'.
28698
af75a9f1
RM
286992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28700
28701 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28702 memleak conditions.
28703
254e2ce5 287042010-01-27 Carles Pina i Estany <carles@pina.cat>
28705
28706 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28707 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28708
b510928c 287092010-01-26 Carles Pina i Estany <carles@pina.cat>
28710
28711 * util/bin2h.c (usage): Fix warning (space after backslash).
28712
aa2f9dd2 287132010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28714
28715 * font/font.c: Include `grub/fontformat.h.
28716 Remove font file format constants.
28717 (grub_font_load): Use the new macros.
28718 * include/grub/fontformat.h: New file.
28719 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28720 (write_font_pf2): Use the new macros.
28721
94e7e712
RM
287222010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28723
28724 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28725 does.
28726
3973a59a
RM
287272010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28728
28729 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28730
28731 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28732 (_start): Macroify `0x7F'.
28733
28734 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28735 (make_install_device): Use "(pxe)" as fallback prefix when booting
28736 via PXE.
28737
42e0cba3
GS
287382010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 * configure.ac: Reset LIBS after check for libgcc symbols.
28741
847effd8
CW
287422010-01-25 Colin Watson <cjwatson@ubuntu.com>
28743
28744 * util/hostdisk.c (open_device): Add trailing newline to debug
28745 message.
28746
ea4a7e35
GS
287472010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28748
28749 * configure.ac: Check for `limits.h'.
28750 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28751
67951a53
RM
287522010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28755 capitalize error strings.
28756
c273d4ce
ST
287572010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28758
28759 * util/grub.d/10_hurd.in: Add a recovery mode.
28760
69be5b74
VS
287612010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 * configure.ac: Check for libgcc symbols with -nostdlib.
28764
fc9e5810
BC
287652010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28766
28767 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28768
4b358c0a
VS
287692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28770
28771 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28772 stack since heap may be unavailable at that point.
28773 (grub_ofconsole_gotoxy): Likewise.
28774
454fcd1c
VS
287752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 * configure.ac: Check for _restgpr_14_x.
28778 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28779 and _savegpr_* prototypes.
28780
566863ca
RM
287812010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28782
28783 Use generic grub_reboot() for i386-efi.
28784
28785 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28786 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28787 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28788
bf86e59a
VS
287892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28790
28791 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28792 presence of "prefix" variable as it breaks when normal.mod is
28793 embedded.
28794
d645e0f8
VS
287952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28796
28797 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28798 stack since heap is unavailable at that point.
28799
f9ab2e25
VS
288002010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28803 (grub_freebsd_bootinfo): Rewritten.
28804 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28805
01fc7054
VS
288062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28807
28808 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28809
caab4fd6
RM
288102010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28811
28812 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28813 domain now.
28814
67eb1427
FZ
288152010-01-20 Felix Zielcke <fzielcke@z-51.de>
28816
28817 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28818 around for handling "/" to the correct fix. Fix a memory leak. Use
28819 xstrdup instead of strdup.
28820
a9ed4ff3
VS
288212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28824
288252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28826
28827 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28828
28829 * font/font.c (struct grub_font): New member 'bmp_idx'.
28830 (font_init): Initialise 'bmp_idx'.
28831 (load_font_index): Fill 'bmp_idx'.
28832 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28833
48209f4f
VS
288342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28837 unnecessary calls.
28838
9f0a4bb7
VS
288392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28840
28841 Move context handling out of the kernel.
28842
28843 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28844 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28845 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28846 * conf/i386-efi.rmk: Likewise.
28847 * conf/i386-ieee1275.rmk: Likewise.
28848 * conf/i386-pc.rmk: Likewise.
28849 * conf/powerpc-ieee1275.rmk: Likewise.
28850 * conf/sparc64-ieee1275.rmk: Likewise.
28851 * conf/x86_64-efi.rmk: Likewise.
28852 * include/grub/env.h: Include grub/menu.h.
28853 (grub_env_var_type): Removed.
28854 (grub_env_var): Replaced field 'type' with 'global'.
28855 (grub_env_find): New prototype.
28856 (grub_env_context_open): Remove EXPORT_FUNC.
28857 (grub_env_context_close): Likewise.
28858 (grub_env_export): Likewise.
28859 (grub_env_set_data_slot): Removed.
28860 (grub_env_get_data_slot): Likewise.
28861 (grub_env_unset_data_slot): Likewise.
28862 (grub_env_unset_menu): New prototype.
28863 (grub_env_set_menu): Likewise.
28864 (grub_env_get_menu): Likewise.
28865 * include/grub/env_private.h: New file.
28866 * include/grub/normal.h (grub_context_init): New prototype.
28867 (grub_context_fini): Likewise.
28868 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28869 * normal/context.c (grub_cmd_export): ... to here.
28870 * kern/env.c: Include env_private.h.
28871 (HASHSZ): Moved to include/grub/env_private.h.
28872 (grub_env_context): Likewise.
28873 (grub_env_sorted_var): Likewise.
28874 (current_context): Renamed from this ...
28875 (grub_current_context): ...to this. 'static' removed. All users updated.
28876 (grub_env_find): Removed 'static'.
28877 (grub_env_context_open): Moved to normal/context.c.
28878 (grub_env_context_close): Likewise.
28879 (grub_env_export): Likewise.
28880 (mangle_data_slot_name): Removed.
28881 (grub_env_set_data_slot): Likewise.
28882 (grub_env_get_data_slot): Likewise.
28883 (grub_env_unset_data_slot): Likewise.
28884 * kern/main.c (grub_set_root_dev): Don't export root.
28885 It will be done later.
28886 (grub_main): Don't export prefix.
28887 It will be done later.
28888 * normal/context.c: New file.
28889 * normal/main.c (free_menu): Use grub_env_unset_menu.
28890 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28891 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28892 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28893 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28894
8dd35b8c
VS
288952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28896
28897 setpci support.
28898
28899 * commands/setpci.c: New file.
28900 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28901 (setpci_mod_SOURCES): New variable.
28902 (setpci_mod_CFLAGS): Likewise.
28903 (setpci_mod_LDFLAGS): Likewise.
28904
449193d5
VS
289052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28906
28907 Byte-addressable PCI configuration space.
28908
28909 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28910 dword address.
28911 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28912 GRUB_PCI_REG_CACHELINE.
28913 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28914 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28915 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28916 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28917 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28918 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28919 grub_pci_make_address.
28920 (lock_rom_area): Likewise.
28921 * commands/lspci.c (grub_lspci_iter): Use macroses
28922 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28923 of grub_pci_make_address.
28924 * disk/ata.c (grub_ata_pciinit): Likewise.
28925 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28926 (GRUB_PCI_REG_VENDOR): Likewise.
28927 (GRUB_PCI_REG_DEVICE): Likewise.
28928 (GRUB_PCI_REG_COMMAND): Likewise.
28929 (GRUB_PCI_REG_STATUS): Likewise.
28930 (GRUB_PCI_REG_REVISION): Likewise.
28931 (GRUB_PCI_REG_CLASS): Likewise.
28932 (GRUB_PCI_REG_CACHELINE): Likewise.
28933 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28934 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28935 (GRUB_PCI_REG_BIST): Likewise.
28936 (GRUB_PCI_REG_ADDRESSES): Likewise.
28937 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28938 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28939 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28940 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28941 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28942 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28943 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28944 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28945 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28946 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28947 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28948 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28949 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28950 (GRUB_PCI_REG_MIN_GNT): Likewise.
28951 (GRUB_PCI_REG_MAX_LAT): Likewise.
28952 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28953 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28954 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28955 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28956 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28957 space.
28958
96d73208
RM
289592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28960
28961 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28962 can be reliably determined to be supported.
28963
d4484482
RM
289642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28965
28966 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28967 that VESA is supported.
28968 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28969 supported.
28970
00308ecf
VS
289712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28972
28973 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28974
f66924a4
RM
289752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28976
28977 * util/misc.c (make_system_path_relative_to_its_root): Work around
28978 special-casing of "/", as previous incarnation of this routine did.
28979
cbca0ada
VS
289802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 Fix any-emu compilation.
28983
28984 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28985 * grub_bin2h_SOURCES: New variable.
28986
34a66d99
RM
289872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28988
28989 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28990
94fabf58
RM
289912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 * util/grub.d/00_header.in: Fix handling of locale_dir.
28994
02cf98ca
VS
289952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28998 as possible unifont location (Gentoo).
28999 Reported by: Alexander Brüning
29000
327dbcd7
VS
290012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 Don't try to generate lists for kernel.img.
29004
29005 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29006 (pkglib_MODULES): Remove kernel.img.
29007 (kernel_img_EXPORTS): Removed.
29008 (kernel_img_RELOCATABLE): New variable.
29009 * conf/x86_64-efi.rmk: Likewise.
29010 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29011
ca467290
VS
290122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29015 grub_xasprintf or grub_snprintf.
29016 (grub_vsprintf): Likewise.
29017 (grub_snprintf): New proto.
29018 (grub_vsnprintf): Likewise.
29019 (grub_xasprintf): Likewise.
29020 (grub_xvasprintf): Likewise.
29021 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29022 (grub_sprintf): Removed.
29023 (grub_vsnprintf): New function.
29024 (grub_snprintf): Likewise.
29025 (grub_xvasprintf): Likewise.
29026 (grub_xasprintf): Likewise.
29027 (grub_vsprintf): Renamed to ...
29028 (grub_vsnprintf_real): ...this. New argument max_len.
29029
aca655fd
BC
290302010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29031
29032 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29033 fix grub-script-check warning.
29034
7ee92c32
VS
290352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 * include/grub/font.h (grub_font_load): Fix prototype.
29038
f80927ca
VS
290392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29040
29041 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29042
119c50ea
VS
290432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * include/grub/x86_64/at_keyboard.h: New file.
29046
47d5f3c1
VS
290472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29048
29049 * loader/mips/linux.c: Include missing grub/i18n.h.
29050
55ff5266
RM
290512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29052
29053 * normal/menu.c (notify_execution_failure): Clarify error message.
29054
c893cc87
RM
290552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29056
29057 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29058 return value (and revert all return statements). Update users.
29059
917dd370
CW
290602010-01-20 Dan Merillat <debian@dan.merillat.org>
29061
29062 * kern/device.c (grub_device_iterate): Allocate new part_ent
29063 structure based on sizeof (*p) rather than sizeof (p->next), to
29064 account for structure padding.
29065
29066 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29067 disk is NULL, which might happen for LVM physical volumes with no
29068 LVM signature.
29069
d4a4ee57
RM
290702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * loader/mips/linux.c (grub_cmd_initrd)
29073 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29074
290752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29076
29077 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29078 (grub_video_video_init, grub_video_bitmap_init)
29079 (grub_font_manager_init, grub_term_gfxterm_init)
29080 (grub_at_keyboard_init): New extern declarations.
29081 (grub_machine_init): Initialize gfxterm and at_keyboard.
29082
29083 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29084
29085 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29086 `gfxterm.mod' into core image.
29087
29088 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29089 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29090 (kernel_img_FORMAT): Copy to ...
29091
29092 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29093 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29094 (kernel_img_FORMAT): ... here, and ...
29095
29096 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29097 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29098 (kernel_img_FORMAT): ... here.
29099
29100 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29101 and input (at_keyboard) terminals in kernel.
29102 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29103
29104 (pkglib_MODULES): Remove `pci.mod'.
29105 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29106 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29107 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29108 (at_keyboard_mod_LDFLAGS): Remove variables.
29109
291102010-01-11 Felix Zielcke <fzielcke@z-51.de>
29111
29112 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29113
291142009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29115
29116 * include/grub/mips/libgcc.h: Only export symbols for functions
29117 that libgcc provides.
29118
291192009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29120
29121 MIPS support.
29122
29123 * bus/bonito.c: New file.
29124 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29125 GRUB_PCI_NUM_DEVICES.
29126 * term/i386/pc/serial.c: Move to ...
29127 * term/serial.c: ... here. All users updated.
29128 * util/i386/pc/grub-mkimage.c: Move to ...
29129 * util/grub-mkrawimage.c: ... here. All users updated.
29130 * term/i386/pc/at_keyboard.c: Move to ...
29131 * term/at_keyboard.c: ... here. All users updated.
29132 * conf/mips-qemu-mips.rmk: New file.
29133 * conf/mips-yeeloong.rmk: Likewise.
29134 * conf/mips.rmk: Likewise.
29135 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29136 mipsel-qemu-mips.
29137 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29138 to port addresses.
29139 (grub_ata_pciinit): Support CS5536.
29140 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29141 * font/font_cmd.c (loadfont_command): Open file before passing it to
29142 grub_font_load.
29143 (pseudo_file_read): New function.
29144 (pseudo_file_close): Likewise.
29145 (pseudo_fs): New structure.
29146 (load_font_module): New function.
29147 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29148 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29149 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29150 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29151 * include/grub/i386/at_keyboard.h: Split into ...
29152 * include/grub/at_keyboard.h: ... this ...
29153 * include/grub/i386/at_keyboard.h: ... and this.
29154 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29155 New prototype.
29156 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29157 updated.
29158 (grub_elf64_size): Likewise.
29159 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29160 filename.
29161 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29162 * include/grub/i386/coreboot/serial.h: Rewritten.
29163 * include/grub/i386/ieee1275/serial.h: Include
29164 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29165 * include/grub/i386/pc/serial.h: Moved from here ...
29166 * include/grub/serial.h: ... to here. All users updated.
29167 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29168 (GRUB_PCI_NUM_BUS): Likewise.
29169 (GRUB_PCI_NUM_DEVICES): Likewise.
29170 (grub_pci_device_map_range): Add missing volatile keyword.
29171 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29172 * include/grub/mips/at_keyboard.h: New file.
29173 * include/grub/mips/cache.h: Likewise.
29174 * include/grub/mips/io.h: Likewise.
29175 * include/grub/mips/kernel.h: Likewise.
29176 * include/grub/mips/libgcc.h: Likewise.
29177 * include/grub/mips/pci.h: Likewise.
29178 * include/grub/mips/qemu-mips/boot.h: Likewise.
29179 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29180 * include/grub/mips/qemu-mips/loader.h: Likewise.
29181 * include/grub/mips/qemu-mips/memory.h: Likewise.
29182 * include/grub/mips/qemu-mips/serial.h: Likewise.
29183 * include/grub/mips/qemu-mips/time.h: Likewise.
29184 * include/grub/mips/relocator.h: Likewise.
29185 * include/grub/mips/time.h: Likewise.
29186 * include/grub/mips/types.h: Likewise.
29187 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29188 * include/grub/mips/yeeloong/boot.h: Likewise.
29189 * include/grub/mips/yeeloong/kernel.h: Likewise.
29190 * include/grub/mips/yeeloong/loader.h: Likewise.
29191 * include/grub/mips/yeeloong/memory.h: Likewise.
29192 * include/grub/mips/yeeloong/pci.h: Likewise.
29193 * include/grub/mips/yeeloong/serial.h: Likewise.
29194 * include/grub/mips/yeeloong/time.h: Likewise.
29195 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29196 * kern/elf.c (grub_elf32_size): New parameter. All users
29197 updated.
29198 (grub_elf64_size): Likewise.
29199 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29200 Load modules before saying "Welcome to GRUB!".
29201 Call grub_refresh after saying "Welcome to GRUB!".
29202 * kern/mips/cache.S: New file.
29203 * kern/mips/cache_flush.S: Likewise.
29204 * kern/mips/dl.c: Likewise.
29205 * kern/mips/init.c: Likewise.
29206 * kern/mips/qemu-mips/init.c: Likewise.
29207 * kern/mips/startup.S: Likewise.
29208 * kern/mips/yeeloong/init.c: Likewise.
29209 * kern/term.c (grub_putcode): Handle NULL terminal.
29210 (grub_getcharwidth): Likewise.
29211 (grub_getkey): Likewise.
29212 (grub_checkkey): Likewise.
29213 (grub_getkeystatus): Likewise.
29214 (grub_getxy): Likewise.
29215 (grub_getwh): Likewise.
29216 (grub_gotoxy): Likewise.
29217 (grub_cls): Likewise.
29218 (grub_setcolorstate): Likewise.
29219 (grub_setcolor): Likewise.
29220 (grub_getcolor): Likewise.
29221 (grub_refresh): Likewise.
29222 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29223 (write_jump): Add hatch nop.
29224 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29225 * lib/mips/setjmp.S: New file.
29226 * loader/mips/linux.c: Likewise.
29227 * term/i386/pc/at_keyboard.c: Move from here ...
29228 * term/at_keyboard.c: ... to here.
29229 * term/i386/pc/serial.c: Moved from here ...
29230 * term/serial.c: ... to here. All users updated.
29231 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29232 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29233 (serial_translate_key_sequence): Avoid deadlock.
29234 (grub_serial_getkey): Handle backspace.
29235 (grub_serial_putchar): Fix newline handling.
29236 * util/i386/pc/grub-mkimage.c: Move from here ...
29237 * util/grub-mkrawimage.c: ... to here. All users updated.
29238 (generate_image): New parameters 'font_path' and 'format'.
29239 Support embedding font.
29240 Use grub_host_to_target* instead of grub_cpu_to_le*.
29241 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29242 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29243 (options): New option "--font".
29244 (usage): Likewise.
29245 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29246 (main): Handle "--font".
29247 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29248 (grub_virtual_screen_setup): Set bg_color_display.
29249 (redraw_screen_rect): Use bg_color_display instead of incorrect
29250 bg_color.
29251 (grub_gfxterm_cls): Likewise.
29252 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29253 Support embedding config file.
29254 (add_segments): Likewise.
29255 (options): New option "--config".
29256 (main): Handle "--config".
29257 * video/sm712.c: New file.
29258
25c2b5b3
RM
292592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29260
29261 Fix parallel builds.
29262
29263 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29264 font.c depend on ascii.h).
29265
292662010-01-12 Carles Pina i Estany <carles@pina.cat>
29267
29268 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29269
292702010-01-11 Carles Pina i Estany <carles@pina.cat>
29271
29272 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29273 By default: disabled.
29274 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29275 parameter.
29276
292772010-01-10 Carles Pina i Estany <carles@pina.cat>
29278
29279 * font/font.c: Update copyright years.
29280 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29281
292822010-01-10 Carles Pina i Estany <carles@pina.cat>
29283
29284 * font/font.c: Include `ascii.h'.
29285 (ASCII_BITMAP_SIZE): New macro.
29286 (ascii_font_glyph): Define.
29287 (ascii_glyph_lookup): New function.
29288 (grub_font_get_string_width): Change comment. If glyph not found, use
29289 ascii_glyph_lookup.
29290 (grub_font_get_glyph_with_fallback): If glyph not available returns
29291 ascii_glyph_lookup.
29292 * util/grub-mkfont.c (file_formats): New enum.
29293 (options): Add `ascii-bitmaps' new option.
29294 (usage): Add `asii-bitmaps' new option.
29295 (write_font_ascii_bitmap): New function.
29296 (write_font): Rename to ...
29297 (write_font_p2): ... this. Remove print_glyphs call.
29298 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29299 used. Call print_glyphs.
29300 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29301
293022010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29303
29304 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29305 (grub_bin2h_SOURCES): New variable.
29306 * util/bin2h.c: New file.
29307
915fc1b8
VS
293082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 * include/multiboot.h: Resynced with spec.
29311 * include/multiboot2.h: Likewise.
29312 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29313 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29314
9444b678
RM
293152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29316
29317 * include/grub/term.h (grub_term_register_input,
29318 grub_term_register_output): Check return of terminal init()
29319 routines, and abort if errors are raised.
29320
29321 * commands/terminal.c: Update copyright year.
29322
cba98e8d
RM
293232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29324
29325 * commands/terminal.c (grub_cmd_terminal_input)
29326 (grub_cmd_terminal_output): Check return of terminal init()
29327 routines, and abort if errors are raised.
29328
6f7db5d6
VS
293292010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29330
29331 * include/grub/i386/bsd.h: Fix include pathes.
29332
262bff8d
VS
293332010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29334
29335 Add missing *BSD copyright headers.
29336
29337 * include/grub/aout.h: Add BSD licence.
29338 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29339 * include/grub/i386/freebsd_linker.h: ... here,
29340 * include/grub/i386/freebsd_reboot.h: ... here,
29341 * include/grub/i386/netbsd_bootinfo.h: ... here,
29342 * include/grub/i386/netbsd_reboot.h: ... here,
29343 * include/grub/i386/openbsd_bootarg.h: ... here,
29344 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29345 licence to each file.
29346
b2cab848
RM
293472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29348
29349 * acinclude.m4: Remove `nop' assembly instruction; it's not
29350 implemented by all architectures.
29351
2cb6be4b
RM
293522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29353
29354 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29355 ELILO. This is no longer necessary.
29356
a2eaee15
BC
293572010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29358
29359 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29360
29361 * util/grub-script-check.c: grub-script-check tool.
29362 * conf/common.rmk: Make rules for grub-script-check.
29363
88d17012
RM
293642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29365
29366 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29367 spotting it back in 2008. Shame on me for forgetting he did.
29368
29369 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29370
8040619d
RM
293712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29372
29373 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29374 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29375 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29376 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29377 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29378 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29379
a0c2a0f6
RM
293802010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29381
29382 * include/grub/test.h: Add license header.
29383 * tests/example_functional_test.c: Likewise.
29384 * tests/example_unit_test.c: Likewise.
29385 * tests/lib/functional_test.c: Likewise.
29386 * tests/lib/test.c: Likewise.
29387 * tests/lib/unit_test.c: Likewise.
29388
b0b13907
VS
293892010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29390
29391 Use flag-based instead of hook-based video mode selection and "auto"
29392 keyword.
29393
29394 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29395 (grub_video_set_mode): Changed prototype. All users updated.
29396 (grub_video_check_mode_flag): New inline function.
29397 * video/video.c (parse_modespec): New function.
29398 (grub_video_set_mode): Parse flags and keywords.
29399
ea379330 294002010-01-17 Carles Pina i Estany <carles@pina.cat>
29401
29402 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29403 fprintf call.
29404
e15c215e
FZ
294052010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29406
29407 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29408
409ae1c9 294092010-01-16 Carles Pina i Estany <carles@pina.cat>
29410
29411 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29412 string.
29413 * util/grub-emu.c (usage): Likewise.
29414 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29415 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29416 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29417 * util/i386/pc/grub-setup.c (usage): Likewise.
29418
70a14d3d 294192010-01-16 Carles Pina i Estany <carles@pina.cat>
29420
29421 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29422 the message.
29423 (grub_util_info): Likewise.
29424 (grub_util_error): Likewise.
29425 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29426 and/or new lines in `grub_util_warna', `grub_util_info',
29427 `grub_util_error' calls.
29428 * util/getroot.c: Likewise.
29429 * util/grub-editenv.c: Likewise.
29430 * util/grub-emu.c: Likewise.
29431 * util/grub-fstest.c: Likewise.
29432 * util/grub-mkdevicemap.c: Likewise.
29433 * util/grub-mkfont.c: Likewise.
29434 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29435 * util/grub-mkrelpath.c: Likewise.
29436 * util/grub-pe2elf.c: Likewise.
29437 * util/grub-probe.c: Likewise.
29438 * util/hostdisk.c: Likewise.
29439 * util/i386/efi/grub-mkimage.c: Likewise.
29440 * util/i386/pc/grub-mkimage.c: Likewise.
29441 * util/i386/pc/grub-setup.c: Likewise.
29442 * util/ieee1275/ofpath.c: Likewise.
29443 * util/mkisofs/eltorito.c: Likewise.
29444 * util/mkisofs/rock.c: Likewise.
29445 * util/mkisofs/write.c: Likewise.
29446 * util/raid.c: Likewise.
29447 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29448 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29449
a0b766fc
VS
294502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29451
29452 Enable multiboot on non-pc.
29453
29454 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29455 multiboot.mod and multiboot2.mod to ...
29456 * conf/i386.rmk (pkglib_MODULES): ... here.
29457 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29458 Moved to ...
29459 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29460 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29461 Moved to ...
29462 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29463 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29464 Moved to ...
29465 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29466 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29467 Moved to ...
29468 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29469 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29470 relocator.mod.
29471 (ata_mod_SOURCES): Removed.
29472 (ata_mod_CFLAGS): Likewise.
29473 (ata_mod_LDFLAGS): Likewise.
29474 (relocator_mod_SOURCES): Removed.
29475 (relocator_mod_CFLAGS): Likewise.
29476 (relocator_mod_ASFLAGS): Likewise.
29477 (relocator_mod_LDFLAGS): Likewise.
29478 Include i386.mk.
29479 * include/grub/x86_64/multiboot.h: New file.
29480 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29481 Terminate EFI.
29482
884ade56
VS
294832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29484
29485 Video multiboot support.
29486
29487 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29488 New prototype.
29489 * include/multiboot.h: Resynced with multiboot specification.
29490 * include/multiboot2.h: Likewise.
29491 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29492 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29493 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29494 (HAS_VGA_TEXT): Likewise.
29495 (accepts_video): New variable.
29496 (grub_multiboot_set_accepts_video): New function.
29497 (grub_multiboot_get_mbi_size): Account for video structures.
29498 (set_video_mode): New function.
29499 (retrieve_video_parameters): Likewise.
29500 (grub_multiboot_make_mbi): Fill video fields.
29501
0d90e8a6
VS
295022010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29503
29504 Video driver ids.
29505
29506 * include/grub/video.h (grub_video_driver_id): New type.
29507 (grub_video_adapter): New member 'id'. All users updated.
29508 (grub_video_get_driver_id): New proto.
29509 * video/video.c (grub_video_get_driver_id): New function.
29510
5c71db1b 295112010-01-14 Carles Pina i Estany <carles@pina.cat>
29512
29513 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29514 `var=val'.
29515
cca15b52 295162010-01-14 Carles Pina i Estany <carles@pina.cat>
29517
29518 * normal/cmdline.c (print_completion): Gettextizze.
29519
c586fbb2 295202001-01-14 Carles Pina i Estany <carles@pina.cat>
29521
29522 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29523
ba2f6848 295242010-01-14 Carles Pina i Estany <carles@pina.cat>
29525
29526 * gettext/gettext.c (grub_gettext_translate): Push and pop
29527 grub_errno.
29528 (grub_gettext_delete_list): Change comment style.
29529 * kern/err.c (grub_error): Gettextizze.
29530 (grub_fatal): Gettextizze.
29531
0a46429a
RM
295322010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29533
29534 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29535 (grub_linux16_real_boot): ... this.
29536 * kern/i386/loader.S: Likewise.
29537 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29538 (grub_linux16_boot): New function. Switches to text mode and calls
29539 grub_linux16_real_boot().
29540
29541 * loader/i386/bsd.c: Include `<grub/video.h>'.
29542 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29543 text mode before calling grub_unix_real_boot().
29544
29545 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29546 (grub_multiboot_boot): Switch to text mode before calling
29547 grub_relocator32_boot().
29548
29549 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29550 (grub_chainloader_boot): Switch to text mode before calling
29551 grub_chainloader_real_boot().
29552
d6f93a66
RM
295532010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295542010-01-05 Colin Watson <cjwatson@ubuntu.com>
29555
29556 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29557 non-empty value.
29558
295592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295602010-01-05 Colin Watson <cjwatson@ubuntu.com>
29561
29562 * util/grub.d/00_header.in: Define a "savedefault" function for use
29563 in menu entries.
29564 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29565
295662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295672010-01-05 Colin Watson <cjwatson@ubuntu.com>
29568
29569 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29570 saved_entry if boot_once is unset.
29571 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29572 previous saved entry (i.e. grub-reboot).
29573
295742009-12-08 Colin Watson <cjwatson@ubuntu.com>
29575
29576 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29577
295782009-12-08 Colin Watson <cjwatson@ubuntu.com>
29579
29580 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29581 `var=val'.
29582 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29583
295842009-12-08 Colin Watson <cjwatson@ubuntu.com>
29585
29586 * util/grub-reboot.in: Fix --version output.
29587 * util/grub-set-default.in: Likewise.
29588
295892009-12-08 Colin Watson <cjwatson@ubuntu.com>
29590
29591 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29592 blocks.
29593
295942009-12-08 Colin Watson <cjwatson@ubuntu.com>
29595
29596 * util/grub.d/00_header.in: Quote the value assigned to `default',
29597 in case it contains spaces.
29598
295992009-12-08 Colin Watson <cjwatson@ubuntu.com>
29600
29601 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29602 `save_default_entry' call from the macosx case to the linux case.
29603
296042009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
296052009-10-25 Colin Watson <cjwatson@ubuntu.com>
29606
29607 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29608 in `chosen' environment variable.
29609 * normal/menu_text.c (get_entry_number): Check if the variable
29610 matches the title of a menu entry.
29611 (run_menu): Pass menu to get_entry_number.
29612
29613 * util/grub-reboot.in: New file.
29614 * util/grub-set-default.in: New file.
29615 * conf/common.rmk (grub-reboot): New utility.
29616 (grub-set-default): New utility.
29617
29618 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29619 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29620 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29621 move it to `saved_entry' for the next boot. Load environment on
29622 initialisation.
29623 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29624 * util/grub.d/10_hurd.in: Likewise.
29625 * util/grub.d/10_linux.in (linux_entry): Likewise.
29626 * util/grub.d/10_windows.in: Likewise.
29627 * util/grub.d/30_os-prober.in: Likewise.
29628
29629 * util/grub-install.in: Create environment block.
29630 * util/i386/efi/grub-install.in: Likewise.
29631 * util/ieee1275/grub-install.in: Likewise.
29632 * util/sparc64/ieee1275/grub-install.in: Likewise.
29633
0934d184
BC
296342010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29635
29636 Unit testing framework for GRUB.
29637
29638 * Makefile.in: Test framework build rules for 'make check'.
29639 * conf/tests.rmk: Build rules for individual tests and framework.
29640
29641 * include/grub/test.h: Header file for whitebox tests.
29642 * tests/lib/functional_test.c: Framework support for whitebox
29643 functional tests.
29644 * tests/lib/test.c: Common whitebox testing code for unit and
29645 functional tests.
29646 * tests/lib/unit_test.c: Framework support for whitebox unit
29647 tests.
29648
29649 * tests/util/grub-shell-tester.in: Support utility for grub-script
29650 tests.
29651 * tests/util/grub-shell.in: Utility to execute grub-script
29652 commands in a Qemu instance.
29653
29654 * tests/example_functional_test.c: Example whitebox functional
29655 test.
29656 * tests/example_grub_script_test.in: Example grub-script test.
29657 * tests/example_scripted_test.in: Example scripted test.
29658 * tests/example_unit_test.c: Example whitebox unit test.
29659
9c4ffeeb
VS
296602010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29661
29662 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29663 Add loader/i386/multiboot_mbi.c.
29664 (multiboot2_mod_SOURCES): Likewise.
29665 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29666 (multiboot2_mod_SOURCES): Likewise.
29667 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29668 (grub_multiboot_make_mbi): Likewise.
29669 (grub_multiboot_free_mbi): Likewise.
29670 (grub_multiboot_init_mbi): Likewise.
29671 (grub_multiboot_add_module): Likewise.
29672 (grub_multiboot_set_bootdev): Likewise.
29673 * loader/i386/multiboot.c (mbi): Removed.
29674 (mbi_dest): Likewise.
29675 (alloc_mbi): New variable.
29676 (grub_multiboot_payload_size): Removed. All users updated.
29677 (grub_multiboot_pure_size): New variable.
29678 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29679 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29680 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29681 (grub_fill_multiboot_mmap): Likewise.
29682 (grub_multiboot_get_bootdev): Likewise.
29683 (grub_multiboot): Use multiboot_mbi functions.
29684 * loader/i386/multiboot_mbi.c: New file.
29685
17383dfe
VS
296862010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29689 it would result in module crash.
29690
c1f28820
VS
296912010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29694 (grub_ofconsole_getwh): Split to ...
29695 (grub_ofconsole_getwh): ... this.
29696 (grub_ofconsole_dimensions): ...and this.
29697 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29698
58655a16
RM
296992010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29700
29701 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29702
10891398
VS
297032010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29704
29705 * loader/i386/pc/multiboot2.c: Removed stalled file.
29706
0b8a223c
VS
297072010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29708
29709 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29710 Reported by: Grégoire Sutre
29711
92ab12b0
RM
297122010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29713
29714 * util/misc.c (canonicalize_file_name): New function.
29715 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29716 instead of realpath().
29717
a788afb6
CW
297182010-01-11 Colin Watson <cjwatson@ubuntu.com>
29719
29720 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29721 and make it clearer that it's optional. Based on confusion
29722 witnessed on IRC.
29723
ffa8e3d2
VS
297242010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29725
29726 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29727 in premature implicit newline.
29728
e9060a9d
VS
297292010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29730
29731 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29732 which resulted in garbled command line at the end of screen.
29733
f0d0c0b7
RM
297342010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29735
29736 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29737 initialization with similar approach as with other Linux loaders.
29738
0e60bae7
RM
297392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29740
29741 Fix i386-ieee1275 build.
29742
29743 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29744 and grub_term_height() for video_{width,height} initialization.
29745
297462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29747
29748 Fix grub-emu build.
29749
29750 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29751
cdb3f378
RM
297522010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
297532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29754
29755 Support for multiple terminals.
29756
29757 * Makefile.in (pkglib_DATA): terminal.lst.
29758 (terminal.lst): New target.
29759 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29760 (GRUB_MOD_INIT(handler)): Likewise.
29761 (GRUB_MOD_FINI(handler)): Likewise.
29762 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29763 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29764 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29765 (grub_cmd_sleep): Use grub_term_save_pos.
29766 * commands/terminal.c: New file.
29767 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29768 commands/terminal.c and lib/charset.c.
29769 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29770 (pkglib_MODULES): Add terminal.mod.
29771 (terminal_mod_SOURCES): New variable.
29772 (terminal_mod_CFLAGS): Likewise.
29773 (terminal_mod_LDFLAGS): Likewise.
29774 * genhandlerlist.sh: Don't handle terminals.
29775 * genmk.rb: Generate terminal-*.lst.
29776 * genterminallist.sh: New file.
29777 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29778 (grub_is_valid_utf8): Likewise.
29779 (grub_utf8_to_ucs4_alloc): Likewise.
29780 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29781 (grub_menu_register_viewer): Changed argument.
29782 (grub_menu_try_text): New proto.
29783 (grub_gfxmenu_try_hook): New declaration.
29784 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29785 (grub_menu_init_page): Additional argument term.
29786 (grub_normal_init_page): Likewise.
29787 (grub_cmdline_get): Arguments simplified.
29788 (grub_utf8_to_ucs4_alloc): Removed.
29789 (grub_print_ucs4): Additional argument term.
29790 (grub_getstringwidth): Likewise.
29791 (grub_print_message_indented): Likewise.
29792 (grub_menu_text_register_instances): New proto.
29793 (grub_show_menu): Likewise.
29794 (read_terminal_list): Likewise.
29795 (grub_set_more): Likewise.
29796 * include/grub/parser.h: Include handler.h.
29797 * include/grub/reader.h: Rewritten.
29798 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29799 (GRUB_TERM_WIDTH): Changed to function.
29800 (GRUB_TERM_HEIGHT): Likewise.
29801 (GRUB_TERM_BORDER_WIDTH): Likewise.
29802 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29803 (GRUB_TERM_NUM_ENTRIES): Likewise.
29804 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29805 (GRUB_TERM_CURSOR_X): Likewise.
29806 (grub_term_input_class): Likewise.
29807 (grub_term_output_class): Likewise.
29808 (grub_term_outputs_disabled): New declaration.
29809 (grub_term_inputs_disabled): Likewise.
29810 (grub_term_outputs): Likewise.
29811 (grub_term_inputs): Likewise.
29812 (grub_term_register_input): Rewritten.
29813 (grub_term_register_output): Likewise.
29814 (grub_term_unregister_input): Likewise.
29815 (grub_term_unregister_output): Likewise.
29816 (FOR_ACTIVE_TERM_INPUTS): New macro.
29817 (FOR_DISABLED_TERM_INPUTS): Likewise.
29818 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29819 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29820 * include/grub/terminfo.h: Add oterm argument to all protypes.
29821 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29822 Use grub_rescue_run.
29823 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29824 All users updated.
29825 * kern/reader.c: Removed. All users updated.
29826 * kern/rescue_reader.c (grub_rescue_init): Removed.
29827 (grub_rescue_reader): Likewise.
29828 (grub_register_rescue_reader): Likewise.
29829 (grub_rescue_run): New function based on kern/reader.c.
29830 * kern/term.c: Adapted for multiterm.
29831 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29832 (grub_is_valid_utf8): Likewise.
29833 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29834 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29835 right terminal.
29836 * loader/i386/linux.c (grub_linux_boot): Likewise.
29837 * normal/auth.c (grub_username_get): New function.
29838 (grub_auth_check_authentication): Use grub_username_get.
29839 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29840 * normal/color.c: Adapt for multiterm.
29841 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29842 (grub_normal_init_page): Additional argument term.
29843 (read_lists): Call read_terminal_lists.
29844 (grub_enter_normal_mode): Call grub_cmdline_run.
29845 Handle grub_normal_exit_level.
29846 (grub_cmd_normal): Make reentrant.
29847 (grub_cmd_normal_exit): New function.
29848 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29849 * normal/menu.c: Adapt for multiterm.
29850 * normal/menu_entry.c: Likewise.
29851 * normal/menu_text.c: Likewise.
29852 * normal/menu_viewer.c: Removed. All users updated.
29853 * normal/term.c: New file.
29854 * util/console.c: Change order of includes to workaround a bug in
29855 ncurses headers.
29856 * term/terminfo.c: New argument oterm on all exported functions.
29857 All users updated.
29858 * util/grub-editenv.c (grub_term_input_class): Removed.
29859 (grub_term_output_class): Likewise.
29860
1a064917
RM
298612010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29862
29863 Make loader output a bit more user-friendly.
29864
29865 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29866 is being loaded. Likewise for the Hurd.
29867
29868 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29869 that kernel of FreeBSD ${version} is being loaded.
29870
29871 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29872 grub_dprintf().
29873 (grub_cmd_initrd): Likewise.
29874 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29875 that Linux ${version} is being loaded. Likewise for initrd.
29876
5ce0a83a 298772010-01-09 Carles Pina i Estany <carles@pina.cat>
29878
29879 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29880
809bbfeb 298812010-01-08 Carles Pina i Estany <carles@pina.cat>
29882
29883 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29884 (GRUB_MOD_INIT): Gettextizze.
29885 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29886 (GRUB_MOD_INIT): Gettextizze.
29887 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29888 (grub_cmd_linux): Capitalise Linux.
29889 (GRUB_MOD_INIT): Gettextizze.
29890 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29891 (grub_cmd_linux): Capitalise Linux.
29892 (GRUB_MOD_INIT): Gettextizze.
29893 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29894 (grub_cmd_linux): Capitalise Linux.
29895 (GRUB_MOD_INIT): Gettextizze.
29896 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29897 (GRUB_MOD_INIT): Gettextizze.
29898 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29899 (grub_cmd_linux): Capitalise Linux.
29900 (GRUB_MOD_INIT): Gettextizze.
29901 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29902 (grub_cpu_xnu_init): Gettextizze.
29903 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29904 (GRUB_MOD_INIT): Gettextizze.
29905 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29906 (GRUB_MOD_INIT): Gettextizze.
29907 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29908 (grub_linux_load64): Capitalise Linux.
29909 (GRUB_MOD_INIT): Gettextizze.
29910 * loader/xnu.c: Include `<grub/i18n.h>'.
29911 (GRUB_MOD_INIT): Gettextizze.
29912 * po/POTFILES: Add `loader/efi/appleloader.c',
29913 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29914 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29915 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29916 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29917 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29918 and `loader/xnu.c'.
29919
b394b2ca
RM
299202010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29921
29922 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29923
299242010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29925
29926 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29927 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29928 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29929
bc8b32b3
RM
299302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29931
29932 Reset Multiboot 2 support. New loader implements the draft in
29933 /branches/multiboot2 and shares as much code as possible with the
29934 production Multiboot 1 implementation.
29935
29936 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29937 * loader/multiboot2.c: Likewise.
29938 * loader/i386/multiboot_helper.S: Likewise.
29939 * include/multiboot2.h: Replace with latest version from the draft
29940 in /branches/multiboot2.
29941
29942 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29943 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29944 and `loader/multiboot2.c'.
29945 (pkglib_MODULES): Add `multiboot2.mod'.
29946 (multiboot2_mod_SOURCES): New variable.
29947 (multiboot2_mod_LDFLAGS): Likewise.
29948 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29949
29950 * conf/i386-pc.rmk: Likewise.
29951
29952 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29953 (multiboot_mod_SOURCES): Remove variable.
29954 (multiboot_mod_LDFLAGS): Likewise.
29955 (multiboot_mod_CFLAGS): Likewise.
29956
29957 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29958 `<multiboot2.h>' instead of `<multiboot.h>'.
29959 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29960 (MULTIBOOT_HEADER_MAGIC): New macros.
29961
29962 * loader/multiboot_loader.c (module_version_status): Remove variable.
29963 (find_multi_boot2_header): Remove function.
29964 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29965 logic. Always check for the Multiboot version we're compiling for.
29966 (grub_cmd_module_loader): Likewise.
29967 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29968 command instead of `multiboot'.
29969
5d2c52b8
RM
299702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29971
29972 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29973 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29974 all users.
29975
53108d92
RM
299762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
299772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29978
29979 Fix breakage introduced with previous commit.
29980
29981 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29982 commands.
29983 * normal/handler.c (read_handler_list): Revert part of previous commit
29984 affecting this file.
29985 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29986 (grub_normal_execute): ... here.
29987
e2e936b2
RM
299882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 Merge prefix-redefinition-fix branch.
29991
29992 * normal/autofs.c (read_fs_list): Make function capable of being
29993 run multiple times, gracefuly replacing the previous data
29994 structures.
29995 * normal/dyncmd.c (read_command_list): Likewise.
29996 * normal/handler.c (read_handler_list): Likewise.
29997 * normal/main.c (read_lists): New function. Calls all the
29998 list reading functions.
29999 (grub_normal_execute): Use read_lists() instead of calling all
30000 list reading functions explicitly. Register read_lists() as a
30001 variable hook attached to ${prefix}.
30002
607a3701
VS
300032010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 Merge crypto branch.
30006
30007 * Makefile.in (pkglib_DATA): Add crypto.lst.
30008 (crypto.lst): New target.
30009 * commands/hashsum.c: New file.
30010 * commands/password.c (check_password): Use grub_crypto_memcmp.
30011 * commands/password_pbkdf2.c: New file.
30012 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30013 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30014 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30015 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30016 -I$(srcdir)/lib/libgcrypt_wrap.
30017 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30018 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30019 password_pbkdf2.mod.
30020 (crypto_mod_SOURCES): New variable.
30021 (crypto_mod_CFLAGS): Likewise.
30022 (crypto_mod_LDFLAGS): Likewise.
30023 (hashsum_mod_SOURCES): New variable.
30024 (hashsum_mod_CFLAGS): Likewise.
30025 (hashsum_mod_LDFLAGS): Likewise.
30026 (pbkdf2_mod_SOURCES): New variable.
30027 (pbkdf2_mod_CFLAGS): Likewise.
30028 (pbkdf2_mod_LDFLAGS): Likewise.
30029 (password_pbkdf2_mod_SOURCES): New variable.
30030 (password_pbkdf2_mod_CFLAGS): Likewise.
30031 (password_pbkdf2_mod_LDFLAGS): Likewise.
30032 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30033 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30034 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30035 Include conf/gcry.rmk.
30036 * include/grub/auth.h: Rewritten.
30037 * include/grub/crypto.h: New file.
30038 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30039 * include/grub/normal.h (read_crypto_list): New prototype.
30040 * lib/crypto.c: New file.
30041 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30042 * lib/pbkdf2.c: Likewise.
30043 * normal/auth.c (grub_auth_strcmp): Removed.
30044 (grub_iswordseparator): Likewise.
30045 (grub_auth_strword): Likewise.
30046 (is_authenticated): Use grub_strword.
30047 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30048 and grub_strword. Pass entered password to authentication callback.
30049 * normal/crypto.c: New file.
30050 * normal/main.c: Call read_crypto_list.
30051 * util/grub-mkpasswd-pbkdf2.c: New file.
30052 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30053
42841caa
VS
300542010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30055
30056 Fix descent and ascent calculation.
30057
30058 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30059 (options): New option "asce".
30060 (usage): Likewise.
30061 (add_char): Ignore invalid glyphs for descent calculation.
30062 Calculate ascent from actual content.
30063 (print_glyphs): Use 'asce'.
30064 (write_font): Likewise. Allow ascent override.
30065 (main): Handle "asce" option.
30066
e7730de7 300672010-01-06 Carles Pina i Estany <carles@pina.cat>
30068
30069 * kern/err.c: Include `<grub/i18n.h>'.
30070 (grub_print_error): Add full stop. Gettextizze.
30071 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30072 (grub_bsd_load_elf): Capitalise ELF.
30073 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30074 (grub_cmd_freebsd_module): Likewise.
30075 (grub_cmd_freebsd_module_elf): Likewise.
30076 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30077
40e3a41f 300782010-01-06 Carles Pina i Estany <carles@pina.cat>
30079
30080 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30081 * commands/search_file.c (HELP_MESSAGE): New macro.
30082 * commands/search_label.c (HELP_MESSAGE): Likewise.
30083 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30084 * po/POTFILES: Add `commands/search_file.c',
30085 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30086 `commands/search.c'.
30087
83507e68
RM
300882010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30089
30090 * config.rpath: Update from Gnulib.
30091
465c787b
YB
300922010-01-05 Yves Blusseau <blusseau@zetam.org>
30093
30094 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30095
6581dd3a
YB
300962010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30097
30098 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30099
3bff18c5
CW
301002010-01-05 Colin Watson <cjwatson@ubuntu.com>
30101
30102 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30103 arguments to fread so that we get a return value in bytes, rather
30104 than something that will normally be rounded down to 0.
30105 Adjust error handling to avoid producing garbage when size_t is not
30106 the same size as long long.
30107
a1368118
CW
301082010-01-05 Colin Watson <cjwatson@ubuntu.com>
30109
30110 * util/mkisofs/write.c (padblock_write): Check return value of
30111 fread.
30112
7c302978
RM
301132010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30114
30115 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30116 floppy images now.
30117
30118 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30119
e33ace06
RM
301202010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30121
30122 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30123 instead of manual alignment.
30124 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30125 verbose). Avoid attempts to read past end of the device
30126 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30127 but GRUB_DISK_CACHE_SIZE may exceed that).
30128
4b856776
RM
301292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30130
30131 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30132 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30133 it to upper layer.
30134
52c2d97f
VS
301352010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30136
30137 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30138 New constant.
30139 (grub_efi_piwg_device_path): New structure
30140 (grub_efi_piwg_device_path_t): New type.
30141 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30142 (devpath_1): Transform to a structure. All users updated.
30143 (devpath_2): Likewise.
30144 (devpath_3): Likewise.
30145 (devpath_4): Likewise.
30146 (devpath_5): Likewise.
30147
98ff6a54
VS
301482010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * loader/efi/appleloader.c: Restored. Update all users.
30151
3a73dcb6
RM
301522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30153
30154 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30155
30156 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30157 (struct boot_blocklist): Move from here ...
30158 * include/grub/i386/pc/boot.h [ASM_FILE]
30159 (struct grub_boot_blocklist): ... to here. Update all users.
30160 (setup): Only initialize `start' member of `first_block'
30161 structure. Add assert() calls to verify the other members.
30162
30163 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30164 (generate_image): Fix broken blocklist length initialization.
30165 Add assert() call to verify blocklist `segment' field.
30166
ab0eeb0c
RM
301672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30168
30169 * loader/efi/appleloader.c: Remove. Update all users.
30170
58bc8bd5
RM
301712010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 * boot/i386/pc/boot.S: Update copyright year.
30174 * boot/i386/pc/cdboot.S: Likewise.
30175 * boot/i386/pc/diskboot.S: Likewise.
30176 * boot/i386/pc/lnxboot.S: Likewise.
30177 * boot/i386/pc/pxeboot.S: Likewise.
30178 * bus/pci.c: Likewise.
30179 * commands/cmp.c: Likewise.
30180 * commands/help.c: Likewise.
30181 * commands/hexdump.c: Likewise.
30182 * commands/i386/pc/halt.c: Likewise.
30183 * commands/i386/pc/play.c: Likewise.
30184 * commands/i386/pc/vbeinfo.c: Likewise.
30185 * commands/ls.c: Likewise.
30186 * commands/test.c: Likewise.
30187 * disk/dmraid_nvidia.c: Likewise.
30188 * disk/i386/pc/biosdisk.c: Likewise.
30189 * disk/ieee1275/nand.c: Likewise.
30190 * disk/ieee1275/ofdisk.c: Likewise.
30191 * disk/lvm.c: Likewise.
30192 * disk/raid.c: Likewise.
30193 * disk/raid6_recover.c: Likewise.
30194 * disk/scsi.c: Likewise.
30195 * fs/affs.c: Likewise.
30196 * fs/cpio.c: Likewise.
30197 * fs/ext2.c: Likewise.
30198 * fs/hfs.c: Likewise.
30199 * fs/iso9660.c: Likewise.
30200 * fs/ntfs.c: Likewise.
30201 * fs/sfs.c: Likewise.
30202 * fs/udf.c: Likewise.
30203 * fs/ufs.c: Likewise.
30204 * fs/xfs.c: Likewise.
30205 * gencmdlist.sh: Likewise.
30206 * genmk.rb: Likewise.
30207 * include/grub/disk.h: Likewise.
30208 * include/grub/efi/api.h: Likewise.
30209 * include/grub/efi/efi.h: Likewise.
30210 * include/grub/efi/pe32.h: Likewise.
30211 * include/grub/elf.h: Likewise.
30212 * include/grub/fs.h: Likewise.
30213 * include/grub/i386/at_keyboard.h: Likewise.
30214 * include/grub/i386/pc/memory.h: Likewise.
30215 * include/grub/i386/pc/vbe.h: Likewise.
30216 * include/grub/i386/pci.h: Likewise.
30217 * include/grub/i386/tsc.h: Likewise.
30218 * include/grub/ieee1275/ieee1275.h: Likewise.
30219 * include/grub/ntfs.h: Likewise.
30220 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30221 * include/grub/sparc64/libgcc.h: Likewise.
30222 * include/grub/symbol.h: Likewise.
30223 * include/grub/types.h: Likewise.
30224 * include/multiboot2.h: Likewise.
30225 * io/gzio.c: Likewise.
30226 * kern/device.c: Likewise.
30227 * kern/disk.c: Likewise.
30228 * kern/efi/efi.c: Likewise.
30229 * kern/efi/mm.c: Likewise.
30230 * kern/elf.c: Likewise.
30231 * kern/file.c: Likewise.
30232 * kern/i386/dl.c: Likewise.
30233 * kern/i386/pc/init.c: Likewise.
30234 * kern/i386/pc/startup.S: Likewise.
30235 * kern/ieee1275/ieee1275.c: Likewise.
30236 * kern/ieee1275/init.c: Likewise.
30237 * kern/main.c: Likewise.
30238 * kern/mm.c: Likewise.
30239 * kern/powerpc/dl.c: Likewise.
30240 * kern/sparc64/dl.c: Likewise.
30241 * kern/x86_64/dl.c: Likewise.
30242 * lib/hexdump.c: Likewise.
30243 * loader/efi/appleloader.c: Likewise.
30244 * loader/i386/ieee1275/linux.c: Likewise.
30245 * loader/i386/pc/chainloader.c: Likewise.
30246 * loader/i386/pc/linux.c: Likewise.
30247 * loader/i386/pc/multiboot2.c: Likewise.
30248 * loader/ieee1275/multiboot2.c: Likewise.
30249 * loader/multiboot2.c: Likewise.
30250 * loader/multiboot_loader.c: Likewise.
30251 * loader/powerpc/ieee1275/linux.c: Likewise.
30252 * normal/completion.c: Likewise.
30253 * normal/menu_entry.c: Likewise.
30254 * partmap/apple.c: Likewise.
30255 * util/grub.d/10_hurd.in: Likewise.
30256 * util/hostfs.c: Likewise.
30257 * video/readers/png.c: Likewise.
30258
e2d70b5c
CW
302592010-01-03 Colin Watson <cjwatson@ubuntu.com>
30260
30261 * include/grub/misc.h (GNUC_PREREQ): New macro.
30262 (ATTRIBUTE_ERROR): New macro.
30263 * include/grub/list.h (grub_bad_type_cast_real): Use
30264 ATTRIBUTE_ERROR.
30265
a173283f 302662010-01-03 Carles Pina i Estany <carles@pina.cat>
30267
30268 * normal/menu_text.c (print_message): Change messages.
30269
7fa7ff74 302702010-01-03 Carles Pina i Estany <carles@pina.cat>
30271
30272 * normal/menu_entry.c (store_completion): Gettextizze.
30273
136d24f6 302742010-01-03 Carles Pina i Estany <carles@pina.cat>
30275
30276 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30277
f936862e 302782010-01-03 Carles Pina i Estany <carles@pina.cat>
30279
30280 * po/POTFILES: Sort correctly.
30281
29c44ad1 302822010-01-03 Carles Pina i Estany <carles@pina.cat>
30283
30284 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30285 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30286 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30287 full stop.
30288 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30289 summary. Gettextizze the strings.
30290 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30291 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30292 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30293 full stop.
30294 (GRUB_MOD_INIT): Remove command name from summary.
30295 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30296 summary.
30297 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30298 * term/i386/pc/serial.c (options): Add full stops.
30299 (GRUB_MOD_INIT): Remove command name from the summary.
30300
77a79592 303012010-01-03 Carles Pina i Estany <carles@pina.cat>
30302
30303 * commands/acpi.c: Gettextizze help strings and/or options. Include
30304 `grub/i18n.h' if needed.
30305 * commands/blocklist.c: Likewise.
30306 * commands/boot.c: Likewise.
30307 * commands/cat.c: Likewise.
30308 * commands/cmp.c: Likewise.
30309 * commands/configfile.c: Likewise.
30310 * commands/crc.c: Likewise.
30311 * commands/date.c: Likewise.
30312 * commands/echo.c: Likewise.
30313 * commands/efi/fixvideo.c: Likewise.
30314 * commands/efi/loadbios.c: Likewise.
30315 * commands/gptsync.c: Likewise.
30316 * commands/halt.c: Likewise.
30317 * commands/handler.c: Likewise.
30318 * commands/hdparm.c: Likewise.
30319 * commands/hexdump.c: Likewise.
30320 * commands/i386/cpuid.c: Likewise.
30321 * commands/i386/pc/drivemap.c: Likewise.
30322 * commands/i386/pc/halt.c: Likewise.
30323 * commands/i386/pc/pxecmd.c: Likewise.
30324 * commands/i386/pc/vbeinfo.c: Likewise.
30325 * commands/i386/pc/vbetest.c: Likewise.
30326 * commands/ieee1275/suspend.c: Likewise.
30327 * commands/keystatus.c: Likewise.
30328 * commands/loadenv.c: Likewise.
30329 * commands/ls.c: Likewise.
30330 * commands/lsmmap.c: Likewise.
30331 * commands/lspci.c: Likewise.
30332 * commands/memrw.c: Likewise.
30333 * commands/minicmd.c: Likewise.
30334 * commands/parttool.c: Likewise.
30335 * commands/password.c: Likewise.
30336 * commands/probe.c: Likewise.
30337 * commands/read.c: Likewise.
30338 * commands/reboot.c: Likewise.
30339 * commands/search.c: Likewise.
30340 * commands/sleep.c: Likewise.
30341 * commands/test.c: Likewise.
30342 * commands/true.c: Likewise.
30343 * commands/usbtest.c: Likewise.
30344 * commands/videotest.c: Likewise.
30345 * commands/xnu_uuid.c: Likewise.
30346 * disk/loopback.c: Likewise.
30347 * hello/hello.c: Likewise.
30348 * loader/i386/bsd.c: Likewise.
30349 * term/i386/pc/serial.c: Likewise.
30350 * po/POTFILES: Add new files.
30351
da8d5c53
CW
303522010-01-02 Colin Watson <cjwatson@ubuntu.com>
30353
30354 * term/i386/pc/at_keyboard.c
30355 (keyboard_controller_wait_untill_ready): Rename to ...
30356 (keyboard_controller_wait_until_ready): ... this. Update all users.
30357
33937904 303582010-01-01 Carles Pina i Estany <carles@pina.cat>
30359
30360 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30361 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30362 string using string width.
30363 * normal/menu_text.c (grub_print_message_indented): Use
30364 grub_print_spaces and not print_spaces.
30365 (print_timeout): Likewise.
30366 (print_spaces): Move to...
30367 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30368
3fd3b8d8
RM
303692010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 Import from Gnulib.
30372
30373 * gnulib/getdelim.c: New file.
30374 * gnulib/getline.c: Likewise.
30375
33433555
VS
303762009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30377
30378 * include/grub/list.h (grub_assert_fail): Removed.
30379 (grub_bad_type_cast_real): New function.
30380 (grub_bad_type_cast): New macro.
30381 (GRUB_AS_LIST): Use grub_bad_type_cast.
30382 (GRUB_AS_LIST_P): Likewise.
e44721e8 30383 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30384 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30385 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30386 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30387 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30388
f5a51306
VS
303892009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30390
30391 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30392 Fix syntax error.
30393
90d1e879
RM
303942009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30395
30396 * configure.ac: Check for TARGET_CFLAGS initialization before we
30397 initialize it ourselves (sigh).
30398 Move a few modifications to TARGET_CFLAGS to be unconditional
30399 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30400 eh_frame)
30401
30402 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30403 * term/i386/pc/at_keyboard.c
30404 (keyboard_controller_wait_untill_ready): Likewise.
30405 (keyboard_controller_led): Rename `led_status' paramter to avoid
30406 name conflict.
30407
465b5a81 304082009-12-28 Carles Pina i Estany <carles@pina.cat>
30409
30410 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30411 quotes.
30412
c181849b
VS
304132009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30414
30415 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30416
9c8739a4
VS
304172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30418
30419 * normal/menu_text.c (grub_print_message_indented): Prevent
30420 past-the-end-of-array dereference.
30421
3e74249c
VS
304222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30423
30424 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30425 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30426
64fd18ed 304272009-12-27 Carles Pina i Estany <carles@pina.cat>
30428
30429 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30430 * normal/main.c (grub_normal_read_line): Remove a space from the
30431 default prompt.
30432
714af9b9 304332009-12-27 Carles Pina i Estany <carles@pina.cat>
30434
30435 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30436 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30437 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30438 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30439 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30440 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30441 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30442
82f3e412 304432009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30444
30445 * video/readers/jpeg.c (cmd): Declare.
30446 (grub_cmd_jpegtest): Use `grub_command_t' type.
30447 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30448 Assign to `cmd'.
30449 (GRUB_MOD_FINI): Use `cmd' to unregister.
30450 * video/readers/png.c (cmd): Declare.
30451 (grub_cmd_pngtest): Use `grub_command_t' type.
30452 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30453 Assign to `cmd'.
30454 (GRUB_MOD_FINI): Use `cmd' to unregister.
30455 * video/readers/tga.c (cmd): Declare.
30456 (grub_cmd_tgatest): Use `grub_command_t' type.
30457 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30458 Assign to `cmd'.
30459 (GRUB_MOD_FINI): Use `cmd' to unregister.
30460
82f3e412 304612009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30462
30463 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30464 stops.
30465 * kern/corecmd.c (grub_register_core_commands): Likewise.
30466 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30467 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30468 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30469 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30470 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30471 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30472 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30473 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30474 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30475 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30476 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30477 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30478 * normal/handler.c (insert_handler): Likewise.
30479 * normal/main.c (GRUB_MOD_INIT): Likewise.
30480 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30481
fdcdbb66 304822009-12-26 Carles Pina i Estany <carles@pina.cat>
30483
30484 * commands/help.c (grub_cmd_help): Print the command name before the
30485 summary.
30486 (GRUB_MOD_INIT): Remove command name from the summary.
30487 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30488 string as summary.
fdcdbb66 30489 * lib/arg.c (find_long): Print the command name before the summary.
30490 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30491 summary.
30492 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30493 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30494 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30495 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30496 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30497 * commands/date.c (GRUB_MOD_INIT): Likewise.
30498 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30499 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30500 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30501 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30502 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30503 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30504 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30505 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30506 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30507 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30508 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30509 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30510 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30511 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30512 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30513 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30514 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30515 * commands/password.c (GRUB_MOD_INIT): Likewise.
30516 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30517 * commands/read.c (GRUB_MOD_INIT): Likewise.
30518 * commands/search.c (GRUB_MOD_INIT): Likewise.
30519 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30520 * commands/test.c (GRUB_MOD_INIT): Likewise.
30521 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30522 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30523 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30524 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30525 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30526 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30527 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30528 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30529 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30530 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30531 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30532 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30533 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30534 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30535
9c288be2
VS
305362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 Use search command for preliminar UUID search.
30539
30540 * commands/search.c: Split into ...
30541 * commands/search_wrap.c: ...this
30542 * commands/search.c: ...and this.
30543 * commands/search_file.c: New file.
30544 * commands/search_label.c: New file.
30545 * commands/search_uuid.c: New file.
30546 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30547 Add commands/search_wrap.c, commands/search_file.c,
30548 commands/search_label.c and commands/search_uuid.c.
30549 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30550 (search_mod_SOURCES): Set to commands/search_wrap.c.
30551 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30552 search_label.mod.
30553 (search_fs_file_mod_SOURCES): New variable.
30554 (search_fs_file_mod_CFLAGS): Likewise.
30555 (search_fs_file_mod_LDFLAGS): Likewise.
30556 (search_label_mod_SOURCES): Likewise.
30557 (search_label_mod_CFLAGS): Likewise.
30558 (search_label_mod_LDFLAGS): Likewise.
30559 (search_fs_uuid_mod_SOURCES): New variable.
30560 (search_fs_uuid_mod_CFLAGS): Likewise.
30561 (search_fs_uuid_mod_LDFLAGS): Likewise.
30562 (fs_file_mod_SOURCES): Removed.
30563 (fs_file_mod_CFLAGS): Likewise.
30564 (fs_file_mod_LDFLAGS): Likewise.
30565 (fs_uuid_mod_SOURCES): Removed.
30566 (fs_uuid_mod_CFLAGS): Likewise.
30567 (fs_uuid_mod_LDFLAGS): Likewise.
30568 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30569 Set to util/grub-install.in.
30570 * disk/fs_file.c: Removed.
30571 * disk/fs_uuid.c: Likewise.
30572 * include/grub/search.h: New file.
30573 * util/grub-install.in: Handle sparc64.
30574 Create and use load.cfg.
30575 * util/sparc64/ieee1275/grub-install.in: Removed.
30576
db943399
VS
305772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30578
30579 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30580 Ignore return status if CF is cleared.
30581 (grub_biosdisk_get_diskinfo_standard): Likewise.
30582
3fdae612
RM
305832009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30584
30585 * term/i386/pc/at_keyboard.c
30586 (keyboard_controller_wait_untill_ready): New function.
30587 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30588 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30589 for keyboard polling, rather than duplicate the same loop. This
30590 saves a few bytes in code size.
30591
7ebaa2b4
VS
305922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30593
30594 Support for (pxe[:server[:gateway]]) syntax and
30595 use environment variable for PXE.
30596
30597 * commands/i386/pc/pxecmd.c (options): Removed.
30598 (print_ip): Removed.
30599 (grub_cmd_pxe): Removed
30600 (grub_cmd_pxe_unload): New function.
30601 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30602 (grub_pxe_your_ip): Made static.
30603 (grub_pxe_default_server_ip): Likewise.
30604 (grub_pxe_default_gateway_ip): Likewise.
30605 (grub_pxe_blksize): Likewise.
30606 (parse_ip): New function.
30607 (grub_pxe_open): Support server and gateway specification.
30608 (grub_pxe_close): Free disk->data.
30609 (grub_pxefs_open): Use disk->data.
30610 (grub_pxefs_read): Likewise.
30611 (grub_env_write_readonly): New function.
30612 (set_mac_env): Likewise.
30613 (set_env_limn_ro): Likewise.
30614 (parse_dhcp_vendor): Likewise.
30615 (grub_pxe_detect): Set the environment variables.
30616 (set_ip_env): New function.
30617 (write_ip_env): Likewise.
30618 (grub_env_write_pxe_default_server): Likewise.
30619 (grub_env_write_pxe_default_gateway): Likewise.
30620 (grub_env_write_pxe_blocksize): Likewise.
30621 (GRUB_MOD_INIT(pxe)): Set environment variables.
30622 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30623 (grub_pxe_mac_addr_t): ... this. All users updated.
30624 (grub_pxe_your_ip): Removed.
30625 (grub_pxe_server_ip): Likewise.
30626 (grub_pxe_gateway_ip): Likewise.
30627 (grub_pxe_blksize): Likewise.
30628
ec5f98ab 306292009-12-25 Carles Pina i Estany <carles@pina.cat>
30630
30631 * commands/help.c: Include `<grub/i18n.h>'.
30632 (grub_cmd_help): Gettextizze.
30633 (GRUB_MOD_INIT): Likewise.
30634 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30635 (GRUB_MOD_INIT): Gettextizze.
30636 * commands/search.c: Include `<grub/i18n.h>'.
30637 (options): Gettextizze.
30638 (GRUB_MOD_INIT): Gettextizze.
30639 * lib/arg.c: Include `<grub/i18n.h>'.
30640 (help_options): Gettextizze.
30641 (find_long): Likewise.
30642 (grub_arg_show_help): Likewise.
30643 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30644 (read_command_list): Gettextizze.
30645 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30646 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30647
22815526
RM
306482009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30649
30650 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30651 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30652 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30653 (led_status): New variable.
30654 (keyboard_controller_led): New function.
30655 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30656 update led status for caps lock, num lock and scroll lock.
30657
0ad46fd7
FZ
306582009-12-25 Felix Zielcke <fzielcke@z-51.de>
30659
30660 * util/hostdisk.c (open_device): Fix a comment.
30661
d0e158c2
RM
306622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30663
30664 * util/grub-install.in (host_os): New variable.
30665 * util/i386/efi/grub-install.in (host_os): Likewise.
30666
401c0ad6
RM
306672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30668
30669 * util/mkisofs/write.c (padblock_write): Abort when given an
30670 excedingly large embed image, instead of silently truncating it.
30671
d14d3370
RM
306722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30673
30674 * include/multiboot.h: Indentation fixes.
30675
eeed10b4
RM
306762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 * include/multiboot.h (struct multiboot_aout_symbol_table)
30679 (struct multiboot_elf_section_header_table): New structure
30680 declarations (stolen from GRUB Legacy).
30681 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30682 table information.
30683
30684 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30685 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30686 type aliases.
30687
681c70ab
RM
306882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30689
30690 * include/multiboot.h: Make comments src2texi-friendly.
30691
e4d47d8d
RM
306922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30693
30694 For consistency with [multiboot]/docs/boot.S.
30695
30696 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30697 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30698 (MULTIBOOT_MAGIC2): Rename from this ...
30699 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30700
a0b70bda
RM
307012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30702
30703 * include/multiboot.h: Remove `<grub/types.h>'.
30704 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30705 types. Update all users.
30706
61ba42be 307072009-12-25 Carles Pina i Estany <carles@pina.cat>
30708
30709 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30710 `couldn't' and `can not' by `cannot'.
30711 * commands/i386/pc/drivemap.c: Likewise.
30712 * disk/ata.c: Likewise.
30713 * disk/ieee1275/nand.c: Likewise.
30714 * fs/affs.c: Likewise.
30715 * fs/fat.c: Likewise.
30716 * fs/hfs.c: Likewise.
30717 * fs/hfsplus.c: Likewise.
30718 * fs/iso9660.c: Likewise.
30719 * fs/jfs.c: Likewise.
30720 * fs/minix.c: Likewise.
30721 * fs/reiserfs.c: Likewise.
30722 * fs/sfs.c: Likewise.
30723 * fs/udf.c: Likewise.
30724 * fs/ufs.c: Likewise.
30725 * fs/xfs.c: Likewise.
30726 * loader/powerpc/ieee1275/linux.c: Likewise.
30727 * loader/sparc64/ieee1275/linux.c: Likewise.
30728 * util/grub-probe.c: Likewise.
30729 * util/misc.c: Likewise.
30730
7fd0baee 307312009-12-24 Carles Pina i Estany <carles@pina.cat>
30732
30733 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30734 grub_errno calls.
30735 * commands/acpi.c: Likewise.
30736 * commands/blocklist.c: Likewise.
30737 * commands/efi/loadbios.c: Likewise.
30738 * commands/i386/pc/drivemap.c: Likewise.
30739 * commands/loadenv.c: Likewise.
30740 * commands/memrw.c: Likewise.
30741 * commands/password.c: Likewise.
30742 * commands/videotest.c: Likewise.
30743 * disk/ata.c: Likewise.
30744 * disk/ata_pthru.c: Likewise.
30745 * disk/dmraid_nvidia.c: Likewise.
30746 * disk/ieee1275/nand.c: Likewise.
30747 * disk/ieee1275/ofdisk.c: Likewise.
30748 * disk/loopback.c: Likewise.
30749 * disk/lvm.c: Likewise.
30750 * disk/mdraid_linux.c: Likewise.
30751 * disk/raid.c: Likewise.
30752 * disk/raid6_recover.c: Likewise.
30753 * disk/scsi.c: Likewise.
30754 * efiemu/main.c: Likewise.
30755 * efiemu/mm.c: Likewise.
30756 * efiemu/pnvram.c: Likewise.
30757 * efiemu/symbols.c: Likewise.
30758 * font/font.c: Likewise.
30759 * fs/cpio.c: Likewise.
30760 * fs/hfsplus.c: Likewise.
30761 * fs/iso9660.c: Likewise.
30762 * fs/jfs.c: Likewise.
30763 * fs/minix.c: Likewise.
30764 * fs/ntfs.c: Likewise.
30765 * fs/ntfscomp.c: Likewise.
30766 * fs/reiserfs.c: Likewise.
30767 * fs/ufs.c: Likewise.
30768 * fs/xfs.c: Likewise.
30769 * gettext/gettext.c: Likewise.
30770 * include/grub/auth.h: Likewise.
30771 * kern/elf.c: Likewise.
30772 * kern/file.c: Likewise.
30773 * kern/ieee1275/init.c: Likewise.
30774 * kern/ieee1275/mmap.c: Likewise.
30775 * kern/ieee1275/openfw.c: Likewise.
30776 * kern/powerpc/dl.c: Likewise.
30777 * kern/sparc64/dl.c: Likewise.
30778 * lib/arg.c: Likewise.
30779 * loader/i386/bsd.c: Likewise.
30780 * loader/i386/bsdXX.c: Likewise.
30781 * loader/i386/efi/linux.c: Likewise.
30782 * loader/i386/efi/xnu.c: Likewise.
30783 * loader/i386/ieee1275/linux.c: Likewise.
30784 * loader/i386/linux.c: Likewise.
30785 * loader/i386/multiboot.c: Likewise.
30786 * loader/i386/pc/linux.c: Likewise.
30787 * loader/i386/pc/multiboot2.c: Likewise.
30788 * loader/i386/xnu.c: Likewise.
30789 * loader/ieee1275/multiboot2.c: Likewise.
30790 * loader/macho.c: Likewise.
30791 * loader/machoXX.c: Likewise.
30792 * loader/multiboot2.c: Likewise.
30793 * loader/multiboot_loader.c: Likewise.
30794 * loader/powerpc/ieee1275/linux.c: Likewise.
30795 * loader/sparc64/ieee1275/linux.c: Likewise.
30796 * loader/xnu.c: Likewise.
30797 * loader/xnu_resume.c: Likewise.
30798 * mmap/i386/pc/mmap.c: Likewise.
30799 * normal/menu_viewer.c: Likewise.
30800 * partmap/acorn.c: Likewise.
30801 * partmap/amiga.c: Likewise.
30802 * partmap/apple.c: Likewise.
30803 * script/lexer.c: Likewise.
30804 * term/gfxterm.c: Likewise.
30805 * term/i386/pc/serial.c: Likewise.
30806 * term/i386/pc/vga.c: Likewise.
30807 * term/ieee1275/ofconsole.c: Likewise.
30808 * term/terminfo.c: Likewise.
30809 * video/bitmap.c: Likewise.
30810 * video/efi_gop.c: Likewise.
30811 * video/efi_uga.c: Likewise.
30812 * video/fb/video_fb.c: Likewise.
30813 * video/i386/pc/vbe.c: Likewise.
30814 * video/readers/tga.c: Likewise.
30815 * video/video.c: Likewise.
30816
0ad46fd7 308172009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30818
30819 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30820 * commands/lspci.c: Likewise.
30821 * commands/probe.c: Likewise.
30822 * commands/xnu_uuid.c: Likewise.
30823 * conf/i386-coreboot.rmk: Likewise.
30824 * conf/i386-efi.rmk: Likewise.
30825 * conf/i386-ieee1275.rmk: Likewise.
30826 * conf/i386-pc.rmk: Likewise.
30827 * conf/powerpc-ieee1275.rmk: Likewise.
30828 * conf/sparc64-ieee1275.rmk: Likewise.
30829 * conf/x86_64-efi.rmk: Likewise.
30830 * fs/i386/pc/pxe.c: Likewise.
30831 * gettext/gettext.c: Likewise.
30832 * include/grub/efi/graphics_output.h: Likewise.
30833 * include/grub/i386/pc/memory.h: Likewise.
30834 * kern/env.c: Likewise.
30835 * kern/i386/qemu/startup.S: Likewise.
30836 * lib/i386/pc/biosnum.c: Likewise.
30837 * lib/i386/relocator.c: Likewise.
30838 * lib/i386/relocator_asm.S: Likewise.
30839 * lib/relocator.c: Likewise.
30840 * loader/i386/bsd.c: Likewise.
30841 * loader/i386/multiboot.c: Likewise.
30842 * loader/i386/pc/chainloader.c: Likewise.
30843 * loader/i386/xnu.c: Likewise.
30844 * loader/xnu.c: Likewise.
30845 * normal/main.c: Likewise.
30846 * normal/menu_text.c: Likewise.
30847 * util/getroot.c: Likewise.
30848 * util/grub-mkconfig_lib.in: Likewise.
30849 * util/grub.d/00_header.in: Likewise.
30850 * util/i386/pc/grub-mkimage.c: Likewise.
30851 * util/mkisofs/eltorito.c: Likewise.
30852 * util/mkisofs/exclude.h: Likewise.
30853 * util/mkisofs/hash.c: Likewise.
30854 * util/mkisofs/iso9660.h: Likewise.
30855 * util/mkisofs/joliet.c: Likewise.
30856 * util/mkisofs/mkisofs.c: Likewise.
30857 * util/mkisofs/mkisofs.h: Likewise.
30858 * util/mkisofs/multi.c: Likewise.
30859 * util/mkisofs/name.c: Likewise.
30860 * util/mkisofs/rock.c: Likewise.
30861 * util/mkisofs/tree.c: Likewise.
30862 * util/mkisofs/write.c: Likewise.
30863 * video/efi_gop.c: Likewise.
30864
009ec743
VS
308652009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30866
30867 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30868 size counting.
30869
0ad46fd7 308702009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30871
30872 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30873 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30874
d3d30ea0
VS
308752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30876
30877 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30878 (GRUB_MOD_INIT(memrw)): Update help line.
30879
a34f5c70
VS
308802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30881
30882 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30883 Use grub_extcmd_t. All users updated.
30884 (options): New variable.
30885 (grub_cmd_read): Restructure for readability. Support "-v" option.
30886 (grub_cmd_write): Restructure for readability.
30887
0ad46fd7 308882009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30889
30890 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30891
0ad46fd7 308922009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30893
30894 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30895 with the actual contents of the correspondending make variable.
30896 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30897 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30898 specifying `*.lst' and `efiemu??.o'
30899
0ad46fd7 309002009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30901
30902 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30903 after function name.
30904 Noticed by Rene Engelhard <rene@debian.org>.
30905
dc77a799
VS
309062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30907
30908 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30909 (options): New variable.
30910 (iospace): Likewise.
30911 (grub_lspci_iter): List IO spaces if "-i" was given.
30912 (grub_cmd_lspci): Parse options.
30913 (GRUB_MOD_INIT(lspci)): Use extcmd.
30914 (GRUB_MOD_FINI(lspci)): Likewise.
30915
0ad46fd7 309162009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30917
30918 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30919 `function' keyword.
30920 Patch by Tony Mancill <tmancill@debian.org>.
30921
b5d5993b
VS
309222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30923
30924 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30925 (grub_uhci_portstatus): Likewise.
30926 (grub_uhci_portstatus): Add necessary delay.
11d18281 30927 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30928
941903f2 309292009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30930
941903f2 30931 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30932 (GRUB_MOD_INIT): Likewise.
30933 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30934 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30935 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30936 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30937 (enable_rom_area): Likewise.
30938 (GRUB_MOD_INIT): Likewise.
30939 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30940 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30941 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30942 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30943 * commands/hexdump.c (options): Likewise.
30944 * commands/i386/cpuid.c (options): Likewise.
30945 (GRUB_MOD_INIT): Likewise.
30946 * commands/i386/pc/drivemap.c (options): Likewise.
30947 (GRUB_MOD_INIT): Likewise.
30948 * commands/i386/pc/halt (options): Likewise.
30949 (GRUB_MOD_INIT): Likewise.
30950 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30951 * commands/i386/pc/pxecmd.c (options): Likewise.
30952 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30953 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30954 * commands/keystatus.c (options): Likewise.
30955 (GRUB_MOD_INIT): Likewise.
30956 * commands/loadenv.c (options): Likewise.
30957 * commands/ls.c (options): Likewise.
30958 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30959 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30960 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30961 * commands/parttool.c (helpmsg): Likewise.
30962 * commands/probe.c (options): Likewise.
30963 * commands/read.c (GRUB_MOD_INIT): Likewise.
30964 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30965 * commands/search.c (options): Likewise.
30966 * commands/sleep.c (options): Likewise.
30967 * commands/test.c (GRUB_MOD_INIT): Likewise.
30968 * commands/true.c (GRUB_MOD_INIT): Likewise.
30969 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30970 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30971 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30972 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30973 `$(XGETTEXT)'.
98a50553 30974 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30975
0ad46fd7 309762009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30977
ef3c2c3a 30978 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30979 instead of specifying them explicit.
30980
7922f68b
RM
309812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30982
30983 * NEWS: Add grub-probe support for GNU/Hurd.
30984
537ce47f
RM
309852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30986
30987 * NEWS: gettext was added after 1.97.
30988
9b214e3a
RM
309892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 * util/mkisofs/msdos_partition.h: New file (based on
30992 include/grub/msdos_partition.h).
30993 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30994 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30995 (ld_options, main): Recognize --protective-msdos-label.
30996 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30997 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30998 (padblock_write): If `use_protective_msdos_label' is set, patch a
30999 protective DOS-style label in the output image.
31000
31001 * util/grub-mkrescue.in: Use --protective-msdos-label.
31002
e9309813
RM
310032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31004
31005 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31006 boot.
31007
0ae56929
RM
310082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31009
31010 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31011 variables.
31012 (ld_options, main): Recognize `--embedded-boot'.
31013 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31014 declarations.
31015 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31016 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31017 (padblock_write): Likewise. Rewrite to support embedded boot image.
31018
31019 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31020 for BIOS-based disk boot instead of only ElTorito.
31021
b15937b1
RM
310222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31023
31024 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31025 build (not needed for bootstrap).
31026
52cc3ce0
RM
310272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31028
31029 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31030 from i386-pc build (not needed for bootstrap).
31031 Rewrite a pair of strings.
31032
36f5ff04
RM
310332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31036
973c6c85 310372009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31038
31039 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31040
05d21547
AB
310412009-12-21 Andreas Born <futur.andy@googlemail.com>
31042
31043 * kern/env.c (grub_env_context_open): Mark exported variable for
31044 reexport.
31045
0175d51f
AB
310462009-12-21 Andreas Born <futur.andy@googlemail.com>
31047
31048 * kern/env.c (grub_env_export): Create nonexistent variables before
31049 exporting.
31050
7f39d92f 310512009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31052
7f39d92f 31053 * include/grub/auth.h: Include `<grub/i18n.h>'.
31054 (GRUB_GET_PASSWORD): Gettextizze string.
31055 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31056 menu_text.c.
31057 (grub_utf8_to_ucs4_alloc): Fix indentation.
31058 (grub_print_ucs4): Likewise.
31059 (grub_getstringwidth): Likewise.
31060 (print_message_indented): New declaration.
31061 * normal/auth.c: Include `<grub/i18n.h>'.
31062 (grub_auth_check_authentication): Gettexttize string.
31063 * normal/cmdline.c: Include `<grub/i18n.h>'.
31064 (grub_cmdline_get): Gettextizze.
31065 * normal/color.c: Include `<grub/i18n.h>'.
31066 (grub_parse_color_name_pair): Gettexttize strings.
31067 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31068 string (use `print_message_indented').
31069 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31070 `include/grub/normal.h'.
31071 (print_message_indented): Renamed to ...
31072 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31073 used in normal/main.c).
31074 (print_message): Use `grub_print_message_indented' instead of
31075 `print_message_indented'.
31076 (print_timeout): Likewise.
31077 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31078 (grub_normal_print_device_info): Gettexttize strings.
31079 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31080
3041d898
VS
310812009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31082
31083 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31084 of arguments. Return number of tokens and not arguments. All users
31085 updated.
31086
de15bf8e
VS
310872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31088
31089 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31090 non-MSDOS paritions.
31091
e0a6ca52
VS
310922009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31093
31094 * include/grub/types.h (UNUSED): Removed since it conflicts with
31095 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31096 Reported by Grégoire Sutre.
31097
b99518d1 310982009-12-19 Carles Pina i Estany <carles@pina.cat>
31099
31100 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31101 (grub_print_ucs4_alloc): Likewise.
31102 (grub_getstringwidth): Likewise.
31103 * normal/main.c (grub_normal_init_page): Gettextize version string.
31104 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31105 (getstringwidth): Renamed to ...
31106 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31107 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31108 (grub_print_ucs4): Remove `static' qualifer (now used in
31109 normal/main.c).
31110 * po/POTFILES: Add normal/main.c.
31111
bfd5e52b 311122009-12-19 Carles Pina i Estany <carles@pina.cat>
31113
31114 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31115 (print_message_indented): Add `margin_left' and `margin_right'
31116 parameters.
31117 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31118 strings.
31119 (print_timeout): Use `print_message_indented' to print the message.
31120 Deletes `second_stage' parameter.
31121 (run_menu): Update `print_timeout' calls.
31122
5a1ad2b9
VS
311232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31124
31125 Fix console palette on OpenFirmware.
31126
31127 * term/ieee1275/ofconsole.c (MAX): Removed.
31128 (colors): Redone based on VGA palette.
31129 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31130 colors are supported.
31131 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31132
b045f00a
VS
311332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31134
31135 Fix potential EfiEmu double prepare.
31136
31137 * efiemu/main.c (prepared): New variable
31138 (grub_efiemu_unload): Set prepare to '0'.
31139 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31140
31141 set_virtual_address_map support.
31142
31143 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31144 prototype.
31145 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31146 prototype.
31147 (grub_efiemu_crc32): Likewise.
31148 (grub_efiemu_crc64): Likewise.
31149 (grub_efiemu_set_virtual_address_map): Likewise.
31150 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31151 New definition.
31152 (grub_autoefi_set_virtual_address_map): Likewise.
31153 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31154 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31155 Restructure flow to accomodate it.
31156 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31157 (grub_efiemu_crc): Recompute CRC32.
31158 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31159 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31160 * efiemu/symbols.c (relocated_handle): New variable.
31161 (grub_efiemu_free_syms): Free relocated_handle.
31162 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31163 (grub_efiemu_write_sym_markers): New function.
31164 (grub_efiemu_set_virtual_address_map): Likewise.
31165
31166 Newer XNU parameters.
31167
31168 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31169 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31170 (grub_xnu_fill_devicetree): New prototype.
31171 (grub_xnu_heap_real_start): New variable.
31172 * loader/xnu.c (get_name_ptr): New function.
31173 (grub_xnu_load_driver): Fill namelen and name.
31174
31175 64-bit xnu support.
31176
31177 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31178 and 'loader/macho64.c'.
31179 * conf/i386-pc.rmk: Likewise.
31180 * conf/x86_64-efi.rmk: Likewise.
31181 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31182 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31183 * include/grub/macho.h (grub_macho_segment64): New structure.
31184 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31185 (grub_macho_size32): ... to this.
31186 (grub_macho32_get_entry_point): Renamed from ...
31187 (grub_macho_get_entry_point32): ... to this.
31188 (grub_macho_contains_macho64): New prototype.
31189 (grub_macho_size64): Likewise.
31190 (grub_macho_get_entry_point64): Likewise.
31191 (grub_macho32_load): Renamed from ...
31192 (grub_macho_load32): ... to this.
31193 (grub_macho32_filesize): Renamed from ...
31194 (grub_macho_filesize32): ... to this.
31195 (grub_macho32_readfile): Renamed from ...
31196 (grub_macho_readfile32): ... to this.
31197 (grub_macho_filesize64): New prototype.
31198 (grub_macho_readfile64): Likewise.
31199 (grub_macho_parse32): Likewise.
31200 (grub_macho_parse64): Likewise.
31201 * loader/macho.c: Split into ...
31202 * loader/machoXX.c: ... and this. Replace 32 with XX.
31203 * loader/macho32.c: New file.
31204 * loader/macho64.c: Likewise.
31205 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31206 (grub_cmd_xnu_kernel): Make 32-bit only.
31207 (grub_cmd_xnu_kernel64): New function.
31208 (grub_xnu_load_driver): Support Mach-O 64.
31209 (grub_cmd_xnu_mkext): Likewise.
31210 * util/grub.d/30_os-prober.in (osx_entry): New function.
31211 Generate entries for 64-bit boot too.
31212
31213 Eliminate ad-hoc tree format in XNU and EfiEmu.
31214
31215 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31216 * efiemu/pnvram.c: Rewritten to use environment variables.
31217 All users updated.
31218
31219 Inline utf16_to_utf8.
31220
31221 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31222 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31223 All users updated.
31224 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31225
31226 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31227 * commands/usbtest.c (grub_usb_get_string): ... move here.
31228 (usb_print_str): Fix error handling.
31229 * include/grub/usb.h (grub_usb_get_string): Remove.
31230
31231 UTF-8 to UTF-16 transformation.
31232
31233 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31234 (charset_mod_SOURCES): New variable.
31235 (charset_mod_CFLAGS): Likewise.
31236 (charset_mod_LDFLAGS): Likewise.
31237 * include/grub/utf.h: New file.
31238 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31239
31240 Support for device properties.
31241
31242 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31243 (grub_xnu_devprop_device_header): Likewise.
31244 (grub_xnu_devprop_device_descriptor): Likewise.
31245 (grub_xnu_devprop_add_device): New prototype.
31246 (grub_xnu_devprop_remove_device): Likewise.
31247 (grub_xnu_devprop_remove_property): Likewise.
31248 (grub_xnu_devprop_add_property_utf8): Likewise.
31249 (grub_xnu_devprop_add_property_utf16): Likewise.
31250 (grub_cpu_xnu_init): Likewise.
31251 (grub_cpu_xnu_fini): Likewise.
31252 (grub_cpu_xnu_unload): Likewise.
31253 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31254 (property_descriptor): Likewise.
31255 (devices): New variable.
31256 (grub_xnu_devprop_remove_property): New function.
31257 (grub_xnu_devprop_add_device): Likewise.
31258 (grub_xnu_devprop_remove_device): Likewise.
31259 (grub_xnu_devprop_add_property): Likewise.
31260 (grub_xnu_devprop_add_property_utf8): Likewise.
31261 (grub_xnu_devprop_add_property_utf16): Likewise.
31262 (hextoval): Likewise.
31263 (grub_cpu_xnu_fill_devprop): Likewise.
31264 (grub_cmd_devprop_load): Likewise.
31265 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31266 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31267 (cmd_devprop_load): New variable.
31268 (grub_cpu_xnu_init): New function.
31269 (grub_cpu_xnu_fini): Likewise.
31270 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31271 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31272 (grub_cmd_xnu_devtree): Likewise.
31273 (hextoval): New function.
31274 (unescape): Likewise.
31275 (grub_xnu_fill_devicetree): Likewise.
31276
31277 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31278 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31279
0945f181
VS
312802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31281
31282 Workaround for broken ATI VBE.
31283
31284 * video/i386/pc/vbe.c (last_set_mode): New variable.
31285 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31286 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31287 (grub_video_vbe_setup): Don't check for reserved flag.
31288
0ad46fd7 312892009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31290
31291 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31292 the `find' command.
31293
c179ebe4
VS
312942009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31295
31296 UUID support for HFS.
31297
31298 * fs/hfs.c (grub_hfs_uuid): New function.
31299 (grub_hfs_fs): New value .uuid.
31300 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31301
0ad46fd7 313022009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31303
31304 Fix a segfault with parsing unknown long options.
31305
31306 * util/grub-mkrelpath.c (options): Zero terminate it.
31307
c4a3e41a
CPE
313082009-12-13 Carles Pina i Estany <carles@pina.cat>
31309
31310 * include/grub/misc.h (grub_puts): New declaration.
31311 (grub_puts_): Likewise.
a22008a6 31312 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31313 (grub_puts_): Likewise.
31314
2e8a7602
RM
313152009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31316
31317 * util/grub-probe.c (probe): Improve error message.
31318
b50b77b9
RM
313192009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31320
31321 * loader/i386/multiboot_elfxx.c
31322 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31323 initialization.
31324
313252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31326
31327 Relocator framework
31328
31329 * loader/i386/xnu_helper.S: Removed. All users updated.
31330 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31331 (relocator_mod_SOURCES): New variable.
31332 (relocator_mod_CFLAGS): Likewise.
31333 (relocator_mod_LDFLAGS): Likewise.
31334 (relocator_mod_ASFLAGS): Likewise.
31335 * conf/x86_64.rmk: Likewise.
31336 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31337 (grub_multiboot_payload_entry_offset): Likewise.
31338 (grub_multiboot_forward_relocator): Likewise.
31339 (grub_multiboot_forward_relocator_end): Likewise.
31340 (grub_multiboot_backward_relocator): Likewise.
31341 (grub_multiboot_backward_relocator_end): Likewise.
31342 (grub_multiboot_payload_eip): New variable.
31343 (grub_multiboot_payload_orig): Likewise.
31344 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31345 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31346 * include/grub/i386/memory.h
31347 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31348 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31349 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31350 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31351 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31352 * include/grub/i386/relocator.h: New file.
31353 * include/grub/x86_64/relocator.h: Likewise.
31354 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31355 (XNU_RELOCATOR): New macro.
31356 (grub_xnu_launcher_start): Remove.
31357 (grub_xnu_launcher_end): Likewise.
31358 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31359 (grub_xnu_heap_real_start): Remove.
31360 (grub_xnu_heap_start): Change to void *. All users updated.
31361 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31362 * lib/i386/relocator.c: New file.
31363 * lib/i386/relocator_asm.S: Likewise.
31364 * lib/i386/relocator_backward.S: Likewise.
31365 * lib/mips/relocator.c: Likewise.
31366 * lib/mips/relocator_asm.S: Likewise.
31367 * lib/relocator.c: Likewise.
31368 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31369 (entry): Removed.
31370 (playground): Likewise.
31371 (grub_multiboot_payload_orig): New variable.
31372 (grub_multiboot_payload_dest): Likewise.
31373 (grub_multiboot_payload_size): Likewise.
31374 (grub_multiboot_payload_eip): Likewise.
31375 (grub_multiboot_payload_esp): Likewise.
31376 (grub_multiboot_boot): Use grub_relocator32_boot.
31377 (grub_multiboot_unload): Free relocators.
31378 (grub_multiboot): Setup stack. Use relocators.
31379 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31380 (grub_multiboot_load_elfXX): Use relocators.
31381 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31382 (grub_multiboot_payload_size): Likewise.
31383 (grub_multiboot_payload_dest): Likewise.
31384 (grub_multiboot_payload_entry_offset): Likewise.
31385 (grub_multiboot_forward_relocator): Likewise.
31386 (grub_multiboot_backward_relocator): Likewise.
31387 (grub_multiboot_real_boot): Likewise.
31388 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31389 (grub_xnu_entry_point): Likewise.
31390 (grub_xnu_arg1): Likewise.
31391 (grub_xnu_stack): Likewise.
31392 (grub_xnu_launch): Removed.
31393 (grub_xnu_boot_resume): New function.
31394 (grub_xnu_boot): Use relocators.
31395 * loader/i386/xnu_helper.S: Removed.
31396 * loader/xnu.c (grub_xnu_heap_start): New variable.
31397 (grub_xnu_heap_size): Likewise.
31398 (grub_xnu_heap_malloc): Use relocators.
31399 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31400
29eb90c6
VS
314012009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31402
31403 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31404 anything.
31405
31027430
CPE
314062009-12-13 Carles Pina i Estany <carles@pina.cat>
31407
31408 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31409 GRUB_ERR_NONE before calling grub_env_set.
31410
dc0c71d9
RM
314112009-12-12 Robert Millan <rmh@aybabtu.com>
31412
31413 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31414 * genmk.rb (video): New variable.
31415 (CLEANFILES, VIDEOFILES): Add #{video}.
31416 (#{video}): New target rule.
31417 * genvideolist.sh: New file.
31418 * Makefile.in (pkglib_DATA): Add video.lst.
31419 (video.lst): New target rule.
31420 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31421 `video.lst'.
31422 * util/grub.d/30_os-prober.in: Replace `vbe' with
31423 ${GRUB_VIDEO_BACKEND}.
31424
2a4bfcf0
RM
314252009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31426
31427 * THANKS: Add David Miller.
31428
2a3aa4d5
RM
314292009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31430
31431 libpciaccess support.
31432
31433 * Makefile.in (LIBPCIACCESS): New variable.
31434 (enable_grub_emu_pci): Likewise.
31435 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31436 util/pci.c and commands/lspci.c.
31437 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31438 * configure.ac (grub-emu-pci): New option.
31439 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31440 (grub_pci_device_unmap_range): Likewise.
31441 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31442 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31443 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31444 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31445 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31446 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31447 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31448 * include/grub/pciutils.h: New file.
31449 * util/pci.c: Likewise.
31450
0ad46fd7 314512009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31452
31453 * util/misc.c: Don't include <errno.h> twice.
31454
0ad46fd7 314552009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31456
31457 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31458 name in an error message.
31459 (grub_biosdisk_rw): Likewise.
31460
2e59983c
VS
314612009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31462
31463 Eliminate NTFS 4Gib barrier.
31464
31465 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31466 (read_run_data): Likewise.
31467 (grub_ntfs_read_run_list): Likewise.
31468 (grub_ntfs_read_block): Likewise.
31469 (grub_ntfs_iterate_dir): Likewise.
31470 (read_mft): Likewise.
31471 (read_data): Likewise.
31472 Use COM_LOG_LEN.
31473 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31474 to avoid 64-bit division
31475 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31476 (grub_ntfs_rlst): Use grub_disk_addr_t.
31477
71ee178a
VS
314782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31479
31480 Eliminate grub-fstest 4Gib barrier.
31481
31482 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31483 (read_file): Fix error reporting.
31484
2520d4b8
VS
314852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31486
31487 Eliminate hexdump 4Gib barrier.
31488
31489 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31490 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31491
e1f27065
VS
314922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31493
31494 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31495 Fixes amarsh bug.
31496
1a0f7f45
RM
314972009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31498
31499 Remove miscellaneous files in distclean target.
31500
31501 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31502
c631d9fb
CW
315032009-12-09 Colin Watson <cjwatson@ubuntu.com>
31504
31505 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31506 if they're already set. This resolves the conflict between my
31507 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31508 fixing the --grub-probe option again.
31509 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31510 change on 2009-10-06, so that we now once again source
31511 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31512
7c7b6106
RM
315132009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31514
31515 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31516 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31517 `util/devicemap.c'.
31518
e3069ec1
CPE
315192009-12-08 Carles Pina i Estany <carles@pina.cat>
31520
31521 * include/grub/misc.h (grub_printf_): New declaration.
31522 * kern/misc.c (grub_printf_): New definition.
31523 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31524 instead of `grub_printf' and `_'.
31525 * normal/menu_entry.c (store_completion): Likewise.
31526 (run): Likewise.
31527 (grub_menu_entry_run): Likewise.
31528 * normal/menu_text.c (grub_wait_after_message): Likewise.
31529 (notify_booting): Likewise.
31530 (notify_fallback): Likewise.
31531 (notify_execution_failure): Likewise.
31532
d6ceebf1
CW
315332009-12-07 Colin Watson <cjwatson@ubuntu.com>
31534
31535 * configure.ac: Check for vasprintf.
31536 * util/misc.c (asprintf): Move allocation from here ...
31537 (vasprintf): ... to here. New function.
31538 (xasprintf): New function.
31539 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31540 prototypes.
31541 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31542 * util/grub-mkfont.c (write_font): Likewise.
31543 * util/grub-probe.c (probe): Likewise.
31544 * util/hostdisk.c (make_device_name): Likewise.
31545
de6daa8b
DM
315462009-12-06 David S. Miller <davem@sunset.davemloft.net>
31547
31548 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31549 anything even prefixed with 'cdrom' as a cdrom.
31550
0ad46fd7 315512009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31552
31553 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31554 mount points.
31555
98d3dc02
CPE
315562009-12-05 Carles Pina i Estany <carles@pina.cat>
31557
31558 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31559 grub_gettext_msg_list.
31560 (grub_gettext_gettranslation_from_position): Return const char *
31561 and not char *.
a2c1332b 31562 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31563 returns from the list if existing there.
31564 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31565 (grub_gettext_delete_list): Delete the list.
31566 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31567 lang environment variable is changed.
31568 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31569
b283f108
VS
315702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31571
31572 Rename kernel.mod to kernel.img.
31573
31574 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31575 (kernel_mod_EXPORTS): Rename to ...
31576 (kernel_img_EXPORTS): ... this.
31577 (kernel_mod_SOURCES): Rename to ...
31578 (kernel_img_SOURCES): ... this.
31579 (kernel_mod_HEADERS): Rename to ...
31580 (kernel_img_HEADERS): ... this. All users updated.
31581 (kernel_mod_CFLAGS): Rename to ...
31582 (kernel_img_CFLAGS): ... this.
31583 (kernel_mod_ASFLAGS): Rename to ...
31584 (kernel_img_ASFLAGS): ... this.
31585 (kernel_mod_LDFLAGS): Rename to ...
31586 (kernel_img_LDFLAGS): ... this.
31587 * conf/x86_64-efi.rmk: Likewise.
31588 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31589 (read_kernel_image): ... this. All users updated.
31590 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31591
69055f8a
CPE
315922009-12-05 Carles Pina i Estany <carles@pina.cat>
31593
31594 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31595 (print_spaces): New function.
31596 (grub_print_ucs4): New function.
31597 (getstringwidth): New function.
31598 (print_message_indented): New function.
31599 (print_message): Gettexttize strings using print_message_indented.
31600 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31601 width.
31602 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31603 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31604 Gettextize.
31605 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31606 string.
31607 (run): Likewise.
31608 (grub_menu_entry_run): Likewise.
31609 * PO/POTFILES: Add normal/menu_entry.c.
31610
f616f51c
VS
316112009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31612
31613 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31614
57bbe3be
CPE
316152009-12-05 Carles Pina i Estany <carles@pina.cat>
31616
31617 * util/grub-install.in: Install gettext .mo files.
31618 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31619
013d67a1
CPE
316202009-12-05 Carles Pina i Estany <carles@pina.cat>
31621
31622 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31623 grub_dprintf.
31624
fb954db0
RM
316252009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31626
31627 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31628 non-firmware-dependant one in realmode.S takes precedence.
31629
6b8474f8
RM
316302009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31631
31632 * commands/halt.c: Replace misc arch-specific headers with
31633 `<grub/misc.h>'.
31634 * commands/reboot.c: Likewise.
31635 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31636 `<grub/misc.h>'.
31637 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31638 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31639 (kernel_img_SOURCES): ... to here.
31640
31641 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31642 * include/grub/i386/pc/init.h: Likewise.
31643 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31644 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31645
31646 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31647
31648 * include/grub/i386/halt.h: Remove.
31649 * include/grub/i386/reboot.h: Likewise.
31650
31651 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31652
4b2e6ca2
DM
316532009-12-03 David S. Miller <davem@sunset.davemloft.net>
31654
31655 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31656 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31657 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31658 "progname.h"
31659 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31660 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31661 (usage): Add missing comma in printf.
31662
5239348f
RM
316632009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31664
31665 Use the same reboot approach on i386 coreboot and qemu as we do on
31666 BIOS.
31667
31668 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31669 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31670 * kern/i386/reboot.c: Remove.
31671 * include/grub/i386/reboot.h (grub_reboot): Export function.
31672 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31673 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31674 0xf000:0xfff0 instead of 0xffff:0x0000.
31675 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31676 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31677
ef34cbd4
RM
316782009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31679
31680 Fix $srcdir != $objdir build.
31681
31682 * Makefile.in (po/%.po): Rewrite as ...
31683 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31684
dc9837ea
ST
316852009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31686
31687 Fix GNU/Hurd grub-install crash.
31688 * util/grub-probe.c (probe): Try to access `path' only when it is not
31689 NULL.
31690
2f857f98
VS
316912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31692
31693 Correct module naming.
31694
31695 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31696 (GRUB_MOD_INIT(efi_uga)): ... to this
31697 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31698 (GRUB_MOD_FINI(efi_uga)): ... to this
31699 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31700 (GRUB_MOD_INIT(efi_gop)): ... to this
31701 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31702 (GRUB_MOD_FINI(efi_gop)): ... to this
31703
c5448046
RM
317042009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31705
31706 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31707 translatable.
31708 (usage): Translate `arg' strings using gettext().
31709 Thanks to Jordi Mallach for the suggestion.
31710
c85184ad
VS
317112009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31712
31713 GOP support. Based on patch from Bean
31714 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31715
31716 * video/efi_gop.c: New file.
31717 * include/grub/efi/graphics_output.h: Likewise.
31718 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31719 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31720 variables.
31721 * conf/x86_64-efi.rmk: Likewise.
31722
8a4c48d8
VS
317232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31724
31725 Rename efi_fb to efi_uga.
31726
31727 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31728 'efi_uga.mod'.
31729 (efi_fb_mod_SOURCES): Rename this ...
31730 (efi_uga_mod_SOURCES): ... to this.
31731 (efi_fb_mod_CFLAGS): Rename this ...
31732 (efi_uga_mod_CFLAGS): ... to this.
31733 (efi_fb_mod_LDFLAGS): Rename this ...
31734 (efi_uga_mod_LDFLAGS): ... to this.
31735 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31736 'efi_uga.mod'.
31737 (efi_fb_mod_SOURCES): Rename this ...
31738 (efi_uga_mod_SOURCES): ... to this.
31739 (efi_fb_mod_CFLAGS): Rename this ...
31740 (efi_uga_mod_CFLAGS): ... to this.
31741 (efi_fb_mod_LDFLAGS): Rename this ...
31742 (efi_uga_mod_LDFLAGS): ... to this.
31743 * video/efi_fb.c: Move this ...
31744 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31745
fb6c1a7b
RM
317462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31747
31748 * po/README: New file. Explain our PO file workflow.
31749
3bc7896c
RM
317502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31751
31752 * po/ChangeLog: Remove. Move relevant entries back to ...
31753 * ChangeLog: ... here.
31754 * po/ca.po: Remove (now handled by TLP).
31755 * po/id.po: Likewise.
31756 * po/zh_CN.po: Likewise.
31757 * Makefile.in (LINGUAS): Initialize in a way that supports
31758 empty set.
31759
9ed4841d
RM
317602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31761
31762 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31763 reliing on po/LINGUAS.
31764 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31765 (po/%.po): ... this.
31766
0ad46fd7 317672009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31768
31769 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31770 (main): Use `program_name' instead of nonexistent `progname'.
31771
e30dd392
FZ
317722009-11-26 Felix Zielcke <fzielcke@z-51.de>
31773
31774 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31775 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31776
7656de4f
RM
317772009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31778
31779 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31780 commit.
31781 * conf/i386-efi.rmk: Likewise.
31782 * conf/i386-ieee1275.rmk: Likewise.
31783 * conf/powerpc-ieee1275.rmk: Likewise.
31784 * conf/sparc64-ieee1275.rmk: Likewise.
31785 * conf/x86_64-efi.rmk: Likewise.
31786
db77c4d4
FZ
317872009-11-26 Felix Zielcke <fzielcke@z-51.de>
31788
31789 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31790
a755bb04
FZ
317912009-11-26 Felix Zielcke <fzielcke@z-51.de>
31792
31793 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31794
8a4c07fd
RM
317952009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31796
31797 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31798 (grub_mkdevicemap_SOURCES): New variable.
31799 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31800 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31801 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31802 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31803 (grub_mkdevicemap_SOURCES): Remove.
31804 * conf/i386-efi.rmk: Likewise.
31805 * conf/i386-ieee1275.rmk: Likewise.
31806 * conf/i386-pc.rmk: Likewise.
31807 * conf/powerpc-ieee1275.rmk: Likewise.
31808 * conf/sparc64-ieee1275.rmk: Likewise.
31809 * conf/x86_64-efi.rmk: Likewise.
31810 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31811 (usage): Fix strings to use `program_name'.
31812 (main): Initialize gettext.
31813 * util/grub-editenv.c: Likewise.
31814 * util/grub-emu.c: Likewise.
31815 * util/grub-fstest.c: Likewise.
31816 * util/grub-mkdevicemap.c: Likewise.
31817 * util/grub-mkfont.c: Likewise.
31818 * util/grub-mkrelpath.c: Likewise.
31819 * util/grub-pe2elf.c: Likewise.
31820 * util/grub-probe.c: Likewise.
31821 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31822 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31823 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31824
31825 * util/misc.c: Include `"progname.h"'.
31826 (progname): Remove variable.
31827 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31828
6f61ed55
FZ
318292009-11-25 Felix Zielcke <fzielcke@z-51.de>
31830
31831 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31832 printf and print a newline after the menuentry header line.
31833 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31834
f022876b
FZ
318352009-11-25 Felix Zielcke <fzielcke@z-51.de>
31836
31837 autoconf >= 2.60 support $(localedir).
31838
31839 * INSTALL: Note that autoconf 2.60 is required.
31840 * configure.ac (AC_PREREQ): Bump to 2.60.
31841 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31842 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31843
6717926e
YB
318442009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31845
31846 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31847 aclocal is run.
31848
08806a54
RM
318492009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31850
31851 * normal/main.c (grub_normal_read_line): Fix off-by-one
31852 buffer overflow.
31853
13b33fba
RM
318542009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31855
31856 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31857 "parser.grub" in grub_command_execute() call.
31858
4a8572e9
CPE
318592009-11-24 Carles Pina i Estany <carles@pina.cat>
31860
31861 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31862 * conf/i386-efi.rmk: Likewise.
31863 * conf/i386-ieee1275.rmk: Likewise.
31864 * conf/i386-pc.rmk: Likewise.
31865 * conf/powerpc-ieee1275.rmk: Likewise.
31866 * conf/sparc64-ieee1275.rmk: Likewise.
31867 * conf/x86_64-efi.rmk: Likewise.
31868 * gettext/gettex.c: Include <grub/i18n.h>.
31869 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31870 here ...
31871 * include/grub/i18n.h: ... to here
31872 * include/grub/i18n.h: ... to here.
31873 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31874 (grub_gettext_dummy): Move above user.
4a8572e9 31875
bee48093
FZ
318762009-11-24 Felix Zielcke <fzielcke@z-51.de>
31877
31878 * util/Makefile.in (install-local): Convert a `for' into a normal
31879 shell expansion.
31880
a031e91c
RM
318812009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31882
31883 * autogen.sh: Add automake call.
31884 * config.guess: Remove.
31885 * config.sub: Likewise.
31886 * install-sh: Likewise.
31887
26bec39d
FZ
318882009-11-24 Felix Zielcke <fzielcke@z-51.de>
31889
31890 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31891
8e2532fd
FZ
318922009-11-24 Felix Zielcke <fzielcke@z-51.de>
31893
31894 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31895 function to a normal shell `for'.
31896
fefa1b7d
FZ
318972009-11-24 Felix Zielcke <fzielcke@z-51.de>
31898
31899 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31900
4501250b
FZ
319012009-11-24 Felix Zielcke <fzielcke@z-51.de>
31902
31903 * util/grub-mkrelpath.c: New file.
31904 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31905 (grub_mkrelpath_SOURCES): New variable.
31906 * include/grub/util/misc.h: New function prototype.
31907 * util/misc.c (make_system_path_relative_to_its_root): New function.
31908
31909 * util/grub-mkconfig_lib.in (bindir): New variable.
31910 (grub_mkrelpath): Likewise.
31911 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31912
31913 * util/probe.c (probe): Make the file path relative to its root.
31914 Change a info message to use the GRUB path. Enable again the
31915 check if we can read the file with GRUB facilities.
31916
31917 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31918 to its root.
31919
11d9778b
FZ
319202009-11-24 Felix Zielcke <fzielcke@z-51.de>
31921
31922 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31923 platform.
31924
4465287d
FZ
319252009-11-24 Felix Zielcke <fzielcke@z-51.de>
31926
31927 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31928 strncmp().
31929
62b47f22
FZ
319302009-11-24 Felix Zielcke <fzielcke@z-51.de>
31931
31932 * util/getroot.c (grub_util_is_dmraid): New function.
31933 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31934 devices as normal ones, not as LVM.
31935
1eafb9b9 319362009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31937
31938 * conf/common.rmk: Add grub-gettext_lib target and updates
31939 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31940 LDFLAGS.
31941 * gettext/gettext.c: New file. (Reads mo files).
31942 * include/grub/file.h (grub_file_pread): New prototype.
31943 * include/grub/i18n.h (_): New prototype.
31944 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31945 prototypes.
31946 * kern/misc.c (grub_gettext_dummy): New function.
31947 * normal/menu_text.c: Include <grub/i18n.h>.
31948 * normal/menu_text.c (print_timeout): Gettexttize string.
31949 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31950 * po/POTFILES: Add `normal/menu_text.c'.
31951 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31952 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31953 gettext module and defines locale_dir and lang in grub.cfg.
31954 * NEWS: Add gettext support.
31955
0fdb2568
RM
319562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31957
31958 * util/hostdisk.c: Include `<grub/i18n.h>'.
31959 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31960 (make_device_name): Rewrite using asprintf.
31961 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31962 (find_system_device): If a device is not found, generate one just
31963 by reusing the OS path name.
31964 (read_device_map): Make it permissible for device.map not to exist.
31965
f515aa62
RM
319662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 * script/sh/execute.c: Move from here ...
31969 * script/execute.c: ... to here. Update all users.
31970 * script/sh/function.c: Move from here ...
31971 * script/function.c: ... to here. Update all users.
31972 * script/sh/lexer.c: Move from here ...
31973 * script/lexer.c: ... to here. Update all users.
31974 * script/sh/main.c: Move from here ...
31975 * script/main.c: ... to here. Update all users.
31976 * script/sh/parser.y: Move from here ...
31977 * script/parser.y: ... to here. Update all users.
31978 * script/sh/script.c: Move from here ...
31979 * script/script.c: ... to here. Update all users.
31980
f84b481b
RM
319812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31982
31983 * configure.ac: Detect all `emu' platforms. Define
31984 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31985 --enable-grub-emu logic. Disable include/grub/machine
31986 symlink on `emu' platforms.
31987
31988 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31989 * gensymlist.sh.in: Likewise.
31990
31991 * include/grub/i386/coreboot/machine.h: Remove file.
31992 * include/grub/i386/efi/machine.h: Likewise.
31993 * include/grub/i386/ieee1275/machine.h: Likewise.
31994 * include/grub/i386/pc/machine.h: Likewise.
31995 * include/grub/i386/qemu/machine.h: Likewise.
31996 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31997 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31998 * include/grub/x86_64/efi/machine.h: Likewise.
31999
32000 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32001 * commands/halt.c: Likewise.
32002 * commands/reboot.c: Likewise.
32003 * include/grub/autoefi.h: Likewise.
32004 * include/grub/i386/at_keyboard.h: Likewise.
32005 * include/grub/i386/kernel.h: Likewise.
32006 * include/grub/i386/loader.h: Likewise.
32007 * include/grub/i386/pc/memory.h: Likewise.
32008 * kern/dl.c: Likewise.
32009 * kern/i386/coreboot/init.c: Likewise.
32010 * loader/i386/bsd.c: Likewise.
32011 * loader/i386/linux.c: Likewise.
32012 * loader/multiboot_loader.c: Likewise.
32013 * term/i386/pc/serial.c: Likewise.
32014 * term/usb_keyboard.c: Likewise.
32015
32016 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32017 `<grub/machine/machine.h>'
32018 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32019 * util/misc.c: Remove `<grub/machine/machine.h>' and
32020 `<grub/machine/time.h>'.
32021
32022 * Makefile.in (enable_grub_emu): Remove variable.
32023 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32024
32025 * conf/any-emu.rmk: New file.
32026 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32027 (grub_emu_init.c): Move from here ...
32028 * conf/any-emu.rmk: ... to here.
32029
32030 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32031 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32032 * conf/any-emu.rmk: ... to here.
32033
4efeab03
RM
320342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32035
32036 * include/grub/parser.h (grub_parser_register): Document need
32037 of `name' parameter.
32038 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32039 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32040 "sh" to "grub".
32041
ea1dd8bf
RM
320422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32043
32044 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32045 `$(XGETTEXT)'.
32046 * include/grub/i18n.h (N_): New macro.
32047 * util/mkisofs/mkisofs.h: Likewise.
32048 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32049 around N_().
32050 (usage): Use gettext() to translate help strings when printing them.
32051
0c140626
RM
320522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32053
32054 Based on patch from Bean
32055 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32056
32057 * video/efi_fb.c: New file.
32058 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32059 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32060 variables.
32061 * conf/x86_64-efi.rmk: Likewise.
32062
87d58298
RM
320632009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32064
32065 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32066 * util/i386/pc/grub-setup.c: Likewise.
32067
994cc3a3
ST
320682009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32069
32070 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32071 <hurd/fs.h>
32072 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32073 file_get_storage_info to implement grub_guess_root_device.
32074
26a61d6a
FZ
320752009-11-21 Felix Zielcke <fzielcke@z-51.de>
32076
32077 * Makefile.in (target): Use make's builtin $(shell) function
32078 instead of calling directly $(SHELL) to create the locale directories,
32079 inside the $(foreach) function.
32080
74ff1dd5
FZ
320812009-11-21 Felix Zielcke <fzielcke@z-51.de>
32082
32083 * util/grub-mkrescue.in: Print an error and usage if output option
32084 has not been given.
32085
0b787d0e
FZ
320862009-11-21 Felix Zielcke <fzielcke@z-51.de>
32087
32088 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32089 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32090 root and /boot are on different devices.
32091
1164b270
RM
320922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 Fix build for srcdir != objdir.
32095
32096 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32097 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32098 $(srcdir).
32099 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32100 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32101 reference for input.
32102
13774a2f
RM
321032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32104
32105 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32106 or hardlinking it). Remove -J option, Joliet is not compatible with
32107 multiple source directories.
32108
efda854e
RM
321092009-11-21 Carles Pina i Estany <carles@pina.cat>
321102009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32111
32112 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32113 (process_input_dir): New function. Process an arbitrary input
32114 directory.
32115 Misc adjustments to support both "override mode" and system-wide mode.
32116
6c09890c
FZ
321172009-11-20 Felix Zielcke <fzielcke@z-51.de>
32118
32119 * configure.ac (UNIFONT_BDF): Rename to ...
32120 (FONT_SOURCE): ... this. Update all users.
32121
a797824f
FZ
321222009-11-20 Felix Zielcke <fzielcke@z-51.de>
32123
32124 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32125 to the list of unifont files to look for.
32126
cd4f42b0
RM
321272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32128
32129 Patch from Joe Auricchio <jauricchio@gmail.com>
32130 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32131 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32132 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32133
393c783d
FZ
321342009-11-19 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * Makefile.in (install-local): Add a missing backslash.
32137
b2f1e327
FZ
321382009-11-19 Felix Zielcke <fzielcke@z-51.de>
32139
32140 * include/grub/x86_64/io.h: New file.
32141
f577f7a0
RM
321422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32143
32144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32145 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32146 Include `"progname.h"'.
32147 (main): Initialize gettext.
32148 * util/i386/pc/grub-setup.c: Gettexttize.
32149 * util/i386/pc/grub-mkimage.c: Likewise.
32150
32151 * Makefile.in (po/*.po): Redefine as ...
32152 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32153
3bc7896c
RM
32154 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32155
c37943b6
RM
321562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32157
32158 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32159 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32160 (program_name): Remove.
32161 (main): Initialize gettext support.
6323f705
RM
32162 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32163 Include `<libintl.h>'.
32164 (_): New macro.
c37943b6
RM
32165
32166 * util/mkisofs/eltorito.c: Gettexttize.
32167 * util/mkisofs/joliet.c: Likewise.
32168 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32169 * util/mkisofs/multi.c: Likewise.
32170 * util/mkisofs/rock.c: Likewise.
32171 * util/mkisofs/tree.c: Likewise.
32172 * util/mkisofs/write.c: Likewise.
32173
3bc7896c
RM
32174 * po/POTFILES: Update with new files.
32175
5ce77c6e
RM
321762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32177
32178 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32179 * util/mkisofs/iso9660.h: Likewise.
32180 * util/mkisofs/joliet.c: Likewise.
32181 * util/mkisofs/mkisofs.c: Likewise.
32182 * util/mkisofs/mkisofs.h: Likewise.
32183 * util/mkisofs/rock.c: Likewise.
32184 * util/mkisofs/tree.c: Likewise.
32185 * util/mkisofs/write.c: Likewise.
32186
32187 * util/mkisofs/eltorito.c (rcsid): Remove.
32188 * util/mkisofs/hash.c: Likewise.
32189 * util/mkisofs/joliet.c: Likewise.
32190 * util/mkisofs/name.c: Likewise.
32191 * util/mkisofs/rock.c: Likewise.
32192 * util/mkisofs/tree.c: Likewise.
32193 * util/mkisofs/write.c: Likewise.
32194
1dabbc77
RM
321952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32196
32197 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32198 instead of static allocation.
32199 * util/mkisofs/match.h: Likewise.
32200
633877cb
RM
322012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32202
3bc7896c
RM
32203 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32204 and `util/grub.d/10_linux.in'.
633877cb
RM
32205 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32206 translatable Shell files.
32207
af1c0c85
RM
322082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32209
32210 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32211
769ae37b
RM
322122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32213
32214 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32215 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32216 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32217 Add gettext initialization.
32218 (kfreebsd_entry): Make menuentry output translatable.
32219
322202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32221
32222 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32223 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32224 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32225 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32226 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32227 * po/LINGUAS: New file.
769ae37b
RM
32228
322292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32230
32231 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32232 other things).
32233 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32234 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32235 bindtextdomain() calls for gettext initialization.
32236
322372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32238
32239 * gnulib/progname.c: New file (imported from Gnulib).
32240 * gnulib/progname.h: Likewise.
32241 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32242 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32243 (usage): Replace `progname' with `program_name'.
32244 (main): Use set_program_name() for program name initialization.
32245
322462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32247
32248 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32249 from here ...
32250 * Makefile.in (CPPFLAGS): ... to here.
32251
322522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32253
32254 * aclocal.m4: Move from here ...
32255 * acinclude.m4: ... to here.
32256 * autogen.sh: Add call to `aclocal'.
32257 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32258
322592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32260
32261 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32262 (LINGUAS): New variable.
32263 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32264 (install-local): Install MO files.
32265 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32266 * include/grub/i18n.h: New file.
3bc7896c
RM
32267 * po/POTFILES: New file.
32268 * po/ca.po: New file.
769ae37b
RM
32269 * util/grub.d/10_linux.in (bindir): New variable.
32270 Add gettext initialization.
32271 (linux_entry): Make menuentry output translatable.
32272 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32273 (usage): Make --help output translatable.
32274 (main): Initialize gettext.
32275
02c0a6ad
RM
322762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32277
32278 * import_gcry.py: New file (written by Vladimir with minor
32279 adjustments).
32280 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32281 ciphers.
32282 * INSTALL: Document that Python is required for bootstrap.
32283
322842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32285
32286 Import ciphers from libgcrypt 1.4.4.
32287
32288 * lib/libgcrypt/cipher/ChangeLog
32289 * lib/libgcrypt/cipher/ac.c
32290 * lib/libgcrypt/cipher/arcfour.c
32291 * lib/libgcrypt/cipher/bithelp.h
32292 * lib/libgcrypt/cipher/blowfish.c
32293 * lib/libgcrypt/cipher/camellia-glue.c
32294 * lib/libgcrypt/cipher/camellia.c
32295 * lib/libgcrypt/cipher/camellia.h
32296 * lib/libgcrypt/cipher/cast5.c
32297 * lib/libgcrypt/cipher/cipher.c
32298 * lib/libgcrypt/cipher/crc.c
32299 * lib/libgcrypt/cipher/des.c
32300 * lib/libgcrypt/cipher/dsa.c
32301 * lib/libgcrypt/cipher/ecc.c
32302 * lib/libgcrypt/cipher/elgamal.c
32303 * lib/libgcrypt/cipher/hash-common.c
32304 * lib/libgcrypt/cipher/hash-common.h
32305 * lib/libgcrypt/cipher/hmac-tests.c
32306 * lib/libgcrypt/cipher/md.c
32307 * lib/libgcrypt/cipher/md4.c
32308 * lib/libgcrypt/cipher/md5.c
32309 * lib/libgcrypt/cipher/primegen.c
32310 * lib/libgcrypt/cipher/pubkey.c
32311 * lib/libgcrypt/cipher/rfc2268.c
32312 * lib/libgcrypt/cipher/rijndael-tables.h
32313 * lib/libgcrypt/cipher/rijndael.c
32314 * lib/libgcrypt/cipher/rmd.h
32315 * lib/libgcrypt/cipher/rmd160.c
32316 * lib/libgcrypt/cipher/rsa.c
32317 * lib/libgcrypt/cipher/seed.c
32318 * lib/libgcrypt/cipher/serpent.c
32319 * lib/libgcrypt/cipher/sha1.c
32320 * lib/libgcrypt/cipher/sha256.c
32321 * lib/libgcrypt/cipher/sha512.c
32322 * lib/libgcrypt/cipher/tiger.c
32323 * lib/libgcrypt/cipher/twofish.c
32324 * lib/libgcrypt/cipher/whirlpool.c
32325
af2f93ac
RM
323262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 Fix build for systems without error().
32329
32330 * gnulib/error.c: New file (imported from Gnulib).
32331 * gnulib/error.h: Likewise.
32332 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32333 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32334 (this variable is now used by error()).
32335
73fb3dd5
FZ
323362009-11-16 Felix Zielcke <fzielcke@z-51.de>
32337
814f5e96
FZ
32338 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32339 instead of relying that char is signed.
73fb3dd5 32340
a691ca33
VS
323412009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32342
32343 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32344 blocksize different from specified.
32345 (grub_pxefs_read): Likewise.
32346
2af8f0f4
FZ
323472009-11-16 Felix Zielcke <fzielcke@z-51.de>
32348
32349 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32350
32351 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32352 (grub_ata_readwrite): Likewise. Update 2 format strings.
32353 (grub_atapi_read): Likewise.
32354
32355 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32356 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32357 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32358 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32359 (ata_mod_LDFLAGS): Move from here ...
32360 * conf/i386.rmk: ... to here ...
32361 * conf/x86_64-efi.rmk: ... and here.
32362 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32363 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32364
83bdecaf
RM
323652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32366
32367 Relicense multiboot.h, with RMS' blessing.
32368
32369 * include/multiboot.h: Change to X11 license.
32370
fd6fd3d7
RM
323712009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32372
32373 Support --version in grub-mkisofs.
32374
32375 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32376 (OPTION_VERSION): New macro.
32377 (ld_options): Recognize --version.
32378 (usage): Move `program_name' from here ...
32379 (program_name): ... to here. Add `static' qualifier.
32380 (main): Recognize `OPTION_VERSION'.
32381
16a88c49
FZ
323822009-11-15 Felix Zielcke <fzielcke@z-51.de>
32383
32384 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32385 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32386
a4158476
RM
323872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32388
32389 Fix help2man generation for mkisofs.
32390
32391 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32392 (usage): Send output to stdout (rather than stderr).
32393
fc2208b0
RM
323942009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32395
32396 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32397 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32398 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32399 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32400 (bin_SCRIPTS): Add `grub-mkfloppy'.
32401 (grub_mkfloppy_SOURCES): New variable.
32402
32403 * util/grub-mkrescue.in: New file.
32404 * util/i386/pc/grub-mkfloppy.in: New file.
32405
32406 * util/i386/coreboot/grub-mkrescue.in: Remove.
32407 * util/i386/pc/grub-mkrescue.in: Remove.
32408
8d0edf4a
RM
324092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32410
32411 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32412 from here ...
32413 * include/multiboot.h (struct multiboot_header): ... to here. Update
32414 all users.
32415 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32416 from here ...
32417 * include/multiboot.h (struct multiboot_info): ... to here. Update
32418 all users.
32419 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32420 from here ...
32421 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32422 Update all users.
32423 * include/grub/multiboot.h (struct grub_mod_list): Move
32424 from here ...
32425 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32426 Update all users.
32427
a73f5969
RM
324282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32429
32430 * include/multiboot2.h (multiboot_word): Rename from this ...
32431 (multiboot2_word): ... to this. Update all users.
32432 (multiboot_header): Rename from this ...
32433 (multiboot2_header): ... to this. Update all users.
32434 (multiboot_tag_header): Rename from this ...
32435 (multiboot2_tag_header): ... to this. Update all users.
32436 (multiboot_tag_start): Rename from this ...
32437 (multiboot2_tag_start): ... to this. Update all users.
32438 (multiboot_tag_name): Rename from this ...
32439 (multiboot2_tag_name): ... to this. Update all users.
32440 (multiboot_tag_module): Rename from this ...
32441 (multiboot2_tag_module): ... to this. Update all users.
32442 (multiboot_tag_memory): Rename from this ...
32443 (multiboot2_tag_memory): ... to this. Update all users.
32444 (multiboot_tag_unused): Rename from this ...
32445 (multiboot2_tag_unused): ... to this. Update all users.
32446 (multiboot_tag_end): Rename from this ...
32447 (multiboot2_tag_end): ... to this. Update all users.
32448
1c8927f0
RM
324492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32450
32451 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32452 this platform we should support Multiboot1 first.
32453
32454 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32455 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32456 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32457
6e1e0d89
RM
324582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32461 of write calls (converting them to fwrite() if they aren't already).
32462 (get_torito_desc): Likewise.
32463 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32464
7f2b34d8
RM
324652009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32466
32467 * util/i386/pc/grub-install.in: Move from here ...
32468 * util/grub-install.in: ... to here. Update all users.
32469
c0ef3311
CW
324702009-11-11 Colin Watson <cjwatson@ubuntu.com>
32471
32472 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32473
e1f240ff
RM
324742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32475
32476 Support for El Torito without floppy emulation.
32477
32478 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32479 (init_boot_catalog): Improve error handling.
32480 (get_torito_desc): Don't use floppy emulation unless requested by
32481 user. Patch boot information table when requested via
32482 `-boot-info-table'.
32483 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32484 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32485 (use_boot_info_table): New variables.
32486 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32487 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32488 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32489 `--eltorito-emul-floppy'.
32490 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32491 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32492 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32493 (use_boot_info_table, get_731): New prototypes.
32494 * util/mkisofs/write.c (get_731): New function.
32495
af7d4de5
FZ
324962009-11-11 Felix Zielcke <fzielcke@z-51.de>
32497
32498 Fix the generation of the man page.
32499
32500 * util/pc/i386/grub-install.in: Source
32501 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32502
2c55dbc0
RM
325032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32504
32505 Large file support for grub-mkisofs.
32506
32507 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32508 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32509 (session_start): Upgrade type to `uint64_t'. Update all users.
32510 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32511 (struct directory_entry): Upgrade type of `starting_block' and
32512 `size' to `uint64_t'. Update all users.
32513 (struct deferred): Remove unused structure.
32514 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32515 Update all users.
32516 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32517 file is larger than `UINT32_MAX'.
32518 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32519 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32520 return value.
32521 (struct deferred_write): Upgrade type of `extent' and `size' to
32522 `uint64_t'. Update all users.
32523 (last_extent_written): Upgrade type to `uint64_t'. Update all
32524 users.
32525 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32526 Update all users. Upgrade type of `remain' to `int64_t' and
32527 `use' to `size_t'. Use error() to handle fread() errors.
32528 (write_files): Rely on write_one_file() rather than calling
32529 xfwrite() directly.
32530
6a9cead5
FZ
325312009-11-09 Felix Zielcke <fzielcke@z-51.de>
32532
32533 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32534
4825d790
RM
325352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32536
32537 * util/mkisofs/fnmatch.c: Remove.
32538 * util/mkisofs/getopt1.c: Likewise.
32539 * util/mkisofs/getopt.c: Likewise.
32540 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32541 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32542 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32543 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32544 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32545
32546 * configure.ac: Detect `mingw32msvc' host_os.
32547 Check for lstat(), getuid() and getgid().
32548
32549 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32550 instances of `u_char' with `uint8_t'.
32551
32552 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32553 [!HAVE_GETUID] (getuid): New function (stub).
32554 [!HAVE_GETGID] (getgid): Likewise.
32555 [!HAVE_LSTAT] (lstat): Likewise.
32556 [!S_IROTH] (S_IROTH): New macro (dummy).
32557 [!S_IRGRP] (S_IRGRP): Likewise.
32558
84b860d8
RM
325592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32560
32561 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32562 conditional expression).
32563
66e9b712
RM
325642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32565
32566 Import from Gnulib.
32567
32568 * gnulib/fnmatch.c: New file.
32569 * gnulib/fnmatch.h: Likewise.
32570 * gnulib/fnmatch_loop.c: Likewise.
32571 * gnulib/getopt.c: Likewise.
32572 * gnulib/getopt.h: Likewise.
32573 * gnulib/getopt1.c: Likewise.
32574 * gnulib/getopt_int.h: Likewise.
32575 * gnulib/gettext.h: Likewise.
32576
34f4a5b0
RM
325772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32578
32579 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32580 * normal/handler.c (read_handler_list): Likewise.
32581
ac451143
RM
325822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32583
32584 Misc cleanup.
32585
32586 * kern/command.c (grub_register_command_prio): Use
32587 grub_zalloc() instead of explicitly zeroing data.
32588 * kern/list.c: Include `<grub/mm.h>'.
32589 (grub_named_list_find): Replace `0' with `NULL'.
32590 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32591 (fs_module_list): Change type to `grub_named_list_t'. Update all
32592 users.
32593 * normal/dyncmd.c (read_command_list): Add space between function
32594 call and parenthesis.
32595 * normal/handler.c (read_handler_list): Likewise.
32596
4089b167
RM
325972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32598
32599 * normal/auth.c (punishment_delay): Moved from here ...
32600 (grub_auth_strcmp): ... to here (inside function).
32601
325f5037
RM
326022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32603
32604 * include/grub/list.h (struct grub_named_list): Remove `const'
32605 qualifier from `name'.
32606 (struct grub_prio_list): Likewise.
32607
7aea29a3
RM
326082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32609
32610 * normal/auth.c: Include `<grub/time.h>'.
32611 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32612
3fd6f044
RM
326132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32614
32615 * normal/auth.c (punishment_delay): New variable.
32616 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32617 (grub_auth_check_authentication): Punish failed login attempts with
32618 an incremental (2^N) delay.
32619
a4cd68e4
RM
326202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32623 path with $(srcdir).
32624
7ad12f43
VS
326252009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32626
32627 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32628
c1129f03
RM
326292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32630
32631 * util/i386/coreboot/grub-mkrescue.in: New file.
32632 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32633 variables.
32634
32635 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32636 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32637 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32638 requirements.
32639 * util/mkisofs/defaults.h: New file.
32640 * util/mkisofs/eltorito.c: Likewise.
32641 * util/mkisofs/exclude.h: Likewise.
32642 * util/mkisofs/fnmatch.c: Likewise.
32643 * util/mkisofs/getopt.c: Likewise.
32644 * util/mkisofs/getopt1.c: Likewise.
32645 * util/mkisofs/hash.c: Likewise.
32646 * util/mkisofs/include/fctldefs.h: Likewise.
32647 * util/mkisofs/include/mconfig.h: Likewise.
32648 * util/mkisofs/include/prototyp.h: Likewise.
32649 * util/mkisofs/include/statdefs.h: Likewise.
32650 * util/mkisofs/iso9660.h: Likewise.
32651 * util/mkisofs/joliet.c: Likewise.
32652 * util/mkisofs/match.c: Likewise.
32653 * util/mkisofs/match.h: Likewise.
32654 * util/mkisofs/mkisofs.c: Likewise.
32655 * util/mkisofs/mkisofs.h: Likewise.
32656 * util/mkisofs/multi.c: Likewise.
32657 * util/mkisofs/name.c: Likewise.
32658 * util/mkisofs/rock.c: Likewise.
32659 * util/mkisofs/tree.c: Likewise.
32660 * util/mkisofs/write.c: Likewise.
32661
ec8bb77d
VS
326622009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32663
32664 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32665 being insecure.
32666
3716b12c
RM
326672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32668
32669 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32670 `grub-mkimage' (and use $0 when possible).
32671
b97b7b91
RM
326722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32673
32674 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32675 error message for excessively large memory map.
32676
04114812
RM
326772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32678
32679 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32680 executable bit.
32681
e4eb2373
RM
326822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32683
32684 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32685 message for coreboot users.
32686
c926e1d5 326872009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 Fix build with GNU gold.
32690
32691 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32692 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32693 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32694 link addresses.
32695 * aclocal.m4: Likewise.
32696
86e5b1db 326972009-11-04 Felix Zielcke <fzielcke@z-51.de>
32698
32699 * configure.ac (AC_PREREQ): Bump to 2.59d.
32700 * INSTALL: Make it more clear when Autoconf and Ruby are
32701 needed and when to run `./autogen.sh'.
32702
246cd78f 327032009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32704
32705 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32706 OSes.
32707
4f9dfb37 327082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32709
32710 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32711
b82bd5e1 327122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32713
32714 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32715 giving it to GNU Mach.
32716
ff1a9bca 327172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32718
32719 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32720 GNU partition number to get internal GRUB partition number.
32721
61697d9c 327222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32723
32724 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32725 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32726
a50569e1 327272009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32728
32729 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32730 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32731 case.
32732
5b153867 327332009-11-01 Felix Zielcke <fzielcke@z-51.de>
32734
32735 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32736
d9e2cd70 327372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32738
32739 Fix build problem.
32740
32741 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32742 `-isystem=$(srcdir)/include'.
32743
805111a4 327442009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32745
32746 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32747 checked (grub-install doesn't currently rely on it).
32748
fa6e945f 327492009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32750
32751 Revert SVN r2660.
32752
32753 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32754 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32755 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32756 * conf/i386-ieee1275.rmk: Likewise.
32757 * conf/i386-pc.rmk: Likewise.
32758 * conf/powerpc-ieee1275.rmk: Likewise.
32759 * conf/sparc64-ieee1275.rmk: Likewise.
32760 * conf/x86_64-efi.rmk: Likewise.
32761
cee15086 327622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32763
32764 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32765
95b9239e 327662009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32767
32768 * include/grub/misc.h: Stop checking for APPLE_CC.
32769
2ed19dfd 327702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32771
32772 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32773 doesn't cause an infinite call loop.
32774
fdcdde19 327752009-10-28 Felix Zielcke <fzielcke@z-51.de>
32776
32777 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32778 strings.
32779
cefabfe1 327802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32781
32782 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32783 variable.
32784 * Makefile.in: Likewise.
32785
ed96ab6d 327862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32787
32788 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32789
0579b753 327902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32791
32792 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32793
478df409 327942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32797
083d1679 327982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32799
32800 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32801 from here ...
32802 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32803
5947ae32 328042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32805
32806 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32807 in $(MAKEINFO) invocation. This makes it clear in output that
32808 errors are being ignored.
32809
94180ff6 328102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32811
32812 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32813 from here ...
32814 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32815 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32816 * conf/i386-ieee1275.rmk: Likewise.
32817 * conf/i386-pc.rmk: Likewise.
32818 * conf/powerpc-ieee1275.rmk: Likewise.
32819 * conf/sparc64-ieee1275.rmk: Likewise.
32820 * conf/x86_64-efi.rmk: Likewise.
32821
9031b03a 328222009-10-26 Colin Watson <cjwatson@ubuntu.com>
32823
32824 * util/grub-editenv.c (main): If only a command is given, use
32825 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32826 (usage): FILENAME is now optional and has a default.
32827
e4f6809b 328282009-10-26 Colin Watson <cjwatson@ubuntu.com>
32829
32830 Improve grub-mkconfig performance when there are several menu
32831 entries on a single filesystem.
32832
32833 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32834 prepare_grub_to_access_device.
32835 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32836 * util/grub.d/30_os-prober.in: Likewise.
32837
67937d4d 328382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32839
32840 * util/grub.d/10_freebsd.in: Remove.
32841 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32842 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32843
ee3756cc 328442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32845
5c35048e 32846 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32847
4dea1c6f 328482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32849
32850 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32851 grub_util_error() call.
32852
042484d7 328532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32854
32855 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32856 `reserved_first_sector' member.
32857 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32858 `reserved_first_sector' to 1.
32859 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32860 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32861 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32862 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32863 filesystems which begin at first sector.
32864 (options): New option --skip-fs-probe.
32865 (main): Handle --skip-fs-probe and pass it to setup().
32866
d64448a7 328672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32868
32869 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32870 (memset): Fix function prototype.
32871
508d42ec 328722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
328732009-10-25 Vasily Averin <vvs@parallels.com>
32874
32875 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32876 `dirent.direntlen == 0'.
32877
b240e30c 328782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32879
32880 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32881 `cpio'.
32882 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32883
346e7fbe 328842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32885
32886 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32887 `__trampoline_setup' and `__ucmpdi2'.
32888 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32889 that libgcc provides.
32890
cdb308b0 328912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32892
32893 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32894 * include/grub/sparc64/libgcc.h (memset): Likewise.
32895 * include/grub/misc.h (memset, memcmp): New function prototypes.
32896
fb26abc2 328972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32898
32899 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32900 `cpio'.
32901 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32902
f6693890 329032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32904
32905 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32906 * docs/grub.cfg: Compensate for recent change in multiboot
32907 loader (since 2009-08-14 it won't pass filename to payload).
32908 * util/grub.d/10_hurd.in: Likewise.
32909
0933cdc0 329102009-10-21 Felix Zielcke <fzielcke@z-51.de>
32911
32912 * config.guess: Update to latest version from config git
32913 repository.
32914 * config.sub: Likewise.
32915
3b2fe8c2 329162009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32917
32918 Fix build on sparc64.
32919
32920 * configure.ac: Perform checks for libgcc symbols before
32921 adding `-nostdlib' to LDFLAGS.
32922
46695a62 329232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32924
32925 Let user specify OpenBSD root device.
32926
32927 * loader/i386/bsd.c (openbsd_root): New variable.
32928 (openbsd_opts): New option 'root'.
32929 (OPENBSD_ROOT_ARG): New macro.
32930 (grub_openbsd_boot): Use 'openbsd_root'.
32931 (grub_cmd_openbsd): Fill 'openbsd_root'.
32932
d2b6b7fc 329332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32934
32935 * NEWS: Misc adjustments.
32936
421bd7ac 329372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32938
32939 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32940
f1d29d87 329412009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32942
32943 * configure.ac: Bump version to 1.97.
32944
6f3cd880 329452009-10-16 Colin Watson <cjwatson@ubuntu.com>
32946
32947 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32948 -mno-3dnow on x86 architectures. Some toolchains enable these
32949 features by default, but they rely on registers that aren't enabled
32950 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32951
035f7122 329522009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32953
32954 Make entry text a bit more readable.
32955
32956 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32957
44998e58 329582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32959
32960 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32961
cd2851b3 329622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32963
32964 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32965 operations.
32966
c6f3b249 329672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32968
32969 * configure.ac: Add missing dollar.
32970
6b5886ba 329712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32972
32973 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32974
32975 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32976 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32977 exports.
32978 * include/grub/sparc64/libgcc.h: Likewise. Use
32979 preprocessor conditionals.
32980
e9d66f6d 329812009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * conf/common.rmk (grub-dumpbios): Remove rule.
32984 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32985 * util/grub-dumpbios.in: Remove file.
32986
9155bc17 329872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32988
32989 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32990 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32991
32992 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32993 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32994 users.
32995
32996 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32997 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32998 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32999 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33000 users.
33001
bf7f7a18 330022009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33003
33004 * term/tparm.c: Switch to GPLv3.
33005
86564c26 330062009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33007
33008 * include/grub/i386/cpuid.h: Add header protection.
33009
5c936493 330102009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33011
33012 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33013
33014 * include/grub/i386/cpuid.h: New file.
33015 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33016 (has_longmode): Rename to ...
33017 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33018 `static' attribute.
33019 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33020 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33021 on a CPU that doesn't implement AMD64 instruction set.
33022
186e7cf2 330232009-10-06 Colin Watson <cjwatson@ubuntu.com>
33024
33025 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33026 that version.texi is rebuilt on version number changes.
33027
83b65c4a 330282009-10-06 Colin Watson <cjwatson@ubuntu.com>
33029
33030 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33031 Fixes bug #27602.
33032
d244281c 330332009-10-06 Colin Watson <cjwatson@ubuntu.com>
33034
33035 * util/i386/pc/grub-install.in: Source
33036 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33037 that the --grub-probe option will work.
33038 * util/sparc64/ieee1275/grub-install.in: Likewise.
33039
da25306d 330402009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33041
33042 * configure.ac: Bump version to 1.97~beta4.
33043
e8ee83c0 330442009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 Resync grub-mkdevicemap in x86_64-efi.
33047
33048 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33049 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33050 `util/devicemap.c'.
33051
50dcabcf 330522009-10-01 Colin Watson <cjwatson@ubuntu.com>
33053
33054 * util/grub-editenv.c (create_envblk_file): Write new block with a
33055 .new suffix and then rename it into place, to ensure atomic
33056 creation.
33057
0e51c3a7 330582009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33059
33060 Do not automatically install headers.
33061
33062 * Makefile.in (include_DATA): Remove. Update all users.
33063
31299a95 330642009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33065
33066 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33067 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33068
33069 * util/osdetect.lua: Remove.
33070 * script/lua/lauxlib.c: Likewise.
33071 * script/lua/ldebug.c: Likewise.
33072 * script/lua/grub_main.c: Likewise.
33073 * script/lua/lauxlib.h: Likewise.
33074 * script/lua/ldebug.h: Likewise.
33075 * script/lua/ltablib.c: Likewise.
33076 * script/lua/liolib.c: Likewise.
33077 * script/lua/lstrlib.c: Likewise.
33078 * script/lua/lualib.h: Likewise.
33079 * script/lua/ldo.c: Likewise.
33080 * script/lua/ldump.c: Likewise.
33081 * script/lua/ldo.h: Likewise.
33082 * script/lua/loslib.c: Likewise.
33083 * script/lua/lundump.c: Likewise.
33084 * script/lua/grub_lib.c: Likewise.
33085 * script/lua/ldblib.c: Likewise.
33086 * script/lua/lundump.h: Likewise.
33087 * script/lua/lmem.c: Likewise.
33088 * script/lua/grub_lib.h: Likewise.
33089 * script/lua/lmathlib.c: Likewise.
33090 * script/lua/lstate.c: Likewise.
33091 * script/lua/ltm.c: Likewise.
33092 * script/lua/lvm.c: Likewise.
33093 * script/lua/lmem.h: Likewise.
33094 * script/lua/lstate.h: Likewise.
33095 * script/lua/ltm.h: Likewise.
33096 * script/lua/ltable.c: Likewise.
33097 * script/lua/lvm.h: Likewise.
33098 * script/lua/llex.c: Likewise.
33099 * script/lua/lgc.c: Likewise.
33100 * script/lua/grub_lua.h: Likewise.
33101 * script/lua/loadlib.c: Likewise.
33102 * script/lua/lfunc.c: Likewise.
33103 * script/lua/lopcodes.c: Likewise.
33104 * script/lua/lparser.c: Likewise.
33105 * script/lua/ltable.h: Likewise.
33106 * script/lua/llex.h: Likewise.
33107 * script/lua/lgc.h: Likewise.
33108 * script/lua/lfunc.h: Likewise.
33109 * script/lua/lbaselib.c: Likewise.
33110 * script/lua/lopcodes.h: Likewise.
33111 * script/lua/lparser.h: Likewise.
33112 * script/lua/lzio.c: Likewise.
33113 * script/lua/linit.c: Likewise.
33114 * script/lua/lobject.c: Likewise.
33115 * script/lua/llimits.h: Likewise.
33116 * script/lua/lstring.c: Likewise.
33117 * script/lua/lzio.h: Likewise.
33118 * script/lua/lapi.c: Likewise.
33119 * script/lua/lcode.c: Likewise.
33120 * script/lua/lua.h: Likewise.
33121 * script/lua/lobject.h: Likewise.
33122 * script/lua/lstring.h: Likewise.
33123 * script/lua/lapi.h: Likewise.
33124 * script/lua/lcode.h: Likewise.
33125 * script/lua/luaconf.h: Likewise.
33126
cb8a2c38 331272009-09-26 Colin Watson <cjwatson@ubuntu.com>
33128
33129 * docs/grub.texi (Command-line and menu entry commands): Document
33130 date and echo commands.
33131
6b9b6276 331322009-09-24 Pavel Roskin <proski@gnu.org>
33133
33134 * include/grub/kernel.h (struct grub_module_header): Remove
33135 `grub_module_header_types'. Make `type' unsigned. Make `size'
33136 32-bit on all platforms.
33137 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33138 8-bit field. Use grub_host_to_target32() for `size'.
33139 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33140 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33141 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33142
4e5a02a7 331432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33144
33145 Fix "lost keypress" bug in at_keyboard.
33146
33147 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33148 Checks for readyness of input buffer (without flushing it).
33149 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33150 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33151
c6dcedf6 331522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33155 size check within GRUB_MACHINE_PCBIOS section.
33156
74c958b1 331572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33160 return value.
33161 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33162 KEYBOARD_ISREADY check.
33163 (grub_at_keyboard_checkkey): Rename to ...
33164 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33165 Remove gratuitous cast.
33166
ff420223 331672009-09-23 Colin Watson <cjwatson@ubuntu.com>
33168
33169 * configure.ac: Call AC_PROG_MKDIR_P.
33170 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33171 version.texi in $(builddir) rather than $(srcdir).
33172 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33173 to makeinfo's @include search path.
33174
d96875df 331752009-09-23 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33178
9b3f8365 331792009-09-23 Felix Zielcke <fzielcke@z-51.de>
33180
33181 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33182 for `*.dpkg-new'.
33183
c44c90db 331842009-09-21 Colin Watson <cjwatson@ubuntu.com>
33185
33186 Build info documentation. Some code borrowed from Automake.
33187
33188 * configure.ac: Check for makeinfo.
33189 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33190 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33191 docs/version.texi.
33192 (MOSTLYCLEANFILES): Add vti.tmp.
33193 (docs/version.texi, docs/stamp-vti): Update automatically.
33194 (docs/grub.info): Build info documentation. Use --force and ignore
33195 errors for now.
33196 (all-local): Add $(INFOS).
33197 (install-local): Install info files.
33198 (uninstall): Uninstall info files.
33199 * docs/version.texi: Remove from revision control. This file is
33200 automatically generated on build now.
33201 * gendistlist.sh: Add `*.info'.
33202
e0b37bb5 332032009-09-21 Felix Zielcke <fzielcke@z-51.de>
33204
33205 * kern/term.c: Fix indentation.
33206
5a78865b 332072009-09-21 Felix Zielcke <fzielcke@z-51.de>
33208
33209 * util/hostdisk.c: Fix a comment.
33210
dace7e8a 332112009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33212
33213 Fix regression introduced in r2539.
33214
33215 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33216 to 0xA1.
33217
a83d079b 332182009-09-19 Colin Watson <cjwatson@ubuntu.com>
33219
33220 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33221 os-prober. Under normal operation, it does not print anything to
33222 stderr; if it does, we need to debug it, and throwing away stderr
33223 makes that excessively difficult.
a83d079b 33224
be94a509 332252009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33226
33227 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33228
63f745e8 332292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33230
33231 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33232 AC_LANG_PROGRAM from autoconf.
33233 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33234 prototypes (fixes warning).
33235
33236 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33237 `--disable-werror' was used.
33238
bbb2a70f 332392009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33240
33241 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33242 uninitialized `lastaddr'.
33243
77c24f1d 332442009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33245
0f0b8c87 33246 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33247
07197f23 332482009-09-14 Colin Watson <cjwatson@ubuntu.com>
33249
33250 * commands/test.c (get_fileinfo): Return immediately if
33251 grub_fs_probe fails.
33252
dabf1798 332532009-09-14 José Martínez <xosemp@gmail.com>
33254
33255 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33256
d52109a7 332572009-09-14 Colin Watson <cjwatson@ubuntu.com>
33258
33259 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33260 output.
33261
56532179 332622009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33263
33264 * configure.ac: Remove --enable-grub-pe2elf. Only build
33265 grub-pe2elf when needed by the build system itself.
33266 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33267
8ef070f5 332682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33269
33270 * configure.ac: Bump version to 1.97~beta3.
33271 * docs/version.texi: Likewise.
33272
61229557 332732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33274
33275 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33276 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33277 from here ...
33278 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33279 (grub_linux_setup_video): ... to here (with some adjustments).
33280
5c9f8d84 332812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33282
33283 Fix memory corruption issue (spotted by Colin Watson).
33284
33285 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33286 causing returned size to be stored in an incorrect memory location.
33287 Fix use of uninitialized value when storing the returned size.
33288
e8f5d6e9 332892009-09-12 Yves Blusseau <blusseau@zetam.org>
33290
33291 Change clean rules to properly remove files
33292
33293 * genmk.rb: add new clean rules
33294 * Makefile.in (clean): add the new targets
33295 (mostlyclean): likewise
33296
cda2a409 332972009-09-11 Colin Watson <cjwatson@ubuntu.com>
33298
33299 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33300 to grub_uint64_t.
33301 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33302 non-resident files.
33303
86695375 333042009-09-11 Colin Watson <cjwatson@ubuntu.com>
33305
33306 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33307 part of bug #27349.
33308
8aa1541a 333092009-09-10 Felix Zielcke <fzielcke@z-51.de>
33310
33311 * util/grub-mkconfig.in: Make the created config mode 400 and
33312 print a warning if it fails.
33313
48d9bb0a 333142009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33315
33316 * util/grub.d/40_custom.in: Ask user to type custom entries below
33317 comment, rather than below 'exec tail' line.
33318
3b0521be 333192009-09-10 Colin Watson <cjwatson@ubuntu.com>
33320
33321 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33322 visible in grub.cfg.
33323
50051d55 333242009-09-10 Colin Watson <cjwatson@ubuntu.com>
33325
33326 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33327 file.
33328
c0d34387 333292009-09-10 Felix Zielcke <fzielcke@z-51.de>
33330
33331 * docs/grub.cfg: Add an example menu entry for memtest86+.
33332
80a608f3 333332009-09-09 Felix Zielcke <fzielcke@z-51.de>
33334
a2094832 33335 * config.guess: Update to latest version from config git.
80a608f3 33336 * config.sub: Likewise.
33337
99423078 333382009-09-08 Colin Watson <cjwatson@ubuntu.com>
33339
33340 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33341 unknown-command case. Fixes bug #27320.
33342
44454e4c 333432009-09-08 Felix Zielcke <fzielcke@z-51.de>
33344
33345 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33346 `help' if the command exists.
33347
e30d87ad 333482009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33349
33350 * INSTALL: Require GCC 4.1.3 or later.
33351
9a86f1ec 333522009-09-06 Yves Blusseau <blusseau@zetam.org>
33353
33354 * Makefile.in (RMKFILES): add i386-qemu.rmk
33355 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33356 $(srcdir)/stamp-h.in
33357
7f26d466 333582009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33359
33360 * util/grub-probe.c (probe): Comment out buggy codepath, which
33361 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33362 should be re-enabled after 1.97.
33363
3a613259 333642009-09-05 Felix Zielcke <fzielcke@z-51.de>
33365
33366 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33367 find searches for.
33368
197f76c7 333692009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33370
33371 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33372 unnecessary calls to grub_error.
33373
70ba68ce 333742009-09-04 Colin Watson <cjwatson@ubuntu.com>
33375
33376 * NEWS: Mention `keystatus' and Unicode fonts.
33377
4ff0d7a4 333782009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33379
33380 * configure.ac: Bump version to 1.97~beta2.
33381 * docs/version.texi: Likewise.
33382
77c55a87 333832009-09-03 Colin Watson <cjwatson@ubuntu.com>
33384
33385 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33386 containing unwind information in some cases where it previously did
33387 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33388 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33389 discussion.
33390
f79572cd 333912009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33392
33393 Embedding loadenv module into grub-emu
33394
33395 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33396 commands/loadenv.c
33397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33398 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33399 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33403
93a81088 334042009-09-03 Magnus Granberg <zorry@ume.nu>
33405
33406 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33407 include -fPIE in the default specs.
33408 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33409 to TARGET_CFLAGS.
33410
160034b2 334112009-09-03 Felix Zielcke <fzielcke@z-51.de>
33412
33413 * INSTALL: Note that GNU Bison 2.3 or later is required.
33414
087c07c4 334152009-09-03 Colin Watson <cjwatson@ubuntu.com>
33416
33417 * kern/i386/pc/startup.S: Fix typo.
33418
cbf978c0 334192009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33420
33421 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33422 according to GCS.
33423
334242009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33425
33426 * docs/grub.texi (Naming convention): Describe one-based partition
33427 numbering.
33428 (Device syntax): Likewise.
33429 (File name syntax): Likewise.
33430 (Block list syntax): Likewise.
33431 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33432 menu.lst.
33433 (File name syntax): Likewise.
33434 (Command-line and menu entry commands): Document acpi, blocklist,
33435 crc, export, insmod, keystatus, ls, set, and unset commands.
33436
f3e8cdfd 334372009-09-02 Colin Watson <cjwatson@ubuntu.com>
33438
33439 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33440 to avoid implying that only one of --shift, --ctrl, or --alt may be
33441 used.
33442
c0bc232b 334432009-09-02 Colin Watson <cjwatson@ubuntu.com>
33444
33445 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33446 rather than comparing against S_IFREG, which will almost never work.
33447
aa0f752d 334482009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33449
33450 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33451 (write_blocklists): Likewise.
33452
ecb3166a 334532009-09-01 Colin Watson <cjwatson@ubuntu.com>
33454
33455 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33456 argument to grub_printf.
33457
c403a125 334582009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33459
33460 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33461 non GNU test.
31aba781 33462
b5e7312c 334632009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 * kern/file.c (grub_file_read): Spelling fix
33466
fe00f472 334672009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33468
33469 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33470 loading of headers in some cases.
33471
cc55302e 334722009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33473
33474 * configure.ac: Bump version to 1.97~beta1.
33475 * docs/version.texi: Likewise.
33476
5c90cdd2 334772009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33478
33479 * include/grub/i386/xnu.h: Add license header.
33480 include grub/err.h explicitly.
33481
c90edae4 334822009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33483
33484 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33485 to `ufs' in the vfs.root.mountfrom kernel parameter.
33486
d8888b5c 334872009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33488
33489 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33490
33491 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33492 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33493
33494 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33495 `ARRAY_SIZE' macro.
33496
6f07b921 334972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33498
33499 * kern/file.c (grub_file_read): Check offset.
33500 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33501 * fs/jfs.c (grub_jfs_read_file): Likewise.
33502 * fs/ntfs.c (grub_ntfs_read): Likewise.
33503 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33504 * fs/minix.c (grub_minix_read_file): Correct offset check.
33505 * fs/ufs.c (grub_ufs_read_file): Likewise.
33506
b4f34077 335072009-08-28 Colin Watson <cjwatson@ubuntu.com>
33508
33509 * term/i386/pc/console.c (bios_data_area): Cast
33510 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33511
e7c69859 335122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33513
33514 1-bit optimised blitters.
33515
33516 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33517 prototype.
33518 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33519 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33520 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33521 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33522 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33523 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33524 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33525 function.
33526 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33527 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33528 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33529 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33530 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33531 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33532 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33533 when possible.
33534 * video/video.c (grub_video_get_blit_format): Return
33535 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33536
a57da43f 335372009-08-28 Colin Watson <cjwatson@ubuntu.com>
33538
33539 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33540 the first argument to grub_printf.
33541
4cbe67e5 335422009-08-28 Colin Watson <cjwatson@ubuntu.com>
335432009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33544
33545 Add `getkeystatus' terminal method. Add a new `keystatus' command
33546 to query it.
33547
33548 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33549 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33550 modifier key bitmasks.
33551 (struct grub_term_input): Add `getkeystatus' member.
33552 (grub_getkeystatus): Add prototype.
33553 * kern/term.c (grub_getkeystatus): New function.
33554
33555 * include/grub/i386/pc/memory.h
33556 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33557 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33558 Data Area layout.
33559 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33560 (grub_console_term_input): Set `getkeystatus' member.
33561 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33562 constants.
33563 (grub_usb_keyboard_getreport): Likewise.
33564 (grub_usb_keyboard_checkkey): Likewise.
33565 (grub_usb_keyboard_getkeystatus): New function.
33566 (grub_usb_keyboard_term): Set `getkeystatus' member.
33567
33568 * commands/keystatus.c: New file.
33569 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33570 (keystatus_mod_SOURCES): New variable.
33571 (keystatus_mod_CFLAGS): Likewise.
33572 (keystatus_mod_LDFLAGS): Likewise.
33573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33574 commands/keystatus.c.
33575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33576 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33581
6e2a9085 335822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33583
33584 Split befs.mod and afs.mod into *_be.mod and *.mod
33585
33586 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33587 (grub_fstest_SOURCES): Likewise.
33588 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33589 (afs_be_mod_SOURCES): New variable.
33590 (afs_be_mod_CFLAGS): Likewise.
33591 (afs_be_mod_LDFLAGS): Likewise.
33592 (befs_be_mod_SOURCES): Likewise.
33593 (befs_be_mod_CFLAGS): Likewise.
33594 (befs_be_mod_LDFLAGS): Likewise.
33595 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33597 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33598 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33599 (grub_emu_SOURCES): Likewise.
33600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33601 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33602 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33603 * fs/afs_be.c: New file.
33604 * fs/befs_be.c: New file.
33605 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33606 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33607 (U16): Replaced with ...
33608 (grub_afs_to_cpu16): ...this. All users updated.
33609 (U32): Replaced with ...
33610 (grub_afs_to_cpu32): ...this. All users updated.
33611 (U64): Replaced with ...
33612 (grub_afs_to_cpu64): ...this. All users updated.
33613 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33614 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33615 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33616 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33617 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33618 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33619 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33620 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33621 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33622 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33623 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33624
32a71655 336252009-08-26 Bean <bean123ch@gmail.com>
33626
33627 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33628 64-bit number.
33629 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33630 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33631 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33632
552bf6c5 336332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33634
33635 NetBSD memory map support.
33636
33637 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33638 (grub_netbsd_btinfo_mmap_header): New structure.
33639 (grub_netbsd_btinfo_mmap_entry): Likewise.
33640 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33641
1ae2078c 336422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33643
33644 Enable bsd.mod on coreboot.
33645
33646 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33647 (bsd_mod_SOURCES): New variable.
33648 (bsd_mod_CFLAGS): Likewise.
33649 (bsd_mod_LDFLAGS): Likewise.
33650 (bsd_mod_ASFLAGS): Likewise.
33651 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33652 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33653
beefc598 336542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33655
33656 Cleanup NetBSD root support.
33657
33658 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33659 grub_bsd_get_device.
33660 Fix typo.
33661
3b76e68b 336622009-08-25 Felix Zielcke <fzielcke@z-51.de>
33663
33664 * util/grub.d/00_header.in: Move check for the video backend of
33665 gfxterm from here ...
33666 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33667 a suitable video backend.
33668
aea664ea 336692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33670
33671 Fix breakage in grub-setup.
33672
33673 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33674 "msdos_partition_map".
33675
ff747d50 336762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33677
33678 Fix breakage in normal/auth.c.
33679
33680 * normal/auth.c (grub_iswordseparator): New function.
33681
e7e1f93f 336822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33683
33684 Authentication support.
33685
33686 * commands/password.c: New file.
33687 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33688 (password_mod_SOURCES): New variable.
33689 (password_mod_CFLAGS): Likewise.
33690 (password_mod_LDFLAGS): Likewise.
33691 (normal_mod_SOURCES): Add normal/auth.c.
33692 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33693 normal/auth.c.
33694 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33695 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33696 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33698 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33700 * include/grub/auth.h: New file.
33701 * include/grub/err.h (grub_err_t): New enum value
33702 GRUB_ERR_ACCESS_DENIED.
33703 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33704 'users'.
33705 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33706 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33707 users updated.
33708 * normal/auth.c: New file.
33709 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33710 (grub_cmdline_run): Don't allow to go to command line without
33711 authentication.
33712 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33713 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33714 menuentry without superuser rights.
33715 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33716 user isn't a superuser.
33717
70f1161d 337182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33719
33720 Save space by inlining misc.c functions.
33721
33722 * kern/misc.c (grub_iswordseparator): Made static.
33723 * kern/misc.c (grub_strcat): Moved from here ...
33724 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33725 * kern/misc.c (grub_strncat): Moved from here ...
33726 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33727 * kern/misc.c (grub_strcasecmp): Moved from here ...
33728 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33729 * kern/misc.c (grub_strncasecmp): Moved from here ...
33730 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33731 * kern/misc.c (grub_isalpha): Moved from here ...
33732 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33733 * kern/misc.c (grub_isdigit): Moved from here ...
33734 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33735 * kern/misc.c (grub_isgraph): Moved from here ...
33736 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33737 * kern/misc.c (grub_tolower): Moved from here ...
33738 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33739
48e40bff 337402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33741
33742 * script/sh/function.c (grub_script_function_find): Cut error message
33743 not to flood terminal.
33744 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33745 limit.
33746 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33747
c385bfc3 337482009-08-24 Colin Watson <cjwatson@ubuntu.com>
33749
33750 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33751 `report' grub_uint8_t *.
33752 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33753 Use a 50-millisecond timeout rather than just repeating
33754 grub_usb_keyboard_getreport 50 times.
33755 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33756
2d21e3e8 337572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33758
33759 Rename *_partition_map to part_*
33760
33761 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33762 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33763 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33764 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33765 All users updated.
33766 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33767 All users updated.
33768 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33769 * util/grub-probe.c (probe_partmap): Don't transform partition name
33770 to get module name.
33771
dd103c4e 337722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33773
33774 Fix OpenBSD and NetBSD support.
33775
33776 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33777 memory address conflict.
33778 (OPENBSD_MMAP_ACPI): New definition.
33779 (OPENBSD_MMAP_NVS): Likewise.
33780 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33781 and OPENBSD_MMAP_NVS.
33782 Add memory map terminator
33783 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33784 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33785
16c84d74 337862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33787
33788 Let user specify NetBSD root device.
33789
33790 * loader/i386/bsd.c (netbsd_root): New variable.
33791 (netbsd_opts): New option 'root'.
33792 (NETBSD_ROOT_ARG): New macro.
33793 (grub_netbsd_boot): Use 'netbsd_root'.
33794 (grub_bsd_unload): Free 'netbsd_root'.
33795 (grub_cmd_netbsd): Fill 'netbsd_root'.
33796
adb29902 337972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33798
33799 Support for 64-bit NetBSD.
33800
33801 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33802 point when booting non-FreeBSD.
33803
f5ae9f74 338042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33805
33806 Support --no-smp and --no-acpi for NetBSD.
33807
33808 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33809 (NETBSD_AB_NOACPI): Likewise.
33810 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33811 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33812
de74f136 338132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33814
33815 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33816 errors.
33817 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33818 errors. Call grub_error when needed.
33819
e9a925da 338202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33821
33822 * commands/search.c (search_fs): Try searching without autoload first.
33823 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33824 filesystem module explicitly for faster booting.
33825
5174302b 338262009-08-23 Colin Watson <cjwatson@ubuntu.com>
33827
33828 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33829
c8c80635 338302009-08-23 Colin Watson <cjwatson@ubuntu.com>
33831
33832 * util/grub.d/30_os-prober.in: Disable os-prober if
33833 `GRUB_DISABLE_OS_PROBER' was set to true.
33834
71acf5e5 338352009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33836
33837 * partmap/pc.c: Rename to ...
33838 * partmap/msdos.c: ... this. Update all users.
33839 (grub_pc_partition_map): Rename to ...
33840 (grub_msdos_partition_map): ... this. Update all users.
33841
33842 * parttool/pcpart.c: Rename to ...
33843 * parttool/msdospart.c: ... this. Update all users.
33844
33845 * include/grub/pc_partition.h: Rename to ...
33846 * include/grub/msdos_partition.h: ... this. Update all users.
33847 (grub_pc_partition_bsd_entry): Rename to ...
33848 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33849 (grub_pc_partition_disk_label): Rename to ...
33850 (grub_msdos_partition_disk_label): ... this. Update all users.
33851 (grub_pc_partition_entry): Rename to ...
33852 (grub_msdos_partition_entry): ... this. Update all users.
33853 (grub_pc_partition_mbr): Rename to ...
33854 (grub_msdos_partition_mbr): ... this. Update all users.
33855 (grub_pc_partition): Rename to ...
33856 (grub_msdos_partition): ... this. Update all users.
33857 (grub_pc_partition_is_empty): Rename to ...
33858 (grub_msdos_partition_is_empty): ... this. Update all users.
33859 (grub_pc_partition_is_extended): Rename to ...
33860 (grub_msdos_partition_is_extended): ... this. Update all users.
33861 (grub_pc_partition_is_bsd): Rename to ...
33862 (grub_msdos_partition_is_bsd): ... this. Update all users.
33863
33864 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33865 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33866 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33867 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33868 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33869 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33870 (gpt_mod_LDFLAGS): Rename to ...
33871 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33872 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33873 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33874 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33875 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33876 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33877 (part_gpt_mod_LDFLAGS): ... this.
33878 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33879 `pcpart.mod' to `msdospart.mod'.
33880 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33881 to ...
33882 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33883 (msdospart_mod_LDFLAGS): ... this.
33884
c11fded5 338852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33886
33887 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33888 (openbsd_opts): Likewise.
33889 (netbsd_opts): Likewise.
33890 (freebsd_flags): Added 0 terminator.
33891 (openbsd_flags): Likewise.
33892 (netbsd_flags): Likewise.
33893 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33894 (grub_cmd_freebsd): Transformed into extended command.
33895 (grub_cmd_openbsd): Likewise.
33896 (grub_cmd_netbsd): Likewise.
33897 (cmd_freebsd): Changed type to grub_extcmd_t.
33898 (cmd_openbsd): Likewise.
33899 (cmd_netbsd): Likewise.
33900 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33901 grub_cmd_openbsd as extended commands.
33902 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33903 cmd_netbsd and cmd_openbsd
33904
11d1c769 339052009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33906
33907 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33908
7a9094e5 339092009-08-21 Pavel Roskin <proski@gnu.org>
33910
5496c37e 33911 * Makefile.in (install-local): When checking if a file is in the
33912 build directory, use "test -e" to detect symlinks.
33913
7a9094e5 33914 * Makefile.in (install-local): Remove all files in
33915 $(DESTDIR)$(pkglibdir) before installing new files there.
33916
e53cea11 339172009-08-18 Felix Zielcke <fzielcke@z-51.de>
33918
33919 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33920 grub-mkelfimage.
33921
9aced544 339222009-08-18 Felix Zielcke <fzielcke@z-51.de>
33923
33924 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33925 explicitly specified by the user.
33926
b7da6bab 339272009-08-18 Pavel Roskin <proski@gnu.org>
33928
33929 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33930 grub_uint8_t pointer for data.
33931 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33932 Likewise.
33933 * video/fb/fbutil.c: Remove unnecessary casts.
33934
19f1b335 339352009-08-17 Michal Suchanek <hramrach@centrum.cz>
33936
33937 VBE cleanup.
33938
33939 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33940 (grub_vbe_set_video_mode): Save active mode info
33941 only after setting the mode.
33942 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33943 second argument.
33944
2f467aa9 339452009-08-17 Michal Suchanek <hramrach@centrum.cz>
33946
33947 Rename variables for clarity.
33948
33949 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33950 (active_vbe_mode_info): ... this. All users updated.
33951 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33952 All users updated.
33953 (initial_mode): Rename to ...
33954 (initial_vbe_mode): ... this. All users updated.
33955 (mode_in_use): Rename to ..
33956 (vbe_mode_in_use): ... this. All users updated.
33957 (mode_list): Rename to ..
33958 (vbe_mode_list): ... this. All users updated.
33959 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33960 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33961 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33962 'mode_list_size' to 'vbe_mode_list_size'.
33963 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33964 'best_mode_info' to 'best_vbe_mode_info' and
33965 'best_mode' to 'best_vbe_mode'
33966
6025fcd7 339672009-08-17 Michal Suchanek <hramrach@centrum.cz>
33968
33969 Remove duplicate grub_video_fb_get_video_ptr.
33970
33971 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33972 (grub_video_fb_get_video_ptr): ... this.
33973 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33974 * video/fb/fbutil.c: Add comment about addressing.
33975 (get_data_ptr): Rename to ...
33976 (grub_video_fb_get_video_ptr): ... this. All users updated.
33977 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33978
cc8c6faf 339792009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33980
33981 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33982 grub_dprintf() that was just added.
33983
08aa61f0 339842009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33985
33986 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33987 (DEFAULT_VIDEO_MODE): Remove macros.
33988 (grub_linux_boot): Remove assumption that Linux has FB support,
33989 and use "text" as default video mode.
33990
7cef4f75 339912009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33992
33993 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33994 grub_dprintf.
33995 * fs/fat.c (grub_fat_read_data): Likewise.
33996
e1f39873 339972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33998
33999 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34000 payload.
34001 (grub_module): Likewise.
34002
c166d79e 340032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34004
34005 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34006 mbi->cmdline but free playground.
34007
c60cee8e 340082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34009
34010 Handle group offset on UFS1.
34011
34012 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34013 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34014
c0d8b5d4 340152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34016
34017 Split ufs.mod into ufs1.mod and ufs2.mod.
34018
34019 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34020 (grub_fstest_SOURCES): Likewise.
34021 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34022 (ufs_mod_SOURCES): Remove.
34023 (ufs_mod_CFLAGS): Likewise.
34024 (ufs_mod_LDFLAGS): Likewise.
34025 (ufs1_mod_SOURCES): New variable.
34026 (ufs1_mod_CFLAGS): Likewise.
34027 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34028 (ufs2_mod_SOURCES): New variable.
34029 (ufs2_mod_CFLAGS): Likewise.
34030 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34031 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34032 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34033 Likewise.
34034 (grub_emu_SOURCES): Likewise.
34035 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34036 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34037 (grub_setup_SOURCES): Likewise.
34038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34039 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34040 (grub_setup_SOURCES): Likewise.
34041 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34042 Likewise.
34043 * fs/ufs2.c: New file.
34044 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34045
d3539132 340462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34047
34048 Framebuffer split.
34049
34050 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34051 subsystem at the end.
34052 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34053 (video_fb_mod_SOURCES): New variable.
34054 (video_fb_mod_CFLAGS): Likewise.
34055 (video_fb_mod_LDFLAGS): Likewise.
34056 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34057 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34058 * video/i386/pc/vbeblit.c: Moved from here ...
34059 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34060 * video/i386/pc/vbefill.c: Moved from here ...
34061 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34062 * video/i386/pc/vbeutil.c: Moved from here ...
34063 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34064 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34065 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34066 * include/grub/i386/pc/vbefill.h: Moved from here ...
34067 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34068 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34069 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34070 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34071 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34072 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34073 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34074 (grub_video_adapter): Added 'get_info_and_fini'.
34075 (grub_video_get_info_and_fini): New prototype.
34076 (grub_video_set_mode): make modestring const char *.
34077 * loader/i386/linux.c (grub_linux_setup_video): Use
34078 grub_video_get_info_and_fini.
34079 (grub_linux_boot): Move modesetting just before booting.
34080 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34081 grub_video_get_info_and_fini.
34082 * video/i386/pc/vbe.c: Moved framebuffer part ...
34083 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34084 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34085 grub_video_fbstd_colors and grub_video_fb_set_palette.
34086 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34087 grub_video_fb_init.
34088 (grub_video_vbe_fini): Use grub_video_fb_fini.
34089 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34090 render_target and use grub_video_fb_set_active_render_target and
34091 grub_video_fb_set_palette.
34092 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34093 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34094 (grub_video_vbe_adapter): Use framebuffer.
34095 * video/video.c (grub_video_get_info_and_fini): New function.
34096 (grub_video_set_mode): Make modestring const char *.
34097 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34098 values are already initialised.
34099
d404ee56 341002009-08-14 Pavel Roskin <proski@gnu.org>
34101
34102 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34103 ABS and APPLE_CC.
34104 * boot/i386/pc/diskboot.S: Likewise.
34105 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34106 sectors allow compilation on MacOSX.
34107 * conf/i386-pc.rmk: Enable unconditional compilation of
34108 lnxboot.img.
34109
9a10df16 341102009-08-13 Colin Watson <cjwatson@ubuntu.com>
34111
34112 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34113 * util/grub.d/00_header.in: Enter interruptible sleep if
34114 GRUB_HIDDEN_TIMEOUT is set.
34115
be3c9ca7 341162009-08-13 Yves Blusseau <blusseau@zetam.org>
34117
34118 * include/grub/symbol.h: Add the LOCAL macro.
34119 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34120 starting with "L_".
34121
1f9e557e 341222009-08-13 Pavel Roskin <proski@gnu.org>
34123
9ca62843 34124 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34125 any modern compilers we support.
34126
1f9e557e 34127 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34128 Use local labels starting with "L_" so that Apple assembler
34129 knows they are local.
34130
81623db6 341312009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34134 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34135 (bsd_kernel_types): ... this enum.
34136
34137 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34138 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34139 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34140
34141 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34142 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34143 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34144 messages.
34145
f5d35e7a 341462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34147
34148 * util/grub-dumpdevtree: Moved from here ...
34149 * util/i386/efi/grub-dumpdevtree: ... to here.
34150 (hexify): New function. Converts a string to its hex version.
34151 Generate hex versions of "efi" and "device-properties" by calling
34152 hexify() on the ASCII strings rather than by hardcoding numbers.
34153
d1e1d527 341542009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34155
34156 * fs/jfs.c: Update copyright year.
34157
1ebbe064 341582009-08-08 Felix Zielcke <fzielcke@z-51.de>
34159
34160 * util/grub.d/00_header.in: Fix a comment.
34161 * util/grub.d/10_linux.in: Likewise.
34162 * util/grub.d/10_windows.in: Likewise.
34163 * util/grub.d/10_hurd.in: Likewise.
34164
a78c8d24 341652009-08-08 Felix Zielcke <fzielcke@z-51.de>
34166
34167 * util/grub-mkconfig.in: Allow the user to specify the used font
34168 with GRUB_FONT.
34169
29a6b9e8 341702009-08-08 Pavel Roskin <proski@gnu.org>
34171
b5f16cc4 34172 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34173 available, xfs.mod needs it now.
34174
2f5cb827 34175 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34176 the "g" modifier in sed when the intention is to strip something
34177 once. This fixes comparison of kernels with multiple dashes.
34178
29a6b9e8 34179 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34180 on it. Add missing space before closing bracket. Fix
34181 misleading formatting.
34182
892a3d98 341832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34184
34185 * docs/grub.texi: Major overhaul. Remove all sections that are
34186 specific to GRUB Legacy, or mostly composed of Legacy-specific
34187 information.
34188
ed94253f 341892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34190
34191 * docs/version.texi: New file. Provides version information for
34192 grub.texi.
34193
126d6628 341942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34195
34196 * docs/grub.texi: Update CVS information to SVN.
34197 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34198
998b5aa9 341992009-08-07 Felix Zielcke <fzielcke@z-51.de>
34200
34201 * util/grub-mkconfig.in: Remove a wrong `fi'.
34202
818e094a 342032009-08-07 Felix Zielcke <fzielcke@z-51.de>
34204
34205 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34206 (grub_jfs_uuid): New function.
34207 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34208
b969c52f 342092009-08-07 Felix Zielcke <fzielcke@z-51.de>
34210
34211 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34212 of it to ...
34213 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34214 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34215
7a4894cc 342162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34217
34218 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34219 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34220 Update all users.
34221
34222 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34223 not just "vmlinu[zx]".
34224 Moved from here ...
34225 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34226 all users.
34227
34228 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34229 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34230 all users.
34231
4e2171f8 342322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34233
34234 * util/grub.d/10_freebsd.in: Use an absolute device path for
34235 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34236
6dcfcb32 342372009-08-06 Felix Zielcke <fzielcke@z-51.de>
34238
34239 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34240 handling of multiple abstraction modules.
34241
f56a8756 342422009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34243
34244 Fix a bug resulting in black screen when loading Linux using a
34245 packed video mode.
34246
34247 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34248 function.
34249
34250 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34251 (grub_vbe_bios_getset_dac_palette_width): New function.
34252 (grub_vbe_bios_get_dac_palette_width)
34253 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34254 grub_vbe_bios_getset_dac_palette_width()).
34255
34256 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34257 check for return status.
34258 (grub_vbe_get_video_mode_info): When getting information for a packed
34259 mode (<= 8 bpp), obtain DAC palette width using
34260 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34261 {red,green,blue}_mark_size.
34262
222671b2 342632009-08-04 Felix Zielcke <fzielcke@z-51.de>
34264
ecb1a6d9 34265 * commands/search.c (options): Fix help output to match actual code.
222671b2 34266
f84114f5 342672009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34268
34269 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34270 of homegrown code.
34271
bd288a20 342722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34273
34274 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34275 on XFS or ReiserFS.
34276
8aab5e25 342772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34278
34279 Support Apple partition map with sector size different from 512 bytes.
34280
34281 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34282 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34283 and 'apart.partmap_size'.
34284
6ad6258a 342852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
342862009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34287
34288 Fix cpuid command.
34289
34290 * commands/i386/cpuid.c (options): New variable.
34291 (grub_cmd_cpuid): Return real error.
34292 (GRUB_MOD_INIT(cpuid)): Declare options.
34293
67459bc6 342942009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34295
34296 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34297 valid.
34298
fbc6ab54 342992009-07-31 Bean <bean123ch@gmail.com>
34300
34301 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34302 log2_inode.
34303 (grub_fshelp_node): Move inode field to the end.
34304 (grub_xfs_data): Remove inode field.
34305 (grub_xfs_inode_block): Calculate inode size using sblock.
34306 (grub_xfs_inode_offset): Likewise.
34307 (grub_xfs_read_inode): Calculate inode size using sblock.
34308 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34309 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34310 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34311 to match inode size.
34312 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34313 not accessible when data is null.
34314 (grub_xfs_open): Likewise.
34315
f45d6cfc 343162009-07-31 Bean <bean123ch@gmail.com>
34317
34318 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34319 Don't change pv->disk if it's already set.
34320
34321 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34322 (grub_raid_register): ... here.
34323 (grub_raid_rescan): Removed.
34324
34325 * include/grub/raid.h (grub_raid_rescan): Removed.
34326
34327 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34328 (fstest): Replace grub_raid_rescan with module fini function followed
34329 by init function.
34330
34331 * util/grub-probe.c: Add include file <grub/raid.h>.
34332 (probe_raid_level): New function.
34333 (probe): Detect abstraction by walking the disk device, support two
34334 level of abstraction (LVM on RAID) when detecting partition map.
34335
24443b5a 343362009-07-31 Pavel Roskin <proski@gnu.org>
34337
34338 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34339 to grub_zalloc(), it was erroneous.
34340 Reported by Bean <bean123ch@gmail.com>
34341
a275d9e7 343422009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34343
34344 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34345 embedding zone, not only the first one.
a275d9e7 34346
56c5a47f 343472009-07-29 Joe Auricchio <jauricchio@gmail.com>
34348
34349 * term/gfxterm.c (clear_char): New function.
34350 (grub_virtual_screen_setup): Use clear_char.
34351 (scroll_up): Likewise.
34352 (grub_virtual_screen_cls): Likewise.
34353
67bb323a 343542009-07-29 Felix Zielcke <fzielcke@z-51.de>
34355
34356 * util/deviceiter.c (get_acceleraid_disk_name): New static
34357 function.
34358 (grub_util_iterate_devices): Handle Accelraid devices.
34359 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34360
388a7c75 343612009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34362
34363 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34364 separator for the suggested gfxpayload string (';' collides with the
34365 parser and needs escaping).
34366
3bb7abcf 343672009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34368
34369 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34370 Clear direction flag before jumping to OS.
34371 (grub_multiboot2_real_boot): Likewise.
34372
2ddd36d7 343732009-07-28 Felix Zielcke <fzielcke@z-51.de>
34374
34375 * util/i386/pc/grub-install: Fix parsing of --disk-module
34376 option.
34377
c521b62b 343782009-07-28 Felix Zielcke <fzielcke@z-51.de>
34379
34380 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34381 when embedding.
34382
880e0a0c 343832009-07-26 Felix Zielcke <fzielcke@z-51.de>
34384
34385 * util/grub-mkconfig.in (package_version): New variable.
34386 Use it do display the version.
34387
2366e356 343882009-07-25 Felix Zielcke <fzielcke@z-51.de>
34389
34390 * kern/file.c (grub_file_open): Revert to previous check with
34391 grub_errno.
34392
7ad8c80e 343932009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34394
34395 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34396 from help line. It's out of sync with code.
34397
72b9658b 343982009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34399
34400 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34401 entries on failed boot.
34402
77435277 344032009-07-25 Felix Zielcke <fzielcke@z-51.de>
34404
34405 * kern/file.c (grub_file_open): Fix an error check.
34406
fcaa8b21 344072009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34408
35d16c74 34409 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34410 partition map couldn't be identified.
fcaa8b21 34411
48904cd1 344122009-07-23 Pavel Roskin <proski@gnu.org>
34413
ef3c317f 34414 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34415 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34416 case of little endian words becomes just an optimization.
34417 Respect const modifier.
ad8ea1f4 34418 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34419
48904cd1 34420 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34421 to avoid loss of upper bits if align is unsigned and shorter
34422 than addr.
34423
260c9a89 344242009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34425
34426 UUID support for UFS
34427
34428 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34429 (grub_ufs_uuid): New function.
34430 (grub_ufs_fs): add .uuid
34431
f76ce889 344322009-07-21 Pavel Roskin <proski@gnu.org>
34433
34434 * kern/dl.c (grub_dl_check_header): Make static.
34435
6a6cbcaf 344362009-07-21 Felix Zielcke <fzielcke@z-51.de>
34437
34438 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34439 add drivemap for Vista. It breaks Windows 7.
34440
cffcddb2 344412009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34442
34443 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34444 128 bytes
34445
1ef44b80 344462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34447
34448 Add BFS support
34449
34450 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34451 (grub_fstest_SOURCES): Likewise.
34452 (pkglib_MODULES): Add befs.mod.
34453 (befs_mod_SOURCES): New variable.
34454 (befs_mod_CFLAGS): Likewise.
34455 (befs_mod_LDFLAGS): Likewise.
34456 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34457 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34459 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34460 (grub_setup_SOURCES): Likewise.
34461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34462 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34463 (grub_setup_SOURCES): Likewise.
34464 * fs/befs.c: New file.
34465 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34466 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34467 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34468 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34469 (B_KEY_INDEX_ALIGN): New declaration.
34470 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34471 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34472 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34473 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34474 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34475 (grub_afs_mount) [MODE_BFS]: Likewise.
34476 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34477 (grub_afs_fs): Use GRUB_AFS_FSNAME
34478 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34479 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34480 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34481 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34482
4f253044 344832009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34484
34485 * util/getroot.c (find_root_device): Add support for MacOSX.
34486 * util/hostdisk.c: Likewise.
34487
57a55913 344882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34489
34490 * font/font.c (find_glyph): Check whether a font is present to avoid
34491 segmentation fault.
75421ca9 34492
344932009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34494
34495 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34496
e98cd0c2 344972009-07-20 Pavel Roskin <proski@gnu.org>
34498
34499 * configure.ac: Trim excessively wordy excuses.
34500
1d2d169a 345012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34502
34503 Add symlink, mtime and label support to AtheFS.
34504
34505 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34506 (grub_afs_iterate_dir): Handle symlinks.
34507 (grub_afs_open): Use grub_afs_read_symlink.
34508 (grub_afs_dir): Likewise.
34509 Pass mtime.
34510 (grub_afs_label): New function.
34511 (grub_afs_fs): Add grub_afs_label.
34512 (grub_afs_read_symlink): New function.
34513
186f3189 345142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34515
34516 Fix AtheFS support.
34517
34518 * fs/afs.c: Fix comments style.
34519 (grub_afs_blockrun): Declare as packed.
34520 (grub_afs_datastream): Likewise.
34521 (grub_afs_bnode): Likewise.
34522 (grub_afs_btree): Likewise.
34523 (grub_afs_sblock): Likewise.
34524 Declare `name' as char.
34525 (grub_afs_inode): Declare as packed.
34526 Change void *vnode to grub_uint32_t unused.
34527 (grub_afs_iterate_dir): Check that key_size is positive.
34528 (grub_afs_mount): Don't read superblock twice.
75421ca9 34529 (grub_afs_dir): Don't free node in case of error,
186f3189 34530 grub_fshelp_find_file already handles this.
34531 (grub_afs_open): Likewise.
34532
5680109e 345332009-07-19 Pavel Roskin <proski@gnu.org>
34534
34535 * Makefile.in: Remove LIBLZO and enable_lzo.
34536 * conf/i386-pc.rmk: Remove lzo support.
34537 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34538 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34539 support.
34540 * kern/i386/pc/lzo1x.S: Remove.
34541 * kern/i386/pc/startup.S: Remove lzo support.
34542 * util/i386/pc/grub-mkimage.c: Likewise.
34543
ac70fa32 345442009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34545
34546 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34547 * fs/xfs.c (grub_xfs_dir): Likewise.
34548 * fs/afs.c (grub_afs_dir): Likewise.
34549 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34550 (grub_iso9660_open): Likewise.
34551 * fs/jfs.c (grub_jfs_open): Likewise.
34552 * fs/ext2.c (grub_ext2_dir): Likewise.
34553 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34554 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34555
eab58da2 345562009-07-16 Pavel Roskin <proski@gnu.org>
34557
d2838156 34558 * configure.ac: Never add "-c" to CFLAGS.
34559
55c70904 34560 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34561
43e6200c 34562 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34563 grub_cv_cc_efiemu should be used.
34564
ce7a733d 34565 * configure.ac: Typo fixes.
34566
eab58da2 34567 * kern/mm.c (grub_zalloc): New function.
34568 (grub_debug_zalloc): Likewise.
34569 * include/grub/mm.h: Declare grub_zalloc() and
34570 grub_debug_zalloc().
34571 * util/misc.c (grub_zalloc): New function.
34572 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34573 instead of grub_malloc(), remove unneeded initializations.
34574 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34575 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34576 * commands/parttool.c (grub_cmd_parttool): Likewise.
34577 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34578 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34579 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34580 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34581 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34582 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34583 (grub_cmd_efiemu_pnvram): Likewise.
34584 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34585 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34586 (grub_iso9660_iterate_dir): Likewise.
34587 * fs/jfs.c (grub_jfs_opendir): Likewise.
34588 * fs/ntfs.c (list_file): Likewise.
34589 (grub_ntfs_mount): Likewise.
34590 * kern/disk.c (grub_disk_open): Likewise.
34591 * kern/dl.c (grub_dl_load_core): Likewise.
34592 * kern/elf.c (grub_elf_file): Likewise.
34593 * kern/env.c (grub_env_context_open): Likewise.
34594 (grub_env_set): Likewise.
34595 (grub_env_set_data_slot): Likewise.
34596 * kern/file.c (grub_file_open): Likewise.
34597 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34598 * loader/i386/multiboot.c (grub_module): Likewise.
34599 * loader/xnu.c (grub_xnu_create_key): Likewise.
34600 (grub_xnu_create_value): Likewise.
34601 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34602 (read_config_file): Likewise.
34603 * normal/menu_entry.c (make_screen): Likewise.
34604 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34605 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34606 * script/sh/script.c (grub_script_parse): Likewise.
34607 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34608 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34609 * video/readers/png.c (grub_png_output_byte): Likewise.
34610 (grub_video_reader_png): Likewise.
34611
830afef7 346122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34613
34614 Enable all targets that can be built by default
34615
830afef7 34616 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34617 grub-mkfont and grub-fstest if they can be built
34618
ee293aee 346192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34620
34621 Fix hang and segmentation fault in grub-emu-usb
34622
34623 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34624 * util/usb.c (grub_libusb_devices): likewise
34625 (grub_libusb_init): rename to ...
34626 (GRUB_MOD_INIT (libusb)):...this
34627 (grub_libusb_fini): rename to ..
34628 (GRUB_MOD_FINI (libusb)):...this
34629 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34630 * include/grub/disk.h (grub_raid_init): removed, it's useless
34631 (grub_raid_fini): likewise
34632 (grub_lvm_init): likewise
34633 (grub_lvm_fini): likewise
34634 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34635 by grub_init_all
34636
94414221 346372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34638
34639 Fix libusb
34640
34641 * Makefile.in (LIBUSB): new macro
34642 * genmk.rb (Utility/print_tail): new method
34643 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34644 (top level): call util.print_tail at the end.
34645
59ade63d 346462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34647
34648 Make FreeBSD accept zpool.cache
34649
34650 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34651 type is /boot/zfs/zpool.cache
34652
a58da8c7 346532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34654
34655 Fix 64-bit efiemu
34656
34657 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34658 correct wrong typedef
34659 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34660
20591577 346612009-07-15 Pavel Roskin <proski@gnu.org>
34662
560ca572 34663 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34664 * kern/disk.c (struct grub_disk_cache): Likewise.
34665
e8e8e4fd 34666 * commands/probe.c (options): Typo fix.
34667
fde24e10 34668 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34669 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34670 accordingly.
34671 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34672
379c54c1 34673 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34674 the end of "Error" to make the message more readable.
34675
7bd8f5bf 34676 * boot/i386/pc/boot.S (kernel_segment): Remove.
34677 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34678 for destination.
34679
40b132c5 34680 * boot/i386/pc/boot.S (boot_version): Remove.
34681 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34682 Remove.
34683
20591577 34684 * include/grub/i386/pc/boot.h: Sort all offsets.
34685 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34686 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34687 * boot/i386/pc/boot.S: Assert location of every offset listed in
34688 include/grub/i386/pc/boot.h.
34689
2df32b2c 346902009-07-13 Pavel Roskin <proski@gnu.org>
34691
44b5d879 34692 * include/grub/i386/coreboot/machine.h: Rename
34693 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34694 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34695 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34696
17dc3751 34697 * kern/dl.c: Force native word size to suppress warnings when
34698 compiling grub-emu.
34699
2df32b2c 34700 * kern/device.c (grub_device_iterate): Change struct part_ent to
34701 hold the name, not a pointer to it. Use one grub_malloc() per
34702 partition, not two. Free partition_name if grub_malloc() fails.
34703 Set ents to NULL only before grub_partition_iterate() is called.
34704
75c59f59 347052009-07-11 Bean <bean123ch@gmail.com>
34706
34707 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34708 childname.
34709
0ae1bf88 347102009-07-10 Bean <bean123ch@gmail.com>
347112009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34712
34713 * kern/ieee1275/openfw.c (grub_children_iterate)
34714 (grub_devalias_iterate): Fix size evaluation for property or path
34715 strings, which was broken since r2132.
34716
8279cade 347172009-07-07 Pavel Roskin <proski@gnu.org>
34718
7d8a52d3 34719 * commands/search.c (search_file): Merge into ...
34720 (search_fs): ... this. Accept search type as argument.
34721 (grub_cmd_search): Pass search type to search_fs().
34722
25f9a05a 34723 * include/grub/util/console.h: New file.
34724 * util/console.c: Use it instead of grub/machine/console.h.
34725 * util/grub-emu.c: Likewise.
34726
8279cade 34727 * lib/arg.c (find_long_option): Remove.
34728 (find_long): Add `len' argument, make `s' const char *.
34729 (grub_arg_parse): Parse long options in place, not in a
34730 temporary buffer.
34731
4a11b60f 347322009-07-06 Pavel Roskin <proski@gnu.org>
34733
99f68041 34734 * commands/search.c (search_fs): Fix potential NULL pointer
34735 dereference.
34736
4a11b60f 34737 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34738 function pointer.
34739
e110f4de 347402009-07-06 Daniel Mierswa <impulze@impulze.org>
34741
34742 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34743 comparison.
34744
46eeb6a2 347452009-07-05 Pavel Roskin <proski@gnu.org>
34746
bab74958 34747 * include/grub/i386/linux.h (struct linux_kernel_params):
34748 Restore padding3, it's still needed.
34749
46eeb6a2 34750 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34751 FreeBSD.
34752 * util/osdetect.lua: Likewise.
34753
b4a1dc79 347542009-07-05 Bean <bean123ch@gmail.com>
34755
34756 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34757
34758 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34759 (grub_lua_getenv): Likewise.
34760 (grub_lua_setenv): Likewise.
34761 (save_errno): New function.
34762 (push_result): Likewise.
34763 (grub_lua_enum_device): Likewise.
34764 (grub_lua_enum_file): Likewise.
34765 (grub_lua_file_open): Likewise.
34766 (grub_lua_file_close): Likewise.
34767 (grub_lua_file_seek): Likewise.
34768 (grub_lua_file_read): Likewise.
34769 (grub_lua_file_getline): Likewise.
34770 (grub_lua_file_getsize): Likewise.
34771 (grub_lua_file_getpos): Likewise.
34772 (grub_lua_file_eof): Likewise.
34773 (grub_lua_file_exist): Likewise.
34774 (grub_lua_add_menu): Likewise.
34775
34776 * script/lua/grub_lua.h (isupper): New inline function.
34777 (islower): Likewise.
34778 (ispunct): Likewise.
34779 (isxdigit): Likewise.
34780 (strcspn): Change to normal function.
34781 (strpbkr): New function declaration.
34782 (memchr): Likewise.
34783
34784 * script/lua/grub_main.c (scan_str): New function.
34785 (strcspn): Likewise.
34786 (strpbrk): Likewise.
34787 (memchr): Likewise.
34788
34789 * script/lua/linit.c (lualibs): Enable the string library.
34790
34791 * util/osdetect.lua: New file.
34792
2da92295 347932009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34794
34795 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34796 `capabilities' member.
34797
b2582ec9 347982009-07-02 Pavel Roskin <proski@gnu.org>
34799
34800 * genparttoollist.sh: Add missing newline at the end.
34801
32622956 348022009-07-01 Pavel Roskin <proski@gnu.org>
34803
87a7339e 34804 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34805
d23af54e 34806 * util/hostdisk.c (open_device): Remove `const' from
34807 `sysctl_size', as sysctlbyname() can change it (in this case it
34808 doesn't actually happen).
34809
c94b18a9 34810 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34811 using signed long int constants.
34812
c6cd3ef0 34813 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34814 constant to avoid a warning on FreeBSD.
34815
0df63420 34816 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34817 where it's needed.
34818
999577f1 34819 * Makefile.in: Install include/grub/machine symlink.
34820
6f41557f 34821 * Makefile.in: When installing symlinks, use "cp -fR", which
34822 works on FreeBSD and MacOSX.
34823 From Yves Blusseau <cl7m42e02@sneakemail.com>
34824
c8d22988 34825 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34826 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34827
1b96e952 34828 * util/misc.c: Move grub_reboot() and grub_halt() ...
34829 * util/grub-emu.c: ... here. Make main_env static.
34830 * include/grub/util/misc.h: Remove main_env.
34831
2ef0084d 34832 * kern/mm.c: Use correct format to print size_t.
34833
32622956 34834 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34835 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34836 * kern/powerpc/dl.c: Likewise.
34837 * kern/sparc64/dl.c: Likewise.
34838 * kern/x86_64/dl.c: Likewise.
34839
3f7f0cd0 348402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34841
34842 Fix grub-emu build on sparc64-ieee1275.
34843
75421ca9 34844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34846
211d06b5 348472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34848
34849 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34850 (grub_reboot, grub_halt): New functions.
34851
34852 * util/i386/pc/misc.c: Delete. Update all users.
34853 * util/sparc64/ieee1275/misc.c: Likewise.
34854 * util/powerpc/ieee1275/misc.c: Likewise.
34855
aaf53e3c 348562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34857
34858 * conf/i386.rmk (setjmp_mod_SOURCES)
34859 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34860 * conf/common.rmk (setjmp_mod_SOURCES)
34861 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34862 to use $(target_cpu).
34863 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34864 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34865 * conf/powerpc-ieee1275.rmk: Likewise.
34866 * conf/sparc64-ieee1275.rmk: Likewise.
34867
34868 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34869 $(target_cpu) for kern/$(target_cpu)/dl.c.
34870 * conf/i386-efi.rmk: Likewise.
34871 * conf/i386-ieee1275.rmk: Likewise.
34872 * conf/x86_64-efi.rmk: Likewise.
34873 * conf/i386-coreboot.rmk: Likewise.
34874 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34875 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34876 kern/$(target_cpu)/cache.S.
34877 * conf/sparc64-ieee1275.rmk: Likewise.
34878
a337130b 348792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34880
34881 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34882 type to `grub_uint8_t', and adjust `padding9' accordingly.
34883
c6fe4d53 348842009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34885
b09db61d 34886 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34887
c6fe4d53 34888 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34889 assembly in final jump, using register constraints.
34890
b09db61d 34891 (grub_linux_boot): For text mode, initialize `have_vga' using
34892 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34893
34894 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34895 right before the final jump.
34896
34897 Set `video_mode' to 0x3.
34898
34899 Document initialization of `video_page', `video_mode' and
34900 `video_ega_bx'.
34901
28333ad0 349022009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34903
34904 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34905 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34906 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34907
02164e1b 349082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34909
34910 Fix build on Debian / sparc.
34911
34912 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34913
18b6c557 349142009-06-28 Pavel Roskin <proski@gnu.org>
34915
85f2aab6 34916 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34917 fix a warning.
34918
18b6c557 34919 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34920
ad760f81 349212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34922
34923 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34924 `err'.
34925
87a4623b 349262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34927
34928 Revert r2338.
34929
34930 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34931 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34932 grub_errno / grub_errmsg appropriately.
87a4623b 34933 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34934
8231fb77 349352009-06-27 Pavel Roskin <proski@gnu.org>
349362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34937
34938 * include/grub/dl.h: Include grub/elf.h.
34939 (struct grub_dl): Add symtab field.
34940 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34941 GRUB_MODULES_MACHINE_READONLY.
34942 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34943 of the header for read-only modules.
34944 (grub_dl_unload): Free mod->symtab for read-only modules.
34945 * kern/i386/dl.c: Use mod->symtab.
34946 * kern/powerpc/dl.c: Likewise.
34947 * kern/sparc64/dl.c: Likewise.
34948 * kern/x86_64/dl.c: Likewise.
34949
34950 * conf/i386-qemu.rmk: New file.
34951 * kern/i386/qemu/startup.S: Likewise.
34952 * kern/i386/qemu/mmap.c: Likewise.
34953 * boot/i386/qemu/boot.S: Likewise.
34954 * include/grub/i386/qemu/time.h: Likewise.
34955 * include/grub/i386/qemu/serial.h: Likewise.
34956 * include/grub/i386/qemu/kernel.h: Likewise.
34957 * include/grub/i386/qemu/console.h: Likewise.
34958 * include/grub/i386/qemu/boot.h: Likewise.
34959 * include/grub/i386/qemu/init.h: Likewise.
34960 * include/grub/i386/qemu/machine.h: Likewise.
34961 * include/grub/i386/qemu/loader.h: Likewise.
34962 * include/grub/i386/qemu/memory.h: Likewise.
34963
34964 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34965 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34966 [qemu] (pkglib_IMAGES): Add `boot.img'.
34967 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34968 [qemu] (boot_img_FORMAT): New variables.
34969 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34970 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34971 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34972 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34973 [qemu] (kernel_img_FORMAT): New variables.
34974
34975 * configure.ac: Recognise `i386-qemu'.
34976
34977 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34978 (for no compression).
34979 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34980 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34981 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34982 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34983 ifdefs).
34984
97fe384e 349852009-06-27 Pavel Roskin <proski@gnu.org>
34986
34987 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34988 read.
34989 * efiemu/prepare32.c: Likewise.
34990 * efiemu/prepare64.c: Likewise.
34991
c402ab17 349922009-06-26 Pavel Roskin <proski@gnu.org>
34993
34994 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34995 * include/grub/elf.h: Define symbols without "32" or "64" based
34996 on GRUB_TARGET_WORDSIZE.
34997 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34998 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34999 ELF definitions.
35000 * efiemu/loadcore64.c: Likewise.
35001 * loader/i386/bsd32.c: Likewise.
35002 * loader/i386/bsd64.c: Likewise.
35003 * kern/dl.c: Remove own ELF definitions.
35004 * util/i386/efi/grub-mkimage.c: Likewise.
35005
9bbdfd4d 350062009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35007
35008 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35009 segment 0x0 unconditionally, because the reference generated by
35010 GAS is an absolute address.
35011
a42ce6e9 350122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35013
35014 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35015 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35016
c952cf92 350172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35018
35019 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35020 indexes. Check for -f explicitly.
cc3752ad 35021 (search_file): Improve error message.
35022 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35023
132a0a59 350242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35025
35026 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35027 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35028
387a140c 350292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35030
35031 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35032 * conf/i386-ieee1275.rmk: Likewise.
35033 * conf/i386-coreboot.rmk: Likewise.
35034
35035 * kern/i386/pc/startup.S (grub_stop): Remove function.
35036 * kern/i386/ieee1275/startup.S: Likewise.
35037 * kern/i386/coreboot/startup.S: Likewise.
35038 * kern/i386/misc.S (grub_stop): New function.
35039
41da9665 350402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35041
35042 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35043 * kern/i386/realmode.S (real_to_prot): ... to here.
35044
bf337234 350452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35046
35047 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35048 with `kernel.img'.
35049 (kernel_elf_SOURCES): Rename to ...
35050 (kernel_img_SOURCES): ... this.
35051 (kernel_elf_HEADERS): Rename to ...
35052 (kernel_img_HEADERS): ... this. Update all users.
35053 (kernel_elf_ASFLAGS): Rename to ...
35054 (kernel_img_ASFLAGS): ... this.
35055 (kernel_elf_CFLAGS): Rename to ...
35056 (kernel_img_CFLAGS): ... this.
35057 (kernel_elf_LDFLAGS): Rename to ...
35058 (kernel_img_LDFLAGS): ... this.
35059 * conf/i386-coreboot.rmk: Likewise.
35060 * conf/powerpc-ieee1275.rmk: Likewise.
35061
35062 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35063 with "kernel.img".
35064
f52196ff 350652009-06-21 Pavel Roskin <proski@gnu.org>
35066
c3cee413 35067 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35068 to match nested functions.
35069 * loader/sparc64/ieee1275/linux.c: Likewise.
35070
f52196ff 35071 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35072
58750afc 350732009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35074
35075 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35076 all i386 platforms.
35077
15355c7d 350782009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35079
35080 Fix asm file handling on ELF, and remove workarounds.
35081
35082 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35083 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35084 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35085 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35086
3f3ec72b 350872009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35088
35089 Load BSD ELF modules
35090
35091 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35092 and loader/i386/bsd64.c
35093 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35094 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35095 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35096 (grub_freebsd_load_elfmodule32): New declaration
35097 (grub_freebsd_load_elfmoduleobj64): Likewise
35098 (grub_freebsd_load_elf_meta32): Likewise
35099 (grub_freebsd_load_elf_meta64): Likewise
35100 (grub_freebsd_add_meta): Likewise
35101 (grub_freebsd_add_meta_module): Likewise
35102 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35103 (grub_freebsd_add_meta_module): Likewise and move module-specific
35104 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35105 (grub_cmd_freebsd): Add elf-kernel specific parts
35106 based on grub_freebsd_add_meta_module
35107 (grub_cmd_freebsd_module): Add type parsing moved from
35108 grub_freebsd_add_meta_module
35109 (grub_cmd_freebsd_module_elf): New function
35110 (cmd_freebsd_module_elf): New variable
35111 (GRUB_MOD_INIT): Register freebsd_module_elf
35112 * loader/i386/bsd32.c: New file
35113 * loader/i386/bsd64.c: Likewise
35114 * loader/i386/bsdXX.c: Likewise
35115 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35116 (grub_elf64_load): Likewise
35117 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35118 All users updated
35119 (grub_elf64_load_hook_t): Likewise
35120
0db15301 351212009-06-21 Colin Watson <cjwatson@ubuntu.com>
35122
35123 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35124 variable.
35125 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35126 don't write a menu entry for recovery mode.
35127
546796c1 351282009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35129
35130 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35131 after it's no longer needed.
35132
cd7310d5 351332009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35134
35135 * include/grub/i386/loader.h (grub_linux_prot_size)
35136 (grub_linux_tmp_addr, grub_linux_real_addr)
35137 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35138 GRUB_MACHINE_PCBIOS.
35139 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35140 common grub_util_info() call to ...
35141 (generate_image): ... here.
35142 Fix use of uninitialized memory, comparison of signed with
35143 unsigned integers and memory leak.
35144 Remove bogus module address message.
35145
ab32d3b5 351462009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35147
35148 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35149 grub_raid_register
35150 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35151
024ef597 351522009-06-19 Pavel Roskin <proski@gnu.org>
35153
35154 * configure.ac: Remove stray AC_MSG_CHECKING.
35155
3ac72b51 351562009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35157
35158 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35159
e14cd814 351602009-06-18 Pavel Roskin <proski@gnu.org>
35161
35162 * conf/common.rmk: Add fs_file.mod.
35163 * disk/fs_file.c: New file.
35164 * include/grub/disk.h (enum grub_disk_dev_id): Add
35165 GRUB_DISK_DEVICE_FILE_ID.
35166
26586d98 351672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35168
35169 Fix build with Apple's toolchain. Part 2
35170
35171 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35172 a fake start
35173
26de2bcd 351742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35175
35176 Fix build with Apple's toolchain. Part 1
35177
35178 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35179 for long calls
35180 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35181 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35182 Apple's toolchain
35183
09b3490b 351842009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35185
35186 Fix warnings
35187
35188 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35189 (decomp_block): initialize ch
35190 use grub_memcpy instead of memcpy
35191
c22a006a 351922009-06-17 Pavel Roskin <proski@gnu.org>
35193
d3638678 35194 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35195 version, use declarations needed to use vga_text as the startup
35196 console.
35197
c22a006a 35198 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35199 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35200 the kernel.
35201 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35202 and grub_at_keyboard_fini(), it's done on module load and
35203 unload.
35204
05b129e0 352052009-06-17 Felix Zielcke <fzielcke@z-51.de>
35206
35207 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35208 file can't be found.
35209 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35210
cf24ed9e 352112009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35212
35213 Fix newline handling
35214
35215 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35216 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35217 (grub_script_yylex): don't segfault on unterminated script
35218 newline terminates command and variable
35219
74aa8e4b 352202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35221
35222 avoid double grub_adjust_range call. Bug reported by David Simner
35223
35224 * kern/disk.c (grub_disk_write): change to raw disk access before
35225 calling disk_read
35226
1bd265f3 352272009-06-17 Colin Watson <cjwatson@ubuntu.com>
35228
35229 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35230 spaces, for the benefit of help2man.
35231 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35232
a2d08c06 352332009-06-16 Pavel Roskin <proski@gnu.org>
35234
35235 * kern/i386/halt.c: Include grub/machine/init.h.
35236 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35237
b97bcb19 352382009-06-16 Felix Zielcke <fzielcke@z-51.de>
35239
35240 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35241 drivemap menuentry.
35242
0644f96c 352432009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35244
35245 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35246 `echo' command.
35247
3ef17a2e 352482009-06-16 Pavel Roskin <proski@gnu.org>
35249
35250 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35251 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35252 save %dx, we only need %dl and we never change it.
35253 * boot/i386/pc/cdboot.S: Don't set the root drive.
35254 * boot/i386/pc/pxeboot.S: Likewise.
35255 * include/grub/i386/pc/boot.h: Remove
35256 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35257 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35258 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35259 * kern/i386/pc/init.c (make_install_device): Remove references
35260 to grub_root_drive.
35261 * kern/i386/pc/startup.S: Likewise.
35262 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35263
693fe637 352642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35265
35266 xnu_uuid command
35267
35268 * commands/xnu_uuid.c: new file
35269 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35270 (xnu_uuid_mod_SOURCES): new variable
35271 (xnu_uuid_mod_CFLAGS): likewise
35272 (xnu_uuid_mod_LDFLAGS): likewise
35273 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35274 * conf/i386-ieee1275.rmk: likewise
35275 * conf/i386-pc.rmk: likewise
35276 * conf/powerpc-ieee1275.rmk: likewise
35277 * conf/sparc64-ieee1275.rmk: likewise
35278 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35279
c9da87d0 352802009-06-16 Pavel Roskin <proski@gnu.org>
35281
35282 * configure.ac: Avoid '==' in test command, it's not portable.
35283
9c6f4596 352842009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35285
35286 Probe command
35287
35288 * commands/probe.c: new file
35289 * conf/common.rmk (pkglib_MODULES): add probe.mod
35290 (probe_mod_SOURCES): new variable
35291 (probe_mod_CFLAGS): likewise
35292 (probe_mod_LDFLAGS): likewise
35293 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35294 * conf/i386-ieee1275.rmk: likewise
35295 * conf/i386-pc.rmk: likewise
35296 * conf/powerpc-ieee1275.rmk: likewise
35297 * conf/sparc64-ieee1275.rmk: likewise
35298
70b7f9fd 352992009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35300
35301 Fix handling of string like \"hello\" and "a
35302 b"
35303
35304 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35305 (grub_script_yylex): fix parsing of quoting, escaping and newline
35306
71c79a6b 353072009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35308
dd74360c 35309 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35310 handling
dd74360c 35311
0644f96c 353122009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35313
35314 * util/grub-mkconfig.in: Fix parsing of --output option.
35315
e40893c3 353162009-06-12 Pavel Roskin <proski@gnu.org>
35317
35318 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35319 genmk.rb don't need to be generated or installed.
35320
3a1acfe2 353212009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35322
35323 * commands/i386/pc/drivemap_int13h.S: add more comments
35324
3a4575d4 353252009-06-11 Pavel Roskin <proski@gnu.org>
35326
0658e928 35327 * Makefile.in (uninstall): Uninstall manuals.
35328
ca0388f0 35329 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35330 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35331 and update-grub_lib in two places.
35332 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35333
e3b27c39 35334 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35335 a compiler warning.
35336
3a4575d4 35337 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35338 `entry_lo' to fix variable shadowing.
35339
af1f4f55 353402009-06-11 Christian Franke <franke@computer.org>
35341
35342 * kern/misc.c (__enable_execute_stack): Add missing return type
35343 to prevent gcc warning.
35344
5225e649 353452009-06-11 Felix Zielcke <fzielcke@z-51.de>
35346
35347 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35348
7d83bd47 353492009-06-11 Pavel Roskin <proski@gnu.org>
35350
c1cb63ba 35351 * Makefile.in: Don't rely on any scripts being executable.
35352 Always use $(SHELL) to run shell scripts.
35353
7d83bd47 35354 * configure.ac: Always define ___main if using -nostdlib. This
35355 fixes tests on Cygwin.
35356
948f48e7 353572009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35358
35359 UDF fix
35360
7d83bd47 35361 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35362 is in bytes and not in blocks
7d83bd47 35363
8ada9bc1 353642009-06-11 Pavel Roskin <proski@gnu.org>
35365
35366 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35367 warning.
35368
25ad2323 353692009-06-11 Felix Zielcke <fzielcke@z-51.de>
35370
35371 * util/grub.d/30_os-prober.in: Fix a comment. Source
35372 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35373 to set the root device. Place drivemap command in the generated
35374 chain entry.
35375
e65acb0c 353762009-06-11 Pavel Roskin <proski@gnu.org>
35377
35378 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35379 have long been resolved.
35380
f285fe2d 353812009-06-11 Colin Watson <cjwatson@ubuntu.com>
35382
bd47b0b5 35383 * util/grub.d/10_linux.in: Capitalise "Linux".
35384
f285fe2d 35385 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35386
a0c62e4e 353872009-06-11 Pavel Roskin <proski@gnu.org>
35388
b6783cb2 35389 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35390 fix a gcc warning and ensure that the function won't ever exit.
35391
dde032e8 35392 * kern/i386/ieee1275/init.c: Add missing prototype for
35393 grub_stop_floppy().
35394
22cd079d 35395 * loader/ieee1275/multiboot2.c [__i386__]: Include
35396 grub/cpu/multiboot.h.
35397
a0c62e4e 35398 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35399 casts to short - they are not portable and cause warnings. Fix
35400 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35401
63963d17 354022009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35403
35404 Drivemap fixes
35405
35406 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35407 new function
35408 (grub_get_root_biosnumber_saved): new variable
35409 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35410 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35411 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35412 %dx after the call if necessary
35413 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35414 (boot_mod_SOURCES): remove
35415 (boot_mod_CFLAGS): remove
35416 (boot_mod_LDFLAGS): remove
35417 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35418 (boot_mod_SOURCES): new variable
35419 (boot_mod_CFLAGS): likewise
35420 (boot_mod_LDFLAGS): likewise
35421 * conf/i386-efi.rmk: likewise
35422 * conf/i386-ieee1275.rmk: likewise
35423 * conf/i386-pc.rmk: likewise
35424 * conf/powerpc-ieee1275.rmk: likewise
35425 * conf/sparc64-ieee1275.rmk: likewise
35426 * conf/x86_64-efi.rmk: likewise
35427 * include/grub/i386/pc/biosnum.h: new file
35428 * lib/i386/pc/biosnum.c: likewise
35429 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35430 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35431 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35432
33abf7ae 354332009-06-10 Pavel Roskin <proski@gnu.org>
35434
5ac35b35 35435 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35436 Use separate variables. Read only the file size at the end, but
35437 not the checksum that we don't use.
35438
5c5215d5 35439 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35440 Adjust all callers.
35441
27d5fef7 35442 * kern/ieee1275/openfw.c: Remove libc includes.
35443 * kern/ieee1275/cmain.c: Likewise.
35444 * include/grub/ieee1275/ieee1275.h: Likewise.
35445
33abf7ae 35446 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35447 compiler warnings.
35448
19d50c2b 354492009-06-10 Felix Zielcke <fzielcke@z-51.de>
35450
35451 * Makefile.in: Remove all trailing whitespace.
35452 * conf/i386-pc.rmk: Likewise.
35453 * conf/powerpc-ieee1275.rmk: Likewise.
35454 * conf/sparc64-ieee1275.rmk: Likewise.
35455 * docs/grub.texi: Likewise.
35456 * docs/texinfo.tex: Likewise.
35457 * disk/fs_uuid.c: Likewise.
35458 * disk/lvm.c: Likewise.
35459 * disk/scsi.c: Likewise.
35460 * disk/ata.c: Likewise.
35461 * disk/ieee1275/ofdisk.c: Likewise.
35462 * disk/i386/pc/biosdisk.c: Likewise.
35463 * disk/host.c: Likewise.
35464 * disk/raid.c: Likewise.
35465 * disk/efi/efidisk.c: Likewise.
35466 * disk/usbms.c: Likewise.
35467 * disk/memdisk.c: Likewise.
35468 * disk/loopback.c: Likewise.
35469 * kern/powerpc/dl.c: Likewise.
35470 * kern/device.c: Likewise.
35471 * kern/dl.c: Likewise.
35472 * kern/sparc64/dl.c: Likewise.
35473 * kern/ieee1275/ieee1275.c: Likewise.
35474 * kern/term.c: Likewise.
35475 * kern/fs.c: Likewise.
35476 * kern/i386/dl.c: Likewise.
35477 * kern/i386/pc/startup.S: Likewise.
35478 * kern/i386/pc/init.c: Likewise.
35479 * kern/i386/pc/mmap.c: Likewise.
35480 * kern/i386/pc/lzo1x.S: Likewise.
35481 * kern/i386/ieee1275/init.c: Likewise.
35482 * kern/i386/realmode.S: Likewise.
35483 * kern/i386/tsc.c: Likewise.
35484 * kern/partition.c: Likewise.
35485 * kern/corecmd.c: Likewise.
35486 * kern/file.c: Likewise.
35487 * kern/efi/efi.c: Likewise.
35488 * kern/efi/init.c: Likewise.
35489 * kern/efi/mm.c: Likewise.
35490 * kern/main.c: Likewise.
35491 * kern/err.c: Likewise.
35492 * kern/env.c: Likewise.
35493 * kern/disk.c: Likewise.
35494 * kern/generic/millisleep.c: Likewise.
35495 * kern/generic/rtc_get_time_ms.c: Likewise.
35496 * kern/misc.c: Likewise.
35497 * kern/parser.c: Likewise.
35498 * genmk.rb: Likewise.
35499 * configure.ac: Likewise.
35500 * boot/i386/pc/diskboot.S: Likewise.
35501 * boot/i386/pc/pxeboot.S: Likewise.
35502 * boot/i386/pc/boot.S: Likewise.
35503 * boot/i386/pc/lnxboot.S: Likewise.
35504 * boot/i386/pc/cdboot.S: Likewise.
35505 * parttool/pcpart.c: Likewise.
35506 * video/readers/tga.c: Likewise.
35507 * video/video.c: Likewise.
35508 * video/bitmap.c: Likewise.
35509 * lib/envblk.c: Likewise.
35510 * lib/i386/setjmp.S: Likewise.
35511 * fs/xfs.c: Likewise.
35512 * fs/afs.c: Likewise.
35513 * fs/fat.c: Likewise.
35514 * fs/ntfs.c: Likewise.
35515 * fs/udf.c: Likewise.
35516 * fs/affs.c: Likewise.
35517 * fs/iso9660.c: Likewise.
35518 * fs/hfs.c: Likewise.
35519 * fs/fshelp.c: Likewise.
35520 * fs/ext2.c: Likewise.
35521 * fs/jfs.c: Likewise.
35522 * fs/reiserfs.c: Likewise.
35523 * fs/hfsplus.c: Likewise.
35524 * fs/minix.c: Likewise.
35525 * fs/cpio.c: Likewise.
35526 * fs/sfs.c: Likewise.
35527 * fs/ufs.c: Likewise.
35528 * efiemu/prepare.c: Likewise.
35529 * efiemu/loadcore_common.c: Likewise.
35530 * efiemu/runtime/efiemu.sh: Likewise.
35531 * efiemu/runtime/efiemu.S: Likewise.
35532 * efiemu/runtime/efiemu.c: Likewise.
35533 * efiemu/pnvram.c: Likewise.
35534 * efiemu/main.c: Likewise.
35535 * efiemu/i386/pc/cfgtables.c: Likewise.
35536 * efiemu/i386/loadcore64.c: Likewise.
35537 * efiemu/i386/loadcore32.c: Likewise.
35538 * efiemu/loadcore.c: Likewise.
35539 * efiemu/symbols.c: Likewise.
35540 * efiemu/mm.c: Likewise.
35541 * include/grub/autoefi.h: Likewise.
35542 * include/grub/datetime.h: Likewise.
35543 * include/grub/term.h: Likewise.
35544 * include/grub/hfs.h: Likewise.
35545 * include/grub/lvm.h: Likewise.
35546 * include/grub/i386/tsc.h: Likewise.
35547 * include/grub/i386/linux.h: Likewise.
35548 * include/grub/i386/xnu.h: Likewise.
35549 * include/grub/i386/efiemu.h: Likewise.
35550 * include/grub/i386/pc/biosdisk.h: Likewise.
35551 * include/grub/i386/pc/memory.h: Likewise.
35552 * include/grub/i386/pc/vbe.h: Likewise.
35553 * include/grub/parttool.h: Likewise.
35554 * include/grub/video.h: Likewise.
35555 * include/grub/memory.h: Likewise.
35556 * include/grub/fs.h: Likewise.
35557 * include/grub/partition.h: Likewise.
35558 * include/grub/xnu.h: Likewise.
35559 * include/grub/efi/api.h: Likewise.
35560 * include/grub/efi/pe32.h: Likewise.
35561 * include/grub/efi/memory.h: Likewise.
35562 * include/grub/multiboot.h: Likewise.
35563 * include/grub/usbdesc.h: Likewise.
35564 * include/grub/multiboot2.h: Likewise.
35565 * include/grub/acpi.h: Likewise.
35566 * include/grub/efiemu/efiemu.h: Likewise.
35567 * include/grub/disk.h: Likewise.
35568 * include/grub/ieee1275/ieee1275.h: Likewise.
35569 * include/grub/net.h: Likewise.
35570 * include/grub/machoload.h: Likewise.
35571 * include/grub/macho.h: Likewise.
35572 * include/multiboot.h: Likewise.
35573 * genmoddep.awk: Likewise.
35574 * normal/main.c: Likewise.
35575 * normal/menu_entry.c: Likewise.
35576 * normal/menu_viewer.c: Likewise.
35577 * normal/completion.c: Likewise.
35578 * normal/cmdline.c: Likewise.
35579 * normal/misc.c: Likewise.
35580 * normal/datetime.c: Likewise.
35581 * bus/usb/usbtrans.c: Likewise.
35582 * bus/usb/ohci.c: Likewise.
35583 * bus/usb/uhci.c: Likewise.
35584 * bus/usb/usb.c: Likewise.
35585 * mmap/efi/mmap.c: Likewise.
35586 * mmap/i386/pc/mmap_helper.S: Likewise.
35587 * mmap/i386/pc/mmap.c: Likewise.
35588 * mmap/i386/mmap.c: Likewise.
35589 * mmap/i386/uppermem.c: Likewise.
35590 * mmap/mmap.c: Likewise.
35591 * commands/acpi.c: Likewise.
35592 * commands/echo.c: Likewise.
35593 * commands/blocklist.c: Likewise.
35594 * commands/loadenv.c: Likewise.
35595 * commands/usbtest.c: Likewise.
35596 * commands/boot.c: Likewise.
35597 * commands/parttool.c: Likewise.
35598 * commands/search.c: Likewise.
35599 * commands/cat.c: Likewise.
35600 * commands/i386/pc/play.c: Likewise.
35601 * commands/i386/pc/drivemap.c: Likewise.
35602 * commands/i386/pc/vbeinfo.c: Likewise.
35603 * commands/i386/pc/acpi.c: Likewise.
35604 * commands/i386/pc/vbetest.c: Likewise.
35605 * commands/ls.c: Likewise.
35606 * commands/cmp.c: Likewise.
35607 * commands/test.c: Likewise.
35608 * commands/efi/acpi.c: Likewise.
35609 * commands/gptsync.c: Likewise.
35610 * commands/help.c: Likewise.
35611 * partmap/amiga.c: Likewise.
35612 * partmap/apple.c: Likewise.
35613 * partmap/acorn.c: Likewise.
35614 * partmap/pc.c: Likewise.
35615 * partmap/sun.c: Likewise.
35616 * partmap/gpt.c: Likewise.
35617 * script/sh/lexer.c: Likewise.
35618 * script/sh/function.c: Likewise.
35619 * font/font.c: Likewise.
35620 * font/font_cmd.c: Likewise.
35621 * loader/powerpc/ieee1275/linux.c: Likewise.
35622 * loader/efi/chainloader.c: Likewise.
35623 * loader/multiboot_loader.c: Likewise.
35624 * loader/macho.c: Likewise.
35625 * loader/i386/multiboot.c: Likewise.
35626 * loader/i386/linux.c: Likewise.
35627 * loader/i386/pc/linux.c: Likewise.
35628 * loader/i386/pc/multiboot2.c: Likewise.
35629 * loader/i386/pc/chainloader.c: Likewise.
35630 * loader/i386/pc/xnu.c: Likewise.
35631 * loader/i386/bsd_trampoline.S: Likewise.
35632 * loader/i386/efi/linux.c: Likewise.
35633 * loader/i386/multiboot_elfxx.c: Likewise.
35634 * loader/i386/bsd_helper.S: Likewise.
35635 * loader/i386/bsd.c: Likewise.
35636 * loader/i386/linux_trampoline.S: Likewise.
35637 * loader/i386/xnu_helper.S: Likewise.
35638 * loader/i386/xnu.c: Likewise.
35639 * loader/i386/bsd_pagetable.c: Likewise.
35640 * loader/i386/multiboot_helper.S: Likewise.
35641 * loader/xnu.c: Likewise.
35642 * loader/xnu_resume.c: Likewise.
35643 * io/gzio.c: Likewise.
35644 * term/efi/console.c: Likewise.
35645 * term/terminfo.c: Likewise.
35646 * term/ieee1275/ofconsole.c: Likewise.
35647 * term/i386/pc/serial.c: Likewise.
35648 * term/i386/pc/vesafb.c: Likewise.
35649 * term/i386/pc/vga.c: Likewise.
35650 * term/usb_keyboard.c: Likewise.
35651 * term/gfxterm.c: Likewise.
35652 * aclocal.m4: Likewise.
35653 * util/lvm.c: Likewise.
35654 * util/grub.d/30_os-prober.in: Likewise.
35655 * util/grub.d/10_hurd.in: Likewise.
35656 * util/console.c: Likewise.
35657 * util/grub-macho2img.c: Likewise.
35658 * util/grub-probe.c: Likewise.
35659 * util/hostfs.c: Likewise.
35660 * util/i386/pc/grub-mkimage.c: Likewise.
35661 * util/i386/pc/grub-setup.c: Likewise.
35662 * util/i386/efi/grub-mkimage.c: Likewise.
35663 * util/grub-mkconfig.in: Likewise.
35664 * util/raid.c: Likewise.
35665 * util/resolve.c: Likewise.
35666 * util/grub-mkdevicemap.c: Likewise.
35667 * util/grub-emu.c: Likewise.
35668 * util/getroot.c: Likewise.
35669 * util/hostdisk.c: Likewise.
35670 * util/usb.c: Likewise.
35671 * util/grub-editenv.c: Likewise.
35672 * util/misc.c: Likewise.
35673
d2d49665 356742009-06-10 Felix Zielcke <fzielcke@z-51.de>
35675
35676 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35677 `genparttoollist.sh'.
35678 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35679 Add `*.sh' to the list find searches for and change `mdate.sh'
35680 to `mdate-sh'.
35681
fe052e37 356822009-06-10 Pavel Roskin <proski@gnu.org>
35683
2763ac18 35684 * include/grub/multiboot2.h: Provide compatibility defines for
35685 multiboot2.h.
35686 * include/multiboot2.h: Include stdint.h only if needed, using
35687 angle brackets.
35688 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35689 grub/multiboot2.h.
35690 * loader/ieee1275/multiboot2.c: Likewise.
35691 * loader/multiboot2.c: Likewise.
35692 * loader/multiboot_loader.c: Likewise.
35693
437e6adc 35694 * configure.ac: Use -nostdlib when probing for the target. It
35695 should not be required to have libc for the target.
35696
06a6836c 35697 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35698 they fail without libc headers for the target.
35699 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35700 exports.
35701 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35702 preprocessor conditionals.
35703
fe052e37 35704 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35705 build system doesn't need to be aware of the tar.c internals.
35706
afd22553 357072009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35708
afd22553 35709 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35710
6b787c4f 357112009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35712
35713 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35714 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35715
357162009-06-09 Felix Zielcke <fzielcke@z-51.de>
35717
35718 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35719 aren't available if ata.mod gets used.
6b787c4f 35720
473d1e45 357212009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35722
473d1e45 35723 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35724 initialising controller.
473d1e45 35725 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35726
255a27d4 357272009-06-08 Felix Zielcke <fzielcke@z-51.de>
35728
35729 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35730 to choose between ata and biosdisk module on i386-pc.
35731
473d1e45 357322009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35733
d55842d8 35734 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35735 Subclass and Programming Interface fields in terms of the 3 byte
35736 Class Code register.
35737 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35738
fa5db0b1 35739 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35740 interface is OHCI. Add grub_dprintf for symmetry with
35741 bus/usb/uhci.c.
35742 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35743 interface is UHCI. Add interf variable for programming
35744 interface. Print interface with class/subclass.
35745
c0947beb 35746 * bus/usb/ohci.c: Set interf with correct field.
35747
69da8877 35748 * bus/usb/uhci.c: Remove unneeded doubled lines.
35749 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35750 Remove whitespace inside comment.
35751
9e172e30 357522009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35753
35754 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35755 as fallback an equivalent option without depth.
35756
de65ee2b 357572009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35758
35759 Not fail if unable to retrieve C/H/S on LBA disks
35760
473d1e45 35761 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35762 if unable to retrieve C/H/S on LBA disks
35763
b57ea2c9 357642009-06-08 Pavel Roskin <proski@gnu.org>
35765
35766 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35767 about aliasing.
35768
af361263 357692009-06-08 Felix Zielcke <fzielcke@z-51.de>
35770
35771 * Makefile.in (uninstall): Remove all $lib_DATA files.
35772
4c9ec6b3 357732009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35774
35775 Bugfix: install on partitionless device
35776
35777 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35778 is a whole disk
35779
e76fc924 357802009-06-08 Felix Zielcke <fzielcke@z-51.de>
35781
35782 * Makefile.in (uninstall): Remove all $include_DATA files.
35783
ba5a0d05 357842009-06-08 Felix Zielcke <fzielcke@z-51.de>
35785
35786 * commands/true.c: New file. Implement the true and false commands.
35787 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35788 (true_mod_SOURCES): New variable.
35789 (true_mod_CFLAGS): Likewise.
35790 (true_mod_LDFLAGS): Likewise.
35791
c8048e32 357922009-06-05 Colin D Bennett <colin@gibibit.com>
35793
35794 Optimized font character lookup using binary search instead of linear
35795 search. Fonts now are required to have the character index ordered by
35796 code point.
35797
35798 * font/font.c (load_font_index): Verify that fonts have ordered
35799 character indices.
35800 (find_glyph): Use binary search instead of linear search to find a
35801 character in a font.
35802
408305be 358032009-06-05 Michael Scherer <misc@mandriva.org>
35804
35805 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35806 uses case sensitive btree.
35807 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35808 only for case insensitive filesystems.
35809
8ee1e0d9 358102009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35811
35812 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35813 * conf/common.rmk (search_mod_CFLAGS): likewise
35814
a9966eb1 358152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35816
473d1e45 35817 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35818 compensate a compiler bug
35819
9e7100fb 358202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35821
473d1e45 35822 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35823 instead of '\b'
473d1e45 35824
ede21d71 358252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35826
35827 Definitions for creating asm symbols with Apple's CC
35828
35829 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35830 [APPLE_CC] (VARIABLE): likewise
35831
9dbf7653 358322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35833
35834 Disable lnxboot.img when compiled
35835 with Apple's CC
35836
35837 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35838 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35839 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35840 [! APPLE_CC] (CODE_LENG): skip
35841 [! APPLE_CC] (setup_sects): likewise
35842 [! APPLE_CC]: skip filling
473d1e45 35843
e93cdc3d 358442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35845
35846 Address in trampolines based on 32-bit registers when compiled
35847 with Apple's CC
35848
473d1e45 35849 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35850 for addresses
35851 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35852
6c688477 358532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35854
35855 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35856
35857 * kern/misc.c [APPLE_CC] (memcpy): new function
35858 [APPLE_CC] (memmove): likewise
35859 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35860 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35861 (memset): likewise
35862 (abort): likewise
35863 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35864 APPLE_CC are defined
35865 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35866 (grub_assert_fail): make prototype conditional
35867
e37ffc5c 358682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35869
35870 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35871
473d1e45 35872 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35873 grub-macho2img
e37ffc5c 35874 (CLEANFILES): add grub-macho2img
35875 (grub_macho2img_SOURCES): new variable
35876 * kern/i386/pc/startup.S (bss_start): new variable
35877 (bss_end): likewise
35878 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35879 * util/grub-macho2img.c: new file
35880
cf00df31 358812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35882
35883 Use objconv when compiling with Apple's CC
35884
35885 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35886 (efiemu64.o): likewise
35887 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35888 when compiling with Apple's CC
35889 (efiemu64_s.o): likewise
35890 * configure.ac: check for objconv when compiling with Apple's CC
35891 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35892
d119a20c 358932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35894
35895 Define segment as well as section when compiling with
35896 Apple's CC
35897
35898 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35899 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35900 (efiemu_convert_pointer): likewise
35901 (efiemu_set_virtual_address_map): likewise
35902 (efiemu_convert_pointer): likewise
35903 (efiemu_getcrc32): likewise
35904 (init_crc32_table): likewise
35905 (reflect): likewise
35906 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35907 (GRUB_MOD_DEP): likewise
473d1e45 35908
c8600122 359092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35910
35911 Allow a compilation without -mcmodel=large
35912
35913 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35914 when compiled without -mcmodel=large
473d1e45 35915 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35916 without -mcmodel=large
473d1e45 35917 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35918 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35919
e8df1d4e 359202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35921
35922 Remove nested functions in efiemu core
35923
35924 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35925
cc6c3ac1 359262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35927
35928 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35929
35930 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35931 temporary storage
473d1e45 35932 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35933 using Apple's CC
cc6c3ac1 35934 (grub_cpu_is_tsc_supported): likewise
35935 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35936
3e325901 359372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35938
35939 Absolute addressing through constant with Apple's cc
35940
35941 * kern/i386/pc/startup.S: Define necessary constants
35942 and address through it when using ABS with Apple's CC
35943 * boot/i386/pc/diskboot.S: likewise
35944 * boot/i386/pc/boot.S: likewise
35945 * boot/i386/pc/lnxboot.S: likewise
35946 * boot/i386/pc/cdboot.S: likewise
35947 * mmap/i386/pc/mmap_helper.S: likewise
35948 * commands/i386/pc/drivemap_int13h.S: likewise
35949
2b167a72 359502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35951
35952 Check if compiler is apple cc
35953
35954 * Makefile.in (ASFLAGS): new variable
35955 (TARGET_ASFLAGS): likewise
35956 (TARGET_MODULE_FORMAT): likewise
35957 (TARGET_APPLE_CC): likewise
35958 (OBJCONV): likewise
35959 (TARGET_IMG_CFLAGS): likewise
35960 (TARGET_CPPFLAGS): add includedir
35961 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35962 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35963 Check for linker script only if compiler isn't Apple's CC
35964 (TARGET_MODULE_FORMAT): set
35965 (TARGET_APPLE_CC): likewise
35966 (TARGET_ASFLAGS): likewise
35967 (ASFLAGS): likewise
35968 Check for objcopy only if compiler isn't Apple's CC
35969 Check for BSS symbol only if compiler isn't Apple's CC
35970 * genmk.rb: adapt nm options if we use Apple's utils
35971 * aclocal.m4 (grub_apple_cc): new test
35972 (grub_apple_target_cc): likewise
473d1e45 35973
fb14123e 359742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35975
35976 Simplify sed expressions and improve awk
35977
35978 * Makefile.in (install-local): simplify sed expression
35979 * gencmdlist.sh: likewise
35980 * genmoddep.awk: avoid adding module as a dependency of itself
35981
5b889789 359822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35983
35984 Add missing start symbols
35985
35986 * boot/i386/pc/boot.S: add start
fb14123e 35987 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35988
fd2bf2e3 359892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35990
35991 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35992
35993 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35994 (relocate_addresses): consider both r_addend and value at offset
35995 (make_mods_section): zerofill modinfo and header
35996 (convert_elf): write prefix here
473d1e45 35997
5389763d 359982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35999
36000 Use .asciz instead of .string
36001
36002 * i386/pc/diskboot.S: use .asciz instead of .string
36003 * i386/pc/boot.S: likewise
36004 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36005 (GRUB_MOD_NAME): likewise
473d1e45 36006
3eb5ed4e 360072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36008
36009 gfxpayload support
36010
36011 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36012 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36013 (grub_video_setup): remove
36014 (grub_video_set_mode): new prototype
36015 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36016 (vid_mode): remove
36017 (linux_vesafb_res): compile only on PCBIOS
36018 (grub_linux_boot): support gfxpayload
36019 * loader/i386/pc/xnu.c (video_hook): new function
36020 (grub_xnu_set_video): support gfxpayload
36021 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36022 (DEFAULT_VIDEO_HEIGHT): likewise
36023 (DEFAULT_VIDEO_FLAGS): likewise
36024 (DEFAULT_VIDEO_MODE): new definition
36025 (video_hook): new function
36026 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36027 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36028 loading xnu
36029 * video/video.c (grub_video_setup): removed
473d1e45 36030 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36031 grub_video_setup
36032
4b0e1143 360332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36034
36035 Avoid calling biosdisk in drivemap
36036
36037 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36038 (revparse_biosdisk): likewise
36039 (list_mappings): derive name from id directly
36040 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36041
fda6cb98 360422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36043
36044 Script fixes
36045
36046 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36047 (grub_lexer_param): add tokenonhold
36048 (grub_script_create_cmdline): remove cmdline. All callers updated
36049 (grub_script_function_create): make functionname
36050 grub_script_arg. All callers updated
36051 (grub_script_execute_argument_to_string): new prototype
36052 * kern/parser.c (state_transitions): reorder
36053 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36054 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36055 make global
36056 (grub_script_execute_cmdline): use new format
36057 * script/sh/function.c (grub_script_function_create): make functionname
36058 grub_script_arg. All callers updated
473d1e45 36059 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36060 (grub_script_yylex): remove
36061 (grub_script_yylex2): renamed to ...
36062 (grub_script_yylex): ...renamed
36063 parse the expressions like a${b}c
36064 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36065 (GRUB_PARSER_TOKEN_VAR): remove
36066 (GRUB_PARSER_TOKEN_NAME): likewise
36067 ("if"): declare as typeless
36068 ("while"): likewise
36069 ("function"): likewise
36070 ("else"): likewise
36071 ("then"): likewise
36072 ("fi"): likewise
36073 (text): remove
36074 (argument): likewise
36075 (script): accept empty scripts and make exit on error
36076 (arguments): use GRUB_PARSER_TOKEN_ARG
36077 (function): likewise
36078 (command): move error handling to script
36079 (menuentry): move grub_script_lexer_ref before
473d1e45 36080 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36081 argument. All callers updated
36082
f4448a07 360832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36084
36085 Prevent GRUB from probing floppies during boot.
36086
36087 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36088 * commands/search.c (options): Add --no-floppy.
36089 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36090 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36091 --no-floppy when searching for UUIDs.
36092
2bf5885a 360932009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36094
36095 Simplify the code duplication in commands/search.c.
36096
36097 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36098 (search_fs): ... this. Update all users.
36099
f6fd460a 361002009-06-03 Felix Zielcke <fzielcke@z-51.de>
36101
36102 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36103
cbb3c83e 361042009-05-28 Pavel Roskin <proski@gnu.org>
36105
57788cfd 36106 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36107 Remove the original symlink explicitly.
36108
cbb3c83e 36109 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36110 just one slash. That's how grub_fshelp_find_file() does it.
36111
cd0d5e30 361122009-05-26 Pavel Roskin <proski@gnu.org>
36113
f0f8bbe2 36114 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36115 to `str'.
36116
cd0d5e30 36117 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36118 possibly unused.
36119
8c2cab51 361202009-05-25 Christian Franke <franke@computer.org>
36121
36122 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36123 register.
36124 (grub_atapi_identify): Add wait after drive select.
36125 (grub_ata_identify): Do more strict status register check before
36126 calling grub_atapi_identify (). Suppress error message if status
36127 register is 0x00 after command failure. Add status register
36128 check after PIO read to avoid bogus identify due to stuck DRQ.
36129 Thanks to Pavel Roskin for testing.
36130 (grub_device_initialize): Remove unsafe status register check.
36131 Thanks to 'phcoder' for problem report and patch.
36132 Prevent sign extension in debug message.
36133
230c0ad6 361342009-05-23 Colin D Bennett <colin@gibibit.com>
36135
36136 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36137 definition file, and functions defined in `normal/menu.c' have had
36138 their prototypes moved to `include/grub/menu.h' for consistency.
36139
36140 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36141 from normal.h.
36142 (grub_menu_get_entry): Likewise.
36143 (grub_menu_get_timeout): Likewise.
36144 (grub_menu_set_timeout): Likewise.
36145 (grub_menu_execute_entry): Likewise.
36146 (grub_menu_execute_with_fallback): Likewise.
36147 (grub_menu_entry_run): Likewise.
36148
36149 * include/grub/normal.h: Re-ordered and grouped function
36150 prototypes by file that the function is defined in.
36151 (grub_menu_execute_callback): Removed; moved to menu.h.
36152 (grub_menu_get_entry): Likewise.
36153 (grub_menu_get_timeout): Likewise.
36154 (grub_menu_set_timeout): Likewise.
36155 (grub_menu_execute_entry): Likewise.
36156 (grub_menu_execute_with_fallback): Likewise.
36157 (grub_menu_entry_run): Likewise.
36158 (grub_menu_addentry): Renamed from this ...
36159 (grub_normal_add_menu_entry): ... to this.
36160
36161 * normal/main.c (grub_menu_addentry): Renamed from this ...
36162 (grub_normal_add_menu_entry): ... to this.
36163
36164 * script/sh/execute.c (grub_script_execute_menuentry): Update
36165 reference to renamed grub_menu_addentry function.
36166
861f03a5 361672009-05-23 Felix Zielcke <fzielcke@z-51.de>
36168
36169 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36170
96b1619a 361712009-05-22 Pavel Roskin <proski@gnu.org>
36172
bf6a5fb2 36173 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36174 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36175 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36176 compiling for the i386 targets, but not for the utilities.
36177
96b1619a 36178 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36179 to grub_uint8_t.
36180 (grub_root_drive): Likewise.
36181 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36182 remove alignment.
36183 (grub_root_drive): Change size to byte.
36184 (grub_start_addr): Remove.
36185 (grub_end_addr): Likewise.
36186 (grub_apm_bios_info): Likewise.
36187
b729776b 361882009-05-21 Felix Zielcke <fzielcke@z-51.de>
36189
36190 * normal/i386: Remove.
36191 * normal/powerpc: Likewise.
36192 * normal/sparc64: Likewise.
36193 * normal/x86_64: Likewise.
36194
0a15ce80 361952009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36196
36197 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36198 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36199 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36200
33db9015 362012009-05-18 Colin D Bennett <colin@gibibit.com>
36202
d6da58e6 36203 Display error messages when parsing a Lua statement fails.
36204 Previously, executing a syntactically invalid statement like
36205 ")foo" or "bar;" would silently fail.
33db9015 36206
36207 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36208 (grub_lua_parse_line): Improved reporting of Lua parser and
36209 execution errors.
33db9015 36210
46422c89 362112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36212
36213 Remove -Werror which causes build to fail on some systems
36214
36215 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36216 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36217 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36218
22f53a96 362192009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36220
36221 trampoline for linux on 64-bit platform
36222
18f547ad 36223 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36224 loader/i386/efi/linux_trampoline.S
36225 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36226 declaration
d6da58e6 36227 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36228 here
22f53a96 36229 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36230 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36231 trampoline
22f53a96 36232 (jumpvector): removed
36233 (grub_linux_trampoline_start): new declaration
36234 (grub_linux_trampoline_end): likewise
36235 (grub_linux_boot): use trampoline when on 64-bit platform
36236 * loader/i386/linux.c: likewise
36237
cb5a0f40 362382009-05-16 Pavel Roskin <proski@gnu.org>
36239
36240 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36241 const to avoid a warning.
36242 (grub_lua_setenv): Likewise.
36243 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36244 lmsg to fix a warning.
36245
334f2c28 362462009-05-16 Felix Zielcke <fzielcke@z-51.de>
36247
36248 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36249 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36250 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36251 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36252 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36253 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36254 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36255 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36256
59e5d3ec 362572009-05-16 Felix Zielcke <fzielcke@z-51.de>
36258
36259 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36260
9d87a1ba 362612009-05-16 Bean <bean123ch@gmail.com>
36262
36263 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36264 (lua_mod_SOURCES): New variable.
36265 (lua_mod_CFLAGS): Likewise.
36266 (lua_mod_LDFLAGS): Likewise.
36267
36268 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36269 (setjmp_mod_SOURCES): New variable.
36270 (setjmp_mod_CFLAGS): Likewise.
36271 (setjmp_LDFLAGS): Likewise.
36272
36273 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36274 (setjmp_mod_SOURCES): New variable.
36275 (setjmp_mod_CFLAGS): Likewise.
36276 (setjmp_LDFLAGS): Likewise.
36277
36278 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36279 (setjmp_mod_SOURCES): New variable.
36280 (setjmp_mod_CFLAGS): Likewise.
36281 (setjmp_LDFLAGS): Likewise.
36282
36283 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36284 (setjmp_mod_SOURCES): New variable.
36285 (setjmp_mod_CFLAGS): Likewise.
36286 (setjmp_LDFLAGS): Likewise.
36287
36288 * normal/i386/setjmp.S: Moved from here ...
36289 * lib/i386/setjmp.S: ... Moved here
36290 * normal/x86_64/setjmp.S: Moved from here ...
36291 * lib/x86_64/setjmp.S: ... Moved here
36292 * normal/powerpc/setjmp.S: Moved from here ...
36293 * lib/powerpc/setjmp.S: ... Moved here
36294 * normal/sparc64/setjmp.S: Moved from here ...
36295 * lib/sparc64/setjmp.S: ... Moved here
36296
36297 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36298 returns_twice in mingw.
36299
36300 * script/lua/grub_lib.c: New file.
36301 * script/lua/grub_lib.h: Likewise.
36302 * script/lua/grub_lua.h: Likewise.
36303 * script/lua/grub_main.c: Likewise.
36304 * script/lua/lapi.c: Likewise.
36305 * script/lua/lapi.h: Likewise.
36306 * script/lua/lauxlib.c: Likewise.
36307 * script/lua/lauxlib.h: Likewise.
36308 * script/lua/lbaselib.c: Likewise.
36309 * script/lua/lcode.c: Likewise.
36310 * script/lua/lcode.h: Likewise.
36311 * script/lua/ldblib.c: Likewise.
36312 * script/lua/ldebug.c: Likewise.
36313 * script/lua/ldebug.h: Likewise.
36314 * script/lua/ldo.c: Likewise.
36315 * script/lua/ldo.h: Likewise.
36316 * script/lua/ldump.c: Likewise.
36317 * script/lua/lfunc.c: Likewise.
36318 * script/lua/lfunc.h: Likewise.
36319 * script/lua/lgc.c: Likewise.
36320 * script/lua/lgc.h: Likewise.
36321 * script/lua/linit.c: Likewise.
36322 * script/lua/liolib.c: Likewise.
36323 * script/lua/llex.c: Likewise.
36324 * script/lua/llex.h: Likewise.
36325 * script/lua/llimits.h: Likewise.
36326 * script/lua/lmathlib.c: Likewise.
36327 * script/lua/lmem.c: Likewise.
36328 * script/lua/lmem.h: Likewise.
36329 * script/lua/loadlib.c: Likewise.
36330 * script/lua/lobject.c: Likewise.
36331 * script/lua/lobject.h: Likewise.
36332 * script/lua/lopcodes.c: Likewise.
36333 * script/lua/lopcodes.h: Likewise.
36334 * script/lua/loslib.c: Likewise.
36335 * script/lua/lparser.c: Likewise.
36336 * script/lua/lparser.h: Likewise.
36337 * script/lua/lstate.c: Likewise.
36338 * script/lua/lstate.h: Likewise.
36339 * script/lua/lstring.c: Likewise.
36340 * script/lua/lstring.h: Likewise.
36341 * script/lua/lstrlib.c: Likewise.
36342 * script/lua/ltable.c: Likewise.
36343 * script/lua/ltable.h: Likewise.
36344 * script/lua/ltablib.c: Likewise.
36345 * script/lua/ltm.c: Likewise.
36346 * script/lua/ltm.h: Likewise.
36347 * script/lua/lua.h: Likewise.
36348 * script/lua/luaconf.h: Likewise.
36349 * script/lua/lualib.h: Likewise.
36350 * script/lua/lundump.c: Likewise.
36351 * script/lua/lundump.h: Likewise.
36352 * script/lua/lvm.c: Likewise.
36353 * script/lua/lvm.h: Likewise.
36354 * script/lua/lzio.c: Likewise.
36355 * script/lua/lzio.h: Likewise.
36356
5e898c9d 363572009-05-16 Bean <bean123ch@gmail.com>
36358
36359 * include/grub/kernel.h (grub_module_header_types): Add type
36360 OBJ_TYPE_CONFIG.
36361
36362 * kern/main.c (grub_load_config): New function.
36363 (grub_main): Call grub_load_config to read boot config.
36364
36365 * grub-mkimage (generate_image): New parameter config_path.
36366 (options): New option --config.
36367 (main): Parse --config option, and pass it to generate_image.
36368
cf353a47 363692009-05-14 Christian Franke <franke@computer.org>
36370
36371 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36372 This fixes build on Cygwin.
36373
3834887f 363742009-05-14 Pavel Roskin <proski@gnu.org>
36375
36376 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36377 jump. This saves two bytes, so the typical case of 2 swapped
36378 drives would fit 32 bytes.
36379
8090fc01 363802009-05-13 Pavel Roskin <proski@gnu.org>
36381
ac963883 36382 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36383 grub_uint32_t to avoid a warning.
36384
8090fc01 36385 * loader/i386/linux.c (allocate_pages): When assigning
36386 real_mode_mem, cast through grub_size_t to fix a warning. The
36387 code already makes sure that the value would fit a pointer.
36388 (grub_linux_setup_video): Cast render_target->data to
36389 grub_size_t to fix a warning.
36390
18f547ad 363912009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36392
36393 * commands/i386/pc/drivemap.c: New file - implement drivemap
36394 command.
36395 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36396 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36397
6f6a8b28 363982009-05-13 Pavel Roskin <proski@gnu.org>
36399
36400 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36401 embedding_area_exists.
36402
15fbf4c4 364032009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36404
36405 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36406 it easier to understand / work with.
59978c8a 36407 Improve warning messages for cases where there's no embedding area,
36408 or when it is too small (or core.img too large).
15fbf4c4 36409
238e871f 364102009-05-13 Pavel Roskin <proski@gnu.org>
36411
0ab3a9a4 36412 * loader/i386/pc/multiboot2.c: Add necessary includes for
36413 grub_multiboot2_real_boot().
36414
a2c8c5f8 36415 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36416 PX record is always little-endian. We only need the lower 2
36417 bytes of the mode.
36418
faec96af 36419 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36420 facilitate code reuse.
36421 (grub_cpio_mount): Use "struct head", not a char buffer. This
36422 fixes a warning reported by gcc 4.4.
36423
238e871f 36424 * kernel/disk.c (grub_disk_read): Use void pointer for the
36425 buffer.
36426 (grub_disk_write): Use const void pointer for the buffer.
36427 Adjust all callers. Remove unnecessary casts.
36428
901d2f0c 364292009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36430
36431 * util/i386/pc/grub-install.in: Update copyright year.
36432
18f547ad 364332009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36434
36435 gptsync
36436
36437 * commands/gptsync.c: new file
36438 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36439 (gptsync_mod_SOURCES): new variable
36440 (gptsync_mod_CFLAGS): likewise
36441 (gptsync_mod_LDFLAGS): likewise
18f547ad 36442 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36443 new definition
36444 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36446 * conf/i386-ieee1275.rmk: likewise
36447 * conf/i386-pc.rmk: likewise
36448 * conf/powerpc-ieee1275.rmk: likewise
36449
b4ba690a 364502009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36451
36452 Fixed grub-emu
36453
36454 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36455 (grub_dl_ref): likewise
36456
317e1a44 364572009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36458
36459 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36460 split in two functions (one for msdos and one for gpt).
36461
041b8094 364622009-05-08 Pavel Roskin <proski@gnu.org>
36463
752473c2 36464 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36465 not modified.
36466
041b8094 36467 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36468 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36469 Initialize them with -1. Add sanity check for bad1. Eliminate
36470 nerr variable.
36471
172800ce 364722009-05-08 David S. Miller <davem@davemloft.net>
36473
36474 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36475
29aa5e81 364762009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36477
36478 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36479 existence.
29aa5e81 36480
96613b62 364812009-05-05 Felix Zielcke <fzielcke@z-51.de>
36482
36483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36484 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36485
eef73c8a 364862009-05-05 David S. Miller <davem@davemloft.net>
36487
36488 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36489
119494b5 364902009-05-05 Pavel Roskin <proski@gnu.org>
36491
36492 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36493 of grub_dl_ref() and grub_dl_unref().
36494 * commands/parttool.c: Remove preprocessor conditionals around
36495 grub_dl_ref() and grub_dl_unref().
36496 * fs/affs.c: Likewise.
36497 * fs/afs.c: Likewise.
36498 * fs/cpio.c: Likewise.
36499 * fs/ext2.c: Likewise.
36500 * fs/fat.c: Likewise.
36501 * fs/hfs.c: Likewise.
36502 * fs/hfsplus.c: Likewise.
36503 * fs/iso9660.c: Likewise.
36504 * fs/jfs.c: Likewise.
36505 * fs/minix.c: Likewise.
36506 * fs/ntfs.c: Likewise.
36507 * fs/reiserfs.c: Likewise.
36508 * fs/sfs.c: Likewise.
36509 * fs/udf.c: Likewise.
36510 * fs/ufs.c: Likewise.
36511 * fs/xfs.c: Likewise.
36512 * include/grub/dl.h: Likewise.
36513 * loader/xnu.c: Likewise.
36514
de5fd76e 365152009-05-04 Pavel Roskin <proski@gnu.org>
36516
36517 * commands/acpi.c: Remove unused variable my_mod.
36518 * partmap/amiga.c: Likewise.
36519 * partmap/apple.c: Likewise.
36520 * partmap/gpt.c: Likewise.
36521 * partmap/pc.c: Likewise.
36522 * partmap/sun.c: Likewise.
36523 * term/gfxterm.c: Likewise.
36524 * term/i386/pc/vesafb.c: Likewise.
36525 * term/i386/pc/vga.c: Likewise.
36526
983598ad 365272009-05-04 David S. Miller <davem@davemloft.net>
36528
36529 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36530 pointer args to grub_ieee1275_get_property().
36531
8aadec43 36532 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36533
9554b15e 36534 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36535 devices, and do not traverse down under controller nodes.
36536
67e23c90 36537 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36538 (grub_ofdisk_open): Use it to un-escape "," characters.
36539 * kern/disk.c (find_part_sep): New.
36540 (grub_disk_open): Use it to find the first non-escaped ','
36541 character in the disk name.
36542 * util/ieee1275/devicemap.c (escape_of_path): New.
36543 (grub_util_emit_devicemap_entry): Use it.
36544 * util/sparc64/ieee1275/grub-install.in: Update script to
36545 strip partition specifiers properly by not triggering on
36546 '\' escaped ',' characters.
36547
74bfdd2f 365482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36549
36550 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36551 to 0x300.
36552 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36553 resolutions.
36554 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36555 on documentation from Wikipedia).
36556
4241d2b1 365572009-05-04 Pavel Roskin <proski@gnu.org>
36558
36559 * disk/ata.c: Spelling fixes.
36560 * disk/raid.c: Likewise.
36561 * disk/usbms.c: Likewise.
36562 * disk/dmraid_nvidia.c: Likewise.
36563 * kern/ieee1275/openfw.c: Likewise.
36564 * kern/ieee1275/init.c: Likewise.
36565 * kern/ieee1275/cmain.c: Likewise.
36566 * boot/i386/pc/cdboot.S: Likewise.
36567 * video/readers/png.c: Likewise.
36568 * video/i386/pc/vbe.c: Likewise.
36569 * fs/udf.c: Likewise.
36570 * fs/hfs.c: Likewise.
36571 * fs/reiserfs.c: Likewise.
36572 * efiemu/runtime/efiemu.c: Likewise.
36573 * efiemu/main.c: Likewise.
36574 * efiemu/mm.c: Likewise.
36575 * include/grub/elf.h: Likewise.
36576 * include/grub/xnu.h: Likewise.
36577 * include/grub/usbdesc.h: Likewise.
36578 * include/grub/usb.h: Likewise.
36579 * include/grub/script_sh.h: Likewise.
36580 * include/grub/lib/LzmaEnc.h: Likewise.
36581 * include/grub/efiemu/efiemu.h: Likewise.
36582 * include/grub/command.h: Likewise.
36583 * normal/menu.c: Likewise.
36584 * normal/main.c: Likewise.
36585 * normal/datetime.c: Likewise.
36586 * bus/usb/uhci.c: Likewise.
36587 * mmap/i386/uppermem.c: Likewise.
36588 * mmap/mmap.c: Likewise.
36589 * commands/acpi.c: Likewise.
36590 * commands/test.c: Likewise.
36591 * partmap/apple.c: Likewise.
36592 * font/font.c: Likewise.
36593 * loader/sparc64/ieee1275/linux.c: Likewise.
36594 * loader/macho.c: Likewise.
36595 * loader/i386/bsd_trampoline.S: Likewise.
36596 * loader/i386/bsd.c: Likewise.
36597 * loader/xnu.c: Likewise.
36598 * term/i386/pc/vesafb.c: Likewise.
36599 * term/usb_keyboard.c: Likewise.
36600 * util/resolve.c: Likewise.
36601 * util/getroot.c: Likewise.
36602
0cfc0083 366032009-05-04 Felix Zielcke <fzielcke@z-51.de>
36604
36605 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36606
7c1d00cd 366072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36608
36609 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36610 build error.
36611
b01f0548 366122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36613
36614 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36615 parameter only available on BIOS.
36616
ecc3eb22 366172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36618
36619 Removed wrong semicolon in declaration
36620
36621 * grub/misc.h (grub_dprintf): remove semicolon
36622
112972a9 366232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36624
36625 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36626 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36627 is done by grub_cmd_linux() now).
36628 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36629 restore video to text mode.
36630 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36631 indicates lack of "vga=" parameter. "vga=0" is mapped to
36632 `GRUB_LINUX_VID_MODE_NORMAL'.
36633
afd5c115 366342009-05-04 Felix Zielcke <fzielcke@z-51.de>
36635
36636 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36637 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36638 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36639 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36640 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36641 `grub_script.tab.c'.
36642
36643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36644 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36647 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36648
faa517ce 36649 * Makefile.in: Remove duplicated 2008 in Copyright line.
36650
ae0c0bdc 366512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36652
473d1e45 36653 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36654 unconditionally.
36655 * include/grub/util/misc.h (grub_util_warn): New declaration.
36656
36657 * util/i386/pc/grub-install.in: Understand --force and pass it down
36658 to grub-setup.
36659
36660 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36661 down to setup().
36662 (setup): Improve error messages and add warnings when requested to
36663 install in odd layouts. Refuse to install using blocklists unless
36664 --force was set.
36665
18f547ad 366662009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36667
36668 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36669
6d260daa 366702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36671
36672 Updated copyright year
36673
36674 * fs/hfsplus.c: updated copyright year
18f547ad 36675
69f853f8 366762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36677
36678 HFS+ UUID
36679
18f547ad 36680 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36681 in the space previously used by unused3
36682 (grub_hfsplus_uuid): new function
36683 (grub_hfsplus_fs): added uuid field
36684
4c402e73 366852009-05-03 Pavel Roskin <proski@gnu.org>
36686
36687 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36688 suppress warnings. It's no longer needed.
36689 * disk/host.c: Likewise.
36690 * disk/ata_pthru.c: Likewise.
36691 * disk/loopback.c: Likewise.
36692 * hook/datehook.c: Likewise.
36693 * parttool/pcpart.c: Likewise.
36694 * fs/i386/pc/pxe.c: Likewise.
36695 * fs/ntfscomp.c: Likewise.
36696 * efiemu/main.c: Likewise.
36697 * mmap/mmap.c: Likewise.
36698 * commands/crc.c: Likewise.
36699 * commands/hexdump.c: Likewise.
36700 * commands/hdparm.c: Likewise.
36701 * commands/acpi.c: Likewise.
36702 * commands/echo.c: Likewise.
36703 * commands/minicmd.c: Likewise.
36704 * commands/blocklist.c: Likewise.
36705 * commands/memrw.c: Likewise.
36706 * commands/loadenv.c: Likewise.
36707 * commands/usbtest.c: Likewise.
36708 * commands/lsmmap.c: Likewise.
36709 * commands/boot.c: Likewise.
36710 * commands/parttool.c: Likewise.
36711 * commands/configfile.c: Likewise.
36712 * commands/search.c: Likewise.
36713 * commands/ieee1275/suspend.c: Likewise.
36714 * commands/cat.c: Likewise.
36715 * commands/i386/pc/pxecmd.c: Likewise.
36716 * commands/i386/pc/play.c: Likewise.
36717 * commands/i386/pc/halt.c: Likewise.
36718 * commands/i386/pc/vbeinfo.c: Likewise.
36719 * commands/i386/pc/vbetest.c: Likewise.
36720 * commands/lspci.c: Likewise.
36721 * commands/date.c: Likewise.
36722 * commands/handler.c: Likewise.
36723 * commands/ls.c: Likewise.
36724 * commands/test.c: Likewise.
36725 * commands/cmp.c: Likewise.
36726 * commands/efi/loadbios.c: Likewise.
36727 * commands/efi/fixvideo.c: Likewise.
36728 * commands/halt.c: Likewise.
36729 * commands/help.c: Likewise.
36730 * commands/reboot.c: Likewise.
36731 * hello/hello.c: Likewise.
36732 * script/sh/main.c: Likewise.
36733 * loader/xnu.c: Likewise.
36734 * term/terminfo.c: Likewise.
36735 * term/i386/pc/serial.c: Likewise.
36736 * term/usb_keyboard.c: Likewise.
36737
515b5079 367382009-05-03 David S. Miller <davem@davemloft.net>
36739
36740 * normal/menu.c: Include grub/parser.h
36741
dfc31a22 367422009-05-03 Pavel Roskin <proski@gnu.org>
36743
2fee74f1 36744 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36745 not char*.
36746 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36747 Suggested by Javier Martín <lordhabbit@gmail.com>
36748
dfc31a22 36749 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36750 efiemu??.o doesn't exist.
36751 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36752 copying.
36753
18f547ad 367542009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36755
36756 FreeBSD 64-bit support
36757
18f547ad 36758 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36759 and loader/i386/bsd_trampoline.S
36760 (bsd_mod_ASFLAGS): new variable
36761 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36762 (FREEBSD_MODTYPE_KERNEL64): likewise
36763 (grub_bsd64_trampoline_start): likewise
36764 (grub_bsd64_trampoline_end): likewise
36765 (grub_bsd64_trampoline_selfjump): likewise
36766 (grub_bsd64_trampoline_gdt): likewise
36767 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36768 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36769 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36770 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36771 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36772 of "attrib" member
36773 * loader/i386/bsd_pagetable.c: new file
36774 * loader/i386/bsd_trampoline.S: likewise
36775 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36776 (ALIGN_VAR): likewise
36777 (entry_hi): new variable
36778 (kern_end_mdofs): likewise
36779 (is_64bit): likewise
36780 (grub_freebsd_add_meta): use ALIGN_VAR
36781 (grub_e820_mmap): new declaration
36782 (grub_freebsd_add_mmap): new function
36783 (grub_freebsd_add_meta_module): support 64 bit kernels
36784 (grub_freebsd_list_modules): use ALIGN_VAR
36785 (gdt_descriptor): new declaration
36786 (grub_freebsd_boot): support 64 bit kernels
36787 (grub_bsd_elf64_hook): new function
36788 (grub_bsd_load_elf): support elf64
36789
038c5720 367902009-05-03 Bean <bean123ch@gmail.com>
36791
36792 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36793 after we get the result of if statement.
36794
fc45fb58 367952009-05-03 Bean <bean123ch@gmail.com>
36796
36797 * Makefile.in (enable_efiemu): New variable.
36798
36799 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36800 set.
36801 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36802 path.
36803 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36804 path, add -mno-red-zone option.
36805 (efiemu64_s.o): Likewise.
36806 (efiemu64.o): Use macro $^ for source file.
36807
36808 * configure.ac (--enable-efiemu): New option.
36809
bbee0f2b 368102009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36811
36812 xnu support
36813
36814 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36815 (pkglib_MODULES): add xnu.mod
36816 (xnu_mod_SOURCES): new variable
36817 (xnu_mod_CFLAGS): likewise
36818 (xnu_mod_LDFLAGS): likewise
36819 (xnu_mod_ASFLAGS): likewise
36820 * conf/i386-pc.rmk: likewise
36821 * conf/x86_64-efi.rmk: likewise
7dd4a573 36822 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36823 new declaration
36824 * include/grub/i386/macho.h: new file
36825 * include/grub/i386/xnu.h: likewise
36826 * include/grub/macho.h: likewise
36827 * include/grub/machoload.h: likewise
36828 * include/grub/x86_64/macho.h: likewise
36829 * include/grub/x86_64/xnu.h: likewise
36830 * include/grub/xnu.h: likewise
36831 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36832 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36833 * loader/i386/efi/xnu.c: new file
36834 * loader/i386/pc/xnu.c: likewise
36835 * loader/i386/xnu.c: likewise
36836 * loader/i386/xnu_helper.S: likewise
36837 * loader/macho.c: likewise
36838 * loader/xnu.c: likewise
36839 * loader/xnu_resume.c: likewise
36840 * util/grub-dumpdevtree: likewise
36841 * include/grub/i386/pit.h: include grub/err.h
36842 (grub_pit_wait): export
36843 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36844
5caf964d 368452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36846
36847 Efiemu
7dd4a573 36848
5caf964d 36849 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36850 _linux_efi, linux_efi.
36851 new files in grub-emu
5caf964d 36852 new targets efiemu32.o and efiemu64.o
36853 * loader/linux_normal_efiemu.c: likewise
36854 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36855 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36856 files to copy
36857 * include/grub/autoefi.h: new file
7dd4a573 36858 * include/grub/i386/efiemu.h: likewise
5caf964d 36859 * include/grub/i386/pc/efiemu.h: likewise
36860 * include/grub/efi/api.h: add LL suffix when necessary
36861 new definitions relating to tables
36862 * include/grub/efiemu/efiemu.h: new file
36863 * include/grub/efiemu/runtime.h: likewise
36864 * efiemu/prepare.c: likewise
36865 * efiemu/loadcore_common.c: likewise
36866 * efiemu/loadcore64.c: likewise
36867 * efiemu/runtime/efiemu.sh: likewise
36868 * efiemu/runtime/efiemu.S: likewise
36869 * efiemu/runtime/efiemu.c: likewise
36870 * efiemu/runtime/config.h: likewise
36871 * efiemu/prepare32.c: likewise
36872 * efiemu/main.c: likewise
36873 * efiemu/modules/pnvram.c: likewise
36874 * efiemu/modules/i386: likewise
36875 * efiemu/modules/i386/pc: likewise
36876 * efiemu/modules/acpi.c: likewise
36877 * efiemu/i386/pc/cfgtables.c: likewise
36878 * efiemu/i386/loadcore64.c: likewise
36879 * efiemu/i386/loadcore32.c: likewise
36880 * efiemu/prepare64.c: likewise
36881 * efiemu/loadcore.c: likewise
36882 * efiemu/symbols.c: likewise
36883 * efiemu/mm.c: likewise
36884 * efiemu/loadcore32.c: likewise
7dd4a573 36885
368862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36887
36888 ACPI spoofing
36889
36890 * commands/acpi.c: new file
36891 * commands/i386/pc/acpi.c: likewise
36892 * commands/efi/acpi.c: likewise
36893 * include/grub/acpi.h: likewise
36894 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36895 (acpi_mod_SOURCES): new variable
36896 (acpi_mod_CFLAGS): likewise
36897 (acpi_mod_LDFLAGS): likewise
36898 * conf/i386-efi.rmk: likewise
36899 * conf/x86_64-efi.rmk: likewise
36900
7dd4a573 369012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36902
36903 Missing part from mmap patch
36904
36905 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36906 (grub_mmap_unregister)
36907 (grub_mmap_free_and_unregister): use grub_mmap_register
36908
7dd4a573 369092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36910
36911 Mmap services
36912
36913 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36914 * loader/i386/linux.c (find_mmap_size): likewise
36915 (allocate_pages): likewise
36916 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36917 (grub_fill_multiboot_mmap): likewise
36918 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36919 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36920 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36921 (OPENBSD_MMAP_RESERVED): likewise
36922 * include/grub/i386/pc/memory.h: include grub/memory.h
36923 (grub_lower_mem): removed
36924 (grub_upper_mem): likewise
36925 (GRUB_MACHINE_MEMORY_ACPI): new definition
36926 (GRUB_MACHINE_MEMORY_NVS): likewise
36927 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36928 (GRUB_MACHINE_MEMORY_HOLE): likewise
36929 (grub_machine_mmap_register): likewise
36930 (grub_machine_mmap_unregister): likewise
36931 (grub_machine_get_upper): likewise
36932 (grub_machine_get_lower): likewise
36933 (grub_machine_get_post64): likewise
36934 * include/grub/i386/efi/memory.h: new file
36935 * include/grub/x86_64/efi/memory.h: likewise
36936 * include/grub/efi/memory.h: likewise
36937 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36938 (mmap_mod_SOURCES): new variable
36939 (mmap_mod_LDFLAGS): likewise
36940 (mmap_mod_ASFLAGS): likewise
36941 * conf/i386-coreboot.rmk: likewise
36942 * conf/i386-ieee1275.rmk: likewise
36943 * conf/i386-efi.rmk: likewise
36944 * conf/x86_64-efi.rmk: likewise
36945 * include/grub/types.h (UINT_TO_PTR): new macro
36946 (PTR_TO_UINT32): likewise
36947 (PTR_TO_UINT64): likewise
36948 * include/grub/memory.h: new file
36949 * mmap/i386/pc/mmap.c: likewise
36950 * mmap/i386/pc/mmap_helper.S: likewise
36951 * mmap/i386/uppermem.c: likewise
36952 * mmap/mmap.c: likewise
36953 * mmap/efi/mmap.c: likewise
7dd4a573 36954 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36955 grub_upper_mem
36956 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36957 (grub_upper_mem): likewise
36958 (grub_machine_init): don't use grub_upper_mem,
36959 make grub_lower_mem local
36960 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36961 grub_mmap_iterate and grub_mmap_get_upper
36962 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36963
d558e6b5 369642009-05-02 Bean <bean123ch@gmail.com>
36965
36966 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36967 script/sh/parser.y.
36968 (pkglib_MODULES): Add normal.mod and sh.mod.
36969 (normal_SOURCES): New variable.
36970 (normal_mod_CFLAGS): Likewise.
36971 (normal_mod_LDFLAGS): Likewise.
36972 (sh_mod_SOURCES): Likewise.
36973 (sh_mod_CFLAGS): Likewise.
36974 (sh_mod_LDFLAGS): Likewise.
36975
36976 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36977 script/sh/lexer.c_DEPENDENCIES.
36978 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36979 kern/rescue_reader.c and kern/rescue_parser.c.
36980 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36981 (grub_emu_SOURCES): Change source files.
36982 (pkglib_MODULES): Remove normal.mod.
36983 (normal_SOURCES): Removed.
36984 (normal_mod_CFLAGS): Likewise.
36985 (normal_mod_LDFLAGS): Likewise.
36986 * conf/i386-coreboot.rmk: Likewise.
36987 * conf/i386-efi.rmk: Likewise.
36988 * conf/i386-ieee1276.rmk: Likewise.
36989 * conf/powerpc-ieee1275.rmk: Likewise.
36990 * conf/sparc64-ieee1275.rmk: Likewise.
36991 * conf/x86_64-efi.rmk: Likewise.
36992
36993 * include/grub/command.h (grub_command_execute): New inline function.
36994
36995 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36996
36997 * include/grub/normal.h: Remove <grub/setjmp.h>.
36998 (grub_fs_module_list): Moved to normal/autofs.c.
36999 (grub_exit_env): Removed.
37000 (grub_command_execute): Likewise.
37001 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37002 parameter script.
37003 (read_command_list): New function declaration.
37004 (read_fs_list): Likewise.
37005
37006 * include/parser.h: Include <grub/reader.h>.
37007 (grub_parser_split_cmdline): Change type of getline parameter.
37008 (grub_parser): New structure.
37009 (grub_parser_class): New variable.
37010 (grub_parser_execute): New function declaration.
37011 (grub_register_rescue_parser): Likewise.
37012 (grub_parser_register): New inline function.
37013 (grub_parser_unregister): Likewise.
37014 (grub_parser_get_current): Likewise.
37015 (grub_parser_set_current): Likewise.
37016
37017 * include/grub/reader.h: New file.
37018 * kern/reader.c: Likewise.
37019 * kern/rescue_parser.c: Likewise.
37020 * kern/rescue_reader.c: Likewise.
37021 * normal/autofs.c: Likewise.
37022 * normal/dyncmd.c: Likewise.
37023
37024 * include/grub/rescue.h: Removed.
37025 * normal/command.h: Likewise.
37026
37027 * include/grub/script.h: Moved to ...
37028 * include/grub/script_sh.h: ... Moved here.
37029 * normal/execute.c: Moved to ...
37030 * script/sh/execute.c: ... Moved here.
37031 * normal/function.c: Moved to ...
37032 * script/sh/function.c: ... Moved here.
37033 * normal/lexer.c: Moved to ...
37034 * script/sh/lexer.c: ... Moved here.
37035 * normal/parser.y: Moved to ...
37036 * script/sh/parser.y: ... Moved here.
37037 * normal/script.c: Moved to ...
37038 * script/sh/script.c: ... Moved here.
37039
37040 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37041 <grub/reader.h>.
37042 (grub_exit_env): Removed.
37043 (fs_module_list): Moved to normal/autofs.c.
37044 (grub_file_getline): Don't handle comment here.
37045 (free_menu): Skip removed field entry->commands.
37046 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37047 script parameter.
37048 (read_config_file): Removed nested parameter, change getline function.
37049 (grub_enter_normal_mode): Removed.
37050 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37051 (read_command_list): Likewise.
37052 (autoload_fs_module): Moved to normal/autofs.c.
37053 (read_fs_list): Likewise.
37054 (reader_nested): New variable.
37055 (grub_normal_execute): Run parser.sh to switch to sh parser.
37056 (grub_cmd_rescue): Removed.
37057 (cmd_normal): Removed.
37058 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37059 rescue command.
37060 (grub_cmdline_run): New function.
37061 (grub_normal_reader_init): Likewise.
37062 (grub_normal_read_line): Likewise.
37063 (grub_env_write_pager): Likewise.
37064 (cmdline): New variable.
37065 (grub_normal_reader): Likewise.
37066 (GRUB_MOD_INIT): Register normal reader and set as current, register
37067 pager hook, register normal command with grub_register_command_prio,
37068 so that it won't show up in command.lst.
37069 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37070 grub_fs_autoload_hook.
37071
37072 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37073 (grub_menu_execute_entry): Replace grub_script_execute with
37074 grub_parser_execute, change parameter to grub_command_execute.
37075
37076 * normal/menu_text.c: Remove <grub/script.h>.
37077
37078 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37079 and <grub/parser.h>.
37080 (run): Change editor_getline to use new parser interface. Change
37081 parameter to grub_command_execute.
37082
37083 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37084 <grub/reader.h> and <grub/parser.h>.
37085 (grub_load_normal_mode): Execute normal command.
37086 (grub_main): Call grub_register_core_commands,
37087 grub_register_rescue_parser and grub_register_rescue_reader, use
37088 grub_reader_loop to enter input loop.
37089
7dd4a573 37090 * kern/parser.c (grub_parser_split_cmdline): Change type of
37091 getline parameter.
d558e6b5 37092 (grub_parser_class): New variable.
37093 (grub_parser_execute): New function.
37094
37095 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37096 * loader/multiboot2.c: Likewise.
37097 * loader/sparc64/ieee1275/linux.c: Likewise.
37098
37099 * util/grub-emu.c (read_command_list): New dummy function.
37100
18db813d 371012009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37102
37103 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37104 count to 16 for CCISS and IDA.
37105
6c67de15 371062009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37107
37108 * normal/menu_text.c (grub_wait_after_message): Print a newline
37109 after waiting for user input.
37110
37111 * loader/i386/linux.c: Include `<grub/normal.h>'.
37112 (grub_cmd_linux): Improve the error message about `ask' mode, by
37113 waiting for user input so it's not missed (we can do this, since
37114 user requested interaction).
37115
d9dc87b0 371162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37117
37118 Added missing lst to grub-mkrescue
37119
37120 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37121 and ${input_dir}/parttool.lst
37122
ac8a2baa 371232009-04-30 David S. Miller <davem@davemloft.net>
37124
ad22a610 37125 * util/hostdisk.c (device_is_wholedisk): New function.
37126 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37127 zero only if device_is_wholedisk() returns true.
37128
6966215d 37129 * util/hostdisk.c (convert_system_partition_to_system_disk):
37130 Handle virtual disk devices named /dev/vdiskX as found on sparc
37131 and powerpc.
37132
ac8a2baa 37133 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37134 lettered partition specifier is found, convert to numbered.
37135
979b4fb4 371362009-04-29 David S. Miller <davem@davemloft.net>
37137
e2bf39b2 37138 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37139 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37140
3c64e104 37141 * normal/command.c: Add missing newline at end of file.
37142
979b4fb4 37143 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37144 warnings.
37145 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37146 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37147 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37148 ihandles have a 32-bit type but need to be stored in a "void *".
37149
136d9f82 371502009-04-28 Pavel Roskin <proski@gnu.org>
37151
9459c306 37152 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37153 not disk. Adjust all dependencies.
2e08a26a 37154 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37155 grub_disk_close().
37156
136d9f82 37157 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37158 parent's partition, don't copy it by reference, as it gets freed
37159 on close.
37160
7dd4a573 371612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37162
37163 Preboot hooks support
37164
37165 * commands/boot.c (struct grub_preboot_t): new declaration
37166 (preboots_head): new variable
37167 (preboots_tail): likewise
37168 (grub_loader_register_preboot_hook): new function
37169 (grub_loader_unregister_preboot_hook): likewise
37170 (grub_loader_set): launch preboot hooks
37171 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37172 (grub_loader_register_preboot_hook): new declaration
37173 (grub_loader_unregister_preboot_hook): likewise
37174
5af922b5 371752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37176
37177 Warning fix
37178
7dd4a573 37179 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37180 calling grub_dprintf
37181
a5562c30 371822009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37183
37184 Bug and warning fixes
37185
7dd4a573 37186 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37187 declaration
37188 * commands/test.c (test_parse): fixed bug with file tests and corrected
37189 declaration of find_file
37190
4006f85c 371912009-04-26 Pavel Roskin <proski@gnu.org>
37192
37193 * Makefile.in: Don't install empty manual pages if help2man is
37194 missing. Use help2man option for output, not shell redirection.
37195
5c77c3de 371962009-04-26 David S. Miller <davem@davemloft.net>
37197
37198 * util/grub-mkdevicemap.c (make_device_map): Add missing
37199 NESTED_FUNC_ATTR to process_device().
37200
033b10a8 372012009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37202
37203 Test command
37204
37205 * commands/test.c: rewritten to use bash-like test
37206
e4343593 372072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37208
37209 Parttool autoloading and improvements
37210
7dd4a573 37211 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37212 (parttool.lst): new target
37213 * genmk.rb: generate parttool-*
37214 (CLEANFILES): add #{parttool}
37215 (PARTTOOLFILES): new variable
37216 * genparttoollist.sh: new file
7dd4a573 37217 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37218 (grub_pcpart_type): likewise
37219 * commands/parttool.c (helpmsg): new variable
37220 (grub_cmd_parttool): output help if not enough arguments are supplied
37221 autoload modules
37222 (GRUB_MOD_INIT(parttool)): use helpmsg
37223
0d312500 372242009-04-24 David S. Miller <davem@davemloft.net>
37225
7dd4a573 37226 Avoiding opening same device multiple times in device iterator.
0d312500 37227
37228 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37229 and use it to build a list of partitions in iterate_disk() and
0d312500 37230 iterate_partition().
37231
ac20caff 37232 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37233 on disk->data.
37234
0dcf7495 37235 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37236 grub_devalias_iterate() result instead of unconditional 0.
37237 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37238 Also, capture hook return value, either directly or via
37239 grub_children_iterate(), and propagate to caller.
37240 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37241 grub_children_iterate): Return value is now 'int' instead of
37242 'grub_err_t'.
37243 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37244 like a proper iterator, stopping when hooks return non-zero.
37245 (grub_devalias_iterate): Likewise.
37246
c8c08833 372472009-04-23 David S. Miller <davem@davemloft.net>
37248
37249 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37250
f01005a8 372512009-04-22 David S. Miller <davem@davemloft.net>
37252
37253 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37254 is larger than address_cells, use that value for address_cells too.
37255
4e8269da 37256 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37257 IEEE1275_MAX_PATH_LEN): Define.
37258 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37259 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37260 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37261 'devtype'. Explicitly NULL terminate devalias expansion.
37262
a1447506 37263 * util/sparc64/ieee1275/misc.c: New file.
37264 * util/sparc64/ieee1275/grub-setup.c: New file.
37265 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37266 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37267 * util/sparc64/ieee1275/grub-install.in: New file.
37268 * util/ieee1275/ofpath.c: New file.
37269 * util/ieee1275/devicemap.c: New file.
37270 * util/devicemap.c: New file.
37271 * util/deviceiter.c: New file.
37272 * kern/sparc64/ieee1275/init.c: New file.
37273 * include/grub/util/ofpath.h: New file.
37274 * include/grub/util/deviceiter.h: New file.
37275 * util/grub-mkdevicemap.c: Include deviceiter.h.
37276 Implement using grub_util_emit_devicemap_entry and
37277 grub_util_iterate_devices.
37278 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37279 util/devicemap.c into grub-mkdevicemap
37280 * conf/i386-efi.rmk: Likewise.
37281 * conf/i386-ieee1275.rmk: Likewise.
37282 * conf/i386-pc.rmk: Likewise.
37283 * conf/powerpc-ieee1275.rmk: Likewise.
37284 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37285 images and installation utilities. Build kernel as image
37286 instead of as elf binary. Use common rules as much as possible.
37287
7dd4a573 372882009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37289
37290 Correct GPT definition
37291
7dd4a573 37292 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37293 of "attrib" member
37294
c6c5219f 372952009-04-19 Felix Zielcke <fzielcke@z-51.de>
37296
37297 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37298
0552ff9f 372992009-04-19 David S. Miller <davem@davemloft.net>
37300
37301 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37302 (grub_rescue_cmd_linux): Rename to...
37303 (grub_cmd_linux): and fix prototype.
37304 (grub_rescue_cmd_initrd): Rename to...
37305 (grub_cmd_initrd): and fix prototype.
37306 (cmd_linux, cmd_initrd): New.
37307 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37308 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37309
d1a282fc 373102009-04-17 Pavel Roskin <proski@gnu.org>
37311
07c5039f 37312 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37313 format.
37314 (grub_ohci_transfer): Likewise.
37315
b012002d 37316 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37317
1bc09c35 37318 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37319 return without a value. Fix inconsistent indentation.
37320
e0ff9126 37321 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37322 match struct grub_fs.
37323
d1a282fc 37324 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37325 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37326 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37327 * commands/lspci.c (grub_lspci_iter): Likewise.
37328
a96df3f2 373292009-04-16 Bean <bean123ch@gmail.com>
37330
37331 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37332 value.
37333
41bb0fe9 373342009-04-15 Pavel Roskin <proski@gnu.org>
37335
37336 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37337 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37338 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37339 definitions.
37340
596c6970 373412009-04-15 Felix Zielcke <fzielcke@z-51.de>
37342
37343 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37344 that no multiple data or metadata areas are supported and `Unknown
596c6970 37345 metadata header'.
37346
7dd4a573 373472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37348
37349 Move loader out of the kernel
37350
37351 * kern/loader.c: moved to ...
37352 * commands/boot.c: ... moved here
37353 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37354 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37355 * include/grub/kernel.h (grub_machine_fini): export
37356 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37357 (grub_loader_set): likewise
37358 (grub_loader_unset): likewise
37359 (grub_loader_boot): likewise
37360 * conf/common.rmk: new module boot.mod
37361 (pkglib_MODULES): add boot.mod
37362 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37363 (grub_emu_SOURCES): likewise
37364 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37365 (grub_emu_SOURCES): likewise
37366 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37367 (grub_emu_SOURCES): likewise
37368 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37369 (grub_emu_SOURCES): likewise
37370 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37371 (grub_emu_SOURCES): likewise
7dd4a573 37372 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37373 (grub_emu_SOURCES): likewise
0d5d5653 37374 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37375 (grub_emu_SOURCES): likewise
0d5d5653 37376
7dd4a573 373772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37378
37379 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37380
5999d619 37381 * kern/misc.c (grub_itoa): Removed function
37382 (grub_ltoa): likewise
37383 (grub_vsprintf): use grub_lltoa
37384
7dd4a573 373852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37386
37387 Restore grub-emu
37388
37389 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37390 * conf/i386-coreboot.rmk: likewise
37391 * conf/i386-ieee1275.rmk: likewise
37392 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37393
20318222 373942009-04-15 Felix Zielcke <fzielcke@z-51.de>
37395
37396 * INSTALL: Add that `./autogen.sh' needs to be run before
37397 `./configure.'.
37398
d05f0df3 373992009-04-14 Bean <bean123ch@gmail.com>
37400
37401 * Makefile.in (pkglib_DATA): Add handler.lst.
37402 (handler.lst): New rule.
37403
37404 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37405 * conf/i386-coreboot.rmk: Likewise.
37406 * conf/i386-ieee1275.rmk: Likewise.
37407 * conf/i386-efi.rmk: Likewise.
37408 * conf/x86_64-efi.rmk: Likewise.
37409 * conf/powerpc-ieee1275.rmk: Likewise.
37410 * conf/sparc64-ieee1275.rmk: Likewise.
37411
37412 * genhandlerlist.sh: New file.
37413
37414 * genmk.rb: Add rules to generate handler.lst.
37415
37416 * include/grub/normal.h (grub_file_getline): New function definition.
37417 (read_handler_list): Likewise.
37418 (free_handler_list): Likewise.
37419
37420 * include/grub/term.h (grub_term_register_input): Add name parameter
37421 for auto generation of handler.lst.
37422 (grub_term_register_output): Likewise.
37423
37424 * normal/handler.c: New file.
37425
37426 * normal/main.c (get_line): Renamed to grub_file_getline.
37427 (read_config_file): Use the newly renamed grub_file_getline.
37428 (read_command_list): Likewise.
37429 (read_fs_list): Likewise.
37430 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37431 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37432
37433 * term/efi/console.c (grub_console_init): Add name parameter for auto
37434 generation of handler.lst.
37435 * term/gfxterm.c: Likewise.
37436 * term/i386/pc/at_keyboard.c: Likewise.
37437 * term/i386/pc/console.c: Likewise.
37438 * term/i386/pc/serial.c: Likewise.
37439 * term/i386/pc/vesafb.c: Likewise.
37440 * term/i386/pc/vga.c: Likewise.
37441 * term/i386/pc/vga_text.c: Likewise.
37442 * term/ieee1275/ofconsole.c: Likewise.
37443 * term/usb_keyboard.c: Likewise.
37444
33c846be 374452009-04-14 Bean <bean123ch@gmail.com>
37446
37447 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37448 properly with null character.
37449
4484e01e 374502009-04-14 Felix Zielcke <fzielcke@z-51.de>
37451
37452 * configure: Remove.
37453 * config.h.in: Likewise.
f93d668e 37454 * stamp-h.in: Likewise.
4484e01e 37455 * DISTLIST: Likewise.
37456 * conf/common.mk: Likewise.
37457 * conf/i386-coreboot.mk: Likewise.
37458 * conf/i386-efi.mk: Likewise.
37459 * conf/i386-ieee1275.mk: Likewise.
37460 * conf/i386.mk: Likewise.
37461 * conf/i386-pc.mk: Likewise.
37462 * conf/powerpc-ieee1275.mk: Likewise.
37463 * conf/sparc64-ieee1275.mk: Likewise.
37464 * conf/x86_64-efi.mk: Likewise.
37465
37466 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37467 develop on GRUB.
37468
7dd4a573 374692009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37470 David S. Miller <davem@davemloft.net>
37471
37472 * util/hostdisk.c (make_device_name): Fix buffer length
37473 calculations.
37474
e25b5a8c 374752009-04-14 Felix Zielcke <fzielcke@z-51.de>
37476
37477 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37478 <sys/param.h> and <sys/sysctl.h>.
37479 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37480 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37481 opening the device and reset them afterwards.
37482
1f1f580c 374832009-04-13 Pavel Roskin <proski@gnu.org>
37484
37485 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37486 Reported by John Stanley <jpsinthemix@verizon.net>
37487
7ebc2d6b 374882009-04-13 Robert Millan <rmh@aybabtu.com>
37489
37490 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37491 that name for menuentries when appropriate.
7ebc2d6b 37492
d8ba3667 374932009-04-13 Felix Zielcke <fzielcke@z-51.de>
37494
37495 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37496
cba416eb 374972009-04-13 Robert Millan <rmh@aybabtu.com>
37498
37499 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37500 to Linux, simply abort telling the user it's no longer supported.
37501
a547a745 375022009-04-13 Felix Zielcke <fzielcke@z-51.de>
37503
37504 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37505 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37506 `freebsd_loadenv' only when devices.hints exist.
37507
232a769c 375082009-04-13 Pavel Roskin <proski@gnu.org>
37509
37510 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37511
c3012039 375122009-04-13 Felix Zielcke <fzielcke@z-51.de>
37513
37514 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37515 partition number.
37516 (grub_drive): Likewise.
37517
234022fe 375182009-04-13 David S. Miller <davem@davemloft.net>
37519
37520 * kern/sparc64/ieee1275/ieee1275.c: New file.
37521 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37522 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37523 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37524 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37525 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37526 grub_ieee1275_alloc_physmem): Declare new exported functions.
37527
d8e1836c 37528 * include/grub/sparc64/ieee1275/loader.h: New file.
37529 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37530 * include/grub/sparc64/kernel.h: Likewise.
37531 * loader/sparc64/ieee1275/linux.c: Likewise.
37532
96bd81ec 37533 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37534 (grub_fstest_SOURCES): Likewise.
37535
6a4737e5 37536 * util/hostdisk.c (make_device_name): Do not make any assumptions
37537 about the length of drive names.
37538
1d7a72fd 37539 * kern/dl.c (grub_dl_load_file): Close file immediately when
37540 we are done using it.
37541
56bc2471 375422009-04-12 David S. Miller <davem@davemloft.net>
37543
37544 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37545 values. Noticed by Pavel Roskin.
37546
df38d0bb 37547 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37548 target compiler.
7dd4a573 37549
e382e93a 37550 * genmk.rb: Add more flexible image type specification, also
37551 pass --strip-unneeded to objcopy.
37552 * conf/i386-pc.rmk: Use *_FORMAT.
37553 * conf/i386-pc.mk: Rebuilt.
37554
f5dbbca9 37555 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37556 (OFDISK_HASH_SZ): Define.
37557 (ofdisk_hash): New hash table.
37558 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37559 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37560 instead of device phandle which is not unique.
37561
91c88b12 37562 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37563 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37564 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37565 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37566 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37567 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37568 GRUB_KERNEL_MACHINE_DATA_END): Define.
37569 (grub_kernel_image_size, grub_total_module_size): Declare.
37570
5b5d4aa5 375712009-04-12 Pavel Roskin <proski@gnu.org>
37572
7dd4a573 37573 * configure.ac: Change the logic when we check for target tools.
37574 Do it when the target is specified and it's different from the
37575 specified value of the host.
5b5d4aa5 37576
c91e1793 375772009-04-11 Felix Zielcke <fzielcke@z-51.de>
37578
37579 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37580 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37581 GNU/kFreeBSD. Check if a device is a character device. Use
37582 DIOCGMEDIASIZE to get the size.
37583 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37584 support for GNU/kFreeBSD.
37585 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37586 is a character device instead of a block device. Add support for
37587 FreeBSD device names.
37588
37589 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37590 is a character device instead of a block device.
37591
37592 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37593 is a character device instead of a block device.
37594
b1ac8644 375952009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37596
37597 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37598 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37599 FreeBSD. Check if a device is a character device. Use
37600 DIOCGMEDIASIZE to get the size.
37601 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37602 support for FreeBSD.
37603 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37604 is a character device instead of a block device. Add support for
37605 FreeBSD device names.
37606
37607 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37608 a character device instead of a block device.
37609 (grub_util_check_char_device): New function.
37610
37611 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37612 a character device instead of a block device.
37613
37614 * include/grub/util/getroot.h (grub_util_check_char_device): New
37615 prototype.
37616
a3f7515a 376172009-04-11 David S. Miller <davem@davemloft.net>
37618
37619 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37620 static libgcc.
37621 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37622 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37623 function, if present.
37624 (__bswapdi2): Likewise.
37625
0d44993d 37626 * include/grub/sparc64/ieee1275/boot.h: New file.
37627 * boot/sparc64/ieee1275/boot.S: Likewise.
37628 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37629
ed3d2bc2 37630 * kern/misc.c (grub_ltoa): New function.
37631 (grub_vsprintf): Use it to format 'long' integers.
37632
d3bfb59c 376332009-04-10 David S. Miller <davem@davemloft.net>
37634
37635 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37636 slots are of type grub_ieee1275_cell_t.
37637 (grub_nand_read): Likewise.
37638 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37639 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37640 macros are used to compare values in arg/ret block of the call.
37641 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37642 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37643 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37644 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37645 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37646 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37647 grub_ieee1275_close, grub_ieee1275_set_property,
37648 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37649 grub_ieee1275_cell_t.
37650 * kern/ieee1275/openfw.c (grub_map): Likewise.
37651 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37652 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37653
450e2238 37654 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37655 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37656 (grub_devalias_iterate): Likewise.
37657
7dd4a573 376582009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37659
37660 UFS improvements
37661
37662 * fs/ufs.c (INODE_NBLOCKS): new definition
37663 (struct grub_ufs_dirent): added fields for non-BSD dirents
37664 (grub_ufs_get_file_block): fixed double indirect handling
37665 (grub_ufs_lookup_symlink): use more robust way to determine whether
37666 symlink is inline
37667 (grub_ufs_find_file): support for non-BSD dirents
37668 (grub_ufs_dir): support for non-BSD dirents
37669
e7e6862a 376702009-04-10 Bean <bean123ch@gnail.com>
37671
37672 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37673 attribute, otherwise the size would be wrong for i386 platform.
37674
37675 * include/grub/pci.h (grub_pci_read_word): New inline function.
37676 (grub_pci_read_byte): Likewise.
37677 (grub_pci_write): Likewise.
37678 (grub_pci_write_word): Likewise.
37679 (grub_pci_write_byte): Likewise.
37680
37681 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37682
37683 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37684 (find_framebuf): Scan pci to locate the frame buffer address.
37685
37686 * commands/efi/fixvideo.c: New file.
37687
37688 * commands/efi/loadbios.c: Likewise.
37689
37690 * commands/memrw.c: Likewise.
37691
37692 * util/grub-dumpbios.in: Likewise.
37693
37694 * conf/common.rmk (grub-dumpbios): New utility.
37695 (pkglib_MODULES): New module memrw.mod.
37696 (memrw_mod_SOURCE): New macro.
37697 (memrw_mod_CFLAGS): Likewise.
37698 (memrw_mod_LDFLAGS): Likewise.
37699
7dd4a573 37700 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37701 fixvideo.mod.
37702 (loadbios_mod_SOURCE): New macro.
37703 (loadbios_mod_CFLAGS): Likewise.
37704 (loadbios_mod_LDFLAGS): Likewise.
37705 (fixvideo_mod_SOURCE): Likewise.
37706 (fixvideo_mod_CFLAGS): Likewise.
37707 (fixvideo_mod_LDFLAGS): Likewise.
37708
7dd4a573 37709 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37710 fixvideo.mod.
37711 (loadbios_mod_SOURCE): New macro.
37712 (loadbios_mod_CFLAGS): Likewise.
37713 (loadbios_mod_LDFLAGS): Likewise.
37714 (fixvideo_mod_SOURCE): Likewise.
37715 (fixvideo_mod_CFLAGS): Likewise.
37716 (fixvideo_mod_LDFLAGS): Likewise.
37717
af63ada2 377182009-04-08 Felix Zielcke <fzielcke@z-51.de>
37719
37720 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37721
c2cdde70 377222009-04-07 David S. Miller <davem@davemloft.net>
37723
37724 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37725 support for R_SPARC_OLO10 relocations. Fix compile warning for
37726 R_SPARC_WDISP30 case.
ea3f72cf 37727 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37728
761319cf 377292009-04-06 Pavel Roskin <proski@gnu.org>
37730
1007d1f5 37731 * include/grub/misc.h (ARRAY_SIZE): New macro.
37732 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37733 New macro.
37734 * loader/i386/linux.c (allocate_pages): Use free_pages().
37735 (grub_linux_unload): Don't use free_pages().
37736 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37737 wrong index. Treat all other modes as text modes.
37738 (grub_cmd_linux): Initialize vid_mode unconditionally to
37739 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37740
761319cf 37741 * commands/help.c (print_command_help): Use cmd->prio, not
37742 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37743
ea761d40 377442009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37745
ea761d40 37746 Parttool
37747
37748 * parttool/pcpart.c: new file
37749 * commands/parttool.c: likewise
37750 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37751 (parttool_mod_SOURCES): new variable
37752 (parttool_mod_CFLAGS): likewise
37753 (parttool_mod_LDFLAGS): likewise
37754 (pcpart_mod_SOURCES): likewise
37755 (pcpart_mod_CFLAGS): likewise
37756 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37757 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37758 and parttool/pcpart.c
37759 * conf/i386-efi.rmk: likewise
37760 * conf/i386-ieee1275.rmk: likewise
37761 * conf/i386-pc.rmk: likewise
37762 * conf/powerpc-ieee1275.rmk: likewise
37763 * conf/sparc64-ieee1275.rmk: likewise
37764 * conf/x86_64-ieee1275.rmk: likewise
37765
05aaebfb 377662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37767
37768 Support for mtime and further expandability of dir command
37769
37770 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37771 * include/grub/datetime.h: ... moved here and added
05aaebfb 37772 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37773 * include/grub/fs.h: new syntax for dir and mtime functions in
37774 struct grub_fs
05aaebfb 37775 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37776 and GRUB_FSHELP_FLAGS_MASK
37777 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37778 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37779 (grub_ext2_mtime): new function
37780 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37781 (grub_hfsplus_mtime): new function
37782 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37783 (GRUB_UFS_ATTR_FILE): likewise
37784 (GRUB_UFS_ATTR_LNK): likewise
37785 (struct grub_ufs_sblock): new fields mtime
37786 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37787 all users updated
37788 (grub_ufs_dir): mtime support
37789 (grub_ufs_mtime): new function
37790 * fs/affs.c (grub_affs_dir): use new dir syntax
37791 * fs/afs.c (grub_afs_dir): likewise
37792 * fs/cpio.c (grub_cpio_dir): likewise
37793 * fs/fat.c (grub_fat_find_dir): likewise
37794 * fs/hfs.c (grub_hfs_dir): likewise
37795 * fs/iso9660.c (grub_iso9660_dir): likewise
37796 * fs/jfs.c (grub_jfs_dir): likewise
37797 * fs/minix.c (grub_minix_dir): likewise
37798 * fs/ntfs.c (grub_ntfs_dir): likewise
37799 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37800 * fs/sfs.c (grub_sfs_dir): likewise
37801 * fs/xfs.c (grub_xfs_dir): likewise
37802 * util/hostfs.c (grub_hostfs_dir): likewise
37803 * lib/datetime.c: moved to ...
37804 * normal/datetime.c: ... moved here
37805 (grub_unixtime2datetime): new function
37806 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37807 * normal/completion.c (iterate_dir): use new dir syntax
37808 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37809 last modification time of a volume
7dd4a573 37810 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37811 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37812 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37813 (normal_mod_SOURCES): likewise
37814 (datetime_mod_SOURCES): Removed lib/datetime.c
37815 * conf/i386-efi.rmk: likewise
7dd4a573 37816 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37817 * conf/i386-pc.rmk: likewise
37818 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37819 * conf/sparc64-ieee1275.rmk: likewise
37820 * conf/x86_64-efi.rmk: likewise
05aaebfb 37821
8a7e1a14 378222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37823
37824 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37825
37826 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37827 on grub_fat_find_dir
37828 (grub_fat_find_dir): use grub_fat_iterate_dir
37829 (grub_fat_label): likewise
37830
04186a9c 378312009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37832
7dd4a573 37833 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37834 and command.h
37835 remove extraneous kernel_elf_HEADERS
37836
da4c0bb6 378372009-04-04 Bean <bean123ch@gnail.com>
37838
37839 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37840
37841 * util/misc.c: Likewise.
37842
54ad9555 378432009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37844
37845 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37846 instead of grub_printf.
37847
7a6bf9f2 378482009-04-03 Robert Millan <rmh@aybabtu.com>
37849
37850 * loader/i386/linux.c (grub_linux_setup_video): Fill
37851 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37852 values from `mode info' structure instead of hardcoded
37853 values.
37854
3fcc2083 378552009-04-01 Pavel Roskin <proski@gnu.org>
37856
37857 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37858 unused now.
37859 * genmk.rb: Likewise.
37860 * configure.ac: Likewise.
37861
5ec9740b 378622009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37863
37864 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37865 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37866
5270cec8 378672009-04-01 David S. Miller <davem@davemloft.net>
37868
37869 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37870 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37871 (grub_setjmp): Mark with 'returns_twice' attribute.
37872 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37873 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37874 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37875
9c3dd854 378762009-04-01 Robert Millan <rmh@aybabtu.com>
37877
37878 Reapply fix from 2008-07-28 which was accidentally reverted; also
37879 perform the same fix to a similar check in same function.
37880
37881 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37882 with the same number are found, just use issue a warning with
37883 grub_dprintf(), as this error has been reported to be non-fatal.
37884
0d818b7e 378852009-03-31 Pavel Roskin <proski@gnu.org>
37886
37887 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37888 for cross-compilation.
37889
95646d92 378902009-03-30 Robert Millan <rmh@aybabtu.com>
37891
37892 Fix i386-ieee1275 build.
37893
37894 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37895 Remove declaration.
37896
6a003ed1 378972009-03-30 Pavel Roskin <proski@gnu.org>
37898
37899 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37900 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37901 zero-terminated, rely only on the strlen value. Fix comparison
37902 of strings differing in length.
37903
92f33540 379042009-03-30 Robert Millan <rmh@aybabtu.com>
37905
37906 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37907 checking for abi version. Improve error messages on BIOS to notify
37908 user about `linux16' command.
37909
a8c48fd5 379102009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37911
f968172e 37912 Leak fixes
a8c48fd5 37913
f968172e 37914 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37915 in case of collision
37916 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37917
9c323f09 379182009-03-29 Robert Millan <rmh@aybabtu.com>
37919
37920 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37921 set `vid_mode' accordingly.
37922 (grub_linux_boot): Process `vid_mode' and set video mode.
37923
ae68f423 379242009-03-29 Robert Millan <rmh@aybabtu.com>
37925
37926 * util/grub.d/10_linux.in (linux_entry): New function.
37927 Factorize generation of Linux boot entries.
37928
5709cfc4 379292009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37930
37931 Make the format of Environment Block plain text. The boot loader
37932 part is not tested well yet.
7dd4a573 37933
5709cfc4 37934 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37935 (buffer): Removed.
37936 (envblk): Likewise.
37937 (usage): Remove "info" and "clear". Add "unset". Update the
37938 description of "set", as this does not delete variables any
37939 longer.
37940 (create_envblk_file): Complete rewrite.
37941 (open_envblk_file): Likewise.
37942 (cmd_info): Removed.
37943 (cmd_list): Likewise.
37944 (cmd_set): Likewise.
37945 (cmd_clear): Likewise.
37946 (list_variables): New function.
37947 (write_envblk): Likewise.
37948 (set_variables): Likewise.
37949 (unset_variables): Likewise.
37950 (main): Complete rewrite.
37951
37952 * commands/loadenv.c (buffer): Removed.
37953 (envblk): Likewise.
37954 (open_envblk_file): New function.
37955 (read_envblk_file): Complete rewrite.
37956 (grub_cmd_load_env): Likewise.
37957 (grub_cmd_list_env): Likewise.
37958 (struct blocklist): New struct.
37959 (free_blocklists): New function.
37960 (check_blocklists): Likewise.
37961 (write_blocklists): Likewise.
37962 (grub_cmd_save_env): Complete rewrite.
37963
37964 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37965 a plain text signature.
37966 (GRUB_ENVBLK_MAXLEN): Removed.
37967 (struct grub_envblk): Complete rewrite.
37968 (grub_envblk_find): Removed.
37969 (grub_envblk_insert): Likewise.
37970 (grub_envblk_open): New prototype.
37971 (grub_envblk_set): Likewise.
37972 (grub_envblk_delete): Put const to VALUE.
37973 (grub_envblk_iterate): Put const to NAME and VALUE.
37974 (grub_envblk_close): New prototype.
37975 (grub_envblk_buffer): New inline function.
37976 (grub_envblk_size): Likewise.
37977
37978 * lib/envblk.c: Include grub/mm.h.
37979 (grub_env_find): Removed.
37980 (grub_envblk_open): New function.
37981 (grub_envblk_close): Likewise.
37982 (escaped_value_len): Likewise.
37983 (find_next_line): Likewise.
37984 (grub_envblk_insert): Removed.
37985 (grub_envblk_set): New function.
37986 (grub_envblk_delete): Complete rewrite.
37987 (grub_envblk_iterate): Likewise.
37988
a9368fd3 379892009-03-28 Robert Millan <rmh@aybabtu.com>
37990
37991 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37992 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37993 variables. Use 16-bit loader.
37994 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37995 loader.
37996 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37997 (grub_linux16_boot): ... this. Update all users.
37998 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37999 (grub_linux_boot): ... this. Update all users.
38000
38001 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38002 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38003 commands to `linux16' and `initrd16'.
38004 (GRUB_MOD_FINI(linux)): Rename to ...
38005 (GRUB_MOD_FINI(linux16)): ... this.
38006
e4dd5a7e 380072009-03-24 Pavel Roskin <proski@gnu.org>
38008
38009 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38010 not just for compilation.
38011
c04d6e05 380122009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38013
38014 Move multiboot helper out of kernel
38015
38016 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38017 `loader/i386/multiboot_helper.S'.
38018 * conf/i386-coreboot.rmk: Likewise
38019 * conf/i386-ieee1275.rmk: Likewise
38020
38021 * kern/i386/loader.S: Move multiboot helpers from here...
38022 * loader/i386/multiboot_helper.S: ...moved here
38023 * include/grub/i386/loader.h: Move declarations of multiboot
38024 helpers from here...
38025 * include/grub/i386/multiboot.h: ...moved here
38026 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38027
42a5b3fc 380282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38029
38030 * kern/env.c (grub_env_context_open): Added an argument to specify
38031 whether a new context inherits exported variables from current
38032 one. This is useful when making a sandbox to interpret a config
38033 file.
38034 All callers updated.
38035
38036 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38037
b28bbc4e 380382009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38039
38040 * kern/env.c (grub_env_context_close): Fix memory leaks.
38041
f04f02e4 380422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38043
38044 * normal/main.c (grub_normal_execute): Added an argument
38045 BATCH to specify if an interactive interface should be provided
38046 after reading a config file.
38047 All callers updated.
38048 (read_command_list): Prevent being executed twice.
38049 (read_fs_list): Likewise.
38050
42a5b3fc 38051 * include/grub/normal.h (grub_normal_execute): Updated the
38052 prototype.
f04f02e4 38053
41473ac2 380542009-03-22 Pavel Roskin <proski@gno.org>
38055
fbc00b0c 38056 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38057 _start.
38058 * kern/i386/pc/startup.S: Likewise.
38059 * kern/i386/efi/startup.S: Likewise.
38060 * kern/i386/ieee1275/startup.S: Likewise.
38061 * kern/i386/coreboot/startup.S: Likewise.
38062 * kern/x86_64/efi/startup.S: Likewise.
38063
41473ac2 38064 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38065 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38066 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38067
2274cc8f 380682009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38069
38070 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38071
38072 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38073 limit detection.
38074 Use vaddr of correct segment for entry_point.
38075
b1b797cb 380762009-03-21 Bean <bean123ch@gmail.com>
38077
38078 * commands/blocklist.c: Add include file <grub/command.h>, remove
38079 <grub/normal.h> and <grub/arg.h>.
38080 (grub_cmd_blocklist): Use the new command interface.
38081 (GRUB_MOD_INIT): Likewise.
38082 (GRUB_MOD_FINI): Likewise.
38083 * commands/boot.c: Likewise.
38084 * commands/cat.c: Likewise.
38085 * commands/cmp.c: Likewise.
38086 * commands/configfile.c: Likewise.
38087 * commands/crc.c: Likewise.
38088 * commands/echo.c: Likewise.
38089 * commands/halt.c: Likewise.
38090 * commands/handler.c: Likewise.
38091 * commands/hdparm.c: Likewise.
38092 * commands/help.c: Likewise.
38093 * commands/hexdump.c: Likewise.
38094 * commands/loadenv.c: Likewise.
38095 * commands/ls.c: Likewise.
38096 * commands/lsmmap.c: Likewise.
38097 * commands/lspci.c: Likewise.
38098 * commands/loadenv.c: Likewise.
38099 * commands/read.c: Likewise.
38100 * commands/reboot.c: Likewise.
38101 * commands/search.c: Likewise.
38102 * commands/sleep.c: Likewise.
38103 * commands/test.c: Likewise.
38104 * commands/usbtest.c: Likewise.
38105 * commands/videotest.c: Likewise.
38106 * commands/i386/cpuid.c: Likewise.
38107 * commands/i386/pc/halt.c: Likewise.
38108 * commands/i386/pc/play.c: Likewise.
38109 * commands/i386/pc/pxecmd.c: Likewise.
38110 * commands/i386/pc/vbeinfo.c: Likewise.
38111 * commands/i386/pc/vbetest.c: Likewise.
38112 * commands/ieee1275/suspend.c: Likewise.
38113 * disk/loopback.c: Likewise.
38114 * font/font_cmd.c: Likewise.
38115 * hello/hello.c: Likewise.
38116 * loader/efi/appleloader.c: Likewise.
38117 * loader/efi/chainloader.c: Likewise.
38118 * loader/i386/bsd.c: Likewise.
38119 * loader/i386/efi/linux.c: Likewise.
38120 * loader/i386/ieee1275/linux.c: Likewise.
38121 * loader/i386/linux.c: Likewise.
38122 * loader/i386/pc/chainloader.c: Likewise.
38123 * loader/i386/pc/linux.c: Likewise.
38124 * loader/powerpc/ieee1275/linux.c: Likewise.
38125 * loader/multiboot_loader.c: Likewise.
38126 * term/gfxterm.c: Likewise.
38127 * term/i386/pc/serial.c: Likewise.
38128 * term/terminfo.c: Likewise.
38129
38130 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38131 * term/i386/pc/vga.c: Likewise.
38132 * video/readers/jpeg.c: Likewise.
38133 * video/readers/png.c: Likewise.
38134 * video/readers/tga.c: Likewise.
38135
38136 * util/grub-fstest (cmd_loopback): Removed.
38137 (cmd_blocklist): Likewise.
38138 (cmd_ls): Likewise.
38139 (grub_register_command): Likewise.
38140 (grub_unregister_command): Likewise.
38141 (execute_command): Use grub_command_find to locate command and execute
38142 it.
38143
38144 * include/grub/efi/chainloader.h: Removed.
38145 * loader/efi/chainloader_normal.c: Likewise.
38146 * loader/i386/bsd_normal.c: Likewise.
38147 * loader/i386/pc/chainloader_normal.c: Likewise.
38148 * loader/i386/pc/multiboot_normal.c: Likewise.
38149 * loader/linux_normal.c: Likewise.
38150 * loader/multiboot_loader_normal.c: Likewise.
38151 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38152
38153 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38154 and grub_register_command_p1.
38155
38156 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38157 kern/command.c, lib/arg.c and commands/extcmd.c.
38158 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38159 (minicmd_mod_SOURCES): New variable.
38160 (minicmd_mod_CFLAGS): Likewise.
38161 (minicmd_mod_LDFLAGS): Likewise.
38162 (extcmd_mod_SOURCES): Likewise.
38163 (extcmd_mod_CFLAGS): Likewise.
38164 (extcmd_mod_LDFLAGS): Likewise.
38165 (boot_mod_SOURCES): Removed.
38166 (boot_mod_CFLAGS): Likewise.
38167 (boot_mod_LDFLAGS): Likewise.
38168
38169 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38170 kern/corecmd.c.
38171 (kernel_img_HEADERS): Add command.h.
38172 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38173 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38174 and lib/arg.c.
38175 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38176 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38177 remove the corresponding normal mode command.
38178 (normal_mod_SOURCES): Remove normal/arg.c.
38179 * conf/i386-coreboot.rmk: Likewise.
38180 * conf/i386-efi.rmk: Likewise.
38181 * conf/i386-ieee1275.rmk: Likewise.
38182 * conf/powerpc-ieee1275.rmk: Likewise.
38183 * conf/x86_64-efi.rmk: Likewise.
38184
38185 * include/grub/arg.h: Move from here ...
38186 * include/grub/lib/arg.h: ... to here.
38187
38188 * normal/arg.c: Move from here ...
38189 * lib/arg.c: ... to here.
38190
38191 * commands/extcmd.c: New file.
38192 * commands/minicmd.c: Likewise.
38193 * include/grub/command.h: Likewise.
38194 * include/grub/extcmd.h: Likewise.
38195 * kern/command.c: Likewise.
38196 * kern/corecmd.c: Likewise.
38197
38198 * kern/list.c (grub_list_iterate): Return int instead of void.
38199 (grub_list_insert): New function.
38200 (grub_prio_list_insert): Likewise.
38201
38202 * kern/rescue.c (grub_rescue_command): Removed.
38203 (grub_rescue_command_list): Likewise.
38204 (grub_rescue_register_command): Likewise.
38205 (grub_rescue_unregister_command): Likewise.
38206 (grub_rescue_cmd_boot): Move to minicmd.c
38207 (grub_rescue_cmd_help): Likewise.
38208 (grub_rescue_cmd_info): Likewise.
38209 (grub_rescue_cmd_boot): Likewise.
38210 (grub_rescue_cmd_testload): Likewise.
38211 (grub_rescue_cmd_dump): Likewise.
38212 (grub_rescue_cmd_rmmod): Likewise.
38213 (grub_rescue_cmd_lsmod): Likewise.
38214 (grub_rescue_cmd_exit): Likewise.
38215 (grub_rescue_print_devices): Moved to corecmd.c.
38216 (grub_rescue_print_files): Likewise.
38217 (grub_rescue_cmd_ls): Likewise.
38218 (grub_rescue_cmd_insmod): Likewise.
38219 (grub_rescue_cmd_set): Likewise.
38220 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38221 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38222 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38223 commands, remove grub_rescue_register_command calls.
b1b797cb 38224
7d074e3c 38225 * normal/command.c (grub_register_command): Removed.
b1b797cb 38226 (grub_unregister_command): Likewise.
38227 (grub_command_find): Likewise.
38228 (grub_iterate_commands): Likewise.
38229 (rescue_command): Likewise.
38230 (export_command): Moved to corecmd.c.
38231 (set_command): Removed.
38232 (unset_command): Likewise.
38233 (insmod_command): Likewise.
38234 (rmmod_command): Likewise.
38235 (lsmod_command): Likewise.
38236 (grub_command_init): Likewise.
38237
38238 * normal/completion.c (iterate_command): Use cmd->prio to check for
38239 active command.
38240 (complete_arguments): Use grub_extcmd_t structure to find options.
38241 (grub_normal_do_completion): Change function grub_iterate_commands to
38242 grub_command_iterate.
38243
38244 * normal/execute.c (grub_script_execute_cmd): No need to parse
38245 argument here.
38246
38247 * normal/main.c (grub_dyncmd_dispatcher): New function.
38248 (read_command_list): Register unload commands as dyncmd.
38249 (grub_cmd_normal): Use new command interface, register rescue,
38250 unregister normal at entry, register normal, unregister rescue at exit.
38251
38252 * include/grub/list.h (grub_list_test_t): New type.
38253 (grub_list_iterate): Return int instead of void.
38254 (grub_list_insert): New function.
38255 (GRUB_AS_NAMED_LIST_P): New macro.
38256 (GRUB_AS_PRIO_LIST): Likewise.
38257 (GRUB_AS_PRIO_LIST_P): Likewise.
38258 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38259 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38260 (grub_prio_list): New structure.
38261 (grub_prio_list_insert): New function.
38262 (grub_prio_list_remove): New inline function.
38263
38264 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38265 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38266 (GRUB_COMMAND_FLAG_MENU): Likewise.
38267 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38268 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38269 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38270 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38271 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38272 (grub_command): Likewise.
38273 (grub_register_command): Likewise.
38274 (grub_command_find): Likewise.
38275 (grub_iterate_commands): Likewise.
38276 (grub_command_init): Likewise.
38277 (grub_arg_parse): Likewise.
38278 (grub_arg_show_help): Likewise.
38279
38280 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38281 (grub_rescue_unregister_command): Likewise.
38282
38283 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38284 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38285 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38286
38287 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38288 grub_rescue_cmd_initrd.
38289 * include/grub/i386/loader.h: Likewise.
38290 * include/grub/x86_64/loader.h: Likewise.
38291
38292 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38293
1f4147aa 382942009-03-21 Bean <bean123ch@gmail.com>
38295
38296 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38297 instead of stat in mingw environment.
38298
38299 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38300
38301 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38302
38303 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38304 AC_CONFIG_LINKS.
38305
2156d5ba 383062009-03-21 Bean <bean123ch@gmail.com>
38307
38308 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38309 out of range error.
38310
177b82ca 383112009-03-18 Michel Dänzer <michel@daenzer.net>
38312
38313 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38314 checking inode flags for EXT4_EXTENTS_FLAG.
38315
14aad807 383162009-03-18 Robert Millan <rmh@aybabtu.com>
38317
38318 * loader/i386/linux.c: Include `<grub/video.h>' and
38319 `<grub/i386/pc/vbe.h>'..
38320 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38321 (grub_linux32_boot): Attempt to configure video settings with
38322 grub_linux_setup_video().
38323 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38324 to avoid grub_console_fini() which would step out of graphical mode
38325 unconditionally.
38326
8cf83a27 383272009-03-14 Robert Millan <rmh@aybabtu.com>
38328
38329 Fix build on powerpc.
38330 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38331
40164e75 383322009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38333
38334 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38335 background image command.
38336
c58bc32a 383372009-03-12 Colin D Bennett <colin@gibibit.com>
38338
38339 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38340 (grub_gfxterm_putchar): Extract pairs of identical calls to
38341 draw_cursor out of conditional blocks.
38342
5415144a 383432009-03-11 Pavel Roskin <proski@gnu.org>
38344
38345 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38346 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38347
6394042e 383482009-03-11 Robert Millan <rmh@aybabtu.com>
38349
38350 * loader/i386/multiboot_elfxx.c
38351 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38352
b7b50e5f 383532009-03-11 Felix Zielcke <fzielcke@z-51.de>
38354
38355 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38356 `kern/handler.c'.
38357
1ca7fc96 383582009-03-11 Robert Millan <rmh@aybabtu.com>
38359
38360 * loader/i386/multiboot.c (code_size): New variable.
38361 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38362 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38363 4-byte alignment to MBI and others by increasing
7d074e3c 38364 `boot_loader_name_length' appropriately.
1ca7fc96 38365
38366 * loader/i386/multiboot_elfxx.c
38367 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38368
a83ea1d2 383692009-03-09 Felix Zielcke <fzielcke@z-51.de>
38370
38371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38372 `fs/ext2.c'.
38373
aa9f3bff 383742009-03-08 Robert Millan <rmh@aybabtu.com>
38375
38376 Make loader/i386/linux.c usable on i386-pc again.
38377
38378 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38379 memory to heap.
38380 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38381 `#error' stanza.
38382
d8b3b60e 383832009-03-07 Bean <bean123ch@gmail.com>
38384
38385 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38386 allocation.
38387
b362c9e9 383882009-03-06 Robert Millan <rmh@aybabtu.com>
38389
38390 Fix display issue on terminals with screen size other than 80x25
38391 (e.g. gfxterm with resolution higher than 640x480).
38392
38393 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38394 position relative to the center of the terminal instead of relying
b362c9e9 38395 on a hardcoded offset.
38396
9304eef1 383972009-03-04 Robert Millan <rmh@aybabtu.com>
38398
38399 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38400 installed.
38401
38402 * Makefile.in (host_kernel): New variable.
38403 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38404 scripts instead of just the windows one.
38405 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38406
eabc95fb 384072009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38408
38409 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38410 `kern/handler.c'.
38411 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38412 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38415 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38417
ceb1223c 384182009-03-04 Felix Zielcke <fzielcke@z-51.de>
38419
38420 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38421 or if there's no space for the disk label and print the partition number on a
38422 invalid magic.
38423
4910684a 384242009-03-04 Felix Zielcke <fzielcke@z-51.de>
38425
38426 * util/misc.c: Include <time.h>.
38427 (grub_millisleep): New function.
38428
7e9ca17a 384292009-03-04 Bean <bean123ch@gmail.com>
38430
38431 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38432 another option -mno-red-zone.
38433
38434 * commands/handler.c: Change module description.
38435
38436 * kern/handler.c: Add missing space at the end of description line.
38437
38438 * kern/list.c: Likewise.
38439
f501677c 384402009-03-03 Robert Millan <rmh@aybabtu.com>
38441
38442 Move more components to the relocation area, and fix mbi pointer
38443 handling to use the destination rather than the origin (thanks to
38444 Vladimir Serbinenko for spotting).
38445
38446 * loader/i386/multiboot.c (mbi_dest): New variable.
38447 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38448 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38449 relocation area.
38450
9902d047 384512009-03-01 Bean <bean123ch@gmail.com>
38452
50fb7002 38453 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38454 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38455 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38456 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38457
38458 * loader/i386/efi/linux.c (acpi_guid): New variable.
38459 (acpi_guid): Likewise.
38460 (EBDA_SEG_ADDR): New constant.
38461 (LOW_MEM_ADDR): Likewise.
38462 (FAKE_EBDA_SEG): Likewise.
38463 (fake_bios_data): New function.
38464 (grub_linux_boot): Call fake_bios_data.
38465
71b9f361 384662009-03-01 Bean <bean123ch@gmail.com>
38467
38468 * commands/terminal.c: Removed.
38469
38470 * commands/handler.c: New file.
38471
38472 * include/grub/list.h: Likewise.
38473
38474 * include/grub/handler.h: Likewise.
38475
38476 * kern/list.c: Likewise.
38477
38478 * kern/handler.c: Likewise.
38479
38480 * kern/term.h: Include header file <grub/handler.h>.
38481 (grub_term_input): Move next field to the beginning.
38482 (grub_term_output): Likewise.
38483 (grub_term_input_class): New variable.
38484 (grub_term_output_class): Likewise.
38485 (grub_term_register_input): Changed to inline function.
38486 (grub_term_register_output): Likewise.
38487 (grub_term_unregister_input): Likewise.
38488 (grub_term_unregister_output): Likewise.
38489 (grub_term_set_current_input): Likewise.
38490 (grub_term_set_current_output): Likewise.
38491 (grub_term_get_current_input): Likewise.
38492 (grub_term_get_current_output): Likewise.
38493 (grub_term_iterate_input): Removed.
38494 (grub_term_iterate_output): Likewise.
38495
38496 * kern/term.c (grub_term_list_input): Removed.
38497 (grub_term_list_output): Likewise.
38498 (grub_term_input_class): New variable.
38499 (grub_term_output_class): Likewise.
50fb7002 38500 (grub_cur_term_input): Change variable as macro.
71b9f361 38501 (grub_cur_term_output): Likewise.
38502 (grub_term_register_input): Removed.
38503 (grub_term_register_output): Likewise.
38504 (grub_term_unregister_input): Likewise.
38505 (grub_term_unregister_output): Likewise.
38506 (grub_term_set_current_input): Likewise.
38507 (grub_term_set_current_output): Likewise.
38508 (grub_term_iterate_input): Likewise.
38509 (grub_term_iterate_output): Likewise.
38510 (grub_term_get_current_input): Likewise.
38511 (grub_term_get_current_output): Likewise.
38512
38513 * util/grub-editenv.c: Include header file <grub/handler.h>.
38514 (grub_term_get_current_input): Removed.
38515 (grub_term_get_current_output): Likewise.
38516 (grub_term_input_class): New variable.
50fb7002 38517 (grub_term_output_class): Likewise.
71b9f361 38518
38519 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38520 (grub_term_get_current_output): Likewise.
38521 (grub_term_input_class): New variable.
50fb7002 38522 (grub_term_output_class): Likewise.
71b9f361 38523
38524 * util/grub-probe.c (grub_term_get_current_input): Removed.
38525 (grub_term_get_current_output): Likewise.
38526 (grub_term_input_class): New variable.
50fb7002 38527 (grub_term_output_class): Likewise.
71b9f361 38528
38529 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38530 (grub_term_get_current_output): Likewise.
38531 (grub_term_input_class): New variable.
50fb7002 38532 (grub_term_output_class): Likewise.
71b9f361 38533
38534 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38535 (terminal_mod_SOURCES): Likewise.
38536 (terminal_mod_CFLAGS): Likewise.
38537 (terminal_mod_LDFLAGS): Likewise.
38538
38539 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38540 handler.c.
38541 (kernel_img_SOURCES): Add list.c and handler.c.
38542 (kernel_img_HEADERS): Add list.h and handler.h.
38543
38544 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38545 handler.c.
38546 (kernel_mod_SOURCES): Add list.c and handler.c.
38547 (kernel_mod_HEADERS): Add list.h and handler.h.
38548
38549 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38550 handler.c.
38551 (kernel_elf_SOURCES): Add list.c and handler.c.
38552 (kernel_elf_HEADERS): Add list.h and handler.h.
38553
38554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38555 handler.c.
38556 (kernel_elf_SOURCES): Add list.c and handler.c.
38557 (kernel_elf_HEADERS): Add list.h and handler.h.
38558
38559 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38560 handler.c.
38561 (kernel_mod_SOURCES): Add list.c and handler.c.
38562 (kernel_mod_HEADERS): Add list.h and handler.h.
38563
38564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38565 handler.c.
38566 (kernel_elf_SOURCES): Add list.c and handler.c.
38567 (kernel_elf_HEADERS): Add list.h and handler.h.
38568
8a31787f 385692009-02-27 Robert Millan <rmh@aybabtu.com>
38570
38571 Factorize elf32 / elf64 code in Multiboot loader. This will
38572 prevent it from getting out of sync again.
38573
38574 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38575 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38576 grub_multiboot_load_elf64): Move from here ...
38577 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38578 grub_multiboot_load_elf): ... to here (new file).
38579
51cd3dfc 385802009-02-27 Robert Millan <rmh@aybabtu.com>
38581
38582 * util/grub.d/10_linux.in: Rename "single-user mode" to
38583 "recovery mode".
38584
6e8c9c3a 385852009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38586
38587 Don't leak in SCSI code.
38588 * disk/scsi.c (grub_scsi_close): free `scsi'.
38589
4b6bf4f9 385902009-02-27 Robert Millan <rmh@aybabtu.com>
38591
38592 * loader/i386/pc/multiboot.c: Move from here ...
38593 * loader/i386/multiboot.c: ... to here. Update all users.
38594
b9413424 385952009-02-27 Robert Millan <rmh@aybabtu.com>
38596
38597 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38598 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38599
50fb7002 386002009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38601
38602 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38603 b-tree.
38604
8cc50345 386052009-02-27 Robert Millan <rmh@aybabtu.com>
38606
38607 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38608 `0x' qualifier as 0 when base is specified as parameter).
38609
6e09b8b7 386102009-02-24 Bean <bean123ch@gmail.com>
38611
38612 * configure.ac: Check for -mcmodel=large in x86_64 target.
38613
38614 * include/grub/efi/api.h (efi_call_10): New macro.
38615 (efi_wrap_10): New function.
38616
38617 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38618 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38619 (GRUB_PE32_REL_BASED_LOW): Likewise.
38620 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38621 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38622 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38623 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38624 (GRUB_PE32_REL_BASED_REL): Likewise.
38625 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38626 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38627 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38628
38629 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38630 issue.
38631
38632 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38633 (efi_wrap_10): New function.
38634
38635 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38636
38637 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38638 MB/MBP model (NV chipset).
38639 (devdata_devs): Add devpath_5 to the list.
38640
38641 * load/i386/efi/linux.c (video_base): Remove variable.
38642 (RGB_MASK): New macro.
38643 (RGB_MAGIC): Likewise.
38644 (LINE_MIN): Likewise.
38645 (LINE_MAX): Likewise.
38646 (FBTEST_STEP): Likewise.
38647 (FBTEST_COUNT): Likewise.
38648 (fb_list): New variable.
38649 (grub_find_video_card): Remove function.
38650 (find_framebuf): New function.
38651 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38652 line length.
38653
38654 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38655 problem for x86_64.
38656
74b21bee 386572009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38658
38659 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38660
38661 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38662 coding tool name.
38663
a455f472 386642009-02-22 Robert Millan <rmh@aybabtu.com>
38665
38666 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38667 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38668 in our relocation, instead of using it directly from heap. Also
38669 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38670
6374daf3 386712009-02-21 Robert Millan <rmh@aybabtu.com>
38672
38673 Implement USB keyboard support (based on patch by Marco Gerards)
38674
38675 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38676 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38677 (usb_keyboard_mod_LDFLAGS): New variables.
38678
38679 * term/usb_keyboard.c: New file.
38680
8fa4ea70 386812009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38682
38683 Corrected wrong declaration
38684
38685 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38686
353976ac 386872009-02-14 Christian Franke <franke@computer.org>
38688
38689 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38690 (grub_lspci_iter): Print class code and programming interface byte.
38691
6aa1169b 386922009-02-14 Christian Franke <franke@computer.org>
38693
38694 * gendistlist.sh: Ignore `.svn' directories.
38695
265372ca 386962009-02-14 Felix Zielcke <fzielcke@z-51.de>
38697
38698 * fs/fat.c: Add 2009 to Copyright line.
38699
9ff516f3 387002009-02-14 Christian Franke <franke@computer.org>
38701
38702 * commands/hdparm.c: New file. Provides `hdparm' command
38703 which sends ATA commands via grub_disk_ata_pass_through ().
38704
38705 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38706
38707 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38708 and <grub/cpu/io.h> to include/grub/ata.h.
38709 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38710 (GRUB_CDROM_SECTOR_SIZE): Remove.
38711 (GRUB_ATA_*): Move to include/grub/ata.h.
38712 (GRUB_ATAPI_*): Likewise.
38713 (enum grub_ata_commands): Likewise.
38714 (enum grub_ata_timeout_milliseconds): Likewise.
38715 (struct grub_ata_device): Likewise.
38716 (grub_ata_regset): Likewise.
38717 (grub_ata_regget): Likewise.
38718 (grub_ata_regset2): Likewise.
38719 (grub_ata_regget2): Likewise.
38720 (grub_ata_check_ready): Likewise.
38721 (grub_ata_wait_not_busy): Remove static, exported in
38722 include/grub/ata.h.
38723 (grub_ata_wait_drq): Likewise.
38724 (grub_ata_pio_read): Likewise.
38725
38726 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38727 function for hdparm.mod.
38728
38729 * include/grub/ata.h: New file, contains declarations from
38730 disk/ata.c.
38731 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38732
38733 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38734 (grub_disk_ata_pass_through): New exported variable.
38735
38736 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38737
772e23da 387382009-02-13 Colin D Bennett <colin@gibibit.com>
38739
38740 Support multiple fallback entries, and provide an API to support
38741 executing default+fallback menu entries. Renamed the `terminal' menu
38742 viewer to `text'.
38743
38744 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38745 variable declaration.
38746 (grub_menu_execute_callback): New structure declaration.
38747 (grub_menu_execute_callback_t): New typedef.
38748 (grub_menu_execute_with_fallback): New function declaration.
38749 (grub_menu_get_entry): Likewise.
38750 (grub_menu_get_timeout): Likewise.
38751 (grub_menu_set_timeout): Likewise.
38752
38753 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38754
38755 * normal/menu.c (grub_wait_after_message): Moved to
38756 `normal/menu_text.c'.
38757 (draw_border): Likewise.
38758 (print_message): Likewise.
38759 (print_entry): Likewise.
38760 (print_entries): Likewise.
38761 (grub_menu_init_page): Likewise.
38762 (get_entry_number): Likewise.
38763 (print_timeout): Likewise.
38764 (run_menu): Likewise.
38765 (grub_menu_execute_entry): Likewise.
38766 (show_text_menu): Likewise.
38767 (get_and_remove_first_entry_number): New function.
38768 (grub_menu_execute_with_fallback): Likewise.
38769 (get_entry): Renamed to ...
38770 (grub_menu_get_entry): .. this and made it global.
38771 (get_timeout): Renamed to ...
38772 (grub_menu_get_timeout): ... this and made it global.
38773 (set_timeout): Renamed to ...
38774 (grub_menu_set_timeout): ... this and made it global.
38775 (grub_normal_terminal_menu_viewer): Renamed to ...
38776 (grub_normal_text_menu_viewer): ... this.
38777
38778 * normal/menu_text.c: New file. Extracted text-menu-specific code
38779 from normal/menu.c.
38780
38781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38782 (normal_mod_SOURCES): Likewise.
38783
38784 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38785 (normal_mod_SOURCES): Likewise.
38786
38787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38788 (normal_mod_SOURCES): Likewise.
38789
38790 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38791 (normal_mod_SOURCES): Likewise.
38792
38793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38794 (normal_mod_SOURCES): Likewise.
38795
38796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38797 (normal_mod_SOURCES): Likewise.
38798
38799 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38800 (normal_mod_SOURCES): Likewise.
38801
16ac430e 388022009-02-11 Robert Millan <rmh@aybabtu.com>
38803
38804 * util/grub.d/00_header.in: Update old reference to `font' command.
38805
06ff20fc 388062009-02-10 Felix Zielcke <fzielcke@z-51.de>
38807
38808 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38809
38810 Based on patch from Javier Martín.
38811
96da9407 388122009-02-09 Felix Zielcke <fzielcke@z-51.de>
38813
38814 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38815 to avoid false positives with FAT.
96da9407 38816 (grub_fstest_SOURCES): Likewise.
38817 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38818 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38823
6dca6fe4 388242009-02-09 Felix Zielcke <fzielcke@z-51.de>
38825
06ff20fc 38826 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38827 bpb.version_specific.fat12_or_fat16.fstype and
38828 bpb.version_specific.fat32.fstype.
38829
2550c62f 388302009-02-08 Robert Millan <rmh@aybabtu.com>
38831
be110b30 38832 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38833
56978920 388342009-02-08 Robert Millan <rmh@aybabtu.com>
38835
38836 * Makefile.in (host_os, host_cpu): New variables.
38837 (target_os): Remove. Update all users.
38838
d64399b5 388392009-02-08 Marco Gerards <marco@gnu.org>
38840
38841 * Makefile.in (enable_grub_emu_usb): New variable.
38842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38843 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38844 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38845 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38846 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38847 `usbtest.mod' and `usbms.mod'.
38848 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38849 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38850 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38851 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38852 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38853 variables.
38854
38855 * disk/usbms.c: New file.
38856
38857 * include/grub/usb.h: Likewise.
38858
38859 * include/grub/usbtrans.h: Likewise.
38860
38861 * include/grub/usbdesc.h: Likewise.
38862
38863 * bus/usb/usbtrans.c: Likewise.
38864
38865 * bus/usb/ohci.c: Likewise.
38866
38867 * bus/usb/uhci.c: Likewise.
38868
38869 * bus/usb/usbhub.c: Likewise.
38870
38871 * bus/usb/usb.c: Likewise.
38872
38873 * commands/usbtest.c: Likewise.
38874
38875 * util/usb.c: Likewise.
50fb7002 38876
d64399b5 38877 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38878
38879 * configure.ac: Test for libusb presence.
50fb7002 38880
d64399b5 38881 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38882
2b40d6bb 388832009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38884
38885 * kern/mm.c: Add more comments.
38886
73a4ce81 388872009-02-08 Robert Millan <rmh@aybabtu.com>
38888
38889 Patch from Javier Martín.
38890 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38891 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38892
f821ce59 388932009-02-08 Robert Millan <rmh@aybabtu.com>
38894
38895 * fs/cpio.c: Split tar functionality to ...
38896 * fs/tar.c: ... here (new file). Update all users.
38897
aebfc4b0 388982009-02-07 Robert Millan <rmh@aybabtu.com>
38899
38900 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38901 backward-incompatible features.
38902
38903 Based on patch from Javier Martín, with some adjustments.
38904
50fb7002 389052009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38906
38907 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38908
0bb5115e 389092009-02-07 Robert Millan <rmh@aybabtu.com>
38910
38911 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38912 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38913 after the RAID stuff.
38914
38a0f8e7 389152009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38916
50fb7002 38917 Fixes problem when running vbetest command as reported by
38a0f8e7 38918 Vladimir Serbinenko <phcoder@gmail.com>.
38919
38920 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38921
3143cc1c 389222009-02-04 Felix Zielcke <fzielcke@z-51.de>
38923
38924 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38925 /dev/md/NpN style mdraid devices.
38926
9cba6fce 389272009-02-03 Felix Zielcke <fzielcke@z-51.de>
38928
38929 * util/unifont2pff.rb: Remove.
38930
e507a2c1 389312009-02-03 Felix Zielcke <fzielcke@z-51.de>
38932
38933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38934 `#'.
38935
d2c2b4cd 389362009-02-03 Felix Zielcke <fzielcke@z-51.de>
38937
38938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38940 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38943 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38944 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38945
b4315fb0 389462009-02-02 Christian Franke <franke@computer.org>
38947
38948 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38949
de3aa260 389502009-02-01 Felix Zielcke <fzielcke@z-51.de>
38951
7c3ff286 38952 * INSTALL: Note that we now require at least autoconf 2.59 and
38953 that LZO is optional.
de3aa260 38954
825a182b 389552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38956
38957 Base on patch on bug #24154 created by Tomas Tintera
38958 <trosos@seznam.cz>.
38959
38960 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38961
a69ef770 389622009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38963
7c3ff286 38964 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38965 <bero@arklinux.org>.
38966
38967 * normal/parser.y (script_init): Add missing semicolon.
38968
6fa42fa6 389692009-01-31 Colin D Bennett <colin@gibibit.com>
38970
7c3ff286 38971 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38972 (free_menu_entry_classes): Added.
38973 (grub_normal_menu_addentry): Added class property handling.
38974 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38975 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38976
38977 * normal/menu_viewer.c: New file.
38978
38979 * normal/menu.c (run_menu_entry): Renamed to ...
38980 (grub_menu_execute_entry): ... this and made it as global.
38981 (grub_menu_run): Renamed to ...
38982 (show_text_menu): ... this and made it local.
38983 (show_text_menu): Adapt to new function names.
38984 (grub_normal_terminal_menu_viewer): New global variable.
38985
38986 * include/grub/menu.h: New file.
38987
38988 * include/grub/menu_viewer.h: New file.
38989
38990 * include/grub/normal.h: Added include to grub/menu.h.
38991 (grub_menu_entry): Moved to include/grub/menu.h.
38992 (grub_menu_entry_t): Likewise.
38993 (grub_menu): Likewise.
38994 (grub_menu_t): Likewise.
38995 (grub_normal_terminal_menu_viewer): Added.
38996 (grub_menu_execute_entry): Likewise.
38997 (grub_menu_run): Removed.
38998
38999 * DISTLIST: Added include/grub/menu.h.
39000 Added include/grub/menu_viewer.h.
39001 Added normal/menu_viewer.c.
39002
390032009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39004
39005 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39006 arglist for menutitle arguments.
39007
39008 * normal/main.c (grub_normal_menu_addentry): Likewise.
39009
39010 * normal/parser.y (menuentry): Likewise.
39011
39012 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39013
39014 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39015 (grub_script_create_cmdmenu): Likewise.
39016
39017 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39018
39019 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39020 changes.
39021
39022 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39023
39024 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39025
39026 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39027
39028 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39029
39030 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39031
39032 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39033
56192c23 390342009-01-30 Christian Franke <franke@computer.org>
39035
39036 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39037 in option help text.
39038
d72521b3 390392009-01-27 Pavel Roskin <proski@gnu.org>
39040
39041 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39042
994b5e84 390432009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39044
39045 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39046
39047 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39048
39049 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39050 unregister function.
39051
6a7eab2c 390522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39053
39054 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39055
39056 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39057
39058 * util/grub-mkfont.c (usage): Fix typo.
39059
39060 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39061
1806b56e 390622009-01-26 Daniel Mierswa <impulze@impulze.org>
39063
3fb18f09 39064 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39065
336e1fb9 39066 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39067
1806b56e 39068 * kern/misc.c (grub_strcasecmp): New function.
39069 (grub_strcasecmp): Use grub_size_t instead of int for length.
39070 Fix return value.
39071 * include/grub/misc.h: Update function prototypes.
39072
580b2a0f 390732009-01-26 Robert Millan <rmh@aybabtu.com>
39074
39075 * configure.ac: Fix cross-compilation check.
ef257b36 39076
d31c24f1 390772009-01-22 Christian Franke <franke@computer.org>
39078
39079 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39080 (precision) digit string. Allow `.format2' without `format1' (width).
39081 Limit input chars for `%s' output to `format2' if specified. This is
39082 compatible with standard printf ().
39083
3138b44c 390842009-01-22 Christian Franke <franke@computer.org>
39085
39086 * disk/ata.c (grub_ata_wait_status): Replace by ...
39087 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39088 other status bits may be invalid while BSY is asserted.
39089 (grub_ata_check_ready): New function.
39090 (grub_ata_cmd): Removed.
39091 (grub_ata_wait_drq): New function.
39092 (grub_ata_strncpy): Remove inline.
39093 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39094 and error check now done by grub_ata_wait_drq ().
39095 (grub_ata_pio_write): Likewise.
39096 (grub_atapi_identify): Set DEV before check for !BSY. Use
39097 grub_ata_wait_drq () to wait for data.
39098 (grub_ata_device_initialize): Add status register check to
39099 detect missing SATA slave devices. Add debug messages.
39100 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39101 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39102 transfer loop by grub_ata_pio_write ().
39103 (grub_ata_identify): Set DEV before check for !BSY. Use
39104 grub_ata_wait_drq () to wait for data.
ef257b36 39105 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39106 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39107 read/write in one loop. Fix invalid command on write. Fix incomplete
39108 command on (size % batch) == 0. Add missing error check after write of
39109 last block. Add debug messages.
39110 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39111
59a64ef6 391122009-01-19 Christian Franke <franke@computer.org>
39113
39114 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39115 (GRUB_ATAPI_IREASON_*): Likewise.
39116 (grub_ata_pio_write): Fix timeout error return.
39117 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39118 (grub_atapi_wait_drq): New function.
39119 (grub_atapi_packet): New parameter `size'.
39120 Use grub_atapi_wait_drq () and direct write instead of
39121 grub_ata_pio_write ().
39122 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39123 reads the number of bytes requested by the device for each DRQ
39124 assertion.
39125 (grub_atapi_write): Remove old implementation, return not
39126 implemented instead.
39127
1cfe20b3 391282009-01-19 Christian Franke <franke@computer.org>
39129
39130 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39131 of 512 to calculate data size.
39132 (grub_scsi_read12): Likewise.
39133 (grub_scsi_write10): Likewise.
39134 (grub_scsi_write12): Likewise.
39135 (grub_scsi_read): Adjust size according to blocksize.
39136 Add checks for invalid blocksize and unaligned transfer.
39137
bee5fe5d 391382009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39139
39140 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39141
ef257b36 39142 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39143 width glyphs.
39144
3e643f8c 391452009-01-19 Robert Millan <rmh@aybabtu.com>
39146
39147 * config.guess: Update to latest version from config git.
39148 * config.sub: Likewise.
39149
4fa80998 391502009-01-17 Felix Zielcke <fzielcke@z-51.de>
39151
39152 * Makefile.in: Change font compilation to use new grub-mkfont instead
39153 of java version.
39154
39155 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39156 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39157 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39158 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39159 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39160 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39161 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39162 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39163 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39164
7086085b 391652009-01-16 Christian Franke <franke@computer.org>
39166
39167 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39168 (enum grub_ata_timeout_milliseconds): New enum.
39169 (grub_ata_wait_status): Add parameter milliseconds.
39170 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39171 recovery from timed-out commands.
39172 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39173 return grub_errno instead of REG_ERROR.
39174 (grub_ata_pio_write): Add parameter milliseconds.
39175 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39176 Pass milliseconds to grub_ata_wait_status () and
39177 grub_ata_pio_read ().
39178 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39179 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39180 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39181 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39182 It is not suitable for device detection, because DEV bit is ignored,
39183 the command may run too long, and not all devices set the signature
39184 properly.
39185 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39186 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39187 Fix device selection, DEV bit must be set first to address the registers
39188 of the correct device.
39189 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39190 grub_ata_pio_read/write ().
39191 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39192 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39193
4a412913 391942009-01-13 Carles Pina i Estany <carles@pina.cat>
39195
39196 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39197
7795c55e 391982009-01-13 Bean <bean123ch@gmail.com>
d913988c 39199
39200 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39201
7795c55e 392022009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39203
39204 * Makefile.in: (enable_grub_mkfont): New variable.
39205 (freetype_cflags): Likewise.
39206 (freetype_libs): Likewise.
39207
39208 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39209 (grub_mkfont_SOURCES): New variable.
39210 (grub_mkfont_CFLAGS): Likewise.
39211 (grub_mkfont_LDFLAGS): Likewise.
39212
39213 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39214 library if `--enable-grub-mkfont' is requested.
39215 (enable_grub_mkfont): New variable.
39216 (freetype_cflags): Likewise.
39217 (freetype_libs): Likewise.
39218
39219 * util/grub-mkfont.c: New file.
39220
093af1fe 392212009-01-12 Christian Franke <franke@computer.org>
39222
39223 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39224 mode check. Fix setting of compat_use[].
39225
f36cc108 392262009-01-10 Robert Millan <rmh@aybabtu.com>
39227
39228 Update a few copyright years which we forgot to do in 2008 (only for
39229 files whose changes made in 2008 were copyright-significant)
39230
39231 * Makefile.in: Add 2008 to Copyright line.
39232 * disk/ieee1275/ofdisk.c: Likewise.
39233 * disk/efi/efidisk.c: Likewise.
39234 * kern/dl.c: Likewise.
39235 * kern/sparc64/ieee1275/init.c: Likewise.
39236 * kern/mm.c: Likewise.
39237 * kern/efi/mm.c: Likewise.
39238 * boot/i386/pc/boot.S: Likewise.
39239 * genfslist.sh: Likewise.
39240 * fs/iso9660.c: Likewise.
39241 * fs/hfs.c: Likewise.
39242 * fs/jfs.c: Likewise.
39243 * fs/minix.c: Likewise.
39244 * fs/ufs.c: Likewise.
39245 * gensymlist.sh.in: Likewise.
39246 * genkernsyms.sh.in: Likewise.
39247 * include/grub/misc.h: Likewise.
39248 * include/grub/types.h: Likewise.
39249 * include/grub/symbol.h: Likewise.
39250 * include/grub/elf.h: Likewise.
39251 * include/grub/kernel.h: Likewise.
39252 * include/grub/disk.h: Likewise.
39253 * include/grub/dl.h: Likewise.
39254 * include/grub/i386/linux.h: Likewise.
39255 * include/grub/i386/pc/biosdisk.h: Likewise.
39256 * include/grub/efi/api.h: Likewise.
39257 * include/grub/efi/pe32.h: Likewise.
39258 * include/grub/util/misc.h: Likewise.
39259 * normal/execute.c: Likewise.
39260 * normal/arg.c: Likewise.
39261 * normal/completion.c: Likewise.
39262 * normal/lexer.c: Likewise.
39263 * normal/parser.y: Likewise.
39264 * normal/misc.c: Likewise.
39265 * commands/i386/pc/vbeinfo.c: Likewise.
39266 * commands/hexdump.c: Likewise.
39267 * commands/terminal.c: Likewise.
39268 * commands/ls.c: Likewise.
39269 * commands/help.c: Likewise.
39270 * partmap/pc.c: Likewise.
39271 * loader/efi/chainloader.c: Likewise.
39272 * loader/multiboot_loader.c: Likewise.
39273 * loader/i386/pc/multiboot2.c: Likewise.
39274 * term/efi/console.c: Likewise.
39275 * term/i386/pc/serial.c: Likewise.
39276 * util/lvm.c: Likewise.
39277 * util/console.c: Likewise.
39278 * util/i386/efi/grub-mkimage.c: Likewise.
39279 * util/raid.c: Likewise.
39280
7f02114b 392812009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39282
39283 * commands/videotest.c: Removed include to grub/machine/memory.h.
39284
39285 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39286 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39287 (video_mod_SOURCES): Removed.
39288 (video_mod_CFLAGS): Likewise.
39289 (video_mod_LDFLAGS): Likewise.
39290 (gfxterm_mod_SOURCES): Likewise.
39291 (gfxterm_mod_CFLAGS): Likewise.
39292 (gfxterm_mod_LDFLAGS): Likewise.
39293 (videotest_mod_SOURCES): Likewise.
39294 (videotest_mod_CFLAGS): Likewise.
39295 (videotest_mod_LDFLAGS): Likewise.
39296 (bitmap_mod_SOURCES): Likewise.
39297 (bitmap_mod_CFLAGS): Likewise.
39298 (bitmap_mod_LDFLAGS): Likewise.
39299 (tga_mod_SOURCES): Likewise.
39300 (tga_mod_CFLAGS): Likewise.
39301 (tga_mod_LDFLAGS): Likewise.
39302 (jpeg_mod_SOURCES): Likewise.
39303 (jpeg_mod_CFLAGS): Likewise.
39304 (jpeg_mod_LDFLAGS): Likewise.
39305 (png_mod_SOURCES): Likewise.
39306 (png_mod_CFLAGS): Likewise.
39307 (png_mod_LDFLAGS): Likewise.
39308
39309 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39310 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39311 (video_mod_SOURCES): Added.
39312 (video_mod_CFLAGS): Likewise.
39313 (video_mod_LDFLAGS): Likewise.
39314 (videotest_mod_SOURCES): Likewise.
39315 (videotest_mod_CFLAGS): Likewise.
39316 (videotest_mod_LDFLAGS): Likewise.
39317 (bitmap_mod_SOURCES): Likewise.
39318 (bitmap_mod_CFLAGS): Likewise.
39319 (bitmap_mod_LDFLAGS): Likewise.
39320 (tga_mod_SOURCES): Likewise.
39321 (tga_mod_CFLAGS): Likewise.
39322 (tga_mod_LDFLAGS): Likewise.
39323 (jpeg_mod_SOURCES): Likewise.
39324 (jpeg_mod_CFLAGS): Likewise.
39325 (jpeg_mod_LDFLAGS): Likewise.
39326 (png_mod_SOURCES): Likewise.
39327 (png_mod_CFLAGS): Likewise.
39328 (png_mod_LDFLAGS): Likewise.
39329 (gfxterm_mod_SOURCES): Likewise.
39330 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39331 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39332
39333 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39334 grub/machine/console.h.
39335
644fff97 393362009-01-04 Jerone Young <jerone@gmail.com>
39337
39338 Make on screen instructions clearer
39339
39340 Based on patch created by Jidanni <jidanni@jidanni.org>
39341
39342 * normal/menu.c: print clearer instructions on the screen
39343
1e901a75 393442009-01-02 Colin D Bennett <colin@gibibit.com>
39345
39346 New font engine.
34c44600 39347
1e901a75 39348 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39349 build system and fixed gfxterm.c to work with different sized fonts.
39350
39351 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39352
1e901a75 39353 * configure: Re-generated.
34c44600 39354
1e901a75 39355 * DISTLIST: Removed font/manager.c.
39356 Added font/font.c.
39357 Added font/font_cmd.c.
34c44600 39358
1e901a75 39359 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39360 compilation.
34c44600 39361
1e901a75 39362 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39363
39364 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39365
39366 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39367
1e901a75 39368 * normal/menu.c: Likewise.
34c44600 39369
1e901a75 39370 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39371 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39372
1e901a75 39373 * include/grub/font.h: Replaced with new file.
34c44600 39374
1e901a75 39375 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39376 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39377 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39378 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39379 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39380 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39381 fg_red, fg_green, fg_blue, fg_alpha.
39382 (grub_video_adapter): Removed blit_glyph.
34c44600 39383 (grub_video_blit_glyph): Removed.
39384
1e901a75 39385 * font/manager.c: Removed file.
34c44600 39386
39387 * font/font.c: New file.
39388
1e901a75 39389 * font/font_cmd.c: Likewise.
34c44600 39390
1e901a75 39391 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39392
1e901a75 39393 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39394 (grub_video_vbe_map_rgba): Likewise.
39395 (grub_video_vbe_unmap_color_int): Likewise.
39396 (grub_video_vbe_blit_glyph): Removed.
39397 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39398
1e901a75 39399 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39400 (get_pixel): Likewise.
34c44600 39401 (set_pixel): Likewise.
39402
1e901a75 39403 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39404
1e901a75 39405 * term/gfxterm.c: Adapted to new font engine.
34c44600 39406
1e901a75 39407 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39408
1e901a75 39409 * term/i386/pc/vga.c: Likewise.
34c44600 39410
1e901a75 39411 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39412
1e901a75 39413 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39414
1e901a75 39415 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39416
1e901a75 39417 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39418
1e901a75 39419 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39420
1e901a75 39421 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39422
1e901a75 39423 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39424
1e901a75 39425 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39426
1e901a75 39427 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39428
39429 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39430
1e901a75 39431 * util/grub-mkconfig_lib.in: Changed font extension.
39432
278922e8 394332008-12-28 Felix Zielcke <fzielcke@z-51.de>
39434
39435 * util/getroot.c (grub_util_get_grub_dev): Add support for
39436 /dev/md/dNNpNN style partitionable mdraid devices.
39437
3ced05cf 394382008-12-12 Alex Smith <alex@alex-smith.me.uk>
39439
39440 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39441 at a time limit of the PXE TFTP API correctly.
39442 (grub_pxefs_close): Likewise.
39443
7fd0ee30 394442008-11-29 Robert Millan <rmh@aybabtu.com>
39445
34c44600 39446 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39447 grub_ata_device_initialize() calls.
39448
34c44600 394492008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39450
39451 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39452 iteration failed.
39453 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39454
89313780 394552008-11-28 Robert Millan <rmh@aybabtu.com>
39456
39457 Fix build on powerpc-ieee1275. Based on patch created by
39458 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39459 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39460 `kern/ieee1275/mmap.c'.
39461 * include/grub/powerpc/ieee1275/memory.h: New file.
39462
15257703 39463 Provide grub-install on coreboot.
39464 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39465 (grub_install_SOURCES): New variable.
39466 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39467 usable on coreboot.
39468
9fc5388a 394692008-11-25 Felix Zielcke <fzielcke@z-51.de>
39470
39471 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39472 to `grub_term_input_t'.
39473 (grub_term_get_current_output): Change return type to
39474 `grub_term_output_t'.
39475
bc3a2f31 394762008-11-22 Robert Millan <rmh@aybabtu.com>
39477
34c44600 39478 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39479 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39480 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39481 grub_vga_text_cls().
39482
80fc88f2 39483 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39484 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39485
cbf36fd3 39486 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39487 to 0x200000 (avoids trouble with some OFW implementations, and matches
39488 with the one in Yaboot).
39489 Reported by Manoel Abranches
39490
73e8e268 394912008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39492
39493 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39494 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39495
73e8e268 39496 * util/grub-mkconfig_lib.in (grub_warn): New function.
39497 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39498 warnings, to obtain consistent formatting.
39499 * util/grub.d/00_header.in: Likewise.
39500 * util/update-grub_lib.in: Likewise.
39501
e94045a1 39502 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39503 Move comment text to `#error' stanza.
e94045a1 39504
79d29fd7 39505 Harmonize ieee1275's grub_available_iterate() with the generic
39506 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39507 build problem on i386-ieee1275):
39508 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39509 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39510 parameter `type'. Update all users of this function.
39511 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39512 `kern/ieee1275/mmap.c'.
39513 * kern/ieee1275/init.c
39514 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39515 with ...
39516 (grub_machine_mmap_iterate): ... this.
39517 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39518 return type to `grub_err_t'. Update all implementations of this
39519 function prototype.
39520 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39521 Likewise.
39522
60d6b16e 39523 Add `lsmmap' command (lists firmware-provided memory map):
39524 * commands/lsmmap.c: New file.
39525 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39526 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39527 variables.
39528 * conf/powerpc-ieee1275.rmk: Likewise.
39529 * conf/i386-coreboot.rmk: Likewise.
39530 * conf/i386-ieee1275.rmk: Likewise.
39531
ebaaf49b 395322008-11-19 Robert Millan <rmh@aybabtu.com>
39533
39534 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39535 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39536 constraints to initrd allocation (based on code from
39537 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39538 for Linux to find it.
ebaaf49b 39539
dfab719f 395402008-11-14 Robert Millan <rmh@aybabtu.com>
39541
39542 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39543 order to cope with duplicate slashes.
39544
10fc3eb9 395452008-11-14 Robert Millan <rmh@aybabtu.com>
39546
39547 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39548 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39549 don't want to mess with lower memory, because it is used in the Linux
39550 loader.
39551
39552 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39553 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39554 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39555 is in our heap (probably as a result of it being corrupted during
2f2a3442 39556 decompression). Add #error instance with comment to explain why this
39557 loader isn't currently usable on PC/BIOS.
10fc3eb9 39558
e2e07847 395592008-11-14 Robert Millan <rmh@aybabtu.com>
39560
39561 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39562 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39563
fe8e8d69 395642008-11-12 Robert Millan <rmh@aybabtu.com>
39565
39566 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39567
39568 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39569 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39570 from here ...
39571 * include/grub/i386/pc/memory.h: ... to here.
39572
976b07d0 395732008-11-12 Robert Millan <rmh@aybabtu.com>
39574
39575 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39576 split).
39577
39578 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39579 (grub_console_cur_color, grub_console_real_putchar)
39580 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39581 (grub_console_setcolorstate, grub_console_setcolor)
39582 (grub_console_getcolor): Move from here ...
39583 * include/grub/i386/vga_common.h: ... to here (new file).
39584
39585 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39586 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39587 `<grub/i386/io.h>'.
39588 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39589 `<grub/i386/vga_common.h>'.
39590
76679cd3 395912008-11-12 Robert Millan <rmh@aybabtu.com>
39592
39593 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39594 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39595 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39596 variables.
39597 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39598 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39599
39600 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39601 grub_console_init() with call to grub_vga_text_init().
39602 (grub_machine_fini): Replace call to
39603 grub_console_fini() with call to grub_vga_text_fini() and
39604 grub_at_keyboard_fini().
39605
39606 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39607 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39608 (grub_console_setcolorstate, grub_console_setcolor)
39609 (grub_console_getcolor): New function prototypes.
39610
39611 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39612 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39613 (grub_vga_text_setcursor): Static-ize.
39614 (grub_vga_text_term): New structure.
39615 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39616
39617 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39618 (grub_console_cur_color, grub_console_standard_color)
39619 (grub_console_normal_color, grub_console_highlight_color)
39620 (map_char, grub_console_putchar, grub_console_getcharwidth)
39621 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39622 (grub_console_getcolor): Move from here ...
39623 * term/i386/vga_common.c: ... to here (same function names).
39624
95b841d3 396252008-11-12 Robert Millan <rmh@aybabtu.com>
39626
39627 Use newly-added Multiboot support in coreboot.
39628
39629 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39630 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39631
39632 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39633 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39634 (codestart): Store the MBI in `startup_multiboot_info' when we're
39635 being loaded using Multiboot.
39636
39637 * kern/i386/coreboot/init.c (grub_machine_init): Move
39638 grub_at_keyboard_init() call to beginning of function (useful for
39639 debugging). Call grub_machine_mmap_init() before attempting to use
39640 grub_machine_mmap_iterate().
39641 (grub_lower_mem, grub_upper_mem): Move from here ...
39642 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39643 here (new file).
39644
39645 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39646 function prototype.
39647
761ca975 396482008-11-12 Robert Millan <rmh@aybabtu.com>
39649
39650 Fix a regression introduced by the at_keyboard.mod split. Because
39651 some terminals are default on some platforms and non-default on
39652 others, the first terminal being registered determines which is
39653 going to be default.
39654
39655 * kern/term.c (grub_term_register_input): If this is the first
39656 terminal being registered, set it as the current one.
39657 (grub_term_register_output): Likewise.
39658
39659 * term/efi/console.c (grub_console_init): Do not call
39660 grub_term_set_current_output() or grub_term_set_current_input().
39661 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39662 * term/i386/pc/console.c (grub_console_init): Likewise.
39663 (grub_console_fini): Do not call grub_term_set_current_input()
39664 (but leave grub_term_set_current_output() to restore text mode).
39665
6c529df7 396662008-11-10 Robert Millan <rmh@aybabtu.com>
39667
39668 * util/grub.d/00_header.in: Add backward compatibility check for
39669 versions of terminal.mod that don't understand `terminal_input' or
39670 `terminal_output'.
39671
132e4113 396722008-11-09 Robert Millan <rmh@aybabtu.com>
39673
39674 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39675 `terminal_input' / `terminal_output', not `terminal'.
39676
ac293d50 396772008-11-08 Robert Millan <rmh@aybabtu.com>
39678
39679 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39680 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39681
0025933a 396822008-11-08 Robert Millan <rmh@aybabtu.com>
39683
39684 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39685 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39686 members. Update all users.
39687 * util/console.c (grub_ncurses_term): Split in ...
39688 (grub_ncurses_term_input): ... this, and ...
39689 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39690 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39691
37c86336 396922008-11-08 Robert Millan <rmh@aybabtu.com>
39693
39694 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39695 (PKGDATA): Add $(pkgdata_SRCDIR).
39696 (pkglib_BUILDDIR): New variable.
39697 (pkgdata_SRCDIR): New variable.
39698 (build_env.mk): New target.
39699 (include_DATA): New variable.
39700 (install-local): Install $(include_DATA) files in $(includedir).
39701
b6c15a2d 397022008-11-07 Pavel Roskin <proski@gnu.org>
39703
d99d46f1 39704 * gendistlist.sh: Use C locale for sorting to ensure consistent
39705 output on all systems.
39706
b6c15a2d 39707 * util/grub.d/00_header.in: Remove incorrect space before
39708 "serial".
39709
c32ee8c9 397102008-11-07 Robert Millan <rmh@aybabtu.com>
39711
39712 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39713 per specification.
39714 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39715 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39716 (based on find_multi_boot1_header).
39717 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39718 using find_multi_boot2_header(), and abort if neither Multiboot or
39719 Multiboot headers were found.
39720
651c29b7 397212008-11-07 Robert Millan <rmh@aybabtu.com>
39722
39723 Modularize at_keyboard.mod:
39724
39725 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39726 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39727 (at_keyboard_mod_LDFLAGS): New variables.
39728
39729 Actual terminal split:
39730
39731 * include/grub/term.h (struct grub_term): Split in ...
39732 (struct grub_term_input): ... this, and ...
39733 (struct grub_term_output): ... this. Update all users.
39734 (grub_term_set_current): Split in ...
39735 (grub_term_set_current_input): ... this, and ...
39736 (grub_term_set_current_output): ... this.
39737 (grub_term_get_current): Split in ...
39738 (grub_term_get_current_input): ... this, and ...
39739 (grub_term_get_current_output): ... this.
39740 (grub_term_register): Split in ...
39741 (grub_term_register_input): ... this, and ...
39742 (grub_term_register_output): ... this.
39743 (grub_term_unregister): Split in ...
39744 (grub_term_unregister_input): ... this, and ...
39745 (grub_term_unregister_output): ... this.
39746 (grub_term_iterate): Split in ...
39747 (grub_term_iterate_input): ... this, and ...
39748 (grub_term_iterate_output): ... this.
39749
39750 * kern/term.c (grub_term_list): Split in ...
39751 (grub_term_list_input): ... this, and ...
39752 (grub_term_list_output): ... this. Update all users.
39753 (grub_cur_term): Split in ...
39754 (grub_cur_term_input): ... this, and ...
39755 (grub_cur_term_output): ... this. Update all users.
39756 (grub_term_set_current): Split in ...
39757 (grub_term_set_current_input): ... this, and ...
39758 (grub_term_set_current_output): ... this.
39759 (grub_term_get_current): Split in ...
39760 (grub_term_get_current_input): ... this, and ...
39761 (grub_term_get_current_output): ... this.
39762 (grub_term_register): Split in ...
39763 (grub_term_register_input): ... this, and ...
39764 (grub_term_register_output): ... this.
39765 (grub_term_unregister): Split in ...
39766 (grub_term_unregister_input): ... this, and ...
39767 (grub_term_unregister_output): ... this.
39768 (grub_term_iterate): Split in ...
39769 (grub_term_iterate_input): ... this, and ...
39770 (grub_term_iterate_output): ... this.
39771
39772 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39773 a check for input and one for output (and only attempt to get keys
39774 from user when input works).
39775
39776 * util/grub-probe.c (grub_term_get_current): Split in ...
39777 (grub_term_get_current_input): ... this, and ...
39778 (grub_term_get_current_output): ... this.
39779 * util/grub-fstest.c: Likewise.
39780 * util/i386/pc/grub-setup.c: Likewise.
39781 * util/grub-editenv.c: Likewise.
39782
39783 Portability adjustments:
39784
39785 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39786 `term/i386/pc/at_keyboard.c'.
39787 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39788 grub_keyboard_controller_init() (now handled by terminal .init).
39789 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39790 grub_at_keyboard_init().
39791 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39792 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39793 at_keyboard.mod via input terminal interface).
39794 * include/grub/i386/coreboot/console.h: Convert into a stub for
39795 `<grub/i386/pc/console.h>'.
39796
39797 Migrate full terminals to new API:
39798
39799 * term/efi/console.c (grub_console_term): Split into ...
39800 (grub_console_term_input): ... this, and ...
39801 (grub_console_term_output): ... this. Update all users.
39802 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39803 (grub_ofconsole_init): Split into ...
39804 (grub_ofconsole_init_input): ... this, and ...
39805 (grub_ofconsole_init_output): ... this.
39806 (grub_ofconsole_term): Split into ...
39807 (grub_ofconsole_term_input): ... this, and ...
39808 (grub_ofconsole_term_output): ... this. Update all users.
39809 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39810 (grub_serial_term_input): ... this, and ...
39811 (grub_serial_term_output): ... this. Update all users.
39812 * term/i386/pc/console.c (grub_console_term): Split into ...
39813 (grub_console_term_input): ... this, and ...
39814 (grub_console_term_output): ... this. Update all users.
39815 (grub_console_term_input): Only enable it on PC/BIOS platform.
39816 (grub_console_init): Remove grub_keyboard_controller_init() call.
39817
39818 Migrate input terminals to new API:
39819
39820 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39821 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39822 i386-specific anyway).
39823 (grub_console_checkkey): Rename to ...
39824 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39825 users.
39826 (grub_keyboard_controller_orig): New variable.
39827 (grub_console_getkey): Rename to ...
39828 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39829 users.
39830 (grub_keyboard_controller_init): Static-ize. Save original
39831 controller value so that it can be restored ...
39832 (grub_keyboard_controller_fini): ... here (new function).
39833 (grub_at_keyboard_term): New structure.
39834 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39835 functions.
39836
39837 Migrate output terminals to new API:
39838
39839 * term/i386/pc/vga.c (grub_vga_term): Change type to
39840 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39841 members. Update all users.
39842 * term/gfxterm.c (grub_video_term): Change type to
39843 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39844 members. Update all users.
39845 * include/grub/i386/pc/console.h (grub_console_checkkey)
39846 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39847 etc).
39848
39849 Migrate `terminal' command and userland tools to new API:
39850
39851 * commands/terminal.c (grub_cmd_terminal): Split into ...
39852 (grub_cmd_terminal_input): ... this, and ...
39853 (grub_cmd_terminal_output): ... this.
39854 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39855 `terminal_input' and `terminal_output'.
39856 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39857 `terminal_input' / `terminal_output' API.
39858 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39859 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39860 provided ${GRUB_TERMINAL}, convert it).
39861
96e5d876 398622008-11-04 Robert Millan <rmh@aybabtu.com>
39863
39864 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39865 for FreeBSD.
39866 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39867
556f3775 398682008-11-03 Bean <bean123ch@gmail.com>
39869
39870 * kern/elf.c (grub_elf32_load): Revert to previous code.
39871 (grub_elf64_load): Likewise.
39872
39873 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39874
926b9823 398752008-11-01 Robert Millan <rmh@aybabtu.com>
39876
39877 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39878 (TARGET_CPPFLAGS): Likewise.
39879 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39880
1432e958 398812008-11-01 Carles Pina i Estany <carles@pina.cat>
39882
39883 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39884
dba3f844 398852008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39886
39887 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39888 addition of objects until the code is not going to be able to fail.
39889
dba3f844 398902008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39891
39892 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39893 (add a missing NULL check, and correct them by moving the pointer
39894 operations after the actual check).
39895
7ab28c21 398962008-10-29 Robert Millan <rmh@aybabtu.com>
39897
39898 * util/i386/pc/grub-install.in: Handle empty string as output from
39899 make_system_path_relative_to_its_root().
39900
1b7748eb 399012008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39902
39903 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39904 circular metadata worst case scenario. If the metadata is circular
39905 then copy the wrap in place.
39906 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39907 project lib/format_text/layout.h
39908 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39909
c9618ab2 399102008-10-03 Felix Zielcke <fzielcke@z-51.de>
39911
7a36edca 39912 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39913
bf981c62 399142008-10-03 Felix Zielcke <fzielcke@z-51.de>
39915
39916 * util/update-grub_lib.in: Mention filename in warning message.
39917
6d994591 399182008-09-29 Felix Zielcke <fzielcke@z-51.de>
39919
39920 * NEWS: Update for rename of update-grub to grub-mkconfig.
39921
18ade780 399222008-09-29 Felix Zielcke <fzielcke@z-51.de>
39923
39924 * util/update-grub_lib.in: Copy to ...
39925 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39926 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39927 * util/update-grub.in: Rename to ...
39928 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39929 option. Add `--output' option to allow users to specify the generated
39930 configuration file. Default to stdout.
39931 (update_grub_dir): Rename to ...
39932 (grub_mkconfig_dir): ... this.
39933 (grub_cfg): Default to an empty string.
39934 * conf/common.rmk (update-grub): Rename to ...
39935 (grub-mkconfig): ... this.
39936 (update-grub_lib): Copy to ...
39937 (grub-mkconfig_lib): ... this.
39938 (update-grub_SCRIPTS): Copy to ...
39939 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39940 (update-grub_DATA): Rename to ...
39941 (grub-mkconfig_DATA): ... this.
39942
556ce6ac 399432008-09-28 Robert Millan <rmh@aybabtu.com>
39944
39945 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39946 to `modified'. Add the real `created' field.
39947 (grub_iso9660_uuid): Use `modified' rather than `created' for
39948 constructing the UUID.
39949
399502008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39951
39952 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39953 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39954
92274e85 399552008-09-28 Bean <bean123ch@gmail.com>
39956
39957 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39958 Thanks to Christian Franke for finding this bug.
39959
add6f17a 399602008-09-25 Robert Millan <rmh@aybabtu.com>
39961
39962 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39963 instances of grub_util_get_disk_name() (see previous commit).
39964
d2a367b8 399652008-09-25 Robert Millan <rmh@aybabtu.com>
39966
39967 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39968 `util/i386/get_disk_name.c'.
39969 * conf/i386-efi.rmk: Likewise.
39970 * conf/x86_64-efi.rmk: Likewise.
39971 * conf/i386-coreboot.rmk: Likewise.
39972 * conf/i386-ieee1275.rmk: Likewise.
39973 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39974 `util/ieee1275/get_disk_name.c'.
39975 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39976 * util/ieee1275/get_disk_name.c: Remove file.
39977 * util/i386/get_disk_name.c: Remove file.
39978 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39979 "hd%d" for device.map entries, rather than using
39980 grub_util_get_disk_name().
39981
81a06771 399822008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39983
39984 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39985 warning.
39986 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39987
5a004279 399882008-09-24 Carles Pina i Estany <carles@pina.cat>
39989
39990 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39991 Changed to 0x5100.
39992 (GRUB_TERM_PPAGE): Changed to 0x4900.
39993
397093d3 399942008-09-24 Robert Millan <rmh@aybabtu.com>
39995
39996 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39997 macros (they were i386-pc specific).
39998 * include/grub/sparc64/ieee1275/console.h: Likewise.
39999 * include/grub/efi/console.h: Likewise.
40000
a91b6c7c 400012008-09-22 Bean <bean123ch@gmail.com>
40002
40003 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40004 resident and in attribute list.
40005
40006 * include/grub/ntfs.h (BMP_LEN): Removed.
40007
c40fd116 400082008-09-22 Bean <bean123ch@gmail.com>
40009
81a06771 40010 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40011 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40012
40013 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40014 error occurs, as grub_disk_open will call grub_disk_close, which will
40015 call p->close (scsi).
40016
81a06771 400172008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40018
40019 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40020 (AC_PREREQ): Bumped to 2.59.
40021 (AC_TRY_COMPILE): Replace obsolete macro with ...
40022 (AC_COMPILE_IFELSE): ... this.
40023 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40024 (AC_LINK_IFELSE): ... this.
40025
5dc43410 400262008-09-21 Felix Zielcke <fzielcke@z-51.de>
40027
40028 * autogen.sh: Add a call to `gendistlist.sh'.
40029
9035dce4 400302008-09-19 Christian Franke <franke@computer.org>
40031
40032 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40033 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40034 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40035 Export __enable_execute_stack() to modules.
40036 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40037 New function.
40038
7fd75377 400392008-09-09 Felix Zielcke <fzielcke@z-51.de>
40040
040030b3 40041 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40042 Sort the list.
40043
400442008-09-09 Felix Zielcke <fzielcke@z-51.de>
40045
40046 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40047 #include <grub/util/hostdisk.h>.
40048
89d5ffcf 400492008-09-08 Robert Millan <rmh@aybabtu.com>
40050
40051 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40052 segments when their filesz is zero (grub_file_read() interprets
81a06771 40053 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40054 Use `lowest_segment' rather than 0 for calculating the current
40055 segment load address.
40056
40da438f 400572008-09-08 Robert Millan <rmh@aybabtu.com>
40058
40059 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40060 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40061 clobbered useful information.
40062
ddbf5556 400632008-09-08 Robert Millan <rmh@aybabtu.com>
40064
40065 * include/grub/util/biosdisk.h: Move to ...
40066 * include/grub/util/hostdisk.h: ... here. Update all users.
40067 * util/biosdisk.c: Move to ...
40068 * util/hostdisk.c: ... here. Update all users.
40069
783d0f48 400702008-09-07 Robert Millan <rmh@aybabtu.com>
40071
40072 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40073 variables.
40074 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40075 and length can be stored directly in the `mbi->mmap_addr' and
40076 `mbi->mmap_length' struct fields.
40077
548e2ea5 400782008-09-07 Robert Millan <rmh@aybabtu.com>
40079
40080 * conf/i386.rmk: New file. Provides declaration for building
40081 `cpuid.mod'.
40082 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40083 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40084 variables.
40085 Include `conf/i386.mk'.
40086 * conf/i386-efi.rmk: Likewise.
40087 * conf/x86_64-efi.rmk: Likewise.
40088 * conf/i386-coreboot.rmk: Likewise.
40089 * conf/i386-ieee1275.rmk: Likewise.
40090
0ea85a37 400912008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40092
40093 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40094 Adds optimization support for BGR based modes.
40095
40096 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40097 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40098 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40099 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40100 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40101 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40102 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40103 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40104 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40105 (grub_video_i386_vbeblit_index_index): Likewise.
40106 (grub_video_i386_vbeblit_replace_directN): Added.
40107 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40108 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40109 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40110 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40111 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40112 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40113 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40114 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40115 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40116 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40117 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40118 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40119 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40120
40121 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40122 (grub_video_i386_vbefill_R8G8B8): Likewise.
40123 (grub_video_i386_vbefill_index): Likewise.
40124 (grub_video_i386_vbefill_direct32): Added.
40125 (grub_video_i386_vbefill_direct24): Likewise.
40126 (grub_video_i386_vbefill_direct16): Likewise.
40127 (grub_video_i386_vbefill_direct8): Likewise.
40128
81a06771 40129 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40130 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40131 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40132 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40133 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40134 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40135
0ea85a37 40136 * video/video.c (grub_video_get_blit_format): Updated to use new
40137 blit formats. Added handling for 16 bit color modes.
81a06771 40138
40139 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40140 fillers.
40141 (common_blitter): Updated to use new blitters.
40142
40143 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40144 Removed.
40145 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40148 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40149 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40150 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40151 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40152 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40153 (grub_video_i386_vbeblit_index_index): Likewise.
40154 (grub_video_i386_vbeblit_replace_directN): Added.
40155 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40156 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40157 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40158 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40159 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40160 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40161 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40162 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40163 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40164 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40165 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40166 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40167 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40168
0ea85a37 40169 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40170 (grub_video_i386_vbefill_R8G8B8): Likewise.
40171 (grub_video_i386_vbefill_index): Likewise.
40172 (grub_video_i386_vbefill_direct32): Added.
40173 (grub_video_i386_vbefill_direct24): Likewise.
40174 (grub_video_i386_vbefill_direct16): Likewise.
40175 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40176
0ea85a37 40177 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40178 types.
81a06771 40179
0ea85a37 40180 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40181 types.
81a06771 40182
0ea85a37 40183 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40184 blitter types.
81a06771 40185
0ea85a37 40186 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40187 types.
40188
e8a83df6 401892008-09-06 Felix Zielcke <fzielcke@z-51.de>
40190
40191 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40192 RAID level 1.
40193
6bcd8ee5 401942008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40195
6bcd8ee5 40196 * fs/iso9660.c (grub_iso9660_date): New structure.
40197 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40198 (grub_iso9660_uuid): New function.
c375ae58 40199
59261157 402002008-09-05 Bean <bean123ch@gmail.com>
40201
40202 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40203
40204 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40205 insensitive bit for names in Win32 and Win32 & DOS namespace.
40206
40207 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40208
40209 * include/grub/types.h (LONG_MAX): Likewise.
40210
58b6645a 402112008-09-04 Felix Zielcke <fzielcke@z-51.de>
40212
4ee55921 40213 * util/getroot.c: Include <config.h>.
40214 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40215 add support for /dev/md/N devices and handle LVM double dash escaping.
40216
402172008-09-04 Felix Zielcke <fzielcke@z-51.de>
40218
40219 * config.guess: Update to latest version from config git.
40220 * config.sub: Likewise.
58b6645a 40221
9124f65d 402222008-09-03 Robert Millan <rmh@aybabtu.com>
40223
40224 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40225 `disk->total_sectors'.
40226
81a06771 402272008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40228
40229 * include/grub/normal.h: Fixed incorrect comment for
40230 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40231
81a06771 402322008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40233
40234 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40235 values with defines.
40236
40237 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40238 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40239 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40240 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40241 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40242 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40243 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40244 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40245 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40246 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40247 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40248 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40249 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40250 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40251 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40252 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40253 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40254 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40255 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40256
93d5cbf8 402572008-08-31 Robert Millan <rmh@aybabtu.com>
40258
40259 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40260 declaration.
40261 (grub_multiboot): Fix a few warnings.
40262
21751d50 402632008-08-31 Robert Millan <rmh@aybabtu.com>
40264
40265 * loader/i386/pc/multiboot.c: Update comment not to say that
40266 boot_device support is unimplemented.
40267
e27a75c5 402682008-08-31 Robert Millan <rmh@aybabtu.com>
40269
40270 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40271 or memory map support are unimplemented.
40272
81a06771 402732008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40274
40275 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40276
81a06771 402772008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40278
40279 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40280 total video memory in 'vbeinfo' output; show color format details for
40281 each video mode.
40282
7c5d8d95 402832008-08-30 Pavel Roskin <proski@gnu.org>
40284
40285 * util/genmoddep.c: Remove for real this time.
40286 * DISTLIST: Remove util/genmoddep.c.
40287
4cebd25a 402882008-08-30 Robert Millan <rmh@aybabtu.com>
40289
40290 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40291 as required by Multiboot spec (it was already 4-byte aligned, but
40292 only by chance).
40293
b497a269 402942008-08-29 Pavel Roskin <proski@gnu.org>
40295
e3925185 40296 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40297 * kern/powerpc/ieee1275/startup.S: ... this.
40298 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40299 * DISTLIST: Likewise.
40300
b497a269 40301 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40302 grub/cpu/kernel.h. Add start label for consistency with other
40303 platforms. Add grub_prefix immediately after start. Add jump
40304 to the code after grub_prefix.
40305 * include/grub/powerpc/kernel.h: Provide valid values for
40306 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40307
6e5a42fe 403082008-08-29 Bean <bean123ch@gmail.com>
40309
40310 * configure.ac: Change host_os to cygwin for mingw.
40311 (asprintf): New check for function.
40312
40313 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40314 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40315
40316 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40317 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40318 sync, sleep and grub_util_get_disk_size for mingw.
40319
40320 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40321 to get size in mingw.
40322 (open_device): Use flag O_BINARY if it's defined.
40323 (find_root_device): Add dummy code for mingw.
40324
40325 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40326 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40327 (get_scsi_disk_name): Return 0 for mingw.
40328
40329 * util/hostfs.c: #include <grub/util/misc.h>.
40330 (grub_hostfs_open): Use "rb" flag to open file, use
40331 grub_util_get_disk_size to get disk size for mingw.
40332
40333 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40334 (asprintf): New function if HAVE_ASPRINTF is not set.
40335 (sync): New function for mingw.
40336 (sleep): Likewise.
40337 (grub_util_get_disk_size): Likewise.
40338
ab3f2673 403392008-08-28 Pavel Roskin <proski@gnu.org>
40340
40341 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40342 kern/time.c.
40343
1c282483 403442008-08-28 Robert Millan <rmh@aybabtu.com>
40345
40346 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40347
678e849c 403482008-08-28 Robert Millan <rmh@aybabtu.com>
40349
40350 Change find_grub_drive() syntax so it doesn't prevent it from
40351 detecting NULL names as errors.
40352
40353 * util/biosdisk.c (find_grub_drive): Move free slot search code
40354 from here ...
40355 (find_free_slot): ... to here.
40356 (read_device_map): Use find_free_slot() to search for free slots.
40357
965c75ca 403582008-08-27 Marco Gerards <marco@gnu.org>
40359
40360 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40361 (scsi_mod_SOURCES): New variable.
40362 (scsi_mod_CFLAGS): Likewise
40363 (scsi_mod_LDFLAGS): Likewise.
40364
40365 * disk/scsi.c: New file.
40366
40367 * include/grub/scsi.h: Likewise.
40368
40369 * include/grub/scsicmd.h: Likewise.
40370
40371 * disk/ata.c: Include <grub/scsi.h>.
40372 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40373 instead.
40374 (grub_ata_iterate): Skip ATAPI devices.
40375 (grub_ata_open): Only handle ATAPI devices.
40376 (struct grub_atapi_read): Removed.
40377 (grub_atapi_readsector): Likewise.
40378 (grub_ata_read): No longer handle ATAPI devices.
40379 (grub_ata_write): Likewise.
40380 (grub_atapi_iterate): New function.
40381 (grub_atapi_read): Likewise.
40382 (grub_atapi_write): Likewise.
40383 (grub_atapi_open): Likewise.
40384 (grub_atapi_close): Likewise.
40385 (grub_atapi_dev): New variable.
40386 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40387 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40388
40389 * include/grub/disk.h (enum grub_disk_dev_id): Add
40390 `GRUB_DISK_DEVICE_SCSI_ID'.
40391
c07ae501 403922008-08-26 Robert Millan <rmh@aybabtu.com>
40393
40394 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40395 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40396 descriptive.
40397
5ed20adc 403982008-08-23 Bean <bean123ch@gmail.com>
40399
40400 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40401 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40402 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40403 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40404 dm_nv.mod.
40405 (raid5rec_mod_SOURCES): New macro.
40406 (raid5rec_mod_CFLAGS): Likewise.
40407 (raid5rec_mod_LDFLAGS): Likewise.
40408 (raid6rec_mod_SOURCES): Likewise.
40409 (raid6rec_mod_CFLAGS): Likewise.
40410 (raid6rec_mod_LDFLAGS): Likewise.
40411 (mdraid_mod_SOURCES): Likewise.
40412 (mdraid_mod_CFLAGS): Likewise.
40413 (mdraid_mod_LDFLAGS): Likewise.
40414 (dm_nv_mod_SOURCES): Likewise.
40415 (dm_nv_mod_CFLAGS): Likewise.
40416 (dm_nv_mod_LDFLAGS): Likewise.
40417
40418 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40419 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40420 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40421
40422 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40423 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40424
40425 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40426
40427 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40428
40429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40430
40431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40432
40433 * disk/raid5_recover.c: New file.
40434
40435 * disk/raid6_recover.c: Likewise.
40436
40437 * disk/mdraid_linux.c: Likewise.
40438
40439 * disk/dmraid_nvidia.c: Likewise.
40440
40441 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40442 ULONG_MAX.
40443
40444 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40445 calculate the size of raid device.
40446 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40447 different layout of raid5.
40448 (grub_raid_scan_device): Remove code specific to mdraid.
40449 (grub_raid_list): New variable.
40450 (free_array): New function.
40451 (grub_raid_register): Likewise.
40452 (grub_raid_unregister): Likewise.
40453 (grub_raid_rescan): Likewise.
40454 (GRUB_MOD_INIT): Don't iterate device here.
40455 (GRUB_MOD_FINI): Use free_array to release resource.
40456
40457 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40458 (grub_raid5_recover_func_t): New function variable type.
40459 (grub_raid6_recover_func_t): Likewise.
40460 (grub_raid5_recover_func): New variable.
40461 (grub_raid6_recover_func): Likewise.
40462 (grub_raid_register): New function.
40463 (grub_raid_unregister): Likewise.
40464 (grub_raid_rescan): Likewise.
40465 (grub_raid_block_xor): Likewise.
40466
40467 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40468 (CMD_CRC): New macro.
40469 (part): Removed.
40470 (read_file): Handle device as well as file.
40471 (cmd_crc): New function.
40472 (fstest): Handle multiple disks.
40473 (options): Remove part, raw and long, add root and diskcount.
40474 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40475 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40476 add handling for the new options, support multiple disks.
40477
40478 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40479
29c18915 404802008-08-23 Bean <bean123ch@gmail.com>
40481
40482 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40483
40484 * genfslist.sh: Ignore kernel.mod.
40485
40486 * genpartmaplist.sh: Likewise.
40487
8415f261 404882008-08-23 Robert Millan <rmh@aybabtu.com>
40489
40490 * util/getroot.c (find_root_device): Skip anything that starts with
40491 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40492
d5a7dc5b 404932008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40494
d5a7dc5b 40495 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40496 * util/grub.d/00_header.in: Allow the administrator to change default
40497 gfxmode via ${GRUB_GFXMODE}.
40498
380cfbb4 404992008-08-21 Felix Zielcke <fzielcke@z-51.de>
40500
40501 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40502
c9baafe7 405032008-08-21 Robert Millan <rmh@aybabtu.com>
40504
40505 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40506 loader.
40507 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40508 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40509
e290bef2 405102008-08-20 Carles Pina i Estany <carles@pina.cat>
40511
40512 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40513 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40514
f9dbfc96 405152008-08-19 Robert Millan <rmh@aybabtu.com>
40516
40517 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40518 (struct grub_virtual_screen): Remove `cursor_color'.
40519 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40520 initialization.
40521 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40522
dd6bd6ab 405232008-08-18 Robert Millan <rmh@aybabtu.com>
40524
40525 Unify (identical) linux_normal.c files.
40526 * loader/i386/efi/linux_normal.c: Move from here ...
40527 * loader/linux_normal.c: ... to here. Update all users.
40528 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40529 * loader/i386/ieee1275/linux_normal.c: Likewise.
40530
7f42f83e 405312008-08-18 Robert Millan <rmh@aybabtu.com>
40532
40533 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40534 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40535 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40536 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40537 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40538 New macros.
40539 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40540 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40541 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40542 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40543 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40544 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40545 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40546 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40547 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40548 portably using grub_getxy().
40549 Replace `-EFI' with `-bzImage' in boot message.
40550
38487ddb 405512008-08-17 Robert Millan <rmh@aybabtu.com>
40552
40553 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40554
deceb3ec 405552008-08-17 Robert Millan <rmh@aybabtu.com>
40556
40557 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40558
40559 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40560 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40561 (grub_machine_mmap_iterate): New function declaration.
40562 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40563 structure.
40564 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40565 macros.
40566
40567 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40568 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40569 Move e820 parsing from here ...
40570 * kern/i386/pc/mmap.c: New file.
40571 (grub_machine_mmap_iterate): ... to here.
40572
40573 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40574 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40575 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40576 (grub_available_iterate): Redeclare to return `void', and redeclare
40577 its hook to use grub_uint64_t as addr and size parameters, and rename
40578 to ...
40579 (grub_machine_mmap_iterate): ... this. Update all users.
40580
40581 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40582 to make it more readable. Rename to ...
40583 (grub_machine_mmap_iterate): ... this.
40584
40585 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40586 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40587 (grub_multiboot): Allocate an extra region after the payload, and fill
40588 it with a Multiboot memory map. Adjust a.out loader to calculate size
40589 with the extra space.
40590 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40591 with the extra space.
40592
f8aa0f43 405932008-08-17 Carles Pina i Estany <carles@pina.cat>
40594
9807deb9 40595 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40596
605f5bb6 405972008-08-17 Felix Zielcke <fzielcke@z-51.de>
40598
40599 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40600 mdate-sh to the list `find' searches for.
40601 * DISTLIST: Regenerated.
40602
210db6c6 406032008-08-16 Felix Zielcke <fzielcke@z-51.de>
40604
40605 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40606 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40607 genmoddep.awk, gensymlist.sh.in.
40608 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40609 * DISTLIST: Regenerated.
48cdbfd4 40610 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40611
1082b929 406122008-08-16 Robert Millan <rmh@aybabtu.com>
40613
40614 * disk/raid.c (grub_raid_init): Handle/report errors set by
40615 grub_device_iterate().
40616 * disk/lvm.c (grub_lvm_init): Likewise.
40617
42ce5170 406182008-08-15 Bean <bean123ch@gmail.com>
40619
40620 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40621 and datehook.mod.
40622 (datetime_mod_SOURCES): New macro.
40623 (datetime_mod_CFLAGS): Likewise.
40624 (datetime_mod_LDFLAGS): Likewise.
40625 (date_mod_SOURCES): Likewise.
40626 (date_mod_CFLAGS): Likewise.
40627 (date_mod_LDFLAGS): Likewise.
40628 (datehook_mod_SOURCES): Likewise.
40629 (datehook_mod_CFLAGS): Likewise.
40630 (datehook_mod_LDFLAGS): Likewise.
40631
40632 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40633 and datehook.mod.
40634 (datetime_mod_SOURCES): New macro.
40635 (datetime_mod_CFLAGS): Likewise.
40636 (datetime_mod_LDFLAGS): Likewise.
40637 (date_mod_SOURCES): Likewise.
40638 (date_mod_CFLAGS): Likewise.
40639 (date_mod_LDFLAGS): Likewise.
40640 (datehook_mod_SOURCES): Likewise.
40641 (datehook_mod_CFLAGS): Likewise.
40642 (datehook_mod_LDFLAGS): Likewise.
40643
40644 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40645 and datehook.mod.
40646 (datetime_mod_SOURCES): New macro.
40647 (datetime_mod_CFLAGS): Likewise.
40648 (datetime_mod_LDFLAGS): Likewise.
40649 (date_mod_SOURCES): Likewise.
40650 (date_mod_CFLAGS): Likewise.
40651 (date_mod_LDFLAGS): Likewise.
40652 (datehook_mod_SOURCES): Likewise.
40653 (datehook_mod_CFLAGS): Likewise.
40654 (datehook_mod_LDFLAGS): Likewise.
40655
40656 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40657 and datehook.mod.
40658 (datetime_mod_SOURCES): New macro.
40659 (datetime_mod_CFLAGS): Likewise.
40660 (datetime_mod_LDFLAGS): Likewise.
40661 (date_mod_SOURCES): Likewise.
40662 (date_mod_CFLAGS): Likewise.
40663 (date_mod_LDFLAGS): Likewise.
40664 (datehook_mod_SOURCES): Likewise.
40665 (datehook_mod_CFLAGS): Likewise.
40666 (datehook_mod_LDFLAGS): Likewise.
40667
40668 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40669 and datehook.mod.
40670 (datetime_mod_SOURCES): New macro.
40671 (datetime_mod_CFLAGS): Likewise.
40672 (datetime_mod_LDFLAGS): Likewise.
40673 (date_mod_SOURCES): Likewise.
40674 (date_mod_CFLAGS): Likewise.
40675 (date_mod_LDFLAGS): Likewise.
40676 (datehook_mod_SOURCES): Likewise.
40677 (datehook_mod_CFLAGS): Likewise.
40678 (datehook_mod_LDFLAGS): Likewise.
40679
40680 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40681
40682 * commands/date.c: New file.
40683
40684 * hook/datehook.c: Likewise.
40685
40686 * include/grub/lib/datetime.h: Likewise.
40687
40688 * include/grub/i386/cmos.h: Likewise.
40689
40690 * lib/datetime.c: Likewise.
40691
40692 * lib/i386/datetime.c: Likewise.
40693
40694 * lib/efi/datetime.c: Likewise.
40695
0e9242da 406962008-08-14 Robert Millan <rmh@aybabtu.com>
40697
40698 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40699 (grub_mkelfimage_SOURCES): New variable.
40700 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40701
40702 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40703 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40704 * conf/powerpc-ieee1275.rmk: Likewise.
40705 * conf/i386-ieee1275.rmk: Likewise.
40706
40707 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40708 * kern/i386/coreboot/init.c: Likewise.
40709
40710 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40711 with `<grub/cpu/kernel.h>'.
40712 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40713 to ...
40714 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40715 * kern/i386/coreboot/startup.S: Likewise.
40716
40717 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40718 (GRUB_MOD_GAP): Remove.
40719 * include/grub/powerpc/kernel.h: New file.
40720 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40721 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40722 * include/grub/i386/kernel.h: New file.
40723 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40724 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40725 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40726
40727 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40728 `grub-mkelfimage'.
40729 Use --directory when invoking grub_mkimage.
40730
40731 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40732 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40733 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40734 and GRUB_KERNEL_CPU_PREFIX.
40735
b86408f8 407362008-08-14 Felix Zielcke <fzielcke@z-51.de>
40737
d5e619ca 40738 * include/grub/err.h (grub_err_printf): New function prototype.
40739 * util/misc.c (grub_err_printf): New function.
40740 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40741 grub_printf.
40742 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40743
7161f0e0 407442008-08-13 Robert Millan <rmh@aybabtu.com>
40745
40746 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40747
a1967522 407482008-08-13 Robert Millan <rmh@aybabtu.com>
40749
40750 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40751 boot entry.
40752
371458b5 407532008-08-12 Robert Millan <rmh@aybabtu.com>
40754
40755 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40756 of the relocation code from here ...
40757 (grub_multiboot): ... to here.
40758 (forward_relocator, backward_relocator): Move from here ...
40759 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40760 (grub_multiboot_backward_relocator): ... to here.
40761 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40762 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40763 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40764 (grub_multiboot_forward_relocator_end)
40765 (grub_multiboot_backward_relocator)
40766 (grub_multiboot_backward_relocator_end): New variables.
40767
05f9452b 407682008-08-12 Bean <bean123ch@gmail.com>
40769
40770 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40771
20024ab0 407722008-08-11 Robert Millan <rmh@aybabtu.com>
40773
40774 * kern/i386/linuxbios/startup.S: Move from here ...
40775 * kern/i386/coreboot/startup.S: ... to here.
40776
40777 * kern/i386/linuxbios/init.c: Move from here ...
40778 * kern/i386/coreboot/init.c: ... to here.
40779
40780 * kern/i386/linuxbios/table.c: Move from here ...
40781 * kern/i386/coreboot/mmap.c: ... to here.
40782
40783 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40784
e352e9cd 407852008-08-11 Robert Millan <rmh@aybabtu.com>
40786
40787 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40788 errors. Leave it to the upper layer to handle them.
40789
2d05bc6a 407902008-08-09 Christian Franke <franke@computer.org>
40791
40792 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40793 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40794 Install `grub.d/10_windows' only on Cygwin.
40795 * configure.ac: Add subst of `target_os'.
40796 Check `target_os' also before setting TARGET_OBJ2ELF.
40797 Add `--enable-grub-pe2elf'.
40798
042bd419 407992008-08-08 Robert Millan <rmh@aybabtu.com>
40800
40801 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40802 (grub_last_time): Change type to grub_uint64_t.
40803 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40804 (grub_disk_close): Likewise.
40805
40806 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40807 (run_menu): Migrate code from to using grub_get_time_ms().
40808
40809 * util/misc.c (grub_get_time_ms): New function.
40810
7f280db5 408112008-08-08 Marco Gerards <marco@gnu.org>
40812
40813 * disk/ata.c (grub_ata_regget): Change return type to
40814 `grub_uint8_t'.
40815 (grub_ata_regget2): Likewise.
40816 (grub_ata_wait_status): New function.
40817 (grub_ata_wait_busy): Removed function, updated all users to use
40818 `grub_ata_wait_status'.
40819 (grub_ata_wait_drq): Likewise.
40820 (grub_ata_cmd): New function.
40821 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40822 error handling.
40823 (grub_ata_pio_write): Add error handling.
40824 (grub_atapi_identify): Likewise.
40825 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40826 handling.
40827 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40828 handling. Actually use the detected registers. Reorder the
40829 detection logic such that it is easier to read.
40830 (grub_ata_pciinit): Do not assign the same ID to each controller.
40831 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40832 handling.
40833 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40834
40835 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40836
1fbc5e66 408372008-08-08 Marco Gerards <marco@gnu.org>
40838
40839 * NEWS: Update.
40840
819ce6c0 408412008-08-07 Bean <bean123ch@gmail.com>
40842
40843 * include/grub/x86_64/pci.h: New file.
40844
5c41d44d 408452008-08-07 Christian Franke <franke@computer.org>
40846
40847 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40848 (TIMER2_GATE): Likewise.
40849 (grub_pit_wait): Add enable/disable of the timer2 gate
40850 bit of port 0x61. This fixes a possible infinite loop.
40851
5ebc275d 408522008-08-07 Bean <bean123ch@gmail.com>
40853
40854 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40855 kern/i386/tsc.c and kern/i386/pit.c.
40856
40857 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40858 x86_64 platform.
40859
40860 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40861 <grub/i386/tsc.h>.
40862
40863 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40864
e383b3d0 408652008-08-07 Bean <bean123ch@gmail.com>
40866
40867 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40868
40869 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40870
40871 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40872 multiple inclusion. Add #include <grub/types.h>.
40873
1cbb58ac 408742008-08-06 Christian Franke <franke@computer.org>
40875
40876 * conf/common.rmk: Build and install `10_windows'.
40877 * util/grub.d/10_windows.in: New script.
40878
337f5a1e 408792008-08-06 Pavel Roskin <proski@gnu.org>
40880
40881 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40882
057bc4ac 408832008-08-06 Robert Millan <rmh@aybabtu.com>
40884
40885 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40886 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40887
2b99f123 408882008-08-06 Bean <bean123ch@gmail.com>
40889
40890 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40891 (grub_pxefs_fs_int): Remove dummy definition.
40892 (grub_pxefs_open): Use data->block_size to store the current block
40893 size setting.
40894 (grub_pxefs_read): Use block size stored in data->block_size. As the
40895 value of grub_pxe_blksize can be changed after the file is opened.
40896
9f0234cb 408972008-08-06 Bean <bean123ch@gmail.com>
40898
40899 * fs/i386/pc/pxe.c (curr_file): new variable.
40900 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40901 require the dummy internal file system anymore.
40902 (grub_pxefs_read): Removed.
40903 (grub_pxefs_close): Likewise.
40904 (grub_pxefs_fs_int): Likewise.
40905 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40906 connection when we switch file.
40907 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40908
a55d42e0 409092008-08-06 Robert Millan <rmh@aybabtu.com>
40910
40911 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40912 `halt.mod'.
40913 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40914 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40915
40916 * kern/i386/halt.c: New file.
40917 * kern/i386/reboot.c: Likewise.
40918 * include/grub/i386/reboot.h: Likewise.
40919 * include/grub/i386/halt.h: Likewise.
40920
40921 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40922 Include `<grub/cpu/halt.h>'.
40923 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40924 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40925
40926 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40927 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40928 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40929 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40930 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40931 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40932 from here ...
40933 * include/grub/i386/at_keyboard.h: ... to here.
40934
24371d26 409352008-08-05 Robert Millan <rmh@aybabtu.com>
40936
40937 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40938 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40939 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40940 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40941 `kern/generic/millisleep.c'.
40942
40943 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40944 instead of grub_get_rtc().
40945 (grub_tsc_init): Initialize `tsc_boot_time'.
40946
40947 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40948 (grub_machine_init): Use grub_tsc_init() rather than
40949 installing an RTC-based handler via grub_install_get_time_ms().
40950
40951 * kern/i386/pit.c: New file.
40952 * include/grub/i386/pit.h: Likewise.
40953
9e7007b3 409542008-08-05 Bean <bean123ch@gmail.com>
40955
40956 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40957
40958 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40959 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40960 (pxe_mod_SOURCES): New macro.
40961 (pxe_mod_CFLAGS): Likewise.
40962 (pxe_mod_LDFLAGS): Likewise.
40963 (pxecmd_mod_SOURCES): Likewise.
40964 (pxecmd_mod_CFLAGS): Likewise.
40965 (pxecmd_mod_LDFLAGS): Likewise.
40966
40967 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40968 (grub_pxe_call): Likewise.
40969
40970 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40971
40972 * commands/i386/pc/pxecmd.c: New file.
40973
9f0234cb 40974 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40975
40976 * include/grub/i386/pc/pxe.h: Likewise.
40977
6977d49f 409782008-08-05 Bean <bean123ch@gmail.com>
40979
40980 * util/console.c (grub_console_cur_color): New variable.
40981 (grub_console_standard_color): Likewise.
40982 (grub_console_normal_color): Likewise.
40983 (grub_console_highlight_color): Likewise.
40984 (color_map): Likewise.
40985 (use_color): Likewise.
40986 (NUM_COLORS): New macro.
40987 (grub_ncurses_setcolorstate): Handle color properly.
40988 (grub_ncurses_setcolor): Don't change color here, just remember the
40989 settings, color will be set in grub_ncurses_setcolorstate.
40990 (grub_ncurses_getcolor): New function.
40991 (grub_ncurses_init): Initialize color pairs.
40992 (grub_ncurses_term): New member grub_ncurses_getcolor.
40993
9c2ff3ee 409942008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40995
9c2ff3ee 40996 High resolution timer support. Implemented for x86 CPUs using TSC.
40997 Extracted generic grub_millisleep() so it's linked in only as needed.
40998 This requires a Pentium compatible CPU; if the RDTSC instruction is
40999 not supported, then it falls back on the generic grub_get_time_ms()
41000 implementation that uses the machine's RTC.
41001
41002 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41003 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41004 `kern/generic/millisleep.c'.
41005
41006 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41007 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41008
41009 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41010 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41011
41012 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41013
41014 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41015 `kern/generic/millisleep.c'.
41016
41017 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41018
41019 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41020
41021 * kern/generic/rtc_get_time_ms.c: New file.
41022
41023 * kern/generic/millisleep.c: New file.
337f5a1e 41024
9c2ff3ee 41025 * kern/misc.c: Don't include
41026 <kern/time.h> anymore.
41027 (grub_millisleep_generic): Removed.
41028
41029 * commands/sleep.c (grub_interruptible_millisleep): Uses
41030 grub_get_time_ms() instead of grub_get_rtc().
41031
41032 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41033 function.
41034 (grub_cpu_is_cpuid_supported): New inline function.
41035 (grub_cpu_is_tsc_supported): New inline function.
41036 (grub_tsc_init): New function prototype.
41037 (grub_tsc_get_time_ms): New function prototype.
41038
41039 * kern/i386/tsc.c (grub_get_time_ms): New file.
41040
41041 * include/grub/time.h: Include <grub/types.h.
41042 (grub_millisleep_generic): Removed.
41043 (grub_get_time_ms): New prototype.
41044 (grub_install_get_time_ms): New prototype.
41045 (grub_rtc_get_time_ms): New prototype.
41046
41047 * kern/time.c (grub_get_time_ms): New function.
41048 (grub_install_get_time_ms): New function.
41049
41050 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41051 <grub/time.h> anymore.
41052 (grub_millisleep): Removed.
41053 (grub_machine_init): Call grub_tsc_init.
41054
41055 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41056 get_time_ms() implementation.
41057
41058 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41059 (ieee1275_get_time_ms): New function.
41060 (grub_machine_init): Install get_time_ms() implementation.
41061
41062 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41063 (grub_machine_init): Call grub_tsc_init().
41064 (grub_millisleep): Removed.
bf06a93f 41065
9c2ff3ee 41066 * kern/ieee1275/init.c (grub_millisleep): Removed.
41067 (grub_machine_init): Install ieee1275_get_time_ms()
41068 implementation.
41069 (ieee1275_get_time_ms): New function.
41070 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41071 real work.
41072
9ec92aaf 410732008-08-05 Marco Gerards <marco@gnu.org>
41074
41075 * disk/ata.c: Include <grub/pci.h>.
41076 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41077 (grub_ata_initialize): Rewritten.
41078 (grub_ata_device_initialize): New function.
41079
8d23f507 410802008-08-04 Pavel Roskin <proski@gnu.org>
41081
41082 * kern/main.c: Include grub/mm.h.
41083
5e15ee3d 410842008-08-04 Robert Millan <rmh@aybabtu.com>
41085
41086 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41087 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41088 corruption problem).
41089
a9053f8f 410902008-08-04 Robert Millan <rmh@aybabtu.com>
41091
41092 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41093 warnings introduced in my last commit.
41094
dd19c7d7 410952008-08-03 Robert Millan <rmh@aybabtu.com>
41096
41097 Make PCI available on all i386 architectures.
41098
41099 * include/grub/i386/pc/pci.h: Move from here ...
41100 * include/grub/i386/pci.h: ... to here.
41101
41102 * include/grub/i386/pc/pci.h: Remove.
41103 * include/grub/i386/efi/pci.h: Remove.
41104 * include/grub/x86_64/efi/pci.h: Remove.
41105
41106 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41107 `<grub/cpu/pci.h>'.
41108
41109 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41110 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41111 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41112
41113 * conf/i386-ieee1275.rmk: Likewise.
41114
e14a6184 411152008-08-03 Robert Millan <rmh@aybabtu.com>
41116
41117 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41118 (grub_console_setcursor): Make it possible to set cursor off.
41119
52768e37 411202008-08-03 Robert Millan <rmh@aybabtu.com>
41121
41122 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41123 of modules instead of assuming which platform provides what.
41124 * util/update-grub.in: Likewise.
41125
2d52f57f 411262008-08-03 Robert Millan <rmh@aybabtu.com>
41127
41128 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41129 instead of `grub_install_dos_part' to determine whether a drive needs
41130 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41131 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41132
2a5cd121 411332008-08-02 Robert Millan <rmh@aybabtu.com>
41134
41135 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41136
93808428 411372008-08-02 Robert Millan <rmh@aybabtu.com>
41138
41139 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41140 of informational grub_dprintf() calls.
41141
3bd0a12a 411422008-08-02 Robert Millan <rmh@aybabtu.com>
41143
41144 * disk/memdisk.c (memdisk_size): Don't initialize.
41145 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41146
41147 * include/grub/i386/pc/kernel.h
41148 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41149 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41150 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41151 (grub_arch_memdisk_size): Remove.
41152
41153 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41154 field (was only used to transfer a constant). Add `type' field to
41155 support multiple module types.
41156 (grub_module_iterate): New function.
41157
41158 * kern/device.c (grub_device_open): Do not hide error messages
41159 when grub_disk_open() fails. Use grub_print_error() instead.
41160
41161 * kern/i386/pc/init.c (grub_arch_modules_addr)
41162 (grub_arch_memdisk_size): Remove functions.
41163 (grub_arch_modules_addr): Return the module address in high memory
41164 (now that it isn't copied anymore).
41165
41166 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41167 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41168 decompression routine (grub_total_module_size already includes that
41169 now). Don't copy modules back to low memory.
41170
41171 * kern/main.c: Include `<grub/mm.h>'.
41172 (grub_load_modules): Split out (and use) ...
41173 (grub_module_iterate): ... this function, which iterates through
41174 module objects and runs a hook.
41175 Comment out grub_mm_init_region() call, as it would cause non-ELF
41176 modules to be overwritten.
41177
41178 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41179 the memdisk image in its own region, make it part of the module list.
41180 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41181 (main): Parse --memdisk|-m option, and pass user-provided path as
41182 parameter to generate_image().
41183 (add_segments): Pass `memdisk_path' down to load_modules().
41184 (load_modules): Embed memdisk image in module section when requested.
41185 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41186 `header.type' instead of `header.offset'.
41187
41188 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41189 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41190 (memdisk_mod_LDFLAGS): New variables.
41191 * conf/i386-coreboot.rmk: Likewise.
41192 * conf/i386-ieee1275.rmk: Likewise.
41193
a927cc73 411942008-08-02 Robert Millan <rmh@aybabtu.com>
41195
41196 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41197 (backward_relocator): New variables. Used to allocate and relocate
41198 the payload, respectively.
41199 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41200 address, install the appropriate relocator code in each bound of
a927cc73 41201 the payload, and set the entry point such that
41202 grub_multiboot_real_boot() will jump to one of them.
41203
41204 * kern/i386/loader.S (grub_multiboot_payload_size)
41205 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41206 (grub_multiboot_payload_entry_offset): New variables.
41207 (grub_multiboot_real_boot): Set cpu context to what the relocator
41208 expects, and jump to the relocator instead of the payload.
41209
41210 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41211 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41212 (grub_multiboot_payload_entry_offset): Export.
41213
b15d8a0c 412142008-08-01 Bean <bean123ch@gmail.com>
41215
41216 * normal/menu_entry.c (editor_getline): Don't return the original
41217 string as result, as it will be released by lexer once it has done
41218 using it.
41219
cdfb3d22 412202008-08-01 Robert Millan <rmh@aybabtu.com>
41221
41222 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41223 within menuentries, not before them.
41224 util/grub.d/10_hurd.in: Likewise.
41225
9175e93d 412262008-08-01 Bean <bean123ch@gmail.com>
41227
41228 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41229 (bufio_mod_SOURCES): New macro.
41230 (bufio_mod_CFLAGS): Likewise.
41231 (bufio_mod_LDFLAGS): Likewise.
41232
41233 * include/grub/bufio.h: New file.
41234
41235 * io/bufio.c: Likewise.
41236
41237 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41238 (grub_video_reader_png): Use grub_buffile_open to open file.
41239
41240 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41241 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41242
41243 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41244 (grub_video_reader_tga): Use grub_buffile_open to open file.
41245
41246 * font/manager.c: Include <grub/bufio.h>.
41247 (add_font): Use grub_buffile_open to open file.
41248
3d8383e7 412492008-07-31 Robert Millan <rmh@aybabtu.com>
41250
41251 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41252 ELF segments, use a macro for arbitrarily accessing any of them instead
41253 of preparing a pointer that allows access to one at a time.
41254 (grub_multiboot_load_elf64): Likewise.
41255
16e641b6 412562008-07-31 Bean <bean123ch@gmail.com>
41257
41258 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41259 GRUB_KERNEL_MACHINE_DATA_END.
41260
59198b72 412612008-07-30 Robert Millan <rmh@aybabtu.com>
41262
41263 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41264 Increase from 0x50 to 0x60.
41265 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41266 use UUIDs to identify the root drive for them. If that's not
41267 possible, abort.
41268 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41269 check, for cross-disk installs.
41270
ae88bca3 412712008-07-30 Robert Millan <rmh@aybabtu.com>
41272
41273 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41274 is non-empty, use it to set the `prefix' environment variable instead
41275 of the usual approach.
41276 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41277 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41278 environment variable instead of dummy make_install_device().
41279
41280 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41281 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41282 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41283
41284 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41285 New variable reference.
41286 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41287 New macro. Defines offset of `grub_prefix' within startup.S (relative
41288 to `start').
41289 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41290 section within startup.S (relative to `start').
41291 * include/grub/i386/coreboot/kernel.h: Likewise.
41292
41293 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41294 Overwrite grub_prefix with its contents, at the beginning of the
41295 first segment.
41296 (main): Understand -p|--prefix.
41297
14f41dd1 412982008-07-30 Robert Millan <rmh@aybabtu.com>
41299
41300 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41301
4ca049a3 413022008-07-30 Robert Millan <rmh@aybabtu.com>
41303
41304 * term/i386/pc/vga_text.c (grub_console_cls): Use
41305 grub_console_gotoxy() to go back to beginning of the screen.
41306 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41307
2921d337 413082008-07-29 Christian Franke <franke@computer.org>
41309
41310 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41311 Add conversion of emulated mount points on Cygwin.
41312
b609876d 413132008-07-29 Christian Franke <franke@computer.org>
41314
41315 * util/update-grub.in: Add a check for admin
41316 group on Cygwin.
41317 Remove old `grub.cfg.new' before creation.
41318 Add `-f' to `mv' to handle the different filesystem
41319 semantics of Windows.
41320
e93e4679 413212008-07-29 Bean <bean123ch@gmail.com>
41322
41323 * normal/main.c (get_line): Fix buffer overflow bug.
41324
41694fd0 413252008-07-28 Robert Millan <rmh@aybabtu.com>
41326
41327 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41328 (struct grub_apple_header): New struct. Describes the layout of
41329 the partmap header.
41330 (apple_partition_map_iterate): Check the header magic as well as the
41331 partition magic (which was already being checked).
41332
cfd0b4e6 413332008-07-28 Pavel Roskin <proski@gnu.org>
41334
41335 * genmk.rb: Add a warning to the beginning of the output that
41336 it's a generated file and should not be edited.
41337
93cce016 413382008-07-28 Robert Millan <rmh@aybabtu.com>
41339
41340 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41341 with the same number are found, just use issue a warning with
41342 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41343
cd1df915 413442008-07-27 Robert Millan <rmh@aybabtu.com>
41345
41346 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41347 information.
41348
b70a8427 413492008-07-27 Bean <bean123ch@gmail.com>
41350
41351 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41352 (grub_fat_find_dir): Ignore case when comparing filename.
41353
8f5e379f 413542008-07-27 Bean <bean123ch@gmail.com>
41355
41356 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41357 smallino, as it's more descriptive, and i8count can be confused with
41358 the other field count.
41359 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41360 inode type.
41361
a85cd5a0 413622008-07-27 Bean <bean123ch@gmail.com>
41363
41364 * commands/crc.c: New file.
41365
41366 * lib/crc.c: Likewise.
41367
41368 * include/grub/lib/crc.h: Likewise.
41369
41370 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41371
41372 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41373 (hexdump): Move this function to ...
41374
41375 * lib/hexdump.c: ... here.
41376
41377 * include/grub/hexdump.h: Renamed to ...
41378
41379 * include/grub/lib/hexdump.h: ... this.
41380
41381 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41382
41383 * util/grub-editenv.c: Likewise.
41384
41385 * include/envblk.h: Renamed to ...
41386
41387 * include/lib/envblk.h: ... this.
41388
41389 * util/envblk.c: Renamed to ...
41390
41391 * lib/envblk.c: ... this.
41392
41393 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41394 lib/hexdump.c.
41395 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41396 (pkglib_MODULES): Add crc.mod.
41397 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41398 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41399 (crc_mod_SOURCES): New macro.
41400 (crc_mod_CFLAGS): Likewise.
41401 (crc_mod_LDFLAGS): Likewise.
41402
41403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41404
41405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41406
41407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41408
41409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41410
41411 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41412
c298def0 414132008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41414
41415 * commands/help.c: Include <grub/term.h>.
41416 (TERM_WIDTH): Removed. Updated all users.
41417
cc349fb3 414182008-07-27 Pavel Roskin <proski@gnu.org>
41419
41420 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41421 spurious warnings about a comment within a comment.
41422
9051607e 414232008-07-25 Robert Millan <rmh@aybabtu.com>
41424
41425 * util/getroot.c (find_root_device): Skip devices that match
41426 /dev/dm-[0-9]. This lets the real device be found for any type of
41427 abstraction (LVM, EVMS, RAID..).
41428 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41429 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41430 device is found first, find_root_device() will now skip it.
41431
01453bfc 414322008-07-24 Pavel Roskin <proski@gnu.org>
41433
41434 * include/grub/types.h: Use __builtin_bswap32() and
41435 __builtin_bswap64() with gcc 4.3 and newer.
41436
6af9849f 414372008-07-24 Christian Franke <franke@computer.org>
41438
3a0fa256 41439 * util/i386/pc/grub-install.in: If `--debug' is specified,
41440 pass `--verbose' to grub-setup.
41441 Abort script if make_system_path_relative_to_its_root() fails.
41442
7810e747 414432008-07-24 Bean <bean123ch@gmail.com>
41444
41445 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41446 variable `target_platform' should be `platform'.
41447
42290e17 414482008-07-24 Bean <bean123ch@gmail.com>
41449
51cc5193 41450 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41451 (grub_png_init_fixed_block): New function.
41452 (grub_png_decode_image_data): Handle fixed huffman code compression.
41453
2a8a80e4 414542008-07-24 Bean <bean123ch@gmail.com>
41455
41456 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41457 (grub_pe2elf_SOURCES): New macro.
41458 (CLEANFILES): Add grub-pe2elf.
41459
41460 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41461 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41462 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41463 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41464 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41465 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41466 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41467 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41468 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41469 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41470 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41471 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41472 (GRUB_PE32_DT_FUNCTION): Likewise.
41473 (GRUB_PE32_REL_I386_DIR32): Likewise.
41474 (GRUB_PE32_REL_I386_REL32): Likewise.
41475 (grub_pe32_symbol): New structure.
41476 (grub_pe32_reloc): Likewise.
41477
41478 * util/grub-pe2elf.c: New file.
41479
41480 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41481 start symbol in non pc platform.
41482
41483 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41484
41485 The following patches are from Christian Franke.
41486
41487 * include/grub/dl.h: Remove .previous, gas supports this only
41488 for ELF format.
41489
41490 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41491 Remove .type, gas supports this only for ELF format.
41492
41493 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41494 nullbytes in symbol table. This fixes an infinite loop if table is
41495 zero filled.
41496
41497 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41498 TARGET_IMG_LDFLAGS and EXEEXT.
41499
41500 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41501 TARGET_IMG_LDFLAGS_AC.
41502 (grub_CHECK_STACK_ARG_PROBE): New function.
41503
41504 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41505
41506 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41507
41508 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41509 to set TARGET_IMG_LD* accordingly.
41510 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41511 Add call to grub_CHECK_STACK_ARG_PROBE.
41512 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41513
41514 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41515
41516 * genmk.rb: Add EXEEXT to CLEANFILES.
41517
12ccdb75 415182008-07-23 Robert Millan <rmh@aybabtu.com>
41519
41520 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41521 define the codes for arrows and lines used for the menu).
41522 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41523 as well.
41524
41525 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41526 fonts, because the latter are too slow.
41527
18eeaf04 415282008-07-21 Bean <bean123ch@gmail.com>
41529
41530 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41531 a20. Run keyboard test last, as it will cause macbook to halt.
41532
b095e2ad 415332008-07-18 Pavel Roskin <proski@gnu.org>
41534
41535 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41536 load foreign architecture modules correctly anyway. Keep
41537 support for loading host architecture modules, whether we
41538 compile them or not.
41539
737feb35 415402008-07-17 Pavel Roskin <proski@gnu.org>
41541
3f4ce737 41542 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41543 change target_cpu. The compiler default can mismatch target_cpu
41544 in any case.
41545
4ad2d049 41546 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41547 * kern/efi/efi.c: Likewise.
41548
f6130a12 41549 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41550 target compiler is functional.
41551 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41552 are set up.
41553
58393a2d 41554 * configure.ac: Default to efi platform for x86_64-apple. Allow
41555 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41556 adjustments from the rest, only do them if target is not
41557 explicitly given. Merge other adjustments with the final sanity
41558 check. Remove an extraneous check for supported CPU. Be
41559 specific which CPU and which platform is not supported.
41560
737feb35 41561 * configure.ac: Default to pc platform for x86_64.
41562
546f966a 415632008-07-17 Robert Millan <rmh@aybabtu.com>
41564
41565 Partial LinuxBIOS -> Coreboot rename.
41566
41567 * conf/i386-linuxbios.rmk: Renamed to ...
41568 * conf/i386-coreboot.rmk: ... this.
41569 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41570 * configure.ac: Accept "coreboot" as input platform (but maintain
41571 compatibility with "linuxbios").
41572 * include/grub/i386/linuxbios: Renamed to ...
41573 * include/grub/i386/coreboot: ... this.
41574
20011694 415752008-07-17 Bean <bean123ch@gmail.com>
41576
41577 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41578 (appleldr_mod_SOURCE): New variable.
20011694 41579 (appleldr_mod_CFLAGS): Likewise.
41580 (appleldr_mod_LDFLAGS): Likewise.
41581 (pci_mod_SOURCES): Likewise.
41582 (pci_mod_CFLAGS): Likewise.
41583 (pci_mod_LDFLAGS): Likewise.
41584 (lspci_mod_SOURCES): Likewise.
41585 (lspci_mod_CFLAGS): Likewise.
41586 (lspci_mod_LDFLAGS): Likewise.
41587
41588 * conf/x86_64-efi.rmk: New file.
41589
41590 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41591 macro.
41592 (grub_efidisk_write): Likewise.
41593
41594 * include/efi/api.h (efi_call_0): New macro.
41595 (efi_call_1): Likewise.
41596 (efi_call_2): Likewise.
41597 (efi_call_3): Likewise.
41598 (efi_call_4): Likewise.
41599 (efi_call_5): Likewise.
41600 (efi_call_6): Likewise.
41601
41602 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41603 grub_rescue_cmd_chainloader.
41604
41605 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41606 (grub_pe32_optional_header): Change some fields based on i386 or
41607 x86_64 platform.
41608 (GRUB_PE32_PE32_MAGIC): Likewise.
41609
41610 * include/grub/efi/uga_draw.h: New file.
41611
41612 * include/grub/elf.h (STN_ABS): New constant.
41613 (R_X86_64_NONE): Relocation constant for x86_64.
41614 (R_X86_64_64): Likewise.
41615 (R_X86_64_PC32): Likewise.
41616 (R_X86_64_GOT32): Likewise.
41617 (R_X86_64_PLT32): Likewise.
41618 (R_X86_64_COPY): Likewise.
41619 (R_X86_64_GLOB_DAT): Likewise.
41620 (R_X86_64_JUMP_SLOT): Likewise.
41621 (R_X86_64_RELATIVE): Likewise.
41622 (R_X86_64_GOTPCREL): Likewise.
41623 (R_X86_64_32): Likewise.
41624 (R_X86_64_32S): Likewise.
41625 (R_X86_64_16): Likewise.
41626 (R_X86_64_PC16): Likewise.
41627 (R_X86_64_8): Likewise.
41628 (R_X86_64_PC8): Likewise.
41629
41630 * include/grub/i386/efi/pci.h: New file.
41631
41632 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41633 Change it value based on platform.
41634 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41635 (GRUB_E820_RAM): Likewise.
41636 (GRUB_E820_RESERVED): Likewise.
41637 (GRUB_E820_ACPI): Likewise.
41638 (GRUB_E820_NVS): Likewise.
41639 (GRUB_E820_EXEC_CODE): Likewise.
41640 (GRUB_E820_MAX_ENTRY): Likewise.
41641 (grub_e820_mmap): New structure.
41642 (linux_kernel_header): Change the efi field according to different
41643 kernel version, also field from linux_kernel_header.
41644
41645 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41646
41647 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41648 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41649 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41650 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41651 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41652 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41653 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41654 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41655 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41656 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41657
41658 * include/grub/x86_64/efi/kernel.h: New file.
41659
41660 * include/grub/x86_64/efi/loader.h: Likewise.
41661
41662 * include/grub/x86_64/efi/machine.h: Likewise.
41663
41664 * include/grub/x86_64/efi/pci.h: Likewise.
41665
41666 * include/grub/x86_64/efi/time.h: Likewise.
41667
41668 * include/grub/x86_64/linux.h: Likewise.
41669
41670 * include/grub/x86_64/setjmp.h: Likewise.
41671
41672 * include/grub/x86_64/time.h: Likewise.
41673
41674 * include/grub/x86_64/types.h: Likewise.
41675
41676 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41677 GRUB_TARGET_SIZEOF_VOID_P.
41678
41679 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41680 (grub_efi_locate_handle): Likewise.
41681 (grub_efi_open_protocol): Likewise.
41682 (grub_efi_set_text_mode): Likewise.
41683 (grub_efi_stall): Likewise.
41684 (grub_exit): Likewise.
41685 (grub_reboot): Likewise.
41686 (grub_halt): Likewise.
41687 (grub_efi_exit_boot_services): Likewise.
41688 (grub_get_rtc): Likewise.
41689
41690 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41691 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41692 (grub_efi_allocate_pages): Wrap efi calls.
41693 (grub_efi_free_pages): Wrap efi calls.
41694 (grub_efi_get_memory_map): Wrap efi calls.
41695
41696 * kern/x86_64/dl.c: New file.
41697
41698 * kern/x86_64/efi/callwrap.S: Likewise.
41699
41700 * kern/x86_64/efi/startup.S: Likewise.
41701
41702 * loader/efi/appleloader.c: Likewise.
41703
41704 * loader/efi/chainloader.c (cmdline): New variable.
41705 (grub_chainloader_unload): Wrap efi calls.
41706 (grub_chainloader_boot): Likewise.
41707 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41708 command line.
41709
41710 * loader/efi/chainloader_normal.c (chainloader_command):
41711 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41712 command line.
41713
41714 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41715 method.
41716 (grub_e820_add_region): New function.
41717 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41718 booting.
41719 (grub_find_video_card): New function.
41720 (grub_linux_setup_video): New function.
41721 (grub_rescue_cmd_linux): Probe for video information.
41722
41723 * normal/x86_64/setjmp.S: New file.
41724
41725 * term/efi/console.c (map_char): New function.
41726 (grub_console_putchar): Map unicode char.
41727 (grub_console_checkkey): Wrap efi calls.
41728 (grub_console_getkey): Likewise.
41729 (grub_console_getwh): Likewise.
41730 (grub_console_gotoxy): Likewise.
41731 (grub_console_cls): Likewise.
41732 (grub_console_setcolorstate): Likewise.
41733 (grub_console_setcursor): Likewise.
41734
41735 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41736
59652a20 417372008-07-16 Pavel Roskin <proski@gnu.org>
41738
ef294055 41739 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41740 format strings.
41741
59652a20 41742 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41743 pointer, not an integer. This fixes a warning and prevents
41744 precision loss on 64-bit systems.
41745 (relocate_addresses): Remove unneeded cast.
41746
afc3b5d7 417472008-07-15 Pavel Roskin <proski@gnu.org>
41748
506b2b3e 41749 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41750
62ead89c 41751 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41752
c4cd51d7 41753 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41754 Fix comparison between signed and unsigned.
41755
0d3d8f28 41756 * include/grub/i386/ieee1275/console.h: Declare
41757 grub_console_init() and grub_console_fini().
41758
8804b286 41759 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41760 It's empty and unused.
41761
ee01cf35 41762 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41763 beginning to avoid warnings with some compilers.
41764
afc3b5d7 41765 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41766 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41767
e4e8eaa5 417682008-07-14 Pavel Roskin <proski@gnu.org>
41769
407aceb4 41770 * kern/env.c (grub_register_variable_hook): Don't copy empty
41771 string, it leaks memory. Pass "" to grub_env_set(), it should
41772 handle constant strings.
41773
e4e8eaa5 41774 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41775 * commands/cmp.c (grub_cmd_cmp): Likewise.
41776 * kern/dl.c (grub_dl_flush_cache): Likewise.
41777 (grub_dl_load_core): Likewise.
41778 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41779 (grub_elf64_load_phdrs): Likewise.
41780
d4e2dad3 417812008-07-13 Pavel Roskin <proski@gnu.org>
41782
41783 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41784 between signed and unsigned.
41785 (LzmaEnc_Finish): Fix warning about an unused parameter.
41786
aa24b516 417872008-07-13 Bean <bean123ch@gmail.com>
41788
41789 * Makefile.in (enable_lzo): New rule.
41790
41791 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41792
41793 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41794
41795 * boot/i386/pc/lnxboot.S: #include <config.h>.
41796
41797 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41798 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41799
41800 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41801 compression algorithm according to configure macro.
41802
41803 * kern/i386/pc/startup.S (codestart): Likewise.
41804
41805 * kern/i386/pc/lzma_decode.S: New file.
41806
41807 * include/grub/lib/LzFind.h: Likewise.
41808
41809 * include/grub/lib/LzHash.h: Likewise.
41810
41811 * include/grub/lib/LzmaDec.h: Likewise.
41812
41813 * include/grub/lib/LzmaEnc.h: Likewise.
41814
41815 * include/grub/lib/LzmaTypes.h: Likewise.
41816
41817 * lib/LzFind.c: Likewise.
41818
41819 * lib/LzmaDec.c: Likewise.
41820
41821 * lib/LzmaEnc.c: Likewise.
41822
4ae821ac 418232008-07-13 Bean <bean123ch@gmail.com>
41824
41825 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41826 (grub_ext4_extent_header): New structure.
41827 (grub_ext4_extent): Likewise.
41828 (grub_ext4_extent_idx): Likewise.
41829 (grub_ext4_find_leaf): New function.
41830 (grub_ext2_read_block): Handle extents.
41831
9a745147 418322008-07-12 Robert Millan <rmh@aybabtu.com>
41833
41834 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41835
d49a4cf6 418362008-07-11 Robert Millan <rmh@aybabtu.com>
41837
41838 * util/grub.d/40_custom.in: New file. Example on how to add custom
41839 entries to /etc/grub.d.
41840 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41841 40_custom (implicitly, by merging all the grub.d rules).
41842
947414b4 418432008-07-11 Pavel Roskin <proski@gnu.org>
41844
0059cf6f 41845 * commands/read.c (grub_getline): Fix invalid memory access.
41846 Don't add newline to the variable value.
41847
947414b4 41848 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41849 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41850 (serial_hw_get_port): Check validity of the port number.
41851 (grub_cmd_serial): Check return value of serial_hw_get_port().
41852
62a02d00 418532008-07-07 Pavel Roskin <proski@gnu.org>
41854
41855 * boot/i386/pc/diskboot.S (notification_string): Replace
41856 "Loading kernel" with just "loading". This is shorter, less
41857 confusing and saves a few bytes for possible future changes.
41858
3e5581b0 418592008-07-05 Pavel Roskin <proski@gnu.org>
41860
ea387a48 41861 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41862 size for ATAPI devices, they are undefined. Output sector
41863 number in decimal form.
41864
3e5581b0 41865 * disk/ata.c: Use named constants for status bits.
41866
fdecb8fd 418672008-07-04 Pavel Roskin <proski@gnu.org>
41868
bcd35b90 41869 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41870 grub_addr_t before casting it to the void pointer to fix a
41871 warning. Non-addressable regions are discarded earlier.
41872 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41873 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41874 (check_signature): Don't shadow table_header.
41875 (grub_linuxbios_table_iterate): Cast numeric constants to
41876 grub_linuxbios_table_header_t.
41877 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41878 grub_stop().
41879
af58ab3d 41880 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41881 prevent warnings.
41882
1759aa57 41883 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41884 pointer, which can cause warnings. Support 64-bit addresses.
41885
fdecb8fd 41886 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41887 of sizeof(long). This fixes PowerPC image generation on x86_64.
41888
8516d2a8 418892008-07-04 Robert Millan <rmh@aybabtu.com>
41890
41891 This fixes a performance issue when pc & gpt partmap iterators
41892 didn't abort iteration even after our hook found what it was
fe987087 41893 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41894
41895 Some callers relied on previous buggy behaviour, since they would
34c44600 41896 raise an error when their own hooks caused early abortion of its
8516d2a8 41897 iteration.
41898
41899 * kern/device.c (grub_device_open): Improve error message.
41900 * disk/lvm.c (grub_lvm_open): Likewise.
41901 * disk/raid.c (grub_raid_open): Likewise.
41902
41903 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41904 when hook requests it, independently of grub_errno.
41905 (pc_partition_map_probe): Do not fail when find_func() caused
41906 early abortion of pc_partition_map_iterate().
41907
41908 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41909 when hook requests it, independently of grub_errno.
41910 (gpt_partition_map_probe): Do not fail when find_func() caused
41911 early abortion of gpt_partition_map_iterate().
41912
41913 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41914 when hook requests it, independently of grub_errno. Do not fail when
41915 part_map_iterate_hook() caused early abortion of p->iterate().
41916
41917 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41918 when grub_partition_iterate() returned with non-zero.
41919
277d0de9 419202008-07-03 Pavel Roskin <proski@gnu.org>
41921
41922 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41923 like we do in grub_ata_pio_read().
41924 (grub_ata_readwrite): Always write individual sectors. Fix the
41925 sector count for the remainder.
41926 (grub_ata_write): Enable writing to ATA devices. Correctly
41927 report error for ATAPI devices.
41928
d4c9b428 419292008-07-02 Pavel Roskin <proski@gnu.org>
41930
e43fc690 41931 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41932 warning.
41933
f707af42 41934 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41935 for every read sector, we already increment it for the whole
41936 batch. This fixes reading more than 256 sectors at once.
41937
11e16b15 41938 * util/grub-editenv.c (cmd_info): Cast argument to long
41939 explicitly. ptrdiff_t reduces to int on i386.
41940
cbabfdd4 41941 * util/grub-editenv.c (main): Be specific which parameter is
41942 missing.
41943
b8fbce0a 41944 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41945 (memdisk): Make memdisk_orig_addr a pointer.
41946
c9c8e606 41947 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41948 for file offsets, use grub_off_t instead. Fix printf format
41949 warnings.
41950
ca62e598 41951 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41952 there. Real unexpected warnings should not drown in the noise
41953 about known problems.
41954
ce8d1766 41955 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41956 grub_disk_addr_t for memory addresses.
41957
00c7a56a 41958 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41959 explicitly to fix a warning.
41960
08d3ef09 41961 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41962
cb71ba20 41963 * Makefile.in (MODULE_LDFLAGS): New variable.
41964 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41965 the linker accepts --build-id=none.
41966 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41967 MODULE_LDFLAGS.
41968 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41969
d4c9b428 41970 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41971 those in Linux XFS code. Provide a way to access 64-bit parent
41972 inode.
41973 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41974 the end of struct grub_xfs_dir_header.
41975
d4156eee 419762008-07-02 Bean <bean123ch@gmail.com>
41977
41978 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41979 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41980 and GRUB_IEEE1275_FLAG_NO_ANSI.
41981
41982 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41983 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41984 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41985
41986 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41987 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41988
41989 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41990 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41991
41992 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41993 esc sequence on non ANSI terminal.
41994 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41995
41996 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41997 beginning of file.
41998
2270f77b 419992008-07-02 Bean <bean123ch@gmail.com>
42000
42001 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42002 (grub_editenv_SOURCES): New variable.
42003 (pkglib_MODULES): Add loadenv.mod.
42004 (loadenv_mod_SOURCES): New variable.
42005 (loadenv_mod_CFLAGS): Likewise.
42006 (loadenv_mod_LDFLAGS): Likewise.
42007
42008 * include/grub/envblk.h: New file.
42009
42010 * util/envblk.c: New file.
42011
42012 * util/grub-editenv.c: New file.
42013
42014 * commands/loadenv.c: New file.
42015
0e9e51ec 420162008-07-01 Pavel Roskin <proski@gnu.org>
42017
d89b7634 42018 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42019 not unsigned char. This fixes warnings and is consistent with
42020 other tags.
42021
bf1835b1 42022 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42023
8222a04b 42024 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42025
6a42d99d 42026 * term/tparm.c (analyze): Always set *popcount.
42027
10b159d1 42028 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42029 cast to fix a warning.
42030
b8789f6c 42031 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42032 cast to suppress a warning.
42033
29d7e38a 42034 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42035 grub_fshelp_read_file() expects.
42036
f341f669 42037 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42038 write uuid as a 32-bit value in CPU byte order, so declare and
42039 use it as such.
42040
0e9e51ec 42041 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42042 long if the format specifier expects it.
42043 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42044 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42045 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42046 long to fix a warning.
42047 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42048 grub_dprintf() arguments to fix warnings.
42049
3aefa857 420502008-06-30 Pavel Roskin <proski@gnu.org>
42051
56c7668b 42052 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42053 install_bsd_part immediately before core.img is embedded or
42054 modified on disk. This fixes core.img verification if core.img
42055 cannot be embedded.
42056
3aefa857 42057 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42058 core_path to calculate the blocklist.
42059 Patch from Javier Martín <lordhabbit@gmail.com>
42060
5444088d 420612008-06-29 Robert Millan <rmh@aybabtu.com>
42062
42063 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42064 block to disk block.
42065 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42066 Patch from Niels Böhm <bitbucket@arcor.de>
42067
674835c8 420682008-06-29 Robert Millan <rmh@aybabtu.com>
42069
42070 * util/update-grub_lib.in (font_path): Search for fonts in
42071 /boot/grub first, which is more likely to be readable (we aren't
42072 deciding where fonts live, just looking for them).
42073
f527dbc8 420742008-06-26 Pavel Roskin <proski@gnu.org>
42075
6c2d8df6 42076 * util/biosdisk.c (read_device_map): Don't leave dead map
42077 entries for devices failing stat() check.
42078
f527dbc8 42079 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42080 core_path_dev for the core.img path on the target device.
42081
aebe3d13 420822008-06-26 Robert Millan <rmh@aybabtu.com>
42083
42084 * disk/fs_uuid.c: New file.
42085 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42086 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42087 (fs_uuid_mod_LDFLAGS): New variables.
42088 * include/grub/disk.h (grub_disk_dev_id): Add
42089 `GRUB_DISK_DEVICE_UUID_ID'.
42090 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42091 implement iterate().
42092
37aaf354 420932008-06-26 Robert Millan <rmh@aybabtu.com>
42094
42095 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42096 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42097 Linux image includes no initrd.
42098
25ff262a 420992008-06-21 Javier Martín <lordhabbit@gmail.com>
42100
42101 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42102 call to resolve the core image location that effectively appended the
42103 name twice.
42104
76a2bd44 421052008-06-21 Robert Millan <rmh@aybabtu.com>
42106
42107 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42108 call from here ...
42109
42110 * util/grub.d/10_hurd.in: ... to here ...
42111 * util/grub.d/10_linux.in: ... and here.
42112
650e1c79 421132008-06-19 Robert Millan <rmh@aybabtu.com>
42114
fe987087 42115 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42116 after it has been set by grub_machine_set_prefix().
42117
6ce63911 421182008-06-19 Robert Millan <rmh@aybabtu.com>
42119
42120 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42121 search result when not saving to variable, not the other way around.
42122 When saving to variable, abort iteration as soon as a match is found.
42123
73940cec 421242008-06-19 Robert Millan <rmh@aybabtu.com>
42125
42126 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42127 check for partition that provides /boot/grub. Its logic is flawed,
42128 as it prevents prepare_grub_to_access_device() from being called
42129 multiple times.
42130
3c62a39d 421312008-06-19 Robert Millan <rmh@aybabtu.com>
42132
42133 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42134 "insmod" command directly when abstraction modules are needed,
fe987087 42135 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42136 since it had already been processed).
42137
47395a42 421382008-06-19 Pavel Roskin <proski@gnu.org>
42139
42140 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42141 changed. This is needed in case GRUB_LIBDIR changes.
42142 * conf/i386-ieee1275.rmk: Likewise.
42143 * conf/i386-linuxbios.rmk: Likewise.
42144 * conf/i386-pc.rmk: Likewise.
42145 * conf/powerpc-ieee1275.rmk: Likewise.
42146
a145ac2d 421472008-06-18 Pavel Roskin <proski@gnu.org>
42148
42149 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42150 kernel_elf_symlist.c to symlist.c for consistency with other
42151 architectures. Update all users.
42152 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42153
7847c51e 421542008-06-18 Robert Millan <rmh@aybabtu.com>
42155
42156 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42157 it in prefix.
42158
42159 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42160 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42161 a RAID device, run setup() for all members independently on whether
42162 LVM abstraction is being used.
42163 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42164 If grub-mkimage has set `*install_dos_part == -2', don't override this
42165 value.
42166 Perform *install_dos_part adjustments independently on whether
42167 we're embedding or not.
42168 Clarify error message when image is too big for embedding.
42169 Remove duplicate *install_dos_part stanza.
42170
b23e5644 421712008-06-17 Robert Millan <rmh@aybabtu.com>
42172
42173 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42174 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42175 variables.
42176 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42177 values in grub_ofconsole_normal_color and
42178 grub_ofconsole_highlight_color (they're not directly related to
42179 background and foreground).
42180 (grub_ofconsole_setcolorstate): Extract background and foreground
42181 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42182
0aac2f79 421832008-06-17 Robert Millan <rmh@aybabtu.com>
42184
42185 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42186 /boot/grub for the check in last commit, not /boot (they could be
42187 different partitions).
42188
3cca7ef3 421892008-06-16 Robert Millan <rmh@aybabtu.com>
42190
42191 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42192 asked to setup access for the same partition that provides /boot,
42193 don't bother using UUIDs since our root already has the value we
42194 want.
42195
347396d8 421962008-06-16 Robert Millan <rmh@aybabtu.com>
42197
42198 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42199 I2O devices.
42200 Patch from Sven Mueller <sven@debian.org>.
42201
991477f8 422022008-06-16 Robert Millan <rmh@aybabtu.com>
42203
42204 * util/update-grub.in: Check for $EUID instead of $UID.
42205 Reported by Vincent Zweije.
42206
d31a32a1 422072008-06-16 Bean <bean123ch@gmail.com>
42208
fe987087 42209 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42210 (grub_ext2_read_block): Likewise.
42211 (grub_ext2_read_inode): Likewise.
42212 (grub_ext2_mount): Likewise.
42213 (grub_ext2_close): Likewise.
42214 (grub_ext3_get_journal): Removed.
42215
fe987087 42216 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42217 (grub_reiserfs_read_symlink): Likewise.
42218 (grub_reiserfs_mount): Likewise.
42219 (grub_reiserfs_open): Likewise.
42220 (grub_reiserfs_read): Likewise.
42221 (grub_reiserfs_close): Likewise.
42222 (grub_reiserfs_get_journal): Removed.
42223
42224 * fs/fshelp.c (grub_fshelp_read): Removed.
42225 (grub_fshelp_map_block): Likewise.
42226
42227 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42228 (grub_fshelp_journal): Likewise.
42229 (grub_fshelp_read): Likewise.
42230 (grub_fshelp_map_block): Likewise.
42231
3540a760 422322008-06-16 Pavel Roskin <proski@gnu.org>
42233
42234 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42235 floating point anymore.
42236 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42237
95614c84 422382008-06-15 Pavel Roskin <proski@gnu.org>
42239
42240 * commands/ls.c (grub_ls_list_files): Use integer calculations
42241 for human readable format, avoid floating point use.
42242 * kern/misc.c (grub_ftoa): Remove.
42243 (grub_vsprintf): Remove floating point support.
42244
50465dd6 422452008-06-15 Robert Millan <rmh@aybabtu.com>
42246
fe6b695a 42247 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42248 devices.
42249 Reported by Max Vozeler.
42250
a9207284 422512008-06-15 Robert Millan <rmh@aybabtu.com>
42252
42253 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42254 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42255 skipped later.
42256 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42257 the beginning of the prefix.
42258
42259 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42260 It is assumed that if we have a memdisk, grub-mkimage has set
42261 grub_prefix to include the "(memdisk)" drive in it.
42262
a7cbd45a 422632008-06-15 Robert Millan <rmh@aybabtu.com>
42264
42265 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42266 Initialize keyboard controller after registering the terminal, so that
42267 grub_printf() can be called from grub_keyboard_controller_init().
42268
21cf716a 422692008-06-15 Robert Millan <rmh@aybabtu.com>
42270
42271 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42272 extent-btree which is written as big endian on disk.
42273 Reported by Alain Greppin <al@chilibi.org>.
42274
23a64d8e 422752008-06-14 Robert Millan <rmh@aybabtu.com>
42276
42277 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42278 * util/i386/pc/grub-install.in (modules): Likewise.
42279
d687651c 422802008-06-13 Pavel Roskin <proski@gnu.org>
42281
42282 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42283
dfe9ddd4 422842008-06-13 Bean <bean123ch@gmail.com>
42285
42286 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42287
42288 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42289
42290 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42291 to indicate sparse block.
42292
16ae7781 422932008-06-12 Pavel Roskin <proski@gnu.org>
42294
e6d1a308 42295 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42296 number, grub_fshelp_read() does it for us.
42297
16ae7781 42298 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42299 linear disk read with journal translation.
42300 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42301 * include/grub/fshelp.h: Declare grub_fshelp_read().
42302
40fd3a2b 423032008-06-09 Pavel Roskin <proski@gnu.org>
42304
42305 * fs/minix.c (grub_minix_mount): Handle error reading
42306 superblock.
42307
f5679726 423082008-06-08 Robert Millan <rmh@aybabtu.com>
42309
42310 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42311 don't append the RAID prefix afterwards.
42312 Reported by Clint Adams.
42313
ce525529 423142008-06-08 Robert Millan <rmh@aybabtu.com>
42315
42316 Based on description from Pavel:
42317 * kern/disk.c (grub_disk_check_range): Rename to ...
42318 (grub_disk_adjust_range): ... this. Add a comment explaining the
42319 tasks performed by this function.
42320
ad4936a0 423212008-06-08 Robert Millan <rmh@aybabtu.com>
42322
42323 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42324 `num_serial' (for consistency with other variables).
42325 (struct grub_ntfs_data): Add `uuid' member.
42326 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42327 (grub_ntfs_uuid): New function.
42328 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42329
dc20b0f9 423302008-06-07 Pavel Roskin <proski@gnu.org>
42331
42332 * util/biosdisk.c (open_device): Revert last change to the
42333 function, it broke installation. The sector needs to be
42334 different dependent on which device is opened.
42335
c5e3cfba 423362008-06-06 Robert Millan <rmh@aybabtu.com>
42337
42338 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42339 rest of GRUB, and breakage doesn't happen if its value were modified.
42340
42341 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42342 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42343 a constant (same value).
42344 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42345 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42346
26a1f8c4 423472008-06-06 Robert Millan <rmh@aybabtu.com>
42348
42349 * util/biosdisk.c (open_device): Do not modify sector offset when
42350 accessing a partition. kern/disk.c already handles this for us.
42351
25d6b327 423522008-06-06 Robert Millan <rmh@aybabtu.com>
42353
42354 * util/grub-emu.c (grub_machine_init): Move code in this function from
42355 here ...
42356 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42357 segfault in case grub_printf() is called).
42358
42359 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42360 grub_probe. Update all users not to explicitly add it again.
42361 (grub_device): New variable; contains corresponding device for grubdir.
42362 (fs_module, partmap_module, devabstraction_module): Pass
42363 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42364 every time.
42365
9ece62fb 423662008-06-05 Robert Millan <rmh@aybabtu.com>
42367
42368 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42369 is found, print it (same layout as with labels).
42370
1ad36d37 423712008-06-04 Robert Millan <rmh@aybabtu.com>
42372
42373 * util/biosdisk.c (get_drive): Rename to ...
42374 (find_grub_drive): ... this. Update all users.
42375
42376 (get_os_disk): Rename to ...
42377 (convert_system_partition_to_system_disk): ... this. Update all users.
42378
42379 (find_drive): Rename to ...
42380 (find_system_device): ... this. Update all users.
42381
e6a30859 423822008-06-04 Robert Millan <rmh@aybabtu.com>
42383
42384 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42385 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42386 (make_device_map): Likewise.
42387
00c108a4 423882008-06-01 Robert Millan <rmh@aybabtu.com>
42389
42390 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42391 before dereferencing it.
42392
42393 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42394 union with fat12/fat16-specific ones. Add some new fields, including
42395 `num_serial' for both versions.
42396 (struct grub_fat_data): Add `uuid' member.
42397 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42398 names. Initialize `data->uuid' using `num_serial'.
42399 (grub_fat_uuid): New function.
42400 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42401
42402 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42403 (grub_reiserfs_uuid): New function.
42404 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42405 member.
42406
42407 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42408 (grub_xfs_uuid): New function.
42409 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42410
1385c5bb 424112008-06-01 Robert Millan <rmh@aybabtu.com>
42412
42413 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42414 code that is backward compatible with pre-uuid search command.
42415
c682dfd7 424162008-05-31 Robert Millan <rmh@aybabtu.com>
42417
42418 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42419 floppies after everything else, to ensure floppy drive isn't accessed
42420 unnecessarily (patch from Bean).
42421
b7db5d47 424222008-05-31 Robert Millan <rmh@aybabtu.com>
42423
42424 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42425 not print device names when we were asked to set a variable.
42426
6e037aa9 424272008-05-31 Robert Millan <rmh@aybabtu.com>
42428
42429 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42430 using "cursor-on" and "cursor-off" commands (understood at least by
42431 the Open Firmware flavour on OLPC).
42432
41305bc8 424332008-05-31 Michael Gorven <michael@gorven.za.net>
42434
42435 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42436 on and off sequences.
42437
69ba137e 424382008-05-31 Robert Millan <rmh@aybabtu.com>
42439
42440 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42441 * util/update-grub.in: Likewise.
42442
520ae21b 424432008-05-30 Pavel Roskin <proski@gnu.org>
42444
42445 * util/biosdisk.c (linux_find_partition): Simplify logic and
42446 make the code more universal. Keep special processing for
42447 devfs, but use a simple rule for all other devices. If the
42448 device ends with a number, append 'p' and the partition number.
42449 Otherwise, append only the partition number.
42450
5786569b 424512008-05-30 Robert Millan <rmh@aybabtu.com>
42452
42453 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42454 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42455 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42456 the `root' parameter to Linux.
42457
51500452 424582008-05-30 Robert Millan <rmh@aybabtu.com>
42459
42460 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42461 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42462 --fs_uuid with --fs-uuid.
42463 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42464 all filesystems support them).
42465
811d3878 424662008-05-30 Robert Millan <rmh@aybabtu.com>
42467
42468 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42469 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42470
cab63c95 424712008-05-30 Robert Millan <rmh@aybabtu.com>
42472
42473 * util/grub.d/00_header.in: Remove obsolete comment referencing
42474 convert_system_path_to_grub_path().
42475 * util/update-grub.in: Likewise.
42476 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42477 (convert_system_path_to_grub_path): Add a warning message explaining
42478 that this function is deprecated. Rely on is_path_readable_by_grub()
42479 for the readability checks.
42480 (font_path): Use is_path_readable_by_grub() for the readability
42481 check rather than convert_system_path_to_grub_path().
42482
972e2f7a 424832008-05-30 Robert Millan <rmh@aybabtu.com>
42484
42485 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42486 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42487 converting it first.
42488 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42489 grub.cfg for access to font file, and afterwards call it again to set
42490 the root device.
42491
62191274 424922008-05-30 Robert Millan <rmh@aybabtu.com>
42493
42494 * commands/search.c (options): Add --fs_uuid option.
42495 (search_fs_uuid): New function.
42496 (grub_cmd_search): Fix --set argument passing.
42497 Use search_fs_uuid() when requested via --fs_uuid.
42498 (grub_search_init): Update help message.
42499 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42500 and redeclare it as an array of 16-bit words.
42501 (grub_ext2_uuid): New function.
42502 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42503 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42504 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42505 (GRUB_DEVICE_BOOT_UUID): New variables.
42506 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42507 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42508 whenever possible.
42509 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42510 just assume `root' variable has the right value.
42511 * util/grub.d/10_linux.in: Likewise.
42512 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42513 via PRINT_FS_UUID.
42514 (main): Recognise `-t fs_uuid' argument.
42515
01b73ec8 425162008-05-30 Robert Millan <rmh@aybabtu.com>
42517
42518 * util/biosdisk.c (map): Redefine structure to hold information
42519 about GRUB drive name.
fe6b695a 42520 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42521 drive names.
42522 (call_hook): Remove.
42523 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42524 member. Assume drive has partitions.
42525 (grub_util_biosdisk_open): Access device names via `.device' struct
42526 member.
42527 (open_device): Likewise.
42528 (find_drive): Likewise.
42529 (read_device_map): Adjust map[] usage to match the new struct
42530 definition. Don't check for duplicates (still possible, but not cheap
42531 anymore).
42532 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42533 (make_device_name): Remove assumption of BIOS-like drive names.
42534
22f16596 425352008-05-30 Pavel Roskin <proski@gnu.org>
42536
42537 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42538 compiling execute.c doesn't need grub_script.tab.h anymore.
42539 (normal/command.c_DEPENDENCIES): Likewise.
42540 (normal/function.c_DEPENDENCIES): Likewise.
42541 * conf/i386-ieee1275.rmk: Likewise.
42542 * conf/i386-linuxbios.rmk: Likewise.
42543 * conf/i386-pc.rmk: Likewise.
42544 * conf/powerpc-ieee1275.rmk: Likewise.
42545 * conf/sparc64-ieee1275.rmk: Likewise.
42546
528ad8f2 425472008-05-29 Pavel Roskin <proski@gnu.org>
42548
d1dff95d 42549 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42550 when scanning metadata for volume group name.
42551
528ad8f2 42552 * include/grub/script.h: Don't include grub_script.tab.h. It's
42553 a generated file, which may only be included from the files with
42554 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42555 use union YYSTYPE, as the later allows forward declaration.
42556 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42557
47248e08 425582008-05-29 Robert Millan <rmh@aybabtu.com>
42559
42560 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42561 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42562 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42563 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42564 scan codes.
42565
ee632529 425662008-05-29 Robert Millan <rmh@aybabtu.com>
42567
42568 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42569 control key combinations.
42570
eee96e08 425712008-05-29 Robert Millan <rmh@aybabtu.com>
42572
42573 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42574 * util/ieee1275/grub-install.in: ... to here.
42575 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42576 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42577 (grub_install_SOURCES): Likewise.
42578
da9a6a94 425792008-05-29 Robert Millan <rmh@aybabtu.com>
42580
42581 * fs/affs.c: Update copyright year.
42582 * fs/ext2.c: Likewise.
42583 * fs/fshelp.c: Likewise.
42584 * fs/hfsplus.c: Likewise.
42585 * fs/ntfs.c: Likewise.
42586 * fs/xfs.c: Likewise.
42587 * include/grub/fshelp.h: Likewise.
42588 * util/grub-mkdevicemap.c: Likewise.
42589
12e65f3a 425902008-05-28 Robert Millan <rmh@aybabtu.com>
42591
42592 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42593 might need to be fatfs to support some firmware implementations
42594 (e.g. OFW or EFI).
42595
23023641 425962008-05-28 Robert Millan <rmh@aybabtu.com>
42597
42598 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42599 devices.
42600 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42601 (make_device_map): Likewise.
42602
887d2619 426032008-05-20 Bean <bean123ch@gmail.com>
42604
42605 * fs/fshelp.c (grub_fshelp_map_block): New function.
42606 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42607 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42608
42609 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42610 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42611 (grub_fshelp_journal): New structure.
42612 (grub_fshelp_map_block): New function prototype.
42613 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42614 (grub_fshelp_map_block): Likewise.
42615
42616 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42617 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42618 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42619 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42620 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42621 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42622 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42623 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42624 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42625 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42626 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42627 (grub_ext2_sblock): New members for journal support.
42628 (grub_ext3_journal_header): New structure.
42629 (grub_ext3_journal_revoke_header): Likewise.
42630 (grub_ext3_journal_block_tag): Likewise.
42631 (grub_ext3_journal_sblock): Likewise.
42632 (grub_fshelp_node): New members logfile and journal.
42633 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42634 grub_fshelp_map_block to get real block number.
42635 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42636 number.
42637 (grub_ext2_read_inode): Likewise.
42638 (grub_ext3_get_journal): New function.
42639 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42640 (grub_ext2_close): Release memory used by journal.
42641
42642 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42643 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42644 (grub_reiserfs_transaction_header): Renamed to
42645 grub_reiserfs_description_block, replace field data with real_blocks.
42646 (grub_reiserfs_commit_block): New structure.
42647 (grub_reiserfs_data): New member journal.
42648 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42649 number.
42650 (grub_reiserfs_read_symlink): Likewise.
42651 (grub_reiserfs_iterate_dir): Likewise.
42652 (grub_reiserfs_open): Likewise.
42653 (grub_reiserfs_read): Likewise.
42654 (grub_reiserfs_get_journal): New function.
42655 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42656 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42657 using grub_reiserfs_get_journal.
42658 (grub_reiserfs_close): Release memory used by journal.
42659
42660 * fs/affs.c (grub_affs_read_block): Change block type to
42661 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42662
42663 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42664
42665 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42666
42667 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42668
42669 * fs/udf.c (grub_udf_read_block): Change block type to
42670 grub_disk_addr_t. Use type cast to avoid warning.
42671
42672 * fs/xfs.c (grub_xfs_read_block): Likewise.
42673
b7c6bed5 426742008-05-16 Christian Franke <franke@computer.org>
42675
42676 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42677 to ensure that break with ESC will always work.
42678 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42679 Remove ESC from keyboard queue.
42680
eedf167f 426812008-05-16 Christian Franke <franke@computer.org>
42682
42683 * util/biosdisk.c: [__CYGWIN__] Add includes.
42684 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42685 (get_os_disk): Move variable declarations to OS specific
42686 parts to avoid warning.
42687 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42688 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42689 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42690 Cygwin.
42691 * util/getroot.c: [__CYGWIN__] Add includes.
42692 (strip_extra_slashes): Fix "/" case.
42693 [__CYGWIN__] (get_win32_path): New function.
42694 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42695 [__CYGWIN__] (find_root_device): Disable.
42696 [__CYGWIN__] (get_bootsec_serial): New function.
42697 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42698 [__linux__] (grub_guess_root_device): Add early returns to simplify
42699 structure.
42700 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42701 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42702 check for Linux only.
42703
a079699e 427042008-05-15 Bean <bean123ch@gmail.com>
42705
42706 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42707 keyboard hang problem in apple's intel mac.
42708
1cf4059a 427092008-05-09 Robert Millan <rmh@aybabtu.com>
42710
42711 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42712 devices.
42713 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42714 (make_device_map): Likewise.
42715 Reported by Aurelien Jarno <aurel32@debian.org>
42716
ed759390 427172008-05-07 Ian Campbell <ijc@hellion.org.uk>
42718
42719 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42720 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42721 (make_device_map): Output entries for xvd type disks.
42722
b56c4eaa 427232008-05-07 Robert Millan <rmh@aybabtu.com>
42724
42725 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42726 devices.
42727 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42728 (make_device_map): Likewise.
42729 Reported by Roland Dreier <rdreier@cisco.com>
42730
7f8866ed 427312008-05-07 Robert Millan <rmh@aybabtu.com>
42732
42733 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42734 grub_strstr() call. Correct a few mistakes in failure path handling.
42735
b0346e0f 427362008-05-06 Robert Millan <rmh@aybabtu.com>
42737
42738 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42739 Do not print a trailing slash (therefore, the root directory is an
42740 empty string).
42741 (convert_system_path_to_grub_path): Do not remove trailing slash
42742 from make_system_path_relative_to_its_root() output.
42743
42744 * util/i386/pc/grub-install.in: Add trailing slash to output from
42745 make_system_path_relative_to_its_root().
42746
6cf12cbd 427472008-05-06 Robert Millan <rmh@aybabtu.com>
42748
42749 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42750 ensures that output lines aren't intermangled with those sent to
42751 stderr (via grub_util_info()).
42752 * util/grub-probe.c (grub_refresh): Likewise.
42753 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42754
0fbb3117 427552008-05-05 Christian Franke <franke@computer.org>
42756
42757 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42758 Add Cygwin device names.
42759 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42760 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42761 (check_device): Return error instead of success on empty name.
42762 (make_device_map): Move label inside linux specific code to
42763 prevent compiler warning.
42764
8124cdb7 427652008-04-30 Robert Millan <rmh@aybabtu.com>
42766
42767 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42768 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42769 first boot option.
42770 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42771
094c01d0 427722008-04-29 Robert Millan <rmh@aybabtu.com>
42773
42774 * docs/grub.cfg: New file (example GRUB configuration).
42775
f4b1fc02 427762008-04-26 Robert Millan <rmh@aybabtu.com>
42777
329ce2a5 42778 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42779 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42780 and `disk/ieee1275/nand.c'.
f4b1fc02 42781
25f16ec1 427822008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42783
25f16ec1 42784 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42785 i386-linuxbios.
42786
42787 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42788 change the buffer size to 4096 for cdrom device.
42789
42790 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42791 and nand.mod.
42792 (_linux_mod_SOURCES): New variable.
42793 (_linux_mod_CFLAGS): Likewise.
42794 (_linux_mod_LDFLAGS): Likewise.
42795 (linux_mod_SOURCES): Likewise.
42796 (linux_mod_CFLAGS): Likewise.
42797 (linux_mod_LDFLAGS): Likewise.
42798 (nand_mod_SOURCES): Likewise.
42799 (nand_mod_CFLAGS): Likewise.
42800 (nand_mod_LDFLAGS): Likewise.
42801
42802 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42803 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42804 type property. (nand device in olpc don't have this property)
42805
42806 * include/grub/disk.h (grub_disk_dev_id): New macro
42807 GRUB_DISK_DEVICE_NAND_ID.
42808
42809 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42810 function prototype.
42811 (grub_rescue_cmd_initrd): Likewise.
42812
42813 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42814 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42815 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42816
25f16ec1 42817 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42818 GRUB_MACHINE_IEEE1275 is defined.
42819
42820 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42821 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42822
42823 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42824 on nested function heap_init.
42825 (grub_upper_mem): New variable for i386-ieee1275.
42826 (grub_get_extended_memory): New function for i386-ieee1275.
42827 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42828
42829 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42830 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42831 property.
f19dbdb7 42832
25f16ec1 42833 * loader/i386/ieee1275/linux.c: New file.
42834
42835 * loader/i386/ieee1275/linux_normal.c: New file.
42836
42837 * disk/ieee1275/nand.c: New file.
42838
e89d61e9 428392008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42840
42841 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42842 value.
42843 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42844
602566f6 428452008-04-18 Robert Millan <rmh@aybabtu.com>
42846
42847 Restructures early code path on ieee1275 to unify grub_main() as
42848 the first C function that is executed in every platform.
42849
42850 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42851 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42852 cmain().
42853 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42854 * kern/ieee1275/cmain.c (cmain): Rename to ...
42855 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42856 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42857 at the beginning.
42858
57490c2b 428592008-04-18 Robert Millan <rmh@aybabtu.com>
42860
42861 * util/update-grub.in: Fix syntax error when setting
42862 `GRUB_PRELOAD_MODULES'.
42863 Reported by Stephane Chazelas <stephane@artesyncp.com>
42864
1977517d 428652008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42866
42867 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42868 section into account, newer toolchains generate unique build ids
42869 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42870 we want build ids to be preserved
1977517d 42871 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42872 far from other sections don't cause the raw binary images grow
42873 size
42874
bfb1f1a2 428752008-04-15 Robert Millan <rmh@aybabtu.com>
42876
42877 * disk/lvm.c: Update copyright year.
42878 * kern/misc.c: Likewise.
42879
01979850 428802008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42881
42882 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42883 there is no memory left for physical volume name.
01979850 42884
0a1150e2 428852008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42886
42887 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42888 volume name mapping to support bigger than 9 character names properly.
42889
82ead3fe 428902008-04-13 Robert Millan <rmh@aybabtu.com>
42891
42892 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42893 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42894
e54a72f5 428952008-04-13 Christian Franke <franke@computer.org>
42896
42897 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42898 to create a floppy emulation boot CD when non emulation mode
42899 does not work.
42900 Enable Joliet CD filesystem extension.
42901
9fe86034 429022008-04-13 Robert Millan <rmh@aybabtu.com>
42903
42904 * kern/misc.c (grub_strncat): Fix off-by-one error.
42905 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42906
42907 * kern/env.c (grub_env_context_close): Clear current context, not
42908 previous one.
42909 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42910
42911 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42912
7ceeee39 429132008-04-13 Robert Millan <rmh@aybabtu.com>
42914
42915 Improve robustness when handling LVM.
42916
42917 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42918 (and leave `*p' unmodified).
7ceeee39 42919 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42920 through it.
42921 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42922 iterating through it.
42923 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42924 through it.
fe6b695a 42925 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42926 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42927 Don't assume `vg->pvs != NULL' when iterating through it.
42928
58cd3d85 429292008-04-13 Robert Millan <rmh@aybabtu.com>
42930
42931 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42932 * genmk.rb (partmap): New variable.
42933 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42934 (#{partmap}): New target rule.
42935 * genpartmaplist.sh: New file.
42936 * Makefile.in (pkglib_DATA): Add partmap.lst.
42937 (partmap.lst): New target rule.
42938 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42939 modules (including all partition maps), instead of preloading them.
42940
78b51059 429412007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42942
42943 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42944 `linux-boot-prober' (if installed) to detect other operating
42945 systems which are installed on the computer and add them to
42946 the boot menu.
42947 * conf/common.rmk: Build and install 30_os-prober.
42948
a91627b4 429492008-04-12 Robert Millan <rmh@aybabtu.com>
42950
42951 * kern/powerpc/ieee1275/init.c: Move from here ...
42952 * kern/ieee1275/init.c: ... to here. Update all users.
42953
42954 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42955 * kern/ieee1275/cmain.c: ... to here. Update all users.
42956
42957 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42958 * kern/ieee1275/openfw.c: ... to here. Update all users.
42959
42960 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42961 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42962
322562ea 429632008-04-10 Pavel Roskin <proski@gnu.org>
42964
42965 * configure.ac: Always use "_cv_" in cache variables for
42966 compatibility with Autoconf 2.62.
42967
a02a73c5 429682008-04-07 Robert Millan <rmh@aybabtu.com>
42969
42970 Revert grub/machine/init.h addition by Pavel (since it breaks on
42971 i386-ieee1275 and others):
42972 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42973 * util/powerpc/ieee1275/misc.c: Likewise.
42974
25c024b1 429752008-04-07 Robert Millan <rmh@aybabtu.com>
42976
42977 * util/grub-probe.c (probe): Improve error message.
42978
3cbd2f98 429792008-04-07 Robert Millan <rmh@aybabtu.com>
42980
42981 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42982 (this prevents the presence of a bogus entry from ruining the whole
42983 thing).
42984
87a297bf 429852008-04-06 Pavel Roskin <proski@gnu.org>
42986
36747a62 42987 * util/biosdisk.c: Include grub/util/biosdisk.h.
42988 * util/grub-fstest.c (execute_command): Make static.
42989 * util/grub-mkdevicemap.c (check_device): Likewise.
42990 * util/i386/pc/misc.c: Include grub/machine/init.h.
42991 * util/powerpc/ieee1275/misc.c: Likewise.
42992 * util/lvm.c: Include grub/util/lvm.h.
42993 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42994 grub/cache.h.
42995 * util/raid.c: Include grub/util/raid.h.
42996 (grub_util_getdiskname): Make static.
42997
87a297bf 42998 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42999 grub_hostfs_fini(), as they are called from grub_init_all() and
43000 grub_fini_all() respectively. This fixes an infinite loop in
43001 grub-fstest due to double registration of hostfs.
43002 Reported by Christian Franke <Christian.Franke@t-online.de>
43003
f6ce7629 430042008-04-05 Pavel Roskin <proski@gnu.org>
43005
43006 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43007 all 8 functions. Otherwise, probe function 0 only.
43008
070e49e4 430092008-04-04 Pavel Roskin <proski@gnu.org>
43010
8b088a4c 43011 * commands/lspci.c (grub_lspci_iter): Print the bus number
43012 correctly.
43013
4f657021 43014 * commands/lspci.c (grub_pci_classes): Fix typos.
43015 (grub_lspci_iter): Don't print func twice. Print vendor ID
43016 before device ID, as it's normally done.
43017
070e49e4 43018 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43019 Fix signedness warnings.
43020 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43021 Likewise.
43022 * util/ieee1275/get_disk_name.c: Include config.h so that
43023 _GNU_SOURCE is defined and getline() is declared. Mark an
43024 unused argument as such. Fix a signedness warning.
43025
ba7328dc 430262008-04-02 Pavel Roskin <proski@gnu.org>
43027
26887f22 43028 * genkernsyms.sh.in: Use more robust assignments for CC and
43029 srcdir. Quote srcdir.
43030 * gensymlist.sh.in: Likewise. Assert at the compile time that
43031 the symbol table is not empty.
43032
ba7328dc 43033 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43034 * fs/cpio.c (grub_cpio_read): Likewise.
43035
0f582c6b 430362008-04-01 Pavel Roskin <proski@gnu.org>
43037
4b6e1995 43038 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43039 * disk/host.c (grub_host_open): Likewise.
43040 * disk/loopback.c (grub_loopback_open): Likewise.
43041 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43042 disk->id as in disk/host.c, not a multi-character constant.
43043
828a2768 43044 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43045 later is obsolete, potentially dangerous and sets a bad example.
43046 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43047 * util/misc.c (grub_util_get_image_size): Likewise.
43048
2bb4fb47 43049 * disk/loopback.c (options): Improve help for "--partitions".
43050
0f582c6b 43051 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43052 options to align them with the short options, e.g. "echo -e".
43053
a33224e0 430542008-03-31 Bean <bean123ch@gmail.com>
43055
43056 * video/reader/png.c (grub_png_data): New member is_16bit and
43057 image_data.
43058 (grub_png_decode_image_header): Detect 16 bit png image.
43059 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43060 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43061 (grub_video_reader_png): Release memory occupied by image_data.
43062
43063 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43064 4096 bytes.
43065 (grub_nfs_mount): Skip the test for sector per cluster.
43066
43067 * include/grub/ntfs.h (MAX_SPC): Removed.
43068
86cb4f54 430692008-03-31 Bean <bean123ch@gmail.com>
43070
43071 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43072 (grub_probe_SOURCES): Add fs/afs.c.
43073 (grub_fstest_SOURCES): Likewise.
43074 (afs_mod_SOURCES): New variable.
43075 (afs_mod_CFLAGS): Likewise.
43076 (afs_mod_LDFLAGS): Likewise.
43077
43078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43079 (grub_emu_SOURCES): Likewise.
43080
43081 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43082
43083 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43084
43085 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43086
43087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43088
43089 * fs/afs.c: New file.
43090
17c74c21 430912008-03-30 Pavel Roskin <proski@gnu.org>
43092
4cb68e89 43093 * disk/host.c: Include grub/misc.h to fix a warning.
43094 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43095 warnings about implicit declarations.
43096
8790bb04 43097 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43098 variable.
43099 * include/grub/i386/loader.h: Change declaration of
43100 grub_linux_boot() to match what grub_loader_set() expects.
43101 * util/getroot.c (grub_guess_root_device): Return const char* to
43102 fix a warning.
43103 * util/grub-probe.c (probe): Fix a warning about uninitialized
43104 abstraction_name variable.
43105 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43106 second argument as unused to fix a warning.
43107
9a3f3296 43108 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43109 missing grub_error() call.
43110
0ecef90d 43111 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43112 2.60 and newer uses it to define datadir.
43113
0bf6d401 43114 * commands/sleep.c: Fix warning about implicit declaration.
43115 * disk/memdisk.c: Likewise.
43116 * loader/aout.c: Likewise.
43117 * loader/i386/bsd_normal.c: Likewise.
43118 * util/grub-probe.c: Likewise.
43119
7cdacf97 43120 * commands/i386/cpuid.c (has_longmode): Make static.
43121 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43122 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43123
17c74c21 43124 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43125 GDT. This is more robust, as %ds can change.
43126 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43127 calling real_to_prot().
43128 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43129
80a3e68b 431302008-03-28 Pavel Roskin <proski@gnu.org>
43131
43132 * kern/i386/pc/startup.S: Assert that uncompressed functions
43133 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43134 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43135 code, as they push parts of the code (error handlers) beyond
43136 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43137 code as correctness and size.
43138
77bcd272 431392008-03-28 Pavel Roskin <proski@gnu.org>
43140
43141 * kern/i386/pc/startup.S
43142 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43143 data block address to the real mode, keep offset minimal. This
43144 works around a bug in AWARD BIOS on old Athlon systems, which
43145 makes CD detection hang.
43146
c5dfd43b 431472008-03-26 Pavel Roskin <proski@gnu.org>
43148
43149 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43150 const.
43151 * include/grub/normal.h: Add grub_parse_color_name_pair()
43152 declaration.
43153
bf962df2 431542008-03-24 Bean <bean123ch@gmail.com>
43155
43156 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43157 (cd_count): Removed.
43158 (cd_drive): New variable.
43159 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43160 (grub_biosdisk_call_hook): Likewise.
43161 (grub_biosdisk_iterate): Change cdrom detection method.
43162 (grub_biosdisk_open): Replace cd_start with cd_drive.
43163 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43164 detect cdrom device.
43165
43166 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43167 Removed.
43168 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43169 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43170 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43171 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43172 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43173 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43174 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43175 (grub_biosdisk_cdrp): New structure.
43176 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43177
43178 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43179
43180 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43181 device.
43182
43183 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43184 New function.
43185
68e7fc7a 431862008-03-20 Robert Millan <rmh@aybabtu.com>
43187
43188 Remove 2 TiB limit in ata.mod.
43189 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43190 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43191 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43192 grub_uint64_t instead of grub_uint32_t.
43193
38ad2cf5 431942008-03-05 Bean <bean123ch@gmail.com>
43195
43196 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43197 (grub_multiboot): Set boot device.
43198
43199 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43200
2b89344e 432012008-03-02 Bean <bean123ch@gmail.com>
43202
43203 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43204 symlink_buffer.
43205
87a95d1f 432062008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43207
43208 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43209 texinfo.tex.
43210
43211 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43212 modified.
43213
43214 * docs/fdl.texi: New file.
f19dbdb7 43215
87a95d1f 43216 * docs/mdate-sh: New file. Copied from gnulib.
43217 * docs/texinfo.tex: Likewise.
43218
43219 * config.guess: Updated from gnulib.
43220 * install-sh: Likewise.
43221
7dc15d8e 432222008-02-28 Robert Millan <rmh@aybabtu.com>
43223
43224 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43225 (aout_mod_SOURCES): New variable.
43226 (aout_mod_CFLAGS): Likewise.
43227 (aout_mod_LDFLAGS): Likewise.
43228
43229 * conf/i386-ieee1275.rmk: Likewise.
43230
b00ab696 432312008-02-28 Robert Millan <rmh@aybabtu.com>
43232
43233 * util/update-grub.in: Reorganise terminal validity check. Accept
43234 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43235 Based on suggestion by Franklin PIAT.
43236
79ca2d78 432372008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43238
43239 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43240 function.
43241 * util/getroot.c (grub_util_check_block_device): New function that
43242 returns the given argument if it is a block device and returns NULL else.
43243 * util/grub-probe.c (argument_is_device): New variable.
43244 (probe): Promote device_name from a variable to an argument. Receive
43245 device_name from grub_util_check_block_device() if path is NULL and from
43246 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43247 (options): Introduce new parameter '-d, --device'.
79ca2d78 43248 (main): Add description of the new parameter to the help screen.
43249 Rename path variable to argument. Set argument_is_device if the '-d'
43250 option is given. Pass argument to probe() depending on
43251 argument_is_device.
43252
0d16e571 432532008-02-24 Bean <bean123ch@gmail.com>
43254
43255 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43256 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43257 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43258 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43259 (GRUB_ISO9660_VOLDESC_END): Likewise.
43260 (grub_iso9660_primary_voldesc): New member escape.
43261 (grub_iso9660_data): New member joliet.
43262 (grub_iso9660_convert_string): New function.
43263 (grub_iso9660_mount): Detect joliet extension.
43264 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43265 (grub_iso9660_iso9660_label): Likewise.
43266
43267 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43268 (grub_setup_SOURCES): Add fs/udf.c.
43269 (grub_fstest_SOURCES): Likewise.
43270 (udf_mod_SOURCES): New variable.
43271 (udf_mod_CFLAGS): Likewise.
43272 (udf_mod_LDFLAGS): Likewise.
43273
43274 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43275 (grub_emu_SOURCES): Likewise.
43276
43277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43278
43279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43280
43281 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43282
43283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43284
43285 * fs/udf.c: New file.
43286
8a594a17 432872008-02-24 Robert Millan <rmh@aybabtu.com>
43288
43289 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43290 (normal/lexer.c_DEPENDENCIES): New variables.
43291 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43292 (normal/lexer.c_DEPENDENCIES): Likewise.
43293 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43294 (normal/lexer.c_DEPENDENCIES): Likewise.
43295 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43296 (normal/lexer.c_DEPENDENCIES): Likewise.
43297 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43298 (normal/lexer.c_DEPENDENCIES): Likewise.
43299 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43300 (normal/lexer.c_DEPENDENCIES): Likewise.
43301
2dc33c03 433022008-02-23 Robert Millan <rmh@aybabtu.com>
43303
43304 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43305 since they were intended to be in hex. This didn't break previously
43306 because of a bug in gpt_partition_map_iterate() (see below).
43307
43308 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43309 when checking the validity of GPT header.
43310 Remove `partno', since it always provides the same information as `i'.
43311
f6f4cfb0 433122008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43313
43314 * include/grub/efi/time.h: Fix a wrong comment.
43315
79ff665f 433162008-02-19 Pavel Roskin <proski@gnu.org>
43317
43318 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43319 message.
43320
d38e24c2 433212008-02-19 Bean <bean123ch@gmail.com>
43322
43323 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43324 (aout_mod_SOURCES): New variable.
43325 (aout_mod_CFLAGS): Likewise.
43326 (aout_mod_LDFLAGS): Likewise.
43327 (_bsd_mod_SOURCES): New variable.
43328 (_bsd_mod_CFLAGS): Likewise.
43329 (_bsd_mod_LDFLAGS): Likewise.
43330 (bsd_mod_SOURCES): New variable.
43331 (bsd_mod_CFLAGS): Likewise.
43332 (bsd_mod_LDFLAGS): Likewise.
43333
43334 * include/grub/aout.h: New file.
43335
43336 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43337
43338 * include/grub/i386/bsd.h: New file.
43339
43340 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43341 to make it public.
43342
43343 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43344 function is called, so that it's possible to change it inside the hook.
43345 (grub_elf64_load): Likewise.
43346 (grub_elf_file): Don't close the file if elf header is not found.
43347 (grub_elf_close): Close the file if grub_elf_file fails (The new
43348 grub_elf_file won't close it).
43349 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43350 (grub_elf64_size): Likewise.
43351
43352 * kern/i386/loader.S (grub_unix_real_boot): New function.
43353
43354 * loader/aout.c: New file.
43355
43356 * loader/i386/bsd.c: New file.
43357
43358 * loader/i386/bsd_normal.c: New file.
43359
43360 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43361
43362 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43363 can test other formats.
d38e24c2 43364
b93bdb0f 433652008-02-19 Robert Millan <rmh@aybabtu.com>
43366
43367 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43368 (grub_gpt_partition_type_empty): Redefine with macro from
43369 `<grub/gpt_partition.h>'.
43370 (gpt_partition_map_iterate): Adjust partition type comparison.
43371
43372 Export `entry' as partmap-specific `part.data' struct.
43373 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43374
43375 * include/grub/gpt_partition.h (grub_gpt_header)
43376 (grub_gpt_partentry): ... to here (new file).
43377
43378 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43379
43380 (grub_gpt_partition_type_bios_boot): New const variable, defined
43381 with macro from `<grub/gpt_partition.h>'.
43382
43383 (setup): Replace `first_start' with `embed_region', which keeps
43384 track of the embed region (and is partmap-agnostic).
43385
43386 Replace find_first_partition_start() with find_usable_region(),
43387 which finds a usable region for embedding using partmap-specific
43388 knowledge (supports PC/MSDOS and GPT).
43389
43390 Fix all assumptions that the embed region start at sector 1, using
43391 `embed_region.start' from now on. Similarly, use `embed_region.end'
43392 rather than `first_start' to calculate available size.
43393
43394 In grub_util_info() message, replace "into after the MBR" with an
43395 indication of the specific sector our embed region starts at.
43396
66cb40f6 433972008-02-19 Robert Millan <rmh@aybabtu.com>
43398
43399 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43400 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43401 `commands/reboot.c'.
43402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43403 (halt_mod_SOURCES): Likewise.
43404 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43405 (halt_mod_SOURCES): Likewise.
43406
b7202015 434072008-02-17 Christian Franke <franke@computer.org>
43408
43409 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43410
32b0fc49 434112008-02-17 Robert Millan <rmh@aybabtu.com>
43412
43413 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43414 set `first_start' to 0 for non-PC/MSDOS partition maps.
43415
aca63502 434162008-02-16 Robert Millan <rmh@aybabtu.com>
43417
43418 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43419 do not assume partition map is PC/MSDOS before performing checks that
43420 are specific to that layout.
43421
0de8be86 434222008-02-13 Robert Millan <rmh@aybabtu.com>
43423
43424 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43425 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43426 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43427
c3db8364 434282008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43429
43430 * configure.ac: Only a cosmetic change on the handling of
43431 -fno-stack-protector.
43432
f714229e 434332008-02-12 Alexandre Boeglin <alex@boeglin.org>
43434
c3db8364 43435 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43436 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43437 reboot.c.
f714229e 43438 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43439 (halt_mod_SOURCES): New variable.
43440 (halt_mod_CFLAGS): Likewise.
43441 (halt_mod_LDFLAGS): Likewise.
43442 (reboot_mod_SOURCES): Likewise.
43443 (reboot_mod_CFLAGS): Likewise.
43444 (reboot_mod_LDFLAGS): Likewise.
43445
c3db8364 43446 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43447 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43448 reboot.c.
f714229e 43449 (halt_mod_SOURCES): Likewise.
43450 (reboot_mod_SOURCES): Likewise.
43451
c3db8364 43452 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43453 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43454 (reboot_mod_SOURCES): Likewise.
43455
43456 * commands/i386/pc/reboot.c: merge this file ...
43457
43458 * commands/ieee1275/reboot.c: ... and this file ...
43459
43460 * commands/reboot.c: ... to this file.
c3db8364 43461 Add some precompiler directive to include the correct header for
43462 each machine.
f714229e 43463
43464 * commands/ieee1275/halt.c: move this file ...
43465
43466 * commands/halt.c: ... to here.
c3db8364 43467 Add some precompiler directive to include the correct header for
43468 each machine.
f714229e 43469
43470 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43471 (grub_halt): Likewise.
43472
43473 * kern/efi/efi.c (grub_reboot): New function.
43474 (grub_halt): Likewise.
43475
c74493e0 434762008-02-12 Robert Millan <rmh@aybabtu.com>
43477
43478 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43479 /dev (like it is done for /dev/mapper). This doesn't provide support
43480 for EVMS, but at least it is now easy to identify the problem when it
43481 arises.
43482
d0db4b04 434832008-02-11 Robert Millan <rmh@aybabtu.com>
43484
43485 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43486 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43487 comparing it with -1, not 0.
43488
bf748642 434892008-02-10 Robert Millan <rmh@aybabtu.com>
43490
43491 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43492 `disk/lvm.c'.
43493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43494 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43495
43496 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43497 `disk/lvm.c' to the end of the list.
43498 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43499 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43500
b5db202a 435012008-02-10 Robert Millan <rmh@aybabtu.com>
43502
43503 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43504 grub_print_error() instead. This will let user know why we're entering
43505 rescue mode.
43506 Based on suggestions from Sam Morris.
43507
83abee31 435082008-02-10 Alexandre Boeglin <alex@boeglin.org>
43509
43510 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43511 on remaining N args, instead of "--" arg N times.
43512
78d5a08b 435132008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43514
43515 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43516 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43517 pattern for unknown glyphs.
43518
68807e5f 435192008-02-09 Robert Millan <rmh@aybabtu.com>
43520
43521 * configure.ac: Probe for `help2man'.
43522 * Makefile.in (builddir): New variable.
43523 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43524 or otherwise add a few flags/options to it.
43525 (install-local): For every executable utility or script that is
43526 installed, invoke $(HELP2MAN) to install a manpage based on --help
43527 output.
43528
43529 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43530 that it doesn't prevent --help from working in build tree.
43531
43532 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43533 with `bug-grub@gnu.org'.
43534 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43535 * util/update-grub.in (usage): New function.
43536 Implement proper argument check, with support for --help and --version
43537 (as well as existing -y).
43538
435392008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43540
43541 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43542 avoid overwriting previous output.
43543 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43544
c1962162 435452008-02-09 Robert Millan <rmh@aybabtu.com>
43546
43547 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43548 drawing the menu.
43549
3dac2e3f 435502008-02-09 Robert Millan <rmh@aybabtu.com>
43551
43552 * commands/sleep.c: New file.
43553 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43554 (sleep_mod_SOURCES): New variable.
43555 (sleep_mod_CFLAGS): Likewise.
43556 (sleep_mod_LDFLAGS): Likewise.
43557
7a634e08 435582008-02-09 Robert Millan <rmh@aybabtu.com>
43559
43560 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43561 situations in which we can deduce the RAID size and the superblock
43562 doesn't match it.
43563
b92f0c18 435642008-02-09 Robert Millan <rmh@aybabtu.com>
43565
43566 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43567 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43568 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43569
43570 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43571 and return a grub_diskmemberlist_t composed of physical array members.
43572 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43573
43574 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43575 prototype.
43576 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43577 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43578 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43579
43580 * util/grub-probe.c (probe): Move partmap probing code from here ...
43581 (probe_partmap): ... to here.
43582 (probe): Use probe_partmap() once for the disk we're probing, and
43583 additionally, when such disk contains a memberlist() struct member,
43584 once for each disk that is contained in the structure returned by
43585 memberlist().
43586
91a4bf68 435872008-02-09 Robert Millan <rmh@aybabtu.com>
43588
43589 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43590 environment variable to 'all' in order to obtain debug output from
43591 non-util/ code.
43592 * util/i386/pc/grub-setup.c (main): Likewise.
43593
a96f9caa 435942008-02-08 Robert Millan <rmh@aybabtu.com>
43595
43596 * disk/raid.c (grub_raid_scan_device): Check for
43597 `array->device[sb.this_disk.number]' rather than for
43598 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43599 guaranteed to be accessible.
a96f9caa 43600
b37a9222 436012008-02-08 Robert Millan <rmh@aybabtu.com>
43602
43603 * disk/raid.c: Update copyright.
43604 * fs/cpio.c: Likewise.
43605 * include/grub/raid.h: Likewise.
43606 * loader/i386/pc/multiboot.c: Likewise.
43607 * util/hostfs.c: Likewise.
43608
5626aee1 436092008-02-08 Robert Millan <rmh@aybabtu.com>
43610
43611 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43612 to a grub_disk_t array.
43613 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43614 `device[x]'.
43615 (grub_raid_scan_device): Replace `device[x].name' accesses with
43616 `device[x]->name'. Simplify initialization of `array->device[x]'.
43617
554f0187 436182008-02-08 Robert Millan <rmh@aybabtu.com>
43619
43620 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43621 grub_dprintf() calls.
43622 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43623 error message.
43624
1ec8425d 436252008-02-07 Christian Franke <franke@computer.org>
43626
43627 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43628 instead of fseek and ftell to support large files.
43629 (grub_hostfs_read): Likewise.
43630
f2156fda 436312008-02-07 Robert Millan <rmh@aybabtu.com>
43632
43633 Patch from Jeroen Dekkers.
43634 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43635 failure, since successfully reading all array members might not be
f2156fda 43636 required.
43637
9216e0e7 436382008-02-06 Robert Millan <rmh@aybabtu.com>
43639
43640 * util/grub-probe.c (probe): Simplify partmap probing (with the
43641 assumption that the first word up to the underscore equals to
43642 the module name).
43643
b0dfd29a 436442008-02-06 Christian Franke <franke@computer.org>
43645
43646 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43647 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43648 last block of a cpio or tar stream.
43649 Check for "TRAILER!!!" instead of any empty data
43650 block to detect last block of a cpio stream.
43651 (grub_cpio_dir): Fix constness of variable np.
43652 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43653 cpio or tar trailer is detected. This fixes a crash
43654 on open of a non existing file.
43655
c32865bf 436562008-02-05 Bean <bean123ch@gmail.com>
43657
43658 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43659 address of entry.
43660 (grub_multiboot_load_elf64): Likewise.
43661 (grub_multiboot): Initialize mbi structure.
43662
43663 * util/grub-fstest.c: Don't include unused header file script.h.
43664
fe6b695a 43665 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43666 of file.
43667 (grub_fstest_SOURCES): Likewise.
43668
409480b7 436692008-02-05 Robert Millan <rmh@aybabtu.com>
43670
43671 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43672 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43673 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43674 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43675
43676 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43677 (translation_table): Replace hardcoded values with macros
43678 provided by `<grub/term.h>'.
43679
43680 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43681 (keyboard_map): Correct/add a few values, with macros provided
43682 by `<grub/term.h>'.
43683 (keyboard_map_shift): Zero values that don't differ from their
43684 `keyboard_map' equivalents.
43685 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43686 Discard the second scan code that is always sent by Caps lock.
43687 Only use `keyboard_map_shift' when it provides a non-zero value,
43688 otherwise fallback to `keyboard_map'.
43689
99fadbaa 436902008-02-04 Bean <bean123ch@gmail.com>
43691
43692 * Makefile.in (enable_grub_fstest): New variable.
43693
43694 * conf/common.rmk (grub_fstest_init.lst): New rule.
43695 (grub_fstest_init.h): Likewise.
43696 (grub_fstest_init.c): Likewise.
43697 (util/grub-fstest.c_DEPENDENCIES): New variable.
43698 (grub_fstest_SOURCES): Likewise.
43699
43700 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43701
43702 * util/grub-fstest.c: New file.
43703
bf567c50 437042008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43705
43706 Make grub-setup handle a separate root device.
f19dbdb7 43707
bf567c50 43708 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43709 so that the root device can be compared with the destination
43710 device.
43711 When embedding the core image, if the root and destination devices
43712 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43713 0xFF.
43714 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43715
9be6b98b 437162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43717
43718 Add support for having a grub directory in a different drive. This
43719 is still only the data handling part.
f19dbdb7 43720
9be6b98b 43721 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43722 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43723 (grub_root_drive): New variable.
43724
43725 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43726 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43727 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43728 as it was.
43729
43730 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43731
43732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43733 macro.
43734 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43735
43736 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43737 is bogus, because PXE booting does not specify any drive
43738 correctly.
43739
43740 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43741 am not sure if this is really correct.
43742
43743 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43744 is always identical to the boot drive when booting from a CD.
43745
43746 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43747 longer.
43748 (root_drive): New variable.
43749 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43750 (setup_sectors): Push %dx right after popping it, because %dh will
43751 be modified later.
43752 (copy_buffer): Restore %dx.
43753
e0ca0677 437542008-02-03 Robert Millan <rmh@aybabtu.com>
43755
43756 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43757 use `cdboot.img' for cdrom images.
43758
3b3f6629 437592008-02-03 Robert Millan <rmh@aybabtu.com>
43760
43761 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43762 only setup gfxterm when `font' command has succeeded.
43763
d42b3672 437642008-02-03 Robert Millan <rmh@aybabtu.com>
43765
43766 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43767 (grub_rescue_cmd_multiboot_loader)
43768 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43769
fa370ea6 437702008-02-03 Pavel Roskin <proski@gnu.org>
43771
e0c5dacb 43772 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43773 %edx and %esi from stack only after grub_gate_a20() is called.
43774 grub_gate_a20() clobbers %edx.
43775
f2a76e1d 437762008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43777
43778 * configure.ac (AC_INIT): Bumped to 1.96.
43779
43780 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43781 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43782 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43783 video/readers/png.c.
43784
90fd32d1 437852008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43786
43787 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43788 (cdboot_img_SOURCES): New variable.
43789 (cdboot_img_ASFLAGS): New variable.
43790 (cdboot_img_LDFLAGS): New variable.
43791
43792 * boot/i386/pc/cdboot.S: New file.
43793
43794 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43795 (cd_count): Likewise.
43796 (grub_biosdisk_get_drive): Add support for cd device.
43797 (grub_biosdisk_call_hook): Likewise.
43798 (grub_biosdisk_iterate): Likewise.
43799 (grub_biosdisk_open): Likewise.
43800 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43801 (grub_biosdisk_rw): Support reading from cd device.
43802 (GRUB_MOD_INIT): Iterate cd devices.
43803
43804 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43805 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43806 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43807
43808 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43809
4020aa53 438102008-02-02 Robert Millan <rmh@aybabtu.com>
43811
43812 * commands/read.c: New file.
43813 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43814 (read_mod_SOURCES): New variable.
43815 (read_mod_CFLAGS): Likewise.
43816 (read_mod_LDFLAGS): Likewise.
43817
e03a1132 438182008-02-02 Robert Millan <rmh@aybabtu.com>
43819
43820 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43821 determining whether menu has to be displayed.
43822
58c69220 438232008-02-02 Marco Gerards <marco@gnu.org>
43824
43825 * bus/pci.c: New file.
43826
43827 * include/grub/pci.h: Likewise.
43828
43829 * include/grub/i386/pc/pci.h: Likewise.
43830
43831 * commands/lspci.c: Likewise.
43832
43833 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43834 `lspci.mod'.
43835 (pci_mod_SOURCES): New variable.
43836 (pci_mod_CFLAGS): Likewise.
43837 (pci_mod_LDFLAGS): Likewise.
43838 (lspci_mod_SOURCES): Likewise.
43839 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43840 (lspci_mod_LDFLAGS): Likewise.
58c69220 43841
c004e1b4 438422008-02-02 Bean <bean123ch@gmail.com>
43843
43844 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43845 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43846
43847 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43848 (grub_xfs_btree_node): New structure.
43849 (grub_xfs_btree_root): New structure.
43850 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43851 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43852 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43853 (GRUB_XFS_EXTENT_SIZE): Likewise.
43854 (grub_xfs_read_block): Support btree format type.
43855 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43856 Use directory block as basic unit.
43857
43858 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43859
43860 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43861 __attribute__ ((__regparm__ (1))).
43862
f95562bf 438632008-02-01 Robert Millan <rmh@aybabtu.com>
43864
43865 Correct a mistake in previous commit.
43866
43867 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43868 top.
43869 (normal/command.c_DEPENDENCIES): New variable.
43870
7d31f41f 438712008-02-01 Robert Millan <rmh@aybabtu.com>
43872
43873 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43874 top.
43875 (normal/command.c_DEPENDENCIES): New variable.
43876 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43877 * conf/i386-ieee1275.rmk: Likewise.
43878 * conf/i386-linuxbios.rmk: Likewise.
43879 * conf/i386-pc.rmk: Likewise.
43880 * conf/sparc64-ieee1275.rmk: Likewise.
43881 * conf/powerpc-ieee1275.rmk: Likewise.
43882 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43883
43884 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43885
60b6be74 438862008-02-01 Robert Millan <rmh@aybabtu.com>
43887
43888 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43889 call at beginning of function.
43890
078522ab 438912008-01-31 Pavel Roskin <proski@gnu.org>
43892
43893 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43894 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43895 (grub_mkrescue_SOURCES): Likewise.
078522ab 43896 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43897
ccaa8a5f 438982008-01-30 Robert Millan <rmh@aybabtu.com>
43899
43900 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43901 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43902 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43903 (grub_probe_SOURCES): ... to here.
43904
43905 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43906 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43907 * conf/i386-ieee1275.rmk: Likewise.
43908 * conf/i386-linuxbios.rmk: Likewise.
43909 * conf/powerpc-ieee1275.rmk: Likewise.
43910
ae5a9cd7 439112008-01-30 Tristan Gingold <gingold@free.fr>
43912
43913 * kern/rescue.c: Silently accept empty lines.
43914
70bc2ef2 439152008-01-29 Bean <bean123ch@gmail.com>
43916
43917 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43918 (real_code_2): Code cleanup and change comment style.
43919 (move_memory): Avoid using 32-bit address mode.
43920
6a4d50ea 439212008-01-29 Bean <bean123ch@gmail.com>
43922
43923 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43924 (png_mod_SOURCES): New variable.
43925 (png_mod_CFLAGS): Likewise.
43926 (png_mod_LDFLAGS): Likewise.
43927
43928 * video/readers/png.c: New file.
43929
11cc30ac 439302008-01-28 Robert Millan <rmh@aybabtu.com>
43931
43932 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43933 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43934 `ifndef GRUB_MOD_GAP' hack.
43935 * util/elf/grub-mkimage.c (add_segments): Likewise.
43936
3abc589f 439372008-01-27 Robert Millan <rmh@aybabtu.com>
43938
43939 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43940 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43941 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43942
e1907778 439432008-01-27 Robert Millan <rmh@aybabtu.com>
43944
43945 Get grub-emu to build again (including parallel builds).
43946
43947 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43948 Split into ...
43949 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43950 (normal/execute.c_DEPENDENCIES): ... this, ...
43951 (grub-emu_DEPENDENCIES): ... and this.
43952
43953 * conf/i386-efi.rmk: Likewise.
43954 * conf/i386-linuxbios.rmk: Likewise.
43955 * conf/i386-ieee1275.rmk: Likewise.
43956 * conf/powerpc-ieee1275.rmk: Likewise.
43957 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43958
2216b101 439592008-01-27 Robert Millan <rmh@aybabtu.com>
43960
43961 * NEWS: Add a few items.
43962
f75172d9 439632008-01-27 Robert Millan <rmh@aybabtu.com>
43964
43965 Fix parallel builds with grub-emu. Based on earlier commit for
43966 grub-probe and grub-setup.
43967
43968 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43969 (util/grub-emu.c_DEPENDENCIES): ... this.
43970 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43971 (util/grub-emu.c_DEPENDENCIES): ... this.
43972 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43973 (util/grub-emu.c_DEPENDENCIES): ... this.
43974 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43975 (util/grub-emu.c_DEPENDENCIES): ... this.
43976 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43977 (util/grub-emu.c_DEPENDENCIES): ... this.
43978
3f51de77 439792008-01-27 Pavel Roskin <proski@gnu.org>
43980
43981 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43982 to create a gap between _end and the modules added to the image
43983 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43984 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43985 * util/elf/grub-mkimage.c (add_segments): Likewise.
43986
2033f53e 439872008-01-26 Pavel Roskin <proski@gnu.org>
43988
43989 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43990 just return an error.
43991
22da1f6f 439922008-01-26 Bean <bean123ch@gmail.com>
43993
43994 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43995 (grub_reiserfs_get_item): Save offset of the next item.
43996 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43997
2a9525e6 439982008-01-25 Robert Millan <rmh@aybabtu.com>
43999
44000 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44001 make all filesystem sources appear together (possibly fixing omissions
44002 while at it).
44003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44005 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44007
44008 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44009 add `kern/file.c'.
44010 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44011 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44012 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44013 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44014
44015 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44016 (probe): Add a sanity check to make sure of our ability to read
44017 requested files when probing for filesystem type.
44018
44019 * genmk.rb: Update copyright year (2007).
44020
44021 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44022 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44023 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44024 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44025 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44026 : Remove function prototypes.
44027
b95f71b5 440282008-01-25 Robert Millan <rmh@aybabtu.com>
44029
44030 Revert my previous commits (based on wrong assumption of how grub_errno
44031 works).
44032
fe6b695a 44033 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44034 * kern/file.c (grub_file_open): Likewise.
44035
d08bbb49 440362008-01-24 Pavel Roskin <proski@gnu.org>
44037
44038 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44039 that hang if GRUB tries to setup colors.
44040 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44041 colors for firmwares that don't support it.
44042 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44043 Recognize Open Hack'Ware, set flags to work around its
44044 limitations.
44045
605e36ed 440462008-01-24 Robert Millan <rmh@aybabtu.com>
44047
44048 * kern/file.c (grub_file_open): Do not account previous failures of
44049 unrelated functions when grub_errno is checked for.
44050 Reported by Oleg Strikov.
44051
bac332a1 440522008-01-24 Bean <bean123ch@gmail.com>
44053
44054 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44055 (grub_ufs_sblock): New member volume name.
44056 (grub_ufs_find_file): Fix string copy bug.
44057 (grub_ufs_label): Implement this function properly.
44058
44059 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44060 (grub_hfs_iterate_records): Use the correct file number for extents
44061 and catalog file. Fix problem in next index calculation.
44062 (grub_hfs_find_node): Replace recursive function call with loop.
44063 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44064
15c80c09 440652008-01-23 Robert Millan <rmh@aybabtu.com>
44066
44067 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44068 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44069 (grub_multiboot2_real_boot): New function prototype.
44070
44071 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44072 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44073
44074 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44075 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44076
305338fd 440772008-01-23 Robert Millan <rmh@aybabtu.com>
44078
44079 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44080 #ifdef'ed out grub_printf().
44081
3ea52685 440822008-01-23 Robert Millan <rmh@aybabtu.com>
44083
44084 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44085 grub_dprintf calls, since they make "debug=all" mode unusable.
44086 (grub_console_checkkey): Likewise.
44087
5882ae4b 440882008-01-23 Robert Millan <rmh@aybabtu.com>
44089
44090 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44091 `term/i386/pc/at_keyboard.c'.
44092 (pkglib_MODULES): Add `serial.mod'.
44093 (serial_mod_SOURCES): New variable.
44094 (serial_mod_CFLAGS): Likewise.
44095 (serial_mod_LDFLAGS): Likewise.
44096
44097 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44098 `<grub/powerpc/ieee1275/console.h>'.
44099 (grub_keyboard_controller_init): New function prototype.
44100 (grub_console_checkkey): Likewise.
44101 (grub_console_getkey): Likewise.
44102
44103 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44104 keyboard on i386.
44105
44106 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44107 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44108
06ab5303 441092008-01-23 Robert Millan <rmh@aybabtu.com>
44110
44111 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44112 present, "(memdisk)/boot/grub" becomes the default prefix.
44113
44114 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44115 a memdisk tarball with all the modules. Add --overlay=DIR option that
44116 allows users to overlay additional files into the image.
44117
dbb475a4 441182008-01-23 Robert Millan <rmh@aybabtu.com>
44119
44120 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44121 and `machine/memory.h'.
44122 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44123 (_multiboot_mod_SOURCES): New variable.
44124 (_multiboot_mod_CFLAGS): Likewise.
44125 (_multiboot_mod_LDFLAGS): Likewise.
44126 (multiboot_mod_SOURCES): Likewise.
44127 (multiboot_mod_CFLAGS): Likewise.
44128 (multiboot_mod_LDFLAGS): Likewise.
44129
44130 * include/grub/i386/ieee1275/loader.h: New file.
44131
44132 * include/grub/i386/ieee1275/machine.h: Likewise.
44133
44134 * include/grub/i386/ieee1275/memory.h: Likewise.
44135
44136 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44137 variable declaration.
44138 (grub_os_area_size): Likewise.
44139
44140 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44141 (grub_lower_mem, grub_upper_mem): New variables.
44142 (grub_stop_floppy): New function (just to make
44143 grub_multiboot2_real_boot() happy).
44144
44145 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44146 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44147 (grub_stop): New function.
44148 Include `"../realmode.S"' and `"../loader.S"'.
44149
44150 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44151 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44152
44153 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44154 rely on grub_multiboot2_real_boot() for final boot.
44155
25638629 441562008-01-22 Robert Millan <rmh@aybabtu.com>
44157
44158 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44159 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44160 device that doesn't look like an SD card.
44161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44162 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44164 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44165 found.
44166
9dad816d 441672008-01-22 Robert Millan <rmh@aybabtu.com>
44168
44169 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44170 avoid claiming over our own code.
44171
34842f2d 441722008-01-22 Bean <bean123ch@gmail.com>
44173
44174 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44175 (jpeg_mod_SOURCES): New variable.
44176 (jpeg_mod_CFLAGS): Likewise.
44177 (jpeg_mod_LDFLAGS): Likewise.
44178
44179 * video/readers/jpeg.c : New file.
44180
44023a28 441812008-01-22 Bean <bean123ch@gmail.com>
44182
44183 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44184 there are no more items.
44185
bc2d8ac6 441862008-01-21 Robert Millan <rmh@aybabtu.com>
44187
44188 * kern/mm.c (grub_mm_init_region): Improve debug message.
44189
261bd4bc 441902008-01-21 Robert Millan <rmh@aybabtu.com>
44191
44192 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44193 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44194 address.
44195 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44196 a C macro.
44197 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44198 Indicates start of upper memory.
44199 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44200 (generate_image): Abort when image size is big enough to corrupt
44201 upper memory.
44202
44203 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44204 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44205 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44206 instead of hardcoding 0xA0000.
44207 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44208 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44209 instead of hardcoding 0xA0000.
44210
f970b55e 442112008-01-21 Robert Millan <rmh@aybabtu.com>
44212
44213 * disk/memdisk.c (memdisk_size): New variable.
44214 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44215 `memdisk_size'.
44216 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44217 image to dynamic memory.
44218 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44219 `memdisk_size'. Free memdisk block.
44220
1a8b0526 442212008-01-21 Robert Millan <rmh@aybabtu.com>
44222
44223 Fix detection of very small filesystems (like tar).
44224
44225 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44226 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44227 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44228 a problem with this disk).
44229
6e9b4aab 442302008-01-21 Robert Millan <rmh@aybabtu.com>
44231
44232 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44233 on grub_biosdisk_rw_standard() error.
44234
0d8837b2 442352008-01-21 Robert Millan <rmh@aybabtu.com>
44236
44237 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44238 recent changes.
44239 * kern/elf.c: Likewise.
44240 * kern/ieee1275/ieee1275.c: Likewise.
44241 * kern/powerpc/ieee1275/openfw.c: Likewise.
44242 * term/ieee1275/ofconsole.c: Likewise.
44243
ffd36e34 442442008-01-21 Robert Millan <rmh@aybabtu.com>
44245
44246 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44247
3f0093d0 44248 * include/grub/kernel.h (grub_arch_memdisk_addr)
44249 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44250
3f0093d0 44251 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44252 (grub_arch_memdisk_size): ... to here.
ffd36e34 44253
6c391b21 442542008-01-21 Robert Millan <rmh@aybabtu.com>
44255
44256 Mostly based on bugfix from Bean.
44257
44258 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44259 attribute with hook() parameter.
44260 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44261 declaration.
44262 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44263 attribute with hook() parameter.
44264 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44265 declaration.
44266
55a581dc 442672008-01-21 Robert Millan <rmh@aybabtu.com>
44268
44269 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44270 (pkglib_MODULES): Add `memdisk.mod'.
44271 (memdisk_mod_SOURCES): New variable.
44272 (memdisk_mod_CFLAGS): Likewise.
44273 (memdisk_mod_LDFLAGS): Likewise.
44274
44275 * disk/memdisk.c: New file.
44276
44277 * include/grub/disk.h (grub_disk_dev_id): Add
44278 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44279
44280 * include/grub/i386/pc/kernel.h
44281 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44282 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44283 (grub_kernel_image_size): New variable declaration.
44284 (grub_total_module_size): Likewise.
44285 (grub_memdisk_image_size): Likewise.
44286
44287 * include/grub/i386/pc/memory.h
44288 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44289
44290 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44291 (grub_arch_memdisk_addr): New variable declaration.
44292 (grub_arch_memdisk_size): Likewise.
44293
44294 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44295 (grub_arch_memdisk_size): Likewise.
44296
44297 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44298 (codestart): Replace hardcoded `0x100000' with
44299 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44300
44301 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44302 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44303 not NULL, append the contents of the file it refers to, at the end of
44304 the compressed kernel image. Initialize `grub_memdisk_image_size'
44305 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44306 (options): Add "memdisk"|'m' option.
44307 (main): Parse --memdisk|-m option, and pass user-provided path as
44308 parameter to generate_image().
44309
3d7f54c9 443102008-01-20 Robert Millan <rmh@aybabtu.com>
44311
44312 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44313 grub_dprintf() calls from here ...
44314 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44315
0bf74728 443162008-01-20 Robert Millan <rmh@aybabtu.com>
44317
44318 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44319
44320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44321 declaration.
44322 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44323 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44324 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44325 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44326 property).
44327 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44328 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44329
33bf70a7 443302008-01-19 Robert Millan <rmh@aybabtu.com>
44331
fe6b695a 44332 Get rid of confusing function (superseded by
33bf70a7 44333 `grub_ieee1275_get_integer_property')
44334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44335 prototype.
44336 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44337 function.
44338 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44339 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44340 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44341
e2da7d26 443422008-01-19 Robert Millan <rmh@aybabtu.com>
44343
44344 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44345 command after "shut-down", since implementations differ on which
44346 the command for halt is.
44347
59f1fd8d 443482008-01-19 Robert Millan <rmh@aybabtu.com>
44349
44350 * include/grub/i386/linuxbios/console.h: Add header protection.
44351 (grub_keyboard_controller_init): New function prototype.
44352 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44353 (KEYBOARD_COMMAND_READ): Likewise.
44354 (KEYBOARD_COMMAND_WRITE): Likewise.
44355 (KEYBOARD_SCANCODE_SET1): Likewise.
44356 (grub_keyboard_controller_write): New function.
44357 (grub_keyboard_controller_read): Likewise.
44358 (grub_keyboard_controller_init): Likewise.
44359
44360 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44361 (grub_console_init): On coreboot/LinuxBIOS, call
44362 grub_keyboard_controller_init().
44363
5f5a7c15 443642008-01-19 Robert Millan <rmh@aybabtu.com>
44365
44366 PowerPC changes provided by Pavel Roskin.
44367
44368 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44369 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44370 don't rely on cmain() doing it.
44371 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44372 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44373
1210e168 443742008-01-16 Robert Millan <rmh@aybabtu.com>
44375
44376 * include/grub/i386/linuxbios/memory.h
44377 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44378 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44379 receive `table_header' as argument. Instead, probe for it in the
44380 known memory ranges where it can be present.
44381 (grub_available_iterate): Do not pass a fixed `table_header' address
44382 to grub_linuxbios_table_iterate().
44383
3d04eab8 443842008-01-15 Robert Millan <rmh@aybabtu.com>
44385
44386 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44387 * conf/i386-ieee1275.rmk: New file.
44388 * include/grub/i386/ieee1275/console.h: Likewise.
44389 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44390 * include/grub/i386/ieee1275/kernel.h: Likewise.
44391 * include/grub/i386/ieee1275/time.h: Likewise.
44392 * kern/i386/ieee1275/init.c: Likewise.
44393 * kern/i386/ieee1275/startup.S: Likewise.
44394
d1bc1b73 443952008-01-15 Robert Millan <rmh@aybabtu.com>
44396
44397 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44398 when pointers are 32-bit (but still do set it to one when they are
44399 64-bit).
44400
66a65807 444012008-01-15 Robert Millan <rmh@aybabtu.com>
44402
44403 * include/grub/ieee1275/ieee1275.h
44404 (grub_ieee1275_get_integer_property): New function prototype.
44405
44406 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44407 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44408 grub_ieee1275_get_property() to handle endianness.
66a65807 44409
44410 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44411 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44412 where appropriate.
66a65807 44413 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44414 (grub_map): Likewise.
44415 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44416
a83ccafd 444172008-01-15 Bean <bean123ch@gmail.com>
44418
44419 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44420 (grub_script_execute_cmdline): Reset grub_errno.
44421
44422 * normal/main.c (read_config_file): Reset grub_errno.
44423
44424 * normal/parse.y (script_init): New.
44425 (script): Move function and menuentry here.
44426 (delimiter): New.
44427 (command): Add delimiter at the end of command.
44428 (commands): Adjust to match the new command.
44429 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44430 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44431 (if): Use the new commands.
44432
44433 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44434
df6ecfc6 444352008-01-15 Robert Millan <rmh@aybabtu.com>
44436
44437 * normal/menu.c (run_menu): Move timeout message from here ...
44438 (print_timeout): ... to here.
44439 (run_menu): Use print_timeout() once during initial draw to print
44440 the whole message, and again in every clock tick to update only
44441 the number of seconds.
44442
87ae25eb 444432008-01-15 Robert Millan <rmh@aybabtu.com>
44444
44445 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44446 actual size of `available' from grub_ieee1275_get_property(), and
44447 restrict parsing to that bound.
44448
47bf09a4 444492008-01-15 Christian Franke <franke@computer.org>
44450
44451 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44452 (argp_program_version): Remove variable.
44453 (argp_program_bug_address): Likewise.
44454 (options): Convert from struct argp_option to struct option.
44455 (struct arguments): Remove.
44456 (parse_opt): Remove.
44457 (usage): New function.
44458 (main): Replace struct args members by simple variables.
44459 Replace argp_parse() by getopt_long().
44460 Add switch to evaluate options.
44461 Add missing "(...)" around root_dev in prefix string.
44462
c86f1469 444632008-01-14 Robert Millan <rmh@aybabtu.com>
44464
44465 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44466 for grub_ieee1275_exit(), in order to improve portability.
44467
e622c559 444682008-01-14 Robert Millan <rmh@aybabtu.com>
44469
44470 * util/grub.d/10_linux.in (prefix): Define.
44471 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44472
44cb1ec8 444732008-01-13 Pavel Roskin <proski@gnu.org>
44474
44475 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44476 grub_errno if no errors have been detected.
44477
1eb8c802 444782008-01-12 Robert Millan <rmh@aybabtu.com>
44479
44480 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44481 (grub_util_get_dev_abstraction): New function prototype.
44482
44483 * util/getroot.c: Include `<grub/util/getroot.h>'
44484 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44485 (grub_util_get_dev_abstraction): ... here (new function).
44486
44487 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44488 `PRINT_ABSTRACTION'.
44489 (probe): Probe for abstraction type when requested.
44490 (main): Understand `--target=abstraction'.
44491
44492 * util/i386/efi/grub-install.in: Add abstraction module to core
44493 image when it is found to be necessary.
44494 * util/i386/pc/grub-install.in: Likewise.
44495 * util/powerpc/ieee1275/grub-install.in: Likewise.
44496
44497 * util/update-grub_lib.in (font_path): Return system path without
44498 converting to GRUB path.
44499 * util/update-grub.in: Convert system path returned by font_path()
44500 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44501 abstraction module is needed for loading fonts (if any). Export
44502 that as `GRUB_PRELOAD_MODULES'.
44503 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44504 insmod commands).
44505
52bd3de9 445062008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44507
44508 Remove some unused code from reiserfs.
f19dbdb7 44509
52bd3de9 44510 * fs/reiserfs.c (struct grub_reiserfs_key)
44511 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44512 (struct grub_reiserfs_node_body): Removed.
44513 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44514 Likewise.
44515 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44516 Likewise.
44517 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44518 Likewise.
44519 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44520 Likewise.
44521 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44522 Likewise.
44523 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44524 Likewise.
44525 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44526 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44527 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44528
2f80039d 445292008-01-10 Robert Millan <rmh@aybabtu.com>
44530
44531 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44532 Determines if a file is garbage left by packaging systems, etc.
44533 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44534 for processing /etc/grub.d scripts.
44535 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44536 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44537 as a condition for processing Linux images.
44538
87888032 445392008-01-10 Pavel Roskin <proski@gnu.org>
44540
44541 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44542 to compile reiserfs.c on PowerPC.
44543
7e54fced 445442008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44545
44546 * kern/device.c (grub_device_iterate): Do not abort device iteration
44547 when one of the devices cannot be opened.
44548 * kern/disk.c (grub_disk_open): Do not account previous failures of
44549 unrelated functions when grub_errno is checked for.
44550
5aa541e6 445512008-01-08 Robert Millan <rmh@aybabtu.com>
44552
44553 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44554 `! grub_linux_is_bzimage', change order of address comparison to make
44555 it more intuitive, and improve "too big zImage" error message.
44556
7076340d 445572008-01-08 Robert Millan <rmh@aybabtu.com>
44558
44559 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44560 `$(update-grub_DATA)'.
44561 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44562 targets.
44563
9ca70333 445642008-01-07 Robert Millan <rmh@aybabtu.com>
44565
44566 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44567 which instruction is modified by grub-setup during installation
44568 (since it wasn't obvious by only looking at this file).
44569
38ccf575 445702008-01-07 Robert Millan <rmh@aybabtu.com>
44571
44572 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44573 listing actual TODO items.
44574
f5db4291 445752008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44576
868967cf 44577 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44578 correctly.
44579 (grub_reiserfs_get_key_offset): Likewise.
44580 (grub_reiserfs_set_key_offset): Likewise.
44581 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44582 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44583
44584 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44585 better to remove the bitfield version completely.
f19dbdb7 44586
868967cf 445872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44588
f5db4291 44589 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44590 allocated from the heap, due to the fshelp implementation.
44591 (grub_reiserfs_dir): Free NODE, due to the same reason.
44592
492e6d9d 445932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44594
44595 Mostly from Vincent Pelletier:
f19dbdb7 44596
492e6d9d 44597 * fs/reiserfs.c: New file.
f19dbdb7 44598
492e6d9d 44599 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44600 (reiserfs_mod_SOURCES): New variable.
44601 (reiserfs_mod_CFLAGS): Likewise.
44602 (reiserfs_mod_LDFLAGS): Likewise.
44603
44604 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44605 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44606 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44607 normal/color.c.
44608
9ce3e7c1 446092008-01-06 Robert Millan <rmh@aybabtu.com>
44610
44611 * normal/color.c: Remove `<grub/env.h>'.
44612
f3b58148 446132008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44614
44615 * include/grub/normal.h: Include <grub/env.h>.
44616
7ac3bcfa 446172008-01-05 Robert Millan <rmh@aybabtu.com>
44618
44619 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44620 usage example with `(hd0,1)'.
fb358190 44621 Reported by Samuel Thibault.
7ac3bcfa 44622
c8ee99d7 446232008-01-05 Robert Millan <rmh@aybabtu.com>
44624
44625 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44626 (grub_linux_boot_zimage): Rename to ...
44627 (grub_linux_boot): ... this.
44628 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44629 (grub_linux_boot_zimage): Conditionalize zImage copy.
44630
44631 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44632 (grub_linux_boot_bzimage): Remove prototype.
44633 (grub_linux_boot_zimage): Rename to ...
44634 (grub_linux_boot): ... this.
44635
44636 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44637 (grub_linux_boot): Remove function.
44638
0ece25b1 446392008-01-05 Robert Millan <rmh@aybabtu.com>
44640
44641 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44642 (grub_env_write_color_highlight): Likewise.
44643 (grub_wait_after_message): Likewise.
44644
44645 * normal/color.c: New file.
44646
44647 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44648 (normal_mod_DEPENDENCIES): Likewise.
44649
44650 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44651 (normal_mod_DEPENDENCIES): Likewise.
44652
44653 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44654 (normal_mod_DEPENDENCIES): Likewise.
44655
44656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44657 (normal_mod_DEPENDENCIES): Likewise.
44658
44659 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44660 for waiting after a message is printed.
44661 * normal/main.c (read_config_file): Likewise.
44662 (grub_normal_init): Register grub_env_write_color_normal() and
44663 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44664 `color_highlight' variables as global.
44665
44666 * normal/menu.c (grub_wait_after_message): New function.
44667 (grub_color_menu_normal): New variable. Replaces ...
44668 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44669 (grub_color_menu_highlight): New variable. Replaces ...
44670 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44671 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44672 `GRUB_TERM_COLOR_STANDARD'.
44673 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44674 `normal_code' and `highlight_code' to `old_color_normal' and
44675 `old_color_highlight', respectively.
44676 (grub_menu_init_page): Update colors when drawing the menu, based on
44677 `menu_color_normal' and `menu_color_highlight' variables.
44678 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44679 a message is printed.
44680
182dd4e5 446812008-01-05 Robert Millan <rmh@aybabtu.com>
44682
44683 * kern/env.c (grub_env_context_open): Propagate hooks for global
44684 variables to new context.
44685
44686 * kern/main.c (grub_set_root_dev): Export `root' variable.
44687
ddf8f6ad 446882008-01-05 Robert Millan <rmh@aybabtu.com>
44689
44690 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44691 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44692 them.
44693
d8b43d9b 446942008-01-05 Robert Millan <rmh@aybabtu.com>
44695
44696 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44697
2bff2de3 446982008-01-04 Christian Franke <franke@computer.org>
44699
44700 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44701 of eisa_mmap.
44702
97eab917 447032008-01-03 Pavel Roskin <proski@gnu.org>
44704
44705 * kern/i386/linuxbios/init.c: Put "void" to all function
44706 declarations with no arguments.
44707 * kern/powerpc/ieee1275/init.c: Likewise.
44708 * term/i386/pc/at_keyboard.c: Likewise.
44709 * term/i386/pc/vga_text.c: Likewise.
44710 * util/grub-mkdevicemap.c: Likewise.
44711
b9416d00 447122008-01-02 Robert Millan <rmh@aybabtu.com>
44713
44714 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44715 message when loaded image is out of bounds.
44716 (grub_multiboot_load_elf64): Likewise.
44717
92695df9 447182008-01-02 Pavel Roskin <proski@gnu.org>
44719
44720 * util/grub.d/10_linux.in: Try version without ".old" when
44721 looking for initrd. It's better to use initrd from the newer
44722 kernel of the same version than no initrd at all.
44723
d98d9cad 447242008-01-01 Robert Millan <rmh@aybabtu.com>
44725
44726 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44727
dbfdce36 447282008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44729
f19dbdb7 44730 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44731 grub_video_get_active_render_target.
44732 (grub_video_adapter): Added unmap_color and get_active_render_target.
44733
f19dbdb7 44734 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44735 grub_video_get_active_render_target.
44736 (grub_video_get_info): Changed method to accept NULL pointer as an
44737 argument to allow detection of active video adapter.
44738
44739 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44740 grub_video_vbe_unmap_color_int.
44741 Added grub_video_vbe_unmap_color and
44742 grub_video_vbe_get_active_render_target.
44743 (grub_video_vbe_adapter): Added unmap_color and
44744 get_active_render_target.
44745
f19dbdb7 44746 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44747 with grub_video_vbe_unmap_color_int.
44748
44749 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44750 (DEFAULT_NORMAL_COLOR): Likewise.
44751 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44752 (DEFAULT_FG_COLOR): Removed.
44753 (DEFAULT_BG_COLOR): Likewise.
44754 (DEFAULT_CURSOR_COLOR): Changed value.
44755 (grub_virtual_screen): Added standard_color_setting,
44756 normal_color_setting, highlight_color_setting and term_color.
44757 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44758 (bitmap_width): Added.
44759 (bitmap_height): Likewise.
44760 (bitmap): Likewise.
44761 (set_term_color): Likewise.
44762 (grub_virtual_screen_setup): Changed to use new terminal coloring
44763 settings.
44764 (grub_gfxterm_init): Added init for bitmap.
44765 (grub_gfxterm_fini): Added destroy for bitmap.
44766 (redraw_screen_rect): Updated to use background bitmap and new
44767 terminal coloring.
44768 (scroll_up): Added optimization for case when there is no bitmap.
44769 (grub_gfxterm_cls): Fixed to use correct background color.
44770 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44771 coloring.
44772 (grub_virtual_screen_setcolor): Likewise.
44773 (grub_virtual_screen_getcolor): Added.
44774 (grub_gfxterm_background_image_cmd): Likewise.
44775 (grub_video_term): Added setcolor and getcolor.
44776 (MOD_INIT): Added registration of background_image command.
44777 (MOD_TERM): Added unregistration for background_image command.
44778
c3c20931 447792007-12-30 Pavel Roskin <proski@gnu.org>
44780
44781 * loader/multiboot_loader.c: Fix multiboot command
44782 unregistration. Fix all typos in the word "multiboot".
44783
df266716 447842007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44785
44786 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44787 support for initrd names used in Fedora.
44788
fc6e896c 447892007-12-26 Bean <bean123ch@gmail.com>
44790
44791 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44792 (cpio_mod_SOURCES): New variable.
44793 (cpio_mod_CFLAGS): Likewise.
44794 (cpio_mod_LDFLAGS): Likewise.
44795
44796 * fs/cpio.c: New file.
44797
44798 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44799
44800 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44801
44802 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44803
44804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44805
533110ad 448062007-12-25 Robert Millan <rmh@aybabtu.com>
44807
44808 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44809 (grub_getcolor): New function.
44810
44811 * kern/term.c (grub_getcolor): New function.
44812 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44813 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44814 (print_entry): Set normal and highlight colors to
44815 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44816 respectively, before printing and restore them to old
44817 values afterwards.
44818 (grub_menu_init_page): Likewise. Fill an additional colored space
44819 that would otherwise be left blank.
44820
44821 * term/efi/console.c (grub_console_getcolor): New function.
44822 (struct grub_console_term.getcolor): New variable.
44823 * term/i386/pc/console.c (grub_console_getcolor): New function.
44824 (struct grub_console_term.getcolor): New variable.
44825 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44826 (struct grub_console_term.getcolor): New variable.
44827
44828 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44829 (struct grub_console_term.setcolor): Remove variable.
44830 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44831 (struct grub_console_term.setcolor): Remove variable.
44832 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44833 (struct grub_console_term.setcolor): Remove variable.
44834 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44835 (struct grub_console_term.setcolor): Remove variable.
44836
4931827f 448372007-12-25 Robert Millan <rmh@aybabtu.com>
44838
44839 * configure.ac: Search for possible unifont.hex locations, and
44840 define UNIFONT_HEX if found.
44841
44842 * Makefile.in (UNIFONT_HEX): Define variable.
44843 (DATA): Rename to ...
44844 (PKGLIB): ... this. Update all users.
44845 (PKGDATA): New variable.
44846 (pkgdata_IMAGES): Rename to ...
44847 (pkglib_IMAGES): ... this. Update all users.
44848 (pkgdata_MODULES): Rename to ...
44849 (pkglib_MODULES): ... this. Update all users.
44850 (pkgdata_PROGRAMS): Rename to ...
44851 (pkglib_PROGRAMS): ... this. Update all users.
44852 (pkgdata_DATA): Rename to ...
44853 (pkglib_DATA): ... this. Update all users.
44854 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44855 (unicode.pff, ascii.pff): New rules.
44856 (all-local): Add `$(PKGDATA)' dependency.
44857 (install-local): Process `$(PKGDATA)'.
44858
44859 * util/update-grub_lib.in (font_path): Search for *.pff files in
44860 a few more locations, including `${pkgdata}'.
44861
57e57e31 448622007-12-23 Robert Millan <rmh@aybabtu.com>
44863
44864 Patch from Bean <bean123ch@gmail.com>:
44865 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44866 `size'.
44867
4bc72aa9 448682007-12-21 Bean <bean123ch@gmail.com>
44869
44870 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44871 (ntfscomp_mod_SOURCES): New variable.
44872 (ntfscomp_mod_CFLAGS): Likewise.
44873 (ntfscomp_mod_LDFLAGS): Likewise.
44874
44875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44876 (grub_probe_SOURCES): Likewise.
44877 (grub_emu_SOURCES): Likewise.
44878
44879 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44880 (grub_emu_SOURCES): Likewise.
44881
44882 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44883 (grub_emu_SOURCES): Likewise.
44884
44885 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44886 (grub_emu_SOURCES): Likewise.
44887
44888 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44889 (read_run_list): Renamed to grub_ntfs_read_run_list.
44890 (decomp_nextvcn): Moved to ntfscomp.c.
44891 (decomp_getch): Likewise.
44892 (decomp_get16): Likewise.
44893 (decomp_block): Likewise.
44894 (read_block): Likewise.
44895 (read_data): Partially moved to ntfscomp.c.
44896 (fixup): Change unsigned to grub_uint16_t.
44897 (read_mft): Change unsigned long to grub_uint32_t.
44898 (read_attr): Likewise.
44899 (read_data): Likewise.
44900 (read_run_data): Likewise.
44901 (read_run_list): Likewise.
44902 (read_mft): Likewise.
44903
44904 * fs/ntfscomp.c: New file.
44905
44906 * include/grub/ntfs.h: New file.
44907
af680a87 449082007-12-16 Robert Millan <rmh@aybabtu.com>
44909
44910 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44911 IDE disk check, since Linux is known to support 20 IDE disks.
44912 Reported by Colin Watson.
44913
84be7599 449142007-12-15 Bean <bean123ch@gmail.com>
44915
44916 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44917 (lnxboot_img_SOURCES): New variable.
44918 (lnxboot_img_ASFLAGS): Likewise.
44919 (lnxboot_img_LDFLAGS): Likewise.
44920
44921 * boot/i386/pc/lnxboot.S: New file.
44922
6af9db01 449232007-11-24 Pavel Roskin <proski@gnu.org>
44924
44925 * configure.ac: Test if '--build-id=none' is supported by the
44926 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44927 objcopy to generate incorrect binary files (binutils
44928 2.17.50.0.18-1 as shipped by Fedora 8).
44929 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44930 linking, so that build ID doesn't break the test.
44931
7361cfe6 449322007-11-24 Pavel Roskin <proski@gnu.org>
44933
44934 * include/grub/i386/time.h: use "void" in the argument list
44935 of grub_cpu_idle().
44936 * include/grub/powerpc/time.h: Likewise.
44937 * include/grub/sparc64/time.h: Likewise.
44938
1593e10c 449392007-11-18 Christian Franke <franke@computer.org>
44940
44941 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44942 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44943 This fixes the problem that function keys did not work in grub-emu.
44944
3b8db1a8 449452007-11-18 Christian Franke <franke@computer.org>
44946
44947 * disk/host.c (grub_host_open): Remove attribute unused from
44948 name parameter. Add check for "host". This fixes the problem
44949 that grub-emu does not find partitions.
44950
2e29408d 449512007-11-18 Christian Franke <franke@computer.org>
44952
44953 * util/hostfs.c (is_dir): New function.
44954 (grub_hostfs_dir): Handle missing dirent.d_type case.
44955 (grub_hostfs_read): Add missing fseek().
44956 (grub_hostfs_label): Clear label pointer. This fixes a crash
44957 of grub-emu on "ls (host)".
44958
398cd047 449592007-11-18 Christian Franke <franke@computer.org>
44960
44961 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44962 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44963 to 64 bit boundary by default.
44964
c405c391 449652007-11-18 Bean <bean123ch@gmail.com>
44966
44967 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44968 (hexdump_mod_SOURCES): New variable.
44969 (hexdump_mod_CFLAGS): Likewise.
44970 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44971
c405c391 44972 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44973
44974 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44975
44976 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44977
44978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44979
44980 * include/grub/hexdump.h: New file.
44981
44982 * commands/hexdump.c: New file.
44983
5cced7fd 449842007-11-10 Robert Millan <rmh@aybabtu.com>
44985
44986 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44987 in grub_outb() calls.
44988 (beep_on): Likewise.
44989
8b714eb0 449902007-11-10 Christian Franke <franke@computer.org>
44991
44992 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44993 (grub_menu_run): Likewise.
44994
ce0f1839 449952007-11-10 Robert Millan <rmh@aybabtu.com>
44996
44997 * include/grub/i386/efi/machine.h: New file.
44998 * include/grub/i386/linuxbios/machine.h: Likewise.
44999 * include/grub/i386/pc/machine.h: Likewise.
45000 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45001 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45002
45003 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45004 (serial_hw_io_addr): New variable.
45005 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45006 instead of `(unsigned short *) 0x400'.
45007
270c237d 450082007-11-10 Bean <bean123ch@gmail.com>
45009
45010 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45011
a87783bf 450122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45013
45014 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45015 (vga_mod_SOURCES): Added.
45016 (vga_mod_CFLAGS): Likewise.
45017 (vga_mod_LDFLAGS): Likewise.
45018
45019 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45020 grub_outb() calls.
45021 (set_map_mask): Likewise.
45022 (set_read_map): Likewise.
45023 (set_read_address): Likewise.
45024 (vga_font): Removed variable.
45025 (get_vga_glyph): Removed function.
45026 (invalidate_char): Likewise.
45027 (write_char): Changed to use grub_font_get_glyph() for font
45028 information.
45029 (grub_vga_putchar): Likewise.
45030 (grub_vga_getcharwidth): Likewise.
45031
6433b448 450322007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45033
45034 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45035 flags.
45036 (pxeboot_img_LDFLAGS): Likewise.
45037 (diskboot_img_LDFLAGS): Likewise.
45038 (kernel_img_LDFLAGS): Likewise.
45039
49178511 450402007-11-06 Robert Millan <rmh@aybabtu.com>
45041
45042 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45043 in grub_outb() calls.
45044 (serial_hw_init): Likewise.
45045
53b052de 450462007-11-05 Robert Millan <rmh@aybabtu.com>
45047
45048 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45049 spaces. Skip non-regular files.
45050
5ab33bba 450512007-11-05 Robert Millan <rmh@aybabtu.com>
45052
45053 * kern/disk.c (grub_disk_firmware_fini)
45054 (grub_disk_firmware_is_tainted): New variables.
45055
45056 * include/grub/disk.h (grub_disk_firmware_fini)
45057 (grub_disk_firmware_is_tainted): Likewise.
45058
45059 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45060 (grub_disk_biosdisk_fini): ... to here.
45061 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45062 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45063 is set. Register grub_disk_biosdisk_fini() in
45064 `grub_disk_firmware_fini'.
45065
45066 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45067 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45068 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45069 to finish existing firmware disk interface.
45070
45071 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45072 (ata_mod_SOURCES): New variable.
45073 (ata_mod_CFLAGS): Likewise.
45074 (ata_mod_LDFLAGS): Likewise.
45075
0149ab7c 450762007-11-05 Robert Millan <rmh@aybabtu.com>
45077
45078 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45079 (grub_ata_wait): Reimplement using grub_millisleep().
45080
45081 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45082 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45083
be7ac41e 450842007-11-03 Marco Gerards <marco@gnu.org>
45085
45086 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45087 (CRTC_ADDR_PORT): New macro.
45088 (CRTC_DATA_PORT): Likewise.
45089 (CRTC_CURSOR): Likewise.
45090 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45091 (CRTC_CURSOR_ADDR_LOW): Likewise.
45092 (update_cursor): New function.
45093 (grub_console_real_putchar): Call `update_cursor'.
45094 (grub_console_gotoxy): Likewise.
45095 (grub_console_cls): Set the default color when clearing the
45096 screen.
45097 (grub_console_setcursor): Implemented.
45098
bb06ab2e 450992007-11-03 Marco Gerards <marco@gnu.org>
45100
45101 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45102 become activate.
45103 (grub_ata_pio_write): Likewise.
45104
45105 (grub_atapi_identify): Wait after issuing an ATA command.
45106 (grub_atapi_packet): Likewise.
45107 (grub_ata_identify): Likewise.
45108 (grub_ata_readwrite): Likewise.
45109
cf8f780b 451102007-11-03 Marco Gerards <marco@gnu.org>
45111
45112 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45113 (grub_ata_pio_write): Likewise.
45114 (grub_ata_readwrite): Use `grub_error', instead of
45115 returning `grub_errno'.
45116
ed649e54 451172007-11-03 Marco Gerards <marco@gnu.org>
45118
45119 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45120 grub_ata_pio_write once for every single sector, instead of for
45121 multiple sectors.
45122
ca25d8f0 451232007-10-31 Robert Millan <rmh@aybabtu.com>
45124
45125 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45126
45127 * conf/i386-linuxbios.rmk: New file.
45128
45129 * kern/i386/pc/hardware.c: Likewise.
45130 * term/i386/pc/at_keyboard.c: Likewise.
45131 * term/i386/pc/vga_text.c: Likewise.
45132
45133 * include/grub/i386/linuxbios/boot.h: Likewise.
45134 * include/grub/i386/linuxbios/console.h: Likewise.
45135 * include/grub/i386/linuxbios/init.h: Likewise.
45136 * include/grub/i386/linuxbios/kernel.h: Likewise.
45137 * include/grub/i386/linuxbios/loader.h: Likewise.
45138 * include/grub/i386/linuxbios/memory.h: Likewise.
45139 * include/grub/i386/linuxbios/serial.h: Likewise.
45140 * include/grub/i386/linuxbios/time.h: Likewise.
45141
45142 * kern/i386/linuxbios/init.c: Likewise.
45143 * kern/i386/linuxbios/startup.S: Likewise.
45144 * kern/i386/linuxbios/table.c: Likewise.
45145
e911ecc1 451462007-10-31 Marco Gerards <marco@gnu.org>
45147
45148 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45149 (ata_mod_SOURCES): New variable.
45150 (ata_mod_CFLAGS): Likewise.
45151 (ata_mod_LDFLAGS): Likewise.
45152
45153 * disk/ata.c: New file.
45154
45155 * include/grub/disk.h (grub_disk_dev_id): Add
45156 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45157
7f66d0e0 451582007-10-31 Robert Millan <rmh@aybabtu.com>
45159
45160 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45161 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45162
45163 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45164 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45165
45166 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45167 `<grub/types.h>'.
45168
45169 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45170
5cd7dd46 451712007-10-27 Robert Millan <rmh@aybabtu.com>
45172
3236ca65 45173 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45174
2ebfc90f 451752007-10-22 Robert Millan <rmh@aybabtu.com>
45176
45177 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45178 `"../realmode.S"'.
45179 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45180
73fcb0f3 451812007-10-22 Robert Millan <rmh@aybabtu.com>
45182
45183 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45184 (pkgdata_MODULES): Add `biosdisk.mod'.
45185 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45186 variables.
45187
45188 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45189 (grub_biosdisk_init): Replace with ...
45190 (GRUB_MOD_INIT(biosdisk)): ... this.
45191 (grub_biosdisk_fini): Replace with ...
45192 (GRUB_MOD_FINI(biosdisk)): ... this.
45193
45194 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45195 (grub_machine_init): Remove call to grub_biosdisk_init().
45196 (grub_machine_fini): Remove call to grub_machine_fini().
45197
45198 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45199
3381d274 452002007-10-22 Robert Millan <rmh@aybabtu.com>
45201
45202 * include/grub/time.h: New file.
45203 * include/grub/i386/time.h: Likewise.
45204 * include/grub/powerpc/time.h: Likewise.
45205 * include/grub/sparc64/time.h: Likewise.
45206
45207 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45208 instances to ...
45209 (KERNEL_MACHINE_TIME_HEADER): ... this.
45210 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45211 instances to ...
45212 (KERNEL_MACHINE_TIME_HEADER): ... this.
45213 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45214 instances to ...
45215 (KERNEL_MACHINE_TIME_HEADER): ... this.
45216
45217 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45218 (grub_millisleep): New function.
45219 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45220 (grub_millisleep): New function.
45221 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45222 Remove `grub/machine/time.h' include.
45223 (grub_millisleep): New function.
45224 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45225 Remove `grub/machine/time.h' include.
45226 (grub_millisleep): New function.
45227
45228 * include/grub/misc.h (grub_div_roundup): New function.
45229
45230 * kern/misc.c: Include `<grub/time.h>'.
45231 (grub_millisleep_generic): New function.
45232
45233 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45234 Add `time.h'.
45235 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45236 Add `time.h'.
45237 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45238 `machine/time.h'. Add `time.h'.
45239 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45240
a39a0312 452412007-10-21 Robert Millan <rmh@aybabtu.com>
45242
45243 * include/grub/misc.h (grub_max): New function.
45244
2aad70e2 452452007-10-21 Robert Millan <rmh@aybabtu.com>
45246
45247 * util/misc.c (grub_util_info): Call fflush() before returning.
45248
54b71c4b 452492007-10-20 Robert Millan <rmh@aybabtu.com>
45250
45251 * genmk.rb (Image): Copy `extra_flags' from here ...
45252 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45253
45254 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45255 to `argc' and `args' arguments.
45256
a979f513 452572007-10-17 Robert Millan <rmh@aybabtu.com>
45258
45259 * kern/i386/loader.S: New file.
45260
45261 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45262 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45263 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45264 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45265 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45266 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45267 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45268 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45269 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45270 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45271 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45272 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45273 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45274 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45275
45276 * kern/i386/realmode.S: New file.
45277
45278 * kern/i386/pc/startup.S (protstack): Moved from here ...
45279 * kern/i386/realmode.S (protstack)... to here.
45280 * kern/i386/pc/startup.S (gdt): Moved from here ...
45281 * kern/i386/realmode.S (gdt)... to here.
45282 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45283 * kern/i386/realmode.S (prot_to_real)... to here.
45284
45285 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45286 `kern/i386/realmode.S'.
45287
825fc8fd 452882007-10-17 Robert Millan <rmh@aybabtu.com>
45289
45290 * include/grub/i386/loader.h: New file.
45291
45292 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45293 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45294 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45295 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45296 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45297 * include/grub/i386/loader.h (grub_linux_prot_size)
45298 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45299 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45300 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45301 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45302
45303 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45304
e179b2f4 453052007-10-15 Robert Millan <rmh@aybabtu.com>
45306
45307 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45308 filesystem when dev->disk is unset.
45309 Do probe for filesystem even when dev->disk->has_partitions is set.
45310 In case a filesystem is found, always report it.
45311 In case it isn't, if dev->disk->has_partitions is set, report that
45312 a partition table was found instead of reporting that no filesystem
45313 could be identified.
45314
5db82af6 453152007-10-12 Robert Millan <rmh@aybabtu.com>
45316
45317 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45318 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45319
68f6ac74 45320 * include/grub/types.h (grub_host_to_target16): New macro.
45321 (grub_host_to_target32): Likewise.
45322 (grub_host_to_target64): Likewise.
45323 (grub_target_to_host16): Likewise.
45324 (grub_target_to_host32): Likewise.
45325 (grub_target_to_host64): Likewise.
5db82af6 45326
45327 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45328 Renamed from to ...
45329 (GRUB_MOD_ALIGN): ...this. Update all users.
45330
68f6ac74 45331 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45332 grub_host_to_target32.
45333 Replace grub_be_to_cpu32 with grub_target_to_host32.
45334 (load_modules): Likewise.
45335 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45336 Replace grub_be_to_cpu32 with grub_target_to_host32.
45337 Replace grub_cpu_to_be16 with grub_host_to_target16.
45338 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45339
3cf497cc 453402007-10-12 Robert Millan <rmh@aybabtu.com>
45341
45342 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45343 * util/elf/grub-mkimage.c: ... here.
45344
45345 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45346 `util/powerpc/ieee1275/grub-mkimage.c'.
45347
c8cc3692 453482007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45349
c8cc3692 45350 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45351 and make it easier to figure out.
45352 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45353 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45354 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45355 leave us with less than HEAP_MIN_SIZE total heap.
45356 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45357
5c58b791 453582007-10-03 Robert Millan <rmh@aybabtu.com>
45359
45360 * include/grub/i386/io.h: New file.
45361 * commands/i386/pc/play.c (inb): Removed.
45362 (outb): Removed.
45363 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45364 with grub_outb().
afcd2ef8 45365 * term/i386/pc/serial.c (inb): Removed.
45366 (outb): Removed.
45367 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45368 with grub_outb().
45369 * term/i386/pc/vga.c (inb): Removed.
45370 (outb): Removed.
45371 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45372 with grub_outb().
5c58b791 45373
1a477ed6 453742007-10-02 Robert Millan <rmh@aybabtu.com>
45375
45376 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45378 Reported by Marcin Kurek.
45379
6b5d80fa 453802007-09-07 Robert Millan <rmh@aybabtu.com>
45381
45382 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45383 SmartFirmware version updates (as released by Sven Luther), and avoid
45384 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45385 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45386 known broken.
45387
5618afbf 453882007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45389
45390 From Hitoshi Ozeki:
45391 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45392 when merging two regions.
45393
6139dcd9 453942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45395
508e39ee 45396 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45397 * normal/completion.c (grub_normal_do_completion): Likewise.
45398 Reported by Hitoshi Ozeki.
45399
454002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45401
6139dcd9 45402 Do not use devices at boot in chainloading.
f19dbdb7 45403
6139dcd9 45404 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45405 (boot_part_addr): Likewise.
45406 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45407 with BOOT_DRIVE and BOOT_PART_ADDR.
45408 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45409 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45410
38da6516 454112007-08-29 Robert Millan <rmh@aybabtu.com>
45412
45413 Patch from Simon Peter <dn.tlp@gmx.net>:
45414 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45415 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45416 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45417 util/i386/pc/grub-setup.c_DEPENDENCIES.
45418 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45419 util/grub-probe.c_DEPENDENCIES.
45420 * conf/powerpc-ieee1275.rmk: Likewise.
45421
29d0928c 454222007-08-28 Robert Millan <rmh@aybabtu.com>
45423
45424 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45425 to tell grub-mkdevicemap how to name devices.
45426 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45427 feature).
45428
45429 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45430 util/i386/get_disk_name.c.
45431 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45432 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45433 util/ieee1275/get_disk_name.c.
45434
45435 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45436
45437 * DISTLIST: Add util/i386/get_disk_name.c and
45438 util/ieee1275/get_disk_name.c.
45439
45440 * util/grub-mkdevicemap.c: Replace device naming logic with
45441 grub_util_get_disk_name() calls.
45442
5a0d3cca 454432007-08-20 Robert Millan <rmh@aybabtu.com>
45444
45445 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45446 (so that it works for both plural and singular quantities).
45447
8b72db2f 454482007-08-05 Robert Millan <rmh@aybabtu.com>
45449
45450 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45451 so that [xz] isn't taken into account when determining order.
45452
352466bf 454532007-08-02 Marco Gerards <marco@gnu.org>
45454
45455 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45456 `include/multiboot2.h', `include/grub/elfload.h',
45457 `include/multiboot.h', `include/grub/multiboot.h',
45458 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45459 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45460 `kern/elf.c', `loader/multiboot_loader.c',
45461 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45462 `loader/i386/pc/multiboot2.c',
45463 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45464 `util/i386/pc/grub-mkrescue.in'. Remove
45465 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45466 `include/grub/i386/pc/util/biosdisk.h' and
45467 `include/grub/powerpc/ieee1275/multiboot.h'.
45468
8f096014 454692007-08-02 Bean <bean123ch@gmail.com>
45470
45471 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45472 (ntfs_mod_SOURCES): New variable.
45473 (ntfs_mod_CFLAGS): Likewise.
45474 (ntfs_mod_LDFLAGS): Likewise.
45475
45476 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45477 (grub_probe_SOURCES): Likewise.
45478 (grub_emu_SOURCES): Likewise.
45479
45480 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45481 (grub_emu_SOURCES): Likewise.
45482
45483 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45484 (grub_emu_SOURCES): Likewise.
f19dbdb7 45485
8f096014 45486 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45487
45488 * fs/ntfs.c: New file.
45489
9959f7db 454902007-08-02 Bean <bean123ch@gmail.com>
45491
45492 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45493
45494 * file.h (grub_file): Likewise.
45495
45496 * fshelp.h (grub_fshelp_read_file): Likewise.
45497
45498 * util/i386/pc/grub-setup.c (setup): Likewise.
45499 (save_first_sector): Likewise.
45500 (save_blocklists): Likewise.
f19dbdb7 45501
9959f7db 45502 * fs/affs.c (grub_affs_read_file): Likewise.
45503
45504 * fs/ext2.c (grub_ext2_read_file): Likewise.
45505
45506 * fs/fat.c (grub_fat_read_data): Likewise.
45507
45508 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45509
45510 * fs/hfs.c (grub_hfs_read_file): Likewise.
45511
45512 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45513
45514 * fs/jfs.c (grub_jfs_read_file): Likewise.
45515
45516 * fs/minix.c (grub_minix_read_file): Likewise.
45517
45518 * fs/sfs.c (grub_sfs_read_file): Likewise.
45519
45520 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45521
9959f7db 45522 * fs/xfs.c (grub_xfs_read_file): Likewise.
45523
45524 * command/blocklist.c (read_blocklist): Likewise.
45525 (print_blocklist): Likewise.
45526
0a203f83 455272007-08-02 Marco Gerards <marco@gnu.org>
45528
45529 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45530 `util/hostfs.c'.
45531
45532 * disk/host.c: New file.
45533
45534 * util/hostfs.c: Likewise.
45535
45536 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45537 return `GRUB_ERR_BAD_FS'.
45538 * fs/sfs.c (grub_sfs_mount): Likewise.
45539 * fs/xfs.c (grub_xfs_mount): Likewise.
45540
45541 * include/grub/disk.h (enum grub_disk_dev_id): Add
45542 `GRUB_DISK_DEVICE_HOST_ID'.
45543
45544 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45545
e5dfe777 455462007-07-24 Jerone Young <jerone@gmail.com>
45547
f19dbdb7 45548 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45549 modules for compilation.
45550 * conf/powerpc-ieee1275.rmk: Likewise.
45551
45552 * include/multiboot.h: Move multiboot definitions to one file. Rename
45553 many definitions to not get grub specific.
45554 * include/multiboot2.h: Create header with multiboot 2 definitions.
45555 * include/grub/multiboot.h: Header for grub specific function
45556 prototypes and definitions.
45557 * include/grub/multiboot2.h: Likewise.
45558 * include/grub/multiboot_loader.h: Likewise.
45559 * include/grub/i386/pc/multiboot.h: Removed.
45560 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45561
45562 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45563 and 2 to allow for one multiboot and module commands.
45564 * loader/multiboot2.c: Add multiboot2 functionality.
45565 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45566 and definition names.
45567 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45568 2 functions.
45569 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45570 ieee1275 specific multiboot2 code.
45571
45572 * kern/i386/pc/startup.S: Change headers and definition names for
45573 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45574
daf0f0ba 455752007-07-22 Robert Millan <rmh@aybabtu.com>
45576
45577 * geninitheader.sh: Process file specified in first parameter rather
45578 than hardcoding grub_modules_init.lst.
fe6b695a 45579 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45580 than hardcoding grub_modules_init.h.
45581
45582 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45583 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45584 grub_probe_init.[ch] and grub_setup_init.[ch].
45585
45586 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45587 grub_modules_init.h with grub_emu_init.h.
45588 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45589 grub_probe_init.[ch] files.
45590 * conf/i386-efi.rmk: Likewise.
45591 * conf/i386-pc.rmk: Likewise.
45592 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45593 grub_setup_init.[ch] files.
45594
45595 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45596 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45597 to initialize modules rather than a list of hardcoded functions.
45598 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45599 grub_init_all() to initialize modules rather than a list of hardcoded
45600 functions.
45601
54cdc1cc 456022007-07-22 Robert Millan <rmh@aybabtu.com>
45603
45604 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45605 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45606
ad0686cc 456072007-07-22 Robert Millan <rmh@aybabtu.com>
45608
45609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45610 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45611 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45612 flag when running on SmartFirmware.
45613 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45614 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45615 was set.
45616
45617 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45618 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45619 rather than decreasing it.
45620
45621 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45622 there's not enough space to do it, fail in the same way as when it
45623 can't be done because there are no partitions.
45624
45625 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45626 when nvsetenv failed.
45627
969c02ec 456282007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45629
45630 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45631 because this rule is automatically generated.
45632 (grub-mkrescue): Removed for the same reason as above.
45633
5a79f472 456342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45635
45636 Migrate to GNU General Public License Version 3.
f19dbdb7 45637
5a79f472 45638 * COPYING: Replaced with the plain text version of GPLv3.
45639
45640 * config.guess: Updated from gnulib.
45641 * config.sub: Likewise.
45642
45643 * geninit.sh: Output a GPLv3 copyright notice.
45644 * geninitheader.sh: Likewise.
45645 * genmodsrc.sh: Likewise.
45646 * gensymlist.sh.in: Likewise.
45647
45648 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45649 * boot/i386/pc/diskboot.S: Likewise.
45650 * boot/i386/pc/pxeboot.S: Likewise.
45651 * commands/blocklist.c: Likewise.
45652 * commands/boot.c: Likewise.
45653 * commands/cat.c: Likewise.
45654 * commands/cmp.c: Likewise.
45655 * commands/configfile.c: Likewise.
45656 * commands/echo.c: Likewise.
45657 * commands/help.c: Likewise.
45658 * commands/ls.c: Likewise.
45659 * commands/search.c: Likewise.
45660 * commands/terminal.c: Likewise.
45661 * commands/test.c: Likewise.
45662 * commands/videotest.c: Likewise.
45663 * commands/i386/cpuid.c: Likewise.
45664 * commands/i386/pc/halt.c: Likewise.
45665 * commands/i386/pc/play.c: Likewise.
45666 * commands/i386/pc/reboot.c: Likewise.
45667 * commands/i386/pc/vbeinfo.c: Likewise.
45668 * commands/i386/pc/vbetest.c: Likewise.
45669 * commands/ieee1275/halt.c: Likewise.
45670 * commands/ieee1275/reboot.c: Likewise.
45671 * commands/ieee1275/suspend.c: Likewise.
45672 * disk/loopback.c: Likewise.
45673 * disk/lvm.c: Likewise.
45674 * disk/raid.c: Likewise.
45675 * disk/efi/efidisk.c: Likewise.
45676 * disk/i386/pc/biosdisk.c: Likewise.
45677 * disk/ieee1275/ofdisk.c: Likewise.
45678 * font/manager.c: Likewise.
45679 * fs/affs.c: Likewise.
45680 * fs/ext2.c: Likewise.
45681 * fs/fat.c: Likewise.
45682 * fs/fshelp.c: Likewise.
45683 * fs/hfs.c: Likewise.
45684 * fs/hfsplus.c: Likewise.
45685 * fs/iso9660.c: Likewise.
45686 * fs/jfs.c: Likewise.
45687 * fs/minix.c: Likewise.
45688 * fs/sfs.c: Likewise.
45689 * fs/ufs.c: Likewise.
45690 * fs/xfs.c: Likewise.
45691 * hello/hello.c: Likewise.
45692 * include/grub/acorn_filecore.h: Likewise.
45693 * include/grub/arg.h: Likewise.
45694 * include/grub/bitmap.h: Likewise.
45695 * include/grub/boot.h: Likewise.
45696 * include/grub/cache.h: Likewise.
45697 * include/grub/device.h: Likewise.
45698 * include/grub/disk.h: Likewise.
45699 * include/grub/dl.h: Likewise.
45700 * include/grub/elfload.h: Likewise.
45701 * include/grub/env.h: Likewise.
45702 * include/grub/err.h: Likewise.
45703 * include/grub/file.h: Likewise.
45704 * include/grub/font.h: Likewise.
45705 * include/grub/fs.h: Likewise.
45706 * include/grub/fshelp.h: Likewise.
45707 * include/grub/gzio.h: Likewise.
45708 * include/grub/hfs.h: Likewise.
45709 * include/grub/kernel.h: Likewise.
45710 * include/grub/loader.h: Likewise.
45711 * include/grub/lvm.h: Likewise.
45712 * include/grub/misc.h: Likewise.
45713 * include/grub/mm.h: Likewise.
45714 * include/grub/net.h: Likewise.
45715 * include/grub/normal.h: Likewise.
45716 * include/grub/parser.h: Likewise.
45717 * include/grub/partition.h: Likewise.
45718 * include/grub/pc_partition.h: Likewise.
45719 * include/grub/raid.h: Likewise.
45720 * include/grub/rescue.h: Likewise.
45721 * include/grub/script.h: Likewise.
45722 * include/grub/setjmp.h: Likewise.
45723 * include/grub/symbol.h: Likewise.
45724 * include/grub/term.h: Likewise.
45725 * include/grub/terminfo.h: Likewise.
45726 * include/grub/tparm.h: Likewise.
45727 * include/grub/types.h: Likewise.
45728 * include/grub/video.h: Likewise.
45729 * include/grub/efi/api.h: Likewise.
45730 * include/grub/efi/chainloader.h: Likewise.
45731 * include/grub/efi/console.h: Likewise.
45732 * include/grub/efi/console_control.h: Likewise.
45733 * include/grub/efi/disk.h: Likewise.
45734 * include/grub/efi/efi.h: Likewise.
45735 * include/grub/efi/pe32.h: Likewise.
45736 * include/grub/efi/time.h: Likewise.
45737 * include/grub/i386/linux.h: Likewise.
45738 * include/grub/i386/setjmp.h: Likewise.
45739 * include/grub/i386/types.h: Likewise.
45740 * include/grub/i386/efi/kernel.h: Likewise.
45741 * include/grub/i386/efi/loader.h: Likewise.
45742 * include/grub/i386/efi/time.h: Likewise.
45743 * include/grub/i386/pc/biosdisk.h: Likewise.
45744 * include/grub/i386/pc/boot.h: Likewise.
45745 * include/grub/i386/pc/chainloader.h: Likewise.
45746 * include/grub/i386/pc/console.h: Likewise.
45747 * include/grub/i386/pc/init.h: Likewise.
45748 * include/grub/i386/pc/kernel.h: Likewise.
45749 * include/grub/i386/pc/loader.h: Likewise.
45750 * include/grub/i386/pc/memory.h: Likewise.
45751 * include/grub/i386/pc/multiboot.h: Likewise.
45752 * include/grub/i386/pc/serial.h: Likewise.
45753 * include/grub/i386/pc/time.h: Likewise.
45754 * include/grub/i386/pc/vbe.h: Likewise.
45755 * include/grub/i386/pc/vbeblit.h: Likewise.
45756 * include/grub/i386/pc/vbefill.h: Likewise.
45757 * include/grub/i386/pc/vbeutil.h: Likewise.
45758 * include/grub/i386/pc/vga.h: Likewise.
45759 * include/grub/ieee1275/ieee1275.h: Likewise.
45760 * include/grub/ieee1275/ofdisk.h: Likewise.
45761 * include/grub/powerpc/libgcc.h: Likewise.
45762 * include/grub/powerpc/setjmp.h: Likewise.
45763 * include/grub/powerpc/types.h: Likewise.
45764 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45765 * include/grub/powerpc/ieee1275/console.h: Likewise.
45766 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45767 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45768 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45769 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45770 * include/grub/powerpc/ieee1275/time.h: Likewise.
45771 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45772 * include/grub/sparc64/libgcc.h: Likewise.
45773 * include/grub/sparc64/setjmp.h: Likewise.
45774 * include/grub/sparc64/types.h: Likewise.
45775 * include/grub/sparc64/ieee1275/console.h: Likewise.
45776 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45777 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45778 * include/grub/sparc64/ieee1275/time.h: Likewise.
45779 * include/grub/util/biosdisk.h: Likewise.
45780 * include/grub/util/getroot.h: Likewise.
45781 * include/grub/util/lvm.h: Likewise.
45782 * include/grub/util/misc.h: Likewise.
45783 * include/grub/util/raid.h: Likewise.
45784 * include/grub/util/resolve.h: Likewise.
45785 * io/gzio.c: Likewise.
45786 * kern/device.c: Likewise.
45787 * kern/disk.c: Likewise.
45788 * kern/dl.c: Likewise.
45789 * kern/elf.c: Likewise.
45790 * kern/env.c: Likewise.
45791 * kern/err.c: Likewise.
45792 * kern/file.c: Likewise.
45793 * kern/fs.c: Likewise.
45794 * kern/loader.c: Likewise.
45795 * kern/main.c: Likewise.
45796 * kern/misc.c: Likewise.
45797 * kern/mm.c: Likewise.
45798 * kern/parser.c: Likewise.
45799 * kern/partition.c: Likewise.
45800 * kern/rescue.c: Likewise.
45801 * kern/term.c: Likewise.
45802 * kern/efi/efi.c: Likewise.
45803 * kern/efi/init.c: Likewise.
45804 * kern/efi/mm.c: Likewise.
45805 * kern/i386/dl.c: Likewise.
45806 * kern/i386/efi/init.c: Likewise.
45807 * kern/i386/efi/startup.S: Likewise.
45808 * kern/i386/pc/init.c: Likewise.
45809 * kern/i386/pc/lzo1x.S: Likewise.
45810 * kern/i386/pc/startup.S: Likewise.
45811 * kern/ieee1275/ieee1275.c: Likewise.
45812 * kern/powerpc/cache.S: Likewise.
45813 * kern/powerpc/dl.c: Likewise.
45814 * kern/powerpc/ieee1275/cmain.c: Likewise.
45815 * kern/powerpc/ieee1275/crt0.S: Likewise.
45816 * kern/powerpc/ieee1275/init.c: Likewise.
45817 * kern/powerpc/ieee1275/openfw.c: Likewise.
45818 * kern/sparc64/cache.S: Likewise.
45819 * kern/sparc64/dl.c: Likewise.
45820 * kern/sparc64/ieee1275/init.c: Likewise.
45821 * kern/sparc64/ieee1275/openfw.c: Likewise.
45822 * loader/efi/chainloader.c: Likewise.
45823 * loader/efi/chainloader_normal.c: Likewise.
45824 * loader/i386/efi/linux.c: Likewise.
45825 * loader/i386/efi/linux_normal.c: Likewise.
45826 * loader/i386/pc/chainloader.c: Likewise.
45827 * loader/i386/pc/chainloader_normal.c: Likewise.
45828 * loader/i386/pc/linux.c: Likewise.
45829 * loader/i386/pc/linux_normal.c: Likewise.
45830 * loader/i386/pc/multiboot.c: Likewise.
45831 * loader/i386/pc/multiboot_normal.c: Likewise.
45832 * loader/powerpc/ieee1275/linux.c: Likewise.
45833 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45834 * normal/arg.c: Likewise.
45835 * normal/cmdline.c: Likewise.
45836 * normal/command.c: Likewise.
45837 * normal/completion.c: Likewise.
45838 * normal/execute.c: Likewise.
45839 * normal/function.c: Likewise.
45840 * normal/lexer.c: Likewise.
45841 * normal/main.c: Likewise.
45842 * normal/menu.c: Likewise.
45843 * normal/menu_entry.c: Likewise.
45844 * normal/misc.c: Likewise.
45845 * normal/parser.y: Likewise.
45846 * normal/script.c: Likewise.
45847 * normal/i386/setjmp.S: Likewise.
45848 * normal/powerpc/setjmp.S: Likewise.
45849 * normal/sparc64/setjmp.S: Likewise.
45850 * partmap/acorn.c: Likewise.
45851 * partmap/amiga.c: Likewise.
45852 * partmap/apple.c: Likewise.
45853 * partmap/gpt.c: Likewise.
45854 * partmap/pc.c: Likewise.
45855 * partmap/sun.c: Likewise.
45856 * term/gfxterm.c: Likewise.
45857 * term/terminfo.c: Likewise.
45858 * term/efi/console.c: Likewise.
45859 * term/i386/pc/console.c: Likewise.
45860 * term/i386/pc/serial.c: Likewise.
45861 * term/i386/pc/vesafb.c: Likewise.
45862 * term/i386/pc/vga.c: Likewise.
45863 * term/ieee1275/ofconsole.c: Likewise.
45864 * util/biosdisk.c: Likewise.
45865 * util/console.c: Likewise.
45866 * util/genmoddep.c: Likewise.
45867 * util/getroot.c: Likewise.
45868 * util/grub-emu.c: Likewise.
45869 * util/grub-mkdevicemap.c: Likewise.
45870 * util/grub-probe.c: Likewise.
45871 * util/lvm.c: Likewise.
45872 * util/misc.c: Likewise.
45873 * util/raid.c: Likewise.
45874 * util/resolve.c: Likewise.
45875 * util/update-grub.in: Likewise.
45876 * util/update-grub_lib.in: Likewise.
45877 * util/grub.d/00_header.in: Likewise.
45878 * util/grub.d/10_hurd.in: Likewise.
45879 * util/grub.d/10_linux.in: Likewise.
45880 * util/i386/efi/grub-install.in: Likewise.
45881 * util/i386/efi/grub-mkimage.c: Likewise.
45882 * util/i386/pc/grub-install.in: Likewise.
45883 * util/i386/pc/grub-mkimage.c: Likewise.
45884 * util/i386/pc/grub-mkrescue.in: Likewise.
45885 * util/i386/pc/grub-setup.c: Likewise.
45886 * util/i386/pc/misc.c: Likewise.
45887 * util/powerpc/ieee1275/grub-install.in: Likewise.
45888 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45889 * util/powerpc/ieee1275/misc.c: Likewise.
45890 * video/bitmap.c: Likewise.
45891 * video/video.c: Likewise.
45892 * video/i386/pc/vbe.c: Likewise.
45893 * video/i386/pc/vbeblit.c: Likewise.
45894 * video/i386/pc/vbefill.c: Likewise.
45895 * video/i386/pc/vbeutil.c: Likewise.
45896 * video/readers/tga.c: Likewise.
45897
3572d015 458982007-07-02 Robert Millan <rmh@aybabtu.com>
45899
45900 * conf/i386-efi.rmk: Replace obsolete reference to
45901 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45902 with util/getroot.c.
45903 * conf/powerpc-ieee1275.rmk: Likewise.
45904 * conf/sparc64-ieee1275.rmk: Likewise.
45905
45906 * util/grub-emu.c (main): Fix unchecked pointer handling.
45907
2c2a681b 459082007-07-02 Robert Millan <rmh@aybabtu.com>
45909
45910 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45911 invocation to fail, in order to support partition-less media.
45912
45913 * util/i386/pc/grub-install.in: Likewise.
45914
45915 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45916 which fs or partmap modules are needed (akin to its sister scripts).
45917
45918 Also use grub-probe to get rid of unportable /proc/mounts check.
45919
45920 Print the same informational message that the other scripts do, before
fe6b695a 45921 exiting.
2c2a681b 45922
6193defe 459232007-06-23 Robert Millan <rmh@aybabtu.com>
45924
fe6b695a 45925 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45926 a font file can be found and, if so, echo the GRUB path to it.
45927
45928 * util/update-grub.in: Handle multiple terminals depending on user
45929 input, platform availability and font file presence. Propagate
45930 variables of our findings to /etc/grub.d/ children.
45931
45932 * util/grub.d/00_header.in: Handle multiple terminals, based on
45933 environment setup by update-grub.
45934
eface1dc 459352007-06-23 Robert Millan <rmh@aybabtu.com>
45936
ba50d28f 45937 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45938
bf697e28 459392007-06-21 Robert Millan <rmh@aybabtu.com>
45940
45941 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45942 indicate end of data section in kernel image.
45943 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45944 GRUB_KERNEL_MACHINE_DATA_END.
45945
45946 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45947 space for it.
45948 * kern/i386/efi/startup.S: Likewise.
45949
45950 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45951 during image generation. Implement --prefix option to override this
45952 patch.
45953 * util/i386/efi/grub-mkimage.c: Likewise.
45954
45955 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45956 code to make path relative to its root into a separate function.
45957
45958 * util/i386/pc/grub-install.in: Use newly provided
45959 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45960 pass the result to grub-install --prefix.
45961
baa574b4 459622007-06-13 Robert Millan <rmh@aybabtu.com>
45963
45964 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45965 DEFAULT_DEVICE_MAP.
45966 * util/grub-emu.c: Use above definitions from misc.h instead of
45967 defining them.
45968 * util/grub-mkdevicemap.c: Likewise.
45969 * util/i386/pc/grub-setup.c: Likewise.
45970 * util/grub-probe.c: Likewise.
45971 (probe): Abort with grub_util_error() when either
45972 grub_guess_root_device or grub_util_get_grub_dev fails.
45973
0215dcbf 459742007-06-12 Robert Millan <rmh@aybabtu.com>
45975
45976 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45977 "pager" assignment.
45978 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45979 "pcdata".
45980 * util/grub-probe.c (probe): Likewise for "drive_name".
45981
8af2ab7b 459822007-06-11 Robert Millan <rmh@aybabtu.com>
45983
45984 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45985 not just the cdrom one.
45986
59d31694 459872007-06-11 Robert Millan <rmh@aybabtu.com>
45988
45989 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45990 Add --pkglibdir=DIR option to override pkglibdir.
45991 Mention --image-type=TYPE in help output.
45992 Fix --grub-mkimage (it was a no-op).
fe6b695a 45993 Abort gracefully when no parameter is given.
59d31694 45994
7ee367e4 459952007-06-11 Robert Millan <rmh@aybabtu.com>
45996
45997 * util/i386/pc/grub-mkrescue.in: New file.
45998 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45999 * Makefile.in: Handle bin_SCRIPTS.
46000
29b0ed46 460012007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46002
46003 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46004 list of video modes.
46005
c0f90770 460062007-06-06 Robert Millan <rmh@aybabtu.com>
46007
46008 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46009 file doesn't exist, or if it is in a filesystem grub can't read.
46010
46011 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46012 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46013 header comment to fit in 80 columns when the variables are resolved.
46014
46015 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46016 could be identified by update-grub. Remove redundant check for
fe6b695a 46017 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46018 handles that).
46019
fb36dc26 460202007-06-04 Robert Millan <rmh@aybabtu.com>
46021
46022 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46023
46024 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46025
46026 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46027
0c68c93e 460282007-06-04 Robert Millan <rmh@aybabtu.com>
46029
46030 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46031
46032 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46033 grub_apple_partition_map_fini.
46034
46035 * util/biosdisk.c
46036 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46037 to access >2 TiB disks).
46038
46039 Print disk->total_sectors with %llu instead of %lu, since this
46040 variable is always 64-bit (prevents wrong disk size from being displayed
46041 on either >2 TiB disk or big-endian CPU).
46042
46043 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46044 into a generic case that supports all (sane) partition maps.
46045
46046 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46047 breaks big-endian.
46048
46049 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46050 and grub_apple_partition_map_fini() after that.
46051
0f23eb74 460522007-06-01 Robert Millan <rmh@aybabtu.com>
46053
46054 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46055
46056 * util/grub.d/00_header.in: Only enable gfxterm when
46057 convert_system_path_to_grub_path() succeeds.
46058
42c71976 460592007-05-20 Robert Millan <rmh@aybabtu.com>
46060
46061 * util/update-grub_lib.in: New file.
46062 * DISTLIST: Add update-grub_lib.in.
46063 * conf/common.rmk: Generate update-grub_lib and install it in
46064 $(lib_DATA).
46065 * Makefile.in: Add install routine for $(lib_DATA).
46066
46067 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46068 function provided by update-grub_lib to support arbitrary paths of
46069 unifont.pff.
46070 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46071 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46072
5beb2291 460732007-05-19 Robert Millan <rmh@aybabtu.com>
46074
46075 * commands/i386/cpuid.c: New module.
46076 * DISTLIST: Add it.
46077 * conf/i386-efi.rmk: Enable cpuid.mod.
46078 * conf/i386-pc.rmk: Likewise.
46079
7262eca1 460802007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46081
46082 * kern/disk.c (grub_disk_read): Check return value of
46083 grub_realloc().
46084
260ba823 460852007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46086
46087 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46088 arrays.
46089 * disk/raid.c (grub_raid_open): Likewise.
46090
1ecb6cf2 460912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46092
46093 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46094 stack instead of on the heap.
46095
46096 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46097 before doing a read on it.
46098
46099 * configure.ac: Only use -fno-stack-protector for the target
46100 environment.
f19dbdb7 46101
21c8cbb1 461022007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46103
46104 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46105 __attribute_ ((unused)) to mode_type argument.
46106
46107 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46108
21c8cbb1 46109 * kern/misc.c (memcmp): Fix prototype.
46110
46111 * include/grub/partition.h [GRUB_UTIL]
46112 (grub_gpt_partition_map_init): Add prototype.
46113 (grub_gpt_partition_map_fini): Likewise.
46114
46115 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46116 at the right place.
46117
46118 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46119 (grub_fat_read_data): Likewise.
46120 (grub_fat_find_dir): Likewise.
46121
46122 * font/manager.c (find_glyph): Make table a const.
46123 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46124
849d55d3 461252007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46126
46127 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46128 code, first search for device in /dev/mapper, then in /dev.
46129 (grub_util_get_grub_dev): New function.
46130 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46131 prototype.
46132 * util/grub-probe.c (probe): Remove check for RAID, call
46133 grub_util_get_grub_dev() instead of
46134 grub_util_biosdisk_get_grub_dev().
46135 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46136 grub_util_biosdisk_get_grub_dev().
46137 * util/i386/pc/grub-setup.c (main): Likewise.
46138
8fff7c2f 461392007-05-16 Robert Millan <rmh@aybabtu.com>
46140
46141 * DISTLIST: Update for the latest changes.
46142 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46143 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46144 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46145 grub/util/biosdisk.h.
46146 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46147 grub/util/biosdisk.h.
46148
48e12b52 461492007-05-16 Robert Millan <rmh@aybabtu.com>
46150
46151 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46152
46b9d128 461532007-05-16 Robert Millan <rmh@aybabtu.com>
46154
46155 * util/i386/efi/grub-install.in: New.
46156 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46157 newly added grub-install.
46158 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46159 include.
46160 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46161 grub/util/biosdisk.h.
46162 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46163 grub/util/biosdisk.h.
46164
2d1a40a9 461652007-05-16 Robert Millan <rmh@aybabtu.com>
46166
46167 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46168 * include/grub/util/biosdisk.h: ... here.
46169 * util/i386/pc/biosdisk.c: Moved to ...
46170 * util/biosdisk.c: ... here.
46171 * util/i386/pc/getroot.c: Moved to ...
46172 * util/getroot.c: ... here.
46173 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46174 * util/grub-mkdevicemap.c: ... here.
46175 * util/i386/pc/grub-probe.c: Moved to ...
46176 * util/grub-probe.c: ... here.
46177
9e26e3bc 461782007-05-15 Robert Millan <rmh@aybabtu.com>
46179
46180 * util/update-grub.in: Remove duplicated line in grub.cfg header
46181 message.
46182
57f96397 461832007-05-13 Robert Millan <rmh@aybabtu.com>
46184
46185 * util/update-grub.in: Fix a few assumptions about the devices holding
46186 /, /boot and /boot/grub being the same.
46187 * util/grub.d/00_header.in: Likewise.
46188 * util/grub.d/10_hurd.in: Likewise.
46189 * util/grub.d/10_linux.in: Likewise.
46190
46191 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46192 patterns. Use that to define the `.old' suffix as older than `'.
46193
46194 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46195
46196 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46197 the grub.cfg header message.
46198
2e610d62 461992007-05-11 Robert Millan <rmh@aybabtu.com>
46200
46201 * util/update-grub.in: Create device.map if it doesn't already exist,
46202 before attempting to run grub-probe.
46203 Check for grub-probe and grub-mkdevicemap with the same code
46204 grub-install is using.
46205 Remove test mode.
46206
3f6a10ef 462072007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46208
46209 * Makefile.in: Add the datarootdir autoconf variable.
46210
02e7b75e 462112007-05-09 Robert Millan <rmh@aybabtu.com>
46212
46213 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46214 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46215
75f396cc 462162007-05-07 Robert Millan <rmh@aybabtu.com>
46217
46218 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46219 determine partition map module.
46220 * util/i386/pc/grub-install.in: Use this feature to decide which
46221 partition module to load, instead of hardcoding pc and gpt.
46222
da65cb36 462232007-05-07 Robert Millan <rmh@aybabtu.com>
46224
46225 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46226 source directory differs from build directory.
46227
b57d6a91 462282007-05-05 Robert Millan <rmh@aybabtu.com>
46229
46230 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46231 initialisation.
46232
509d00f1 462332007-05-05 Robert Millan <rmh@aybabtu.com>
46234
46235 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46236
c48f23ef 462372007-05-05 Robert Millan <rmh@aybabtu.com>
46238
46239 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46240 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46241
20b97658 462422007-05-05 Robert Millan <rmh@aybabtu.com>
46243
46244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46245 (grub_probe_SOURCES): Likewise.
46246 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46247 GPT and initialize dos_part and bsd_part accordingly.
46248 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46249 install_bsd_part.
46250 (main): Activate gpt module for use during partition identification,
46251 and deactivate it afterwards.
46252 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46253 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46254 partition identification, and deactivate it afterwards.
46255
99123174 462562007-05-05 Robert Millan <rmh@aybabtu.com>
46257
46258 * term/i386/pc/console.c (grub_console_fini): Call
46259 grub_term_set_current() before grub_term_unregister().
46260
ebd97f6e 462612007-05-04 Robert Millan <rmh@aybabtu.com>
46262
46263 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46264 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46265 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46266 and update-grub_DATA.
46267 * conf/common.rmk: Build and install update-grub components.
46268 * conf/common.mk: Regenerate.
46269 * util/update-grub.in: New. Core of update-grub.
46270 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46271 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46272 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46273 * util/grub.d/README: New. Document grub.d directory layout.
46274
b06a264d 462752007-05-01 Robert Millan <rmh@aybabtu.com>
46276
46277 * util/grub-emu.c: Move initialization functions
46278 grub_util_biosdisk_init() and grub_init_all() before
46279 grub_util_biosdisk_get_grub_dev(), which relies on them.
46280
41f0050e 462812007-04-19 Robert Millan <rmh@aybabtu.com>
46282
46283 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46284 it is used later.
46285
04582bb3 462862007-04-18 Jerone Young <jerone@gmail.com>
46287
f19dbdb7 46288 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46289 stanza.
46290
08db4632 462912007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46292
08db4632 46293 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46294 continue on and look for device node with real device name.
46295
801b76be 462962007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46297
fe6b695a 46298 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46299 ability.
46300 * Makefile.in: Add autoconf package transformation code.
46301 * util/i386/pc/grub-install.in: Likewise.
46302 * util/powerpc/ieee1275/grub-install.in: Likewise.
46303
6795c4e1 463042007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46305
46306 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46307 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46308 (EXT2_REVISION): Likewise.
46309 (EXT2_INODE_SIZE): Likewise.
46310 (struct grub_ext2_block_group): Added a missing member
46311 "used_dirs".
46312 (grub_ext2_read_inode): Divide by the inode size in a superblock
46313 instead of 128 to obtain INODES_PER_BLOCK.
46314 Use the macro EXT2_INODE_SIZE instead of directly using
46315 SBLOCK->INODE_SIZE.
46316
d70af616 463172007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46318
46319 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46320 superblock instead of the structure size to compute an
46321 offset. This fixes the problem that GRUB could not read a
46322 filesystem when inode size is different from 128-byte.
46323
3b801603 463242007-03-05 Marco Gerards <marco@gnu.org>
46325
46326 * normal/main.c (read_config_file): When "menu" is not set, create
46327 an initial context.
46328
4785bfe4 463292007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46330
46331 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46332 (HEAP_LIMIT): New macro.
46333 (grub_claim_heap): Claim memory up to `heaplimit'.
46334
a0cbb023 463352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46336
46337 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46338 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46339 (_start): Likewise.
46340 (grub_arch_modules_addr): Return address after `_end'.
46341 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46342 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46343 (add_segments): Calculate `_end' from phdr size and location.
46344 (ALIGN_UP): Moved to ...
46345 * include/grub/misc.h: here.
46346 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46347 New macro.
46348 (GRUB_IEEE1275_MODULE_BASE): Removed.
46349
fd7d8eba 463502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46351
46352 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46353 loop boundary.
46354
9b09e6fc 463552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46356
46357 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46358 All users updated.
46359 (grub_elf64_load_hook_t): Likewise.
46360 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46361 debug output.
46362
3ce27299 463632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46364
46365 * kern/mm.c: Update copyright.
46366 (grub_mm_debug): Correct syntax error.
46367 (grub_mm_dump_free): New function.
46368 (grub_debug_free): Call `grub_free'.
46369 * include/grub/mm.h: Update copyright.
46370 (grub_mm_dump_free): Add declaration.
46371
077d5fee 463722007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46373
46374 * include/grub/ieee1275/ieee1275.h: Update copyright.
46375 * kern/powerpc/ieee1275/init.c: Likewise.
46376 * kern/powerpc/ieee1275/openfw.c: Likewise.
46377
46378 * loader/powerpc/ieee1275/linux.c: Likewise.
46379 * include/grub/elfload.h: Likewise.
46380 * kern/elf.c: Likewise.
46381 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46382 callers.
46383 (grub_elf64_load): Likewise.
46384 (grub_elf32_load_segment): Move to a nested function.
46385 (grub_elf64_load_segment): Likewise.
46386
dc946850 463872007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46388
46389 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46390 prototype.
46391 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46392 (grub_heap_len): Likewise.
46393 (HEAP_SIZE): New macro.
46394 (grub_claim_heap): New function.
46395 (grub_machine_init): Don't claim heap directly. Call
46396 `grub_claim_heap'.
46397 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46398 (grub_available_iterate): New function.
46399
baa2a121 464002007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46401
46402 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46403 * configure.ac: Use it for testing the HOST and TARGET compilers.
46404
4fe9862e 464052006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46406
46407 * Makefile.in (enable_grub_emu): New variable.
46408 * configure.ac (--enable-grub-emu): New option.
46409 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46410 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46411 * conf/i386-pc.rmk: Likewise.
46412 * conf/powerpc-ieee1275.rmk: Likewise.
46413 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46414
a8aa5762 464152006-12-12 Marco Gerards <marco@gnu.org>
46416
46417 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46418
46419 * kern/env.c (grub_env_unset): Don't free the member `value' when
46420 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46421 pointer.
46422
46423 * normal/main.c (current_menu): Removed.
46424 (free_menu): Unset the `menu' environment variable.
46425 (grub_normal_menu_addentry): Make use of the environment variable
46426 `menu', instead of using the global `current_menu'. Allocate
46427 memory for the sourcecode of this entry.
46428 (read_config_file): New argument `nested', changed all callers.
46429 Only in the case of a new context, initialize a new menu. Set the
46430 `menu' environment variable.
46431 (grub_normal_execute): Don't set and unset the environment
46432 variable `menu' here anymore. Only free the menu when leaving the
46433 context.
46434
46435 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46436 leak.
46437
957b3a3e 464382006-12-11 Marco Gerards <marco@gnu.org>
46439
46440 * normal/menu_entry.c (run): Fix off by one bug so the last line
46441 is executed. Move the loader check to outside the loop.
46442
ef875714 464432006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46444
46445 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46446
4e739985 464472006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46448
46449 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46450 the number of sectors. Reported by Andrey Shuvikov
46451 <mr_hyro@yahoo.com>.
f19dbdb7 46452
790707f2 464532006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46454
46455 * kern/disk.c (grub_disk_read): When there is a read error, always
46456 try to read only the necessary data.
f19dbdb7 46457
790707f2 46458 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46459 disk/raid.c.
46460 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46461 prototype.
46462 [GRUB_UTIL] (grub_raid_fini): Likewise.
46463 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46464 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46465 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46466 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46467 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46468 and grub_raid_fini().
f19dbdb7 46469
03e58196 464702006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46471
46472 * include/grub/types.h (__unused): Rename to UNUSED.
46473 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46474 (grub_elf64_size): Likewise.
f19dbdb7 46475
ae4f23bf 464762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46477
46478 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46479 grub_error_push and grub_error_pop in the error-handling path.
46480 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46481 length.
46482
2166cc83 464832006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46484
46485 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46486 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46488 (kernel_elf_SOURCES): Likewise.
46489 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46490 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46491 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46492 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46493 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46494 (elf_mod_SOURCES): New variable.
46495 (elf_mod_CFLAGS): Likewise.
46496 (elf_mod_LDFLAGS): Likewise.
46497 * include/grub/types.h (__unused): New macro.
46498 * include/grub/elfload.h: New file.
46499 * kern/elf.c: Likewise.
46500 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46501 (ELF32_LOADMASK): New macro.
46502 (ELF64_LOADMASK): Likewise.
46503 (vmlinux): Removed.
46504 (grub_linux_load32): New function.
46505 (grub_linux_load64): Likewise.
46506 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46507 Use grub_elf_t instead of grub_file_t.
46508
a09d5aa5 465092006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46510
46511 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46512 `catch_result' to struct set_color_args.
46513
d976fc51 465142006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46515
46516 * normal/menu.c: Include grub/script.h.
46517 * normal/menu_entry.c: Likewise.
46518 * include/grub/normal.h: Do not include grub/script.h.
46519
67507549 465202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46521
46522 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46523
69203a99 465242006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46525
46526 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46527 disk.
46528 (grub_disk_close): Print debug messages when closing a disk.
46529 (grub_disk_read): Print debug messages when disk read fails.
46530 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46531 filesystem type.
46532 * kern/partition.c: Include misc.h.
46533 (grub_partition_iterate): Print debug messages when detecting
46534 partition type.
46535
e2b8278c 465362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46537
46538 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46539 is negative.
46540 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46541
97b2f2ff 465422006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46543
46544 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46545 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46546
6555d655 465472006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46548
46549 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46550 instead of sizeof(lv). Patch by Michael Guntsche.
46551
4d42b77f 465522006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46553
46554 * disk/lvm.c: Rename VGS to VG_LIST.
46555 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46556 (grub_lvm_open): Likewise.
46557 Thanks to Michael Guntsche for finding this bug.
46558
5d74d927 465592006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46560
46561 * configure.ac (AC_INIT): Bumped to 1.95.
46562
a1bb27e4 465632006-10-14 Robert Millan <rmh@aybabtu.com>
46564
46565 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46566 with "/dev/.static/dev/md".
46567
e0994b8b 465682006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46569
46570 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46571 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46572 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46573 DRIVE_NAME are always freed.
46574
46575 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46576 DOS_PART, as a DOS partition is counted from one instead of zero
46577 now. Reported by Robert Millan.
46578
ddd5cee9 465792006-10-14 Robert Millan <rmh@aybabtu.com>
46580
46581 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46582 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46583 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46584 string returned by grub_guess_root_device.
46585 * util/i386/pc/grub-setup.c: Likewise.
46586 * util/i386/pc/grub-probefs.c: Likewise.
46587
46588 * util/i386/pc/grub-probefs.c: Rename to ...
46589 * util/i386/pc/grub-probe.c: ... this.
46590 * DISTLIST: Remove grub-probefs, add grub-probe.
46591 * conf/i386-efi.rmk: Likewise.
46592 * conf/i386-pc.rmk: Likewise.
46593 * util/i386/pc/grub-install.in: Likewise.
46594
46595 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46596 choose which information we want to print.
46597
2b002173 465982006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46599
46600 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46601 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46602 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46603 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46604 video/readers/tga.c and video/i386/pc/vbeutil.c.
46605
466062006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46607
46608 Added support for RAID and LVM.
f19dbdb7 46609
2b002173 46610 * disk/lvm.c: New file.
46611 * disk/raid.c: Likewise.
46612 * include/grub/lvm.h: Likewise.
f19dbdb7 46613 * include/grub/raid.h: Likewise.
2b002173 46614 * include/grub/util/lvm.h: Likewise.
46615 * include/grub/util/raid.h: Likewise.
46616 * util/lvm.c: Likewise.
46617 * util/raid.c: Likewise.
46618
46619 * include/grub/disk.h (grub_disk_dev_id): Add
46620 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46621 (grub_disk_get_size): New prototype.
46622 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46623 returns a partition.
46624 (grub_disk_get_size): New function.
f19dbdb7 46625
2b002173 46626 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46627 verbatim if grub_install_dos_part is -2.
46628
46629 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46630 and LVM devices.
46631
46632 * util/i386/pc/grub-setup.c (setup): New argument
46633 MUST_EMBED. Force embedding of GRUB when the argument is
46634 true. Close FILE before returning.
46635 (main): Add support for RAID and LVM.
f19dbdb7 46636
2b002173 46637 * conf/common.rmk: Add RAID and LVM modules.
46638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46639 util/lvm.c.
46640 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46641
46642 * kern/misc.c (grub_strstr): New function.
46643 * include/grub/misc.h (grub_strstr): New prototype.
46644
050548d0 466452006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46646
46647 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46648
da849d2d 466492006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46650
46651 * kern/misc.c (grub_strtoull): Guess the base only if not
46652 specified.
46653
97b2f2ff 466542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46655
46656 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46657 PowerMac support.
46658
97b2f2ff 466592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46660
46661 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46662
46663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46664 Remove `flags' argument. All callers changed.
46665 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46666 (IEEE1275_IHANDLE_INVALID): New variable.
46667 (IEEE1275_CELL_INVALID): New variable.
46668 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46669 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46670 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46671 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46672 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46673 codes from Open Firmware. All callers updated.
46674 (grub_ieee1275_next_property): Directly return Open Firmware return
46675 code.
46676 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46677 Standardize error checking from `grub_ieee1275_get_property'.
46678 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46679 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46680
97b2f2ff 466812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46682
46683 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46684 `instance_to_package_args' to `instance_to_path_args'.
46685
46686 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46687 `grub_ieee1275_chosen'.
46688
46689 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46690 `grub_ieee1275_interpret'.
46691
97b2f2ff 466922006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46693
46694 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46695
97b2f2ff 466962006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46697
46698 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46699 (__cmpdi): Likewise.
46700
46701 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46702 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46703 `grub_ssize_t'.
46704
02bb8acc 46705 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46706
46707 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46708 to type `grub_ssize_t'.
46709 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46710
7f9a8531 467112006-09-22 Marco Gerards <marco@gnu.org>
46712
46713 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46714 newlines.
46715
b5ef1102 467162006-09-22 Marco Gerards <marco@gnu.org>
46717
46718 * commands/echo.c: New file.
46719
46720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46721
46722 * conf/common.rmk (echo_mod_SOURCES): New variable.
46723 (echo_mod_CFLAGS): Likewise.
46724 (echo_mod_LDFLAGS): Likewise.
46725
2cff3677 467262006-09-22 Marco Gerards <marco@gnu.org>
46727
46728 * normal/main.c (get_line): Malloc memory instead of using
46729 preallocated memory. Removed the arguments `cmdline' and
46730 `max_len'. Updated all callers.
46731
6ba4688b 467322006-09-22 Marco Gerards <marco@gnu.org>
46733
46734 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46735 (normal_mod_DEPENDENCIES): Likewise.
46736
46737 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46738 (normal_mod_DEPENDENCIES): Likewise.
46739
46740 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46741
e02ac02c 467422006-09-22 Johan Rydberg <jrydberg@gnu.org>
46743
46744 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46745 programs.
46746 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46747 (normal_mod_DEPENDENCIES): Likewise.
46748 * conf/i386-pc.mk: Regenerate.
46749 * conf/i386-efi.mk: Likewise
46750 * conf/common.mk: Likewise.
46751 * conf/powerpc-ieee1275.mk: Likewise.
46752 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46753
8d252e44 467542006-09-22 Robert Millan <rmh@aybabtu.com>
46755
46756 Sync with i386 version.
46757 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46758 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46759
209bf7ac 467602006-09-21 Robert Millan <rmh@aybabtu.com>
46761
46762 Import from GRUB Legacy (lib/device.c):
46763 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46764 (init_device_map) [__linux__]: Add support for I2O devices.
46765
6b146090 467662006-09-14 Marco Gerards <marco@gnu.org>
46767
46768 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46769 `-melf_i386'.
46770
e38600a8 467712006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46772
46773 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46774 /boot/grub/*.lst.
78fa1790 46775
2952da5d 46776 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46777
2952da5d 46778 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46779 before adding it to device.map.
46780
01b82a64 467812006-08-15 Johan Rydberg <jrydberg@gnu.org>
46782
fe6b695a 46783 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46784 compiles a file; using the -MD option.
46785 * conf/common.mk: Regenerate.
46786 * conf/i386-pc.mk: Likewise.
46787 * conf/i386-efi.mk: Likewise.
46788 * conf/powerpc-ieee1275.mk: Likewise.
46789 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46790
1064790d 467912006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46792
46793 Move the prototypes of grub_setjmp and grub_longjmp to
46794 cpu/setjmp.h, so that each architecture may specify different
46795 attributes.
f19dbdb7 46796
1064790d 46797 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46798 (grub_longjmp): Likewise.
46799 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46800 (grub_longjmp): Likewise.
46801 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46802 (grub_longjmp): Likewise.
46803
46804 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46805 [!GRUB_UTIL] (grub_longjmp): Removed.
46806
29dda3ed 468072006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46808
46809 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46810 "color!" method does not return any value.
46811
ad2a06ed 468122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46813
46814 * include/grub/bitmap.h: New file.
46815
46816 * include/grub/i386/pc/vbeutil.h: Likewise.
46817
46818 * video/bitmap.c: Likewise.
46819
46820 * video/readers/tga.c: Likewise.
46821
46822 * video/i386/pc/vbeutil.c: Likewise.
46823
46824 * commands/videotest.c: Code cleanup and updated to reflect to new
46825 video API.
46826
46827 * term/gfxterm.c: Likewise.
46828
46829 * video/video.c: Likewise.
46830
46831 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46832 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46833 (bitmap_mod_SOURCES): New entry.
46834 (bitmap_mod_CFLAGS): Likewise.
46835 (bitmap_mod_LDFLAGS): Likewise.
46836 (tga_mod_SOURCES): Likewise.
46837 (tga_mod_CFLAGS): Likewise.
46838 (tga_mod_LDFLAGS): Likewise.
46839
46840 * include/grub/video.h (grub_video_blit_operators): New enum type.
46841 (grub_video_render_target): Changed as forward declaration and moved
46842 actual definition to be video driver specific.
46843 (grub_video_adapter.blit_bitmap): Added blitting operator.
46844 (grub_video_adapter.blit_render_target): Likewise.
46845 (grub_video_blit_bitmap): Likewise.
46846 (grub_video_blit_render_target): Likewise.
46847
46848 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46849 driver specific render target definition.
46850 (grub_video_vbe_map_rgba): Added driver internal helper.
46851 (grub_video_vbe_unmap_color): Updated to use
46852 grub_video_i386_vbeblit_info.
46853 (grub_video_vbe_get_video_ptr): Likewise.
46854
46855 * include/grub/i386/pc/vbeblit.h
46856 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46857 grub_video_i386_vbeblit_info.
46858 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46859 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46860 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46861 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46862 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46863 (grub_video_i386_vbeblit_index_index): Likewise.
46864 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46865 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46866 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46867 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46868 operator.
46869 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46870 operator.
46871
46872 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46873 include/grub/i386/pc/vbeblit.h.
46874
46875 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46876 Updated to use grub_video_i386_vbeblit_info.
46877 (grub_video_i386_vbefill_R8G8B8): Likewise.
46878 (grub_video_i386_vbefill_index): Likewise.
46879 (grub_video_i386_vbefill): Added generic filler.
46880
46881 * video/i386/pc/vbefill.c: Updated to reflect changes on
46882 include/grub/i386/pc/vbefill.h.
46883
46884 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46885 grub_video_i386_vbeblit_info.
46886 (grub_video_vbe_unmap_color): Likewise.
46887 (grub_video_vbe_blit_glyph): Likewise.
46888 (grub_video_vbe_scroll): Likewise.
46889 (grub_video_vbe_draw_pixel): Removed function.
46890 (grub_video_vbe_get_pixel): Likewise.
46891 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46892 updated code to use it.
46893 (common_blitter): Added common blitter for render target and bitmap.
46894 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46895 (grub_video_vbe_blit_render_target): Likewise.
46896
bc8c036d 468972006-07-30 Johan Rydberg <jrydberg@gnu.org>
46898
46899 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46900 is in text mode if there is no console control protocol instance
46901 available.
46902
684a8eff 469032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46904
46905 * include/grub/video.h: Code cleanup.
46906
46907 * include/grub/i386/pc/vbe.h: Likewise.
46908
46909 * video/i386/pc/vbe.c: Likewise.
46910
46911 * video/i386/pc/vbeblit.c: Likewise.
46912
46913 * video/i386/pc/vbefill.c: Likewise.
46914
46915 * video/video.c: Likewise. Also added more comments.
46916
5915059b 469172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46918
46919 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46920 (struct grub_biosdisk_dap): Likewise.
46921
46922 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46923 linkage settings for all functions.
46924
90ce5d56 469252006-07-12 Marco Gerards <marco@gnu.org>
46926
46927 * configure.ac (--enable-mm-debug): Fix typo.
46928
46929 * genkernsyms.sh.in: Use proper quoting for `CC'.
46930
43e7f879 469312006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46932
46933 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46934 (normal_mod_ASFLAGS): Remove "-m32".
46935
4889bdec 469362006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46937
46938 * util/misc.c: Include config.h.
46939 [!HAVE_MEMALIGN]: Do not include malloc.h.
46940 (grub_memalign): Use posix_memalign, if present. Then, use
46941 memalign, if present. Otherwise, emit an error.
46942
46943 * util/grub-emu.c: Do not include malloc.h.
46944
46945 * include/grub/util/misc.h: Include unistd.h. This is required for
46946 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46947 D. Eades III <hde@foobar-qux.org>.
46948
46949 * configure.ac (AC_GNU_SOURCE): Added.
46950 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46951 type.
46952
fd39d4da 469532006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46954
46955 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46956 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46957
b786f3b5 469582006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46959
46960 * include/grub/types.h (grub_host_addr_t): Rename to
46961 grub_target_addr_t.
46962 (grub_host_off_t): Rename to grub_target_off_t.
46963 (grub_host_size_t): Rename to grub_target_size_t.
46964 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46965 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46966
46967 * include/grub/kernel.h (struct grub_module_header): Change type
46968 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46969 (grub_module_info): Likewise.
f19dbdb7 46970
051988bb 469712006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46972
46973 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46974 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46975 Velazquez <jesus.velazquez@gmail.com>.
46976
deae281b 469772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46978
46979 Count partitions from 1 instead of 0 in the string representation
46980 of partitions. Still use 0-based internally.
f19dbdb7 46981
deae281b 46982 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46983 (sun_partition_map_iterate): Use grub_partition_t instead of
46984 struct grub_partition *. Cast DESC->START_CYLINDER to
46985 grub_uint64_t after converting the endian.
46986 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46987 (sun_partition_map_get_name): Add 1 to P->INDEX.
46988
46989 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46990 PCDATA->DOS_PART.
46991 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46992
46993 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46994 zero instead of one.
46995 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46996 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46997
46998 * partmap/apple.c (apple_partition_map_iterate): Change the type
46999 of POS to unsigned.
47000 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47001 (apple_partition_map_get_name): Add 1 into P->INDEX.
47002
47003 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47004 of POS to unsigned.
47005 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47006 calculate the offset of a partition.
47007 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47008 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47009
47010 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47011 SECTOR to grub_disk_addr_t.
47012 (acorn_partition_map_iterate): Likewise.
47013 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47014 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47015 top.
47016 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47017
47018 * kern/i386/pc/init.c (make_install_device): Add 1 into
47019 GRUB_INSTALL_DOS_PART.
47020
47021 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47022 conditional.
47023
524a1e6a 470242006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47025
47026 Clean up the code to support 64-bit addressing in disks and
47027 files. This change is not enough for filesystems yet.
f19dbdb7 47028
524a1e6a 47029 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47030 type of "start" to grub_uint64_t.
47031 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47032 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47033 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47034 convert addresses.
47035
47036 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47037 to grub_disk_addr_t.
47038
47039 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47040 string.
47041
47042 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47043
47044 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47045 to char *.
47046
47047 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47048
47049 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47050
47051 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47052
47053 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47054 to grub_off_t, to detect an error from grub_file_seek.
47055 (grub_multiboot_load_elf32): Likewise.
47056
47057 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47058 maximum unsigned long value when an overflow is detected.
47059 (grub_strtoull): New function.
47060 (grub_divmod64): Likewise.
47061 (grub_lltoa): use grub_divmod64.
47062
47063 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47064 grub_disk_addr_t.
47065 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47066 the pointer to next character. Use grub_strtoull instead of
47067 grub_strtoul.
47068 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47069 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47070 respectively.
47071
fe6b695a 47072 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47073 return value is signed.
47074 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47075 test if OFFSET is less than zero, as OFFSET is unsigned now.
47076
47077 * kern/disk.c (struct grub_disk_cache): Change the type of
47078 "sector" to grub_disk_addr_t.
47079 (grub_disk_cache_get_index): Change the type of SECTOR to
47080 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47081 unsigned after shifting.
47082 (grub_disk_cache_invalidate): Change the type of SECTOR to
47083 grub_disk_addr_t.
47084 (grub_disk_cache_unlock): Likewise.
47085 (grub_disk_cache_store): Likewise.
47086 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47087 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47088 grub_disk_addr_t and grub_uint64_t, respectively.
47089 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47090 body, as the value of OFFSET is tweaked by
47091 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47092 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47093 respectively.
47094 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47095 body, as the value of OFFSET is tweaked by
47096 grub_disk_check_range. Change the types of LEN and N to
47097 grub_size_t.
47098
47099 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47100 and "saved_offset" to grub_off_t.
47101 (test_header): Cast BUF to char *.
47102 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47103 to char *.
47104 (grub_gzio_read): Change the types of OFFSET and SIZE to
47105 grub_off_t and grub_size_t, respectively.
47106
47107 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47108 Removed.
47109 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47110 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47111 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47112 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47113 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47114
47115 * include/grub/types.h (grub_off_t): Unconditionally set to
47116 grub_uint64_t.
47117 (grub_disk_addr_t): Changed to grub_uint64_t.
47118
47119 * include/grub/partition.h (struct grub_partition): Change the
47120 types of "start", "len" and "offset" to grub_disk_addr_t,
47121 grub_uint64_t and grub_disk_addr_t, respectively.
47122 (grub_partition_get_start): Return grub_disk_addr_t.
47123 (grub_partition_get_len): Return grub_uint64_t.
47124
47125 * include/grub/misc.h (grub_strtoull): New prototype.
47126 (grub_divmod64): Likewise.
47127
47128 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47129 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47130 grub_off_t, respectively.
47131 All callers and references changed.
47132
47133 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47134 grub_size_t in "read".
47135 All callers and references changed.
47136
47137 * include/grub/file.h (struct grub_file): Change the types of
47138 "offset" and "size" to grub_off_t and grub_off_t,
47139 respectively. Change the type of SECTOR to grub_disk_addr_t in
47140 "read_hook".
47141 (grub_file_read): Change the type of LEN to grub_size_t.
47142 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47143 grub_off_t.
47144 (grub_file_size): Return grub_off_t.
47145 (grub_file_tell): Likewise.
47146 All callers and references changed.
47147
47148 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47149 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47150 "write".
47151 (struct grub_disk): Change the type of "total_sectors" to
47152 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47153 "read_hook".
524a1e6a 47154 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47155 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47156 (grub_disk_write): Likewise.
47157 All callers and references changed.
47158
47159 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47160 char * for grub_strncmp to silence gcc.
47161 (grub_iso9660_mount): Likewise.
47162 (grub_iso9660_mount): Likewise.
47163 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47164 return statement.
47165 (grub_iso9660_iterate_dir): Likewise.
47166 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47167
47168 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47169 LEN to grub_disk_addr_t and grub_size_t, respectively.
47170
47171 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47172
47173 * fs/jfs.c (grub_jfs_read_file): Likewise.
47174
47175 * fs/minix.c (grub_jfs_read_file): Likewise.
47176
47177 * fs/sfs.c (grub_jfs_read_file): Likewise.
47178
47179 * fs/ufs.c (grub_jfs_read_file): Likewise.
47180
47181 * fs/xfs.c (grub_jfs_read_file): Likewise.
47182
47183 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47184 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47185 respectively.
47186
47187 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47188 BLKNR to -1 instead of returning GRUB_ERRNO.
47189 (grub_ext2_read_file): Change the types of SECTOR and
47190 LEN to grub_disk_addr_t and grub_size_t, respectively.
47191
47192 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47193 LEN to grub_disk_addr_t and grub_size_t, respectively.
47194
47195 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47196 grub_file_read.
47197
47198 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47199 string. Do not cast SECTOR explicitly.
47200
47201 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47202 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47203 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47204 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47205 over 2TB and LBA mode is not supported, raise an error.
47206 (get_safe_sectors): New function.
47207 (grub_biosdisk_read): Use get_safe_sectors.
47208 (grub_biosdisk_write): Likewise.
47209
47210 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47211 (grub_efidisk_write): Likewise.
47212
47213 * disk/loopback.c (delete_loopback): Cosmetic changes.
47214 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47215 correctly.
47216 (grub_loopback_open): Likewise.
47217 (grub_loopback_read): Likewise. Also, change the type of POS to
47218 grub_off_t, and fix the usage of grub_memset.
47219
47220 * commands/i386/pc/play.c: Include grub/machine/time.h.
47221
47222 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47223 print FILE->SIZE.
47224
47225 * commands/configfile.c: Include grub/env.h.
47226
47227 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47228 GRUB_ERRNO directly instead. Change the type of POS to
47229 grub_off_t. Follow the coding standard.
47230
47231 * commands/blocklist.c: Include grub/partition.h.
47232 (grub_cmd_blocklist): Return an error if the underlying device is
47233 not a disk. Take the starting sector of a partition into account,
47234 if a partition is used.
47235
47236 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47237 a length field.
47238 (lba_mode): Support 64-bit addresses.
47239 (chs_mode): Likewise.
47240 (copy_buffer): Adapted to the new offsets of a length field and a
47241 segment field.
47242 (blocklist_default_start): Allocate 64-bit space.
47243
47244 * boot/i386/pc/boot.S (force_lba): Removed.
47245 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47246 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47247 space.
47248 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47249 is useless.
47250 (lba_mode): Refactored to support a 64-bit address. More size
47251 optimization.
47252 (setup_sectors): Likewise.
47253
53af98ad 472542006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47255
47256 * DISTLIST: Added include/grub/i386/linux.h. Removed
47257 include/grub/i386/pc/linux.h
47258
47259 * configure.ac (AC_INIT): Bumped to 1.94.
47260
47261 * config.guess: Updated from gnulib.
47262 * config.sub: Likewise.
47263 * install-sh: Likewise.
47264 * mkinstalldirs: Likewise.
47265
b4c1940a 472662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47267
47268 * conf/common.rmk (grub_modules_init.lst): Depended on
47269 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47270 MODSRCFILES.
47271
47272 * genmk.rb (PModule::rule): Reverted the previous change.
47273
cfca1cfd 472742006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47275
47276 * conf/common.rmk (grub_modules_init.lst): Depends on
47277 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47278 that the target does not exist before producing.
47279 (grub_modules_init.h): Remove the target before generating.
47280 (grub_emu_init.c): Likewise.
47281
47282 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47283
aa6d7826 472842006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47285
47286 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47287 for the target-specific tests. Make sure that we also have the
47288 up-to-date target variables for those tests.
47289
26c607b9 472902006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47291
47292 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47293 (PModule::rule): Likewise.
47294
0162321a 472952006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47296
47297 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47298 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47299 target-specific flags should be prefixed.
47300 (PModule::rule): Likewise.
47301
6c826348 473022006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 * configure.ac (CMP): Check if cmp is available explicitly.
47305
b977bf01 473062006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47307
47308 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47309 (target_cpu): New variable.
47310 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47311
b977bf01 47312 * util/i386/pc/grub-install.in (host_cpu): Removed.
47313 (target_cpu): New variable.
47314 (pkglibdir): Use target_cpu instead of host_cpu.
47315
47316 * util/genmoddep.c: Removed.
f19dbdb7 47317
b977bf01 47318 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47319 instead of GRUB_HOST_SIZEOF_VOID_P.
47320 * kern/dl.c: Likewise.
47321
47322 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47323 ...
47324 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47325 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47326 (GRUB_TARGET_SIZEOF_LONG): ... this.
47327 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47328 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47329 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47330 to ...
47331 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47332 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47333 (GRUB_TARGET_SIZEOF_LONG): ... this.
47334 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47335 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47336 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47337 to ...
47338 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47339 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47340 (GRUB_TARGET_SIZEOF_LONG): ... this.
47341 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47342 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47343
47344 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47345 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47346 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47347 instead of GRUB_HOST_SIZEOF_LONG.
47348 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47349 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47350 GRUB_CPU_WORDS_BIGENDIAN.
47351 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47352 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47353 grub_host_ssize_t.
47354
47355 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47356 (genmoddep_SOURCES): Likewise.
47357 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47358 (genmoddep_SOURCES): Likewise.
47359 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47360 (genmoddep_SOURCES): Likewise.
47361 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47362 Likewise.
47363 (genmoddep_SOURCES): Likewise.
47364
47365 * genmoddep.awk: New file.
47366
47367 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47368 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47369 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47370 (PModule::rule): Likewise.
47371 (Program::rule): Likewise.
47372 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47373 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47374 respectively.
47375
47376 * configure.ac: Rewritten intensively to use host and target
47377 instead of build and host, respectively.
47378
47379 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47380 (host_cpu): Removed.
47381 (target_cpu): New variable.
47382 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47383 (BUILD_CC): Removed.
47384 (BUILD_CFLAGS): Likewise.
47385 (BUILD_CPPFLAGS): Likewise.
47386 (TARGET_CC): New variable.
47387 (TARGET_CFLAGS): Likewise.
47388 (TARGET_CPPFLAGS): Likewise.
47389 (TARGET_LDFLAGS): Likewise.
47390 (AWK): Likewise.
47391 (include): Use target_cpu instead of host_cpu.
47392 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47393
b977bf01 47394 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47395
f09771a1 473962006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47397
47398 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47399 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47400 field 'false' to 'exec_on_false'.
47401 (grub_script_create_cmdif): Renamed argument names to reflect above
47402 changes.
47403
47404 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47405
47406 * normal/script.c (grub_script_create_cmdif): Likewise.
47407
118f4fb3 474082006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47409
47410 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47411 top.
47412 (grub_hfsplus_btree_recptr): Likewise.
47413 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47414 FILEBLOCK both to pass a block number and store next block
47415 number.
47416 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47417 overflow file correctly. Specify errors appropriately, because
47418 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47419 grub_hfsplus_btree_recptr to get the pointer to a found key.
47420 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47421 is found.
47422
47423 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47424 linux.mod.
47425 (_linux_mod_SOURCES): New variable.
47426 (_linux_mod_CFLAGS): Likewise.
47427 (_linux_mod_LDFLAGS): Likewise.
47428 (linux_mod_SOURCES): Likewise.
47429 (linux_mod_CFLAGS): Likewise.
47430 (linux_mod_LDFLAGS): Likewise.
47431
47432 * DISTLIST: Added loader/i386/efi/linux.c,
47433 loader/i386/efi/linux_normal.c and
47434 include/grub/i386/efi/loader.h.
47435
47436 * loader/i386/efi/linux.c: New file.
47437 * loader/i386/efi/linux_normal.c: Likewise.
47438 * include/grub/i386/efi/loader.h: Likewise.
47439
89a7d726 474402006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47441
47442 * commands/blocklist.c: New file.
47443
47444 * DISTLIST: Added commands/blocklist.c.
47445
47446 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47447 color for the background, and a darker color for the foreground.
89a7d726 47448 (grub_console_checkkey): Return READ_KEY.
47449 (grub_console_cls): Set the background to
47450 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47451
47452 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47453
47454 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47455 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47456
47457 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47458 prototype.
47459
47460 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47461 BG. The spec is wrong again.
47462
47463 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47464 prototype.
47465 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47466
47467 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47468 commands/blocklist.c.
47469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47470
89a7d726 47471 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47472 (blocklist_mod_SOURCES): New variable.
47473 (blocklist_mod_CFLAGS): Likewise.
47474 (blocklist_mod_LDFLAGS): Likewise.
47475
75c8f258 474762006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47477
47478 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47479 duplication.
47480 (lba_mode): Use %eax more intensively to reduce the code size.
47481
da2eb181 474822006-05-20 Marco Gerards <marco@gnu.org>
47483
47484 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47485
47486 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47487 for `menuentry'.
47488 (script): Accept leading newlines.
47489 (newlines): New rule to describe 0 or more newlines.
47490 (commands): Accept `command' with trailing newline. Fixed the
47491 order in which arguments were passed to `grub_script_add_cmd'.
47492 Accept commands separated by newlines.
47493 (function): Changed to accept newlines.
47494 (menuentry) Rewritten.
47495
47496 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47497 front of the list, instead of to the end.
47498
577b4050 474992006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47500
47501 * util/i386/pc/grub-install.in (bindir): New variable.
47502 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47503 Shaver <lbgwjl@gmail.com>.
47504
0d6e1189 475052006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47506
47507 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47508 grub/machine/linux.h
47509 * loader/i386/pc/linux.c: Likewise.
47510
47511 * include/grub/i386/pc/linux.h: Moved to ...
47512 * include/grub/i386/linux.h: ... here.
47513
47514 * include/grub/i386/linux.h (struct linux_kernel_params): New
47515 struct.
f19dbdb7 47516
31b86e9f 475172006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47518
47519 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47520 checking.
47521 (grub_video_vbe_blit_glyph): Likewise.
47522 (grub_video_vbe_blit_bitmap): Likewise.
47523 (grub_video_vbe_blit_render_target): Likewise.
47524
83b984de 475252006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47526
47527 * configure.ac (--with-platform): Properly quote the square
47528 brackets.
47529
5f0413bd 475302006-05-08 Marco Gerards <marco@gnu.org>
47531
47532 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47533 this...
47534 (kernel_elf_HEADERS): ...to this. Updated all users.
47535 (grubof_symlist.c): Renamed from this...
47536 (kernel_elf_symlist.c): ...to this. Updated all users.
47537 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47538 (grubof_SOURCES): Renamed from this...
47539 (kernel_elf_SOURCES): ...to this.
47540 (grubof_HEADERS): Renamed from this...
47541 (kernel_elf_HEADERS): ...to this.
47542 (grubof_CFLAGS): Renamed from this...
47543 (kernel_elf_CFLAGS): ...to this.
47544 (grubof_ASFLAGS): Renamed from this...
47545 (kernel_elf_ASFLAGS): ...to this.
47546 (grubof_LDFLAGS): Renamed from this...
47547 (kernel_elf_LDFLAGS): ...to this.
47548
47549 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47550 this...
47551 (kernel_elf_HEADERS): ...to this. Updated all users.
47552 (grubof_symlist.c): Renamed from this...
47553 (kernel_elf_symlist.c): ...to this. Updated all users.
47554 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47555 (grubof_SOURCES): Renamed from this...
47556 (kernel_elf_SOURCES): ...to this.
47557 (grubof_HEADERS): Renamed from this...
47558 (kernel_elf_HEADERS): ...to this.
47559 (grubof_CFLAGS): Renamed from this...
47560 (kernel_elf_CFLAGS): ...to this.
47561 (grubof_ASFLAGS): Renamed from this...
47562 (kernel_elf_ASFLAGS): ...to this.
47563 (grubof_LDFLAGS): Renamed from this...
47564 (kernel_elf_LDFLAGS): ...to this.
47565
47566 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47567 `kernel.elf' instead of `grubof'.
47568
05568c2e 475692006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47570
47571 Add --with-platform to configure. Use pkglibdir instead of
47572 pkgdatadir. This is reported by Roger Leigh.
47573
47574 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47575 (host_vendor): Likewise.
47576 (host_os): Likewise.
47577 (pkgdatadir): Likewise.
47578 (platform): New variable.
47579 (pkglibdir): Likewise.
47580 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47581
05568c2e 47582 * util/i386/pc/grub-install.in (datadir): Removed.
47583 (host_vendor): Likewise.
47584 (host_os): Likewise.
47585 (pkgdatadir): Likewise.
47586 (platform): New variable.
47587 (pkglibdir): Likewise.
47588 Use PKGLIBDIR instead of PKGDATADIR.
47589
47590 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47591 instead of GRUB_DATADIR.
47592 (main): Likewise.
47593 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47594 (main): Likewise.
47595 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47596 (main): Likewise.
47597
47598 * configure.ac (--with-platform): New option.
47599 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47600
47601 * Makefile.in: Include a makefile based on PLATFORM instead of
47602 HOST_VENDOR.
47603 (pkgdatadir): Not appended by the machine type.
47604 (pkglibdir): Appended by the machine type.
47605 (host_vendor): Removed.
47606 (platform): New variable.
47607 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47608 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47609 (uninstall): Likewise.
47610
4e93851c 476112006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47612
47613 Use the environment context in the menu. Remove the commands
47614 "default" and "timeout", and use variables instead.
f19dbdb7 47615
4e93851c 47616 * normal/menu.c: Include grub/env.h.
47617 (print_entry): Cast TITLE to silence gcc.
47618 (get_timeout): New function.
47619 (set_timeout): Likewise.
47620 (get_entry_number): Likewise.
47621 (run_menu): Use a default entry, a fallback entry and a timeout
47622 in the environment variables "default", "fallback" and
47623 "timeout". Also, tweak the default entry if it is not within the
47624 current menu entries.
47625 (grub_menu_run): Use a fallback entry in the environment variable
47626 "fallback".
47627
47628 * normal/main.c (read_config_file): Do not initialize
47629 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47630 NEWMENU->TIMEOUT.
47631 (grub_normal_execute): Use a data slot to store the menu.
47632
47633 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47634 fallback_entry and timeout.
47635 (struct grub_menu_list): Removed.
47636 (grub_menu_list_t): Likewise.
47637 (struct grub_context): Likewise.
47638 (grub_context_t): Likewise.
47639 (grub_context_get): Likewise.
47640 (grub_context_get_current_menu): Likewise.
47641 (grub_context_push_menu): Likewise.
47642 (grub_context_pop_menu): Likewise.
47643 (grub_default_init): Likewise.
47644 (grub_default_fini): Likewise.
47645 (grub_timeout_init): Likewise.
47646 (grub_timeout_fini): Likewise.
47647
47648 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47649 and timeout.mod.
47650 (normal_mod_SOURCES): Removed normal/context.c.
47651
47652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47653 commands/default.c, commands/timeout.c and normal/context.c.
47654 (normal_mod_SOURCES): Removed normal/context.c.
47655
47656 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47657 commands/timeout.c and normal/context.c.
47658 (normal_mod_SOURCES): Removed normal/context.c.
47659
47660 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47661 commands/default.c, commands/timeout.c and normal/context.c.
47662 (normal_mod_SOURCES): Removed normal/context.c.
47663
47664 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47665 timeout.mod.
47666 (default_mod_SOURCES): Removed.
47667 (default_mod_CFLAGS): Likewise.
47668 (default_mod_LDFLAGS): Likewise.
47669 (timeout_mod_SOURCES): Removed.
47670 (timeout_mod_CFLAGS): Likewise.
47671 (timeout_mod_LDFLAGS): Likewise.
47672
47673 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47674 normal/context.c.
47675
47676 * commands/default.c: Removed.
47677 * commands/timeout.c: Likewise.
47678 * normal/context.c: Likewise.
47679
1eb9cc1d 476802006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47681
47682 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47683
385bd9c1 476842006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47685
47686 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47687 "next" to "prev" for readability.
47688 (struct grub_env_sorted_var): New struct.
47689 (grub_env_context): Renamed to ...
47690 (initial_context): ... this.
47691 (grub_env_var_context): Renamed to ...
47692 (current_context): ... this.
47693 (grub_env_find): Look only at CURRENT_CONTEXT.
47694 (grub_env_context_open): Rewritten to copy exported variables from
47695 previous context.
47696 (grub_env_context_close): Rewritten according to the new
47697 scheme. Also, add an assertion to prevent the initial context from
47698 removed.
47699 (grub_env_insert): Removed the code for the sorted list.
47700 (grub_env_remove): Likewise.
47701 (grub_env_export): Simply mark the variable with
47702 GRUB_ENV_VAR_GLOBAL.
47703 (grub_env_set): A cosmetic change for naming consistency.
47704 (grub_env_get): Likewise.
47705 (grub_env_unset): Likewise.
47706 (grub_env_iterate): Rewritten to sort variables within this
47707 function.
47708 (grub_register_variable_hook): Fixed for naming consistency. Call
47709 grub_env_find again, only if NAME is not found at the first time.
47710 (mangle_data_slot_name): New function.
47711 (grub_env_set_data_slot): Likewise.
47712 (grub_env_get_data_slot): Likewise.
47713 (grub_env_unset_data_slot): Likewise.
47714
47715 * include/grub/env.h (grub_env_var_type): New enum.
47716 (GRUB_ENV_VAR_LOCAL): New constant.
47717 (GRUB_ENV_VAR_GLOBAL): Likewise.
47718 (GRUB_ENV_VAR_DATA): Likewise.
47719 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47720 "type".
47721 (grub_env_set): Replace VAR with NAME for consistency.
47722 (grub_register_variable_hook): Likewise.
47723 (grub_env_export): Specify the name of the argument.
47724 (grub_env_set_data_slot): New prototype.
47725 (grub_env_get_data_slot): Likewise.
47726 (grub_env_unset_data_slot): Likewise.
47727
7f362539 477282006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47729
47730 Extend the loader so that GRUB can accept a loader which comes
47731 back to GRUB when a loaded image exits. Also, this change adds
47732 support for a chainloader on EFI.
f19dbdb7 47733
7f362539 47734 * term/efi/console.c: Include grub/misc.h.
47735 (grub_console_checkkey): Display a scan code on the top for
47736 debugging. This will be removed once the EFI port gets stable.
47737 Correct the scan code mapping.
47738
47739 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47740 allocate memory from larger regions, in order to reduce the number
47741 of allocated regions. Otherwise, the MacOSX loader panics.
47742 (filter_memory_map): Avoid less than 1MB for compatibility with
47743 other loaders.
47744 (add_memory_regions): Allocate from the tail of a region, if
47745 possible, to avoid allocating a region near to 1MB, for the MacOSX
47746 loader.
47747
47748 * kern/efi/init.c (grub_efi_set_prefix): Specify
47749 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47750
47751 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47752 argument IMAGE_HANDLE and specify it to get a loaded image.
47753 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47754 grub_efi_get_loaded_image.
fe6b695a 47755 (grub_efi_get_filename): Divide the length by the size of
7f362539 47756 grub_efi_char16_t.
47757 (grub_efi_get_device_path): New function.
47758 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47759 the length by the size of grub_efi_char16_t for a file path device
47760 path node.
47761
47762 * kern/loader.c (grub_loader_noreturn): New variable.
47763 (grub_loader_set): Accept a new argument NORETURN. Set
47764 GRUB_LOADER_NORETURN to NORETURN.
47765 All callers changed.
47766 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47767 grub_machine_fini.
47768
47769 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47770 prototype.
47771 (grub_efi_get_loaded_image): Take an argument to specify an image
47772 handle.
47773
47774 * include/grub/loader.h (grub_loader_set): Added one more argument
47775 NORETURN.
47776
47777 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47778 instead of grub_efi_open_protocol.
47779 (grub_efidisk_get_device_name): Likewise.
47780 (grub_efidisk_close): Print a newline.
47781 (grub_efidisk_get_device_handle): Fixed to use
47782 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47783 GRUB_EFI_DEVICE_PATH_TYPE.
47784
47785 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47786 * kern/efi/efi.c (device_path_guid): ... here.
47787
47788 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47789 chain.mod.
47790 (kernel_mod_HEADERS): Added efi/disk.h.
47791 (_chain_mod_SOURCES): New variable.
47792 (_chain_mod_CFLAGS): Likewise.
47793 (_chain_mod_LDFLAGS): Likewise.
47794 (chain_mod_SOURCES): Likewise.
47795 (chain_mod_CFLAGS): Likewise.
47796 (chain_mod_LDFLAGS): Likewise.
47797
47798 * DISTLIST: Added include/grub/efi/chainloader.h,
47799 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47800
47801 * include/grub/efi/chainloader.h: New file.
47802 * loader/efi/chainloader.c: Likewise.
47803 * loader/efi/chainloader_normal.c: Likewise.
47804
c0111d6e 478052006-04-30 Marco Gerards <marco@gnu.org>
47806
47807 * commands/configfile.c (grub_cmd_source): New function.
47808 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47809 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47810
df5341da 478112006-04-30 Marco Gerards <marco@gnu.org>
47812
47813 * normal/execute.c (grub_script_execute_cmd): Change the return
47814 type to `grub_err_t'. Correctly return the error.
47815 (grub_script_execute_cmdline): In case a command line is not a
47816 command or a function, try to interpret it as an assignment.
47817
f85934bd 478182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47819
47820 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47821 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47822 skip a node whose name is obviously invalid as UTF-16,
47823 i.e. contains a NUL character. Stop the iteration when the last
47824 directory entry is found. Instead of using the return value of
47825 grub_hfsplus_btree_iterate_node, store the value in RET and use
47826 it, because the iterator can be stopped by the last directory
47827 entry.
47828
8f8a2cf8 478292006-04-30 Marco Gerards <marco@gnu.org>
47830
47831 * include/grub/env.h (grub_env_export): New prototype. Reported
47832 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47833
a27e84ce 478342006-04-30 Marco Gerards <marco@gnu.org>
47835
47836 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47837 size of the extents in a catalog file record.
47838
eaef0553 478392006-04-29 Marco Gerards <marco@gnu.org>
47840
47841 * commands/configfile.c (grub_cmd_configfile): Execute the
47842 configfile within its own context.
47843
47844 * include/grub/env.h (grub_env_context_open): New prototype.
47845 (grub_env_context_close): Likewise.
47846
47847 * kern/env.c (grub_env): Removed.
47848 (grub_env_sorted): Likewise.
47849 (grub_env_context): New variable.
47850 (grub_env_var_context): Likewise.
47851 (grub_env_find): Search both the active context and the global
47852 context.
47853 (grub_env_context_open): New function.
47854 (grub_env_context_close): Likewise.
47855 (grub_env_insert): Likewise.
47856 (grub_env_remove): Likewise.
47857 (grub_env_export): Likewise.
47858 (grub_env_set): Changed to use helper functions to avoid code
47859 duplication.
47860 (grub_env_iterate): Rewritten so both the current context and the
47861 global context are being used.
47862
47863 * normal/command.c (export_command): New function.
47864 (grub_command_init): Register the `export' function.
47865
7b455f4d 478662006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47867
47868 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47869 explicitly to suppress gcc's warnings.
47870 * fs/fat.c (grub_fat_find_dir): Likewise.
47871 (grub_fat_label): Likewise.
47872 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47873 (grub_xfs_mount): Likewise.
47874 (grub_xfs_label): Likewise.
47875 * fs/affs.c (grub_affs_mount): Likewise.
47876 (grub_affs_label): Likewise.
47877 (grub_affs_iterate_dir): Likewise.
47878 * fs/sfs.c (grub_sfs_mount): Likewise.
47879 (grub_sfs_iterate_dir): Likewise.
47880 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47881 * fs/hfs.c (grub_hfs_mount): Likewise.
47882 (grub_hfs_cmp_catkeys): Likewise.
47883 (grub_hfs_find_dir): Likewise.
47884 (grub_hfs_dir): Likewise.
47885 (grub_hfs_label): Likewise.
47886 * fs/jfs.c (grub_jfs_mount): Likewise.
47887 (grub_jfs_opendir): Likewise.
47888 (grub_jfs_getent): Likewise.
47889 (grub_jfs_lookup_symlink): Likewise.
47890 (grub_jfs_label): Likewise.
47891 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47892 (grub_hfsplus_iterate_dir): Likewise.
47893 (grub_hfsplus_btree_iterate_node): Made static.
47894
47895 * util/grub-emu.c (prefix): New variable.
47896 (grub_machine_set_prefix): New function.
47897 (main): Do not set the environment variable "prefix" here. Only
47898 set PREFIX, which is used later by grub_machine_set_prefix.
47899
47900 * include/grub/video.h: Do not include grub/symbol.h.
47901 (grub_video_register): Not exported. This symbol is not defined in
47902 the kernel.
47903 (grub_video_unregister): Likewise.
47904 (grub_video_iterate): Likewise.
47905 (grub_video_setup): Likewise.
47906 (grub_video_restore): Likewise.
47907 (grub_video_get_info): Likewise.
47908 (grub_video_get_blit_format): Likewise.
47909 (grub_video_set_palette): Likewise.
47910 (grub_video_get_palette): Likewise.
47911 (grub_video_set_viewport): Likewise.
47912 (grub_video_get_viewport): Likewise.
47913 (grub_video_map_color): Likewise.
47914 (grub_video_map_rgb): Likewise.
47915 (grub_video_map_rgba): Likewise.
47916 (grub_video_fill_rect): Likewise.
47917 (grub_video_blit_glyph): Likewise.
47918 (grub_video_blit_bitmap): Likewise.
47919 (grub_video_blit_render_target): Likewise.
47920 (grub_video_scroll): Likewise.
47921 (grub_video_swap_buffers): Likewise.
47922 (grub_video_create_render_target): Likewise.
47923 (grub_video_delete_render_target): Likewise.
47924 (grub_video_set_active_render_target): Likewise.
47925
47926 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47927 Undefined.
47928 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47929
47930 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47931 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47932 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47933 instead of $(srcdir)/genkernsyms.sh.
47934
47935 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47936 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47937 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47938 instead of $(srcdir)/genkernsyms.sh.
47939
47940 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47941 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47942 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47943 instead of $(srcdir)/genkernsyms.sh.
47944
47945 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47946 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47947 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47948 instead of $(srcdir)/genkernsyms.sh.
47949
47950 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47951 genkernsyms.sh.
47952
47953 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47954 genkernsyms.sh.
47955 (gensymlist.sh): New target.
47956 (genkernsyms.sh): Likewise.
47957
47958 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47959 genkernsyms.sh.in and gensymlist.sh.in.
47960
47961 * genkernsyms.sh: Removed.
47962 * gensymlist.sh: Likewise.
f19dbdb7 47963
7b455f4d 47964 * genkernsyms.sh.in: New file.
47965 * gensymlist.sh.in: Likewise.
47966
1885bb27 479672006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47968
47969 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47970 clobber "prefix", since we may have already set it manually.
47971
71538dff 479722006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47973
47974 * kern/misc.c (abort): New alias for grub_abort.
47975
2965c7cc 479762006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47977
47978 A new machine-specific function "grub_machine_set_prefix" is
47979 defined. This is called after loading modules, so that a prefix
47980 initialization can use modules. Also, this change adds an
47981 intensive debugging feature for the memory manager via the
47982 configure option "--enable-mm-debug".
f19dbdb7 47983
2965c7cc 47984 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47985 PART.LEN.
47986
47987 * kern/sparc64/ieee1275/init.c (abort): Removed.
47988 (grub_stop): Likewise.
47989 (grub_exit): New function.
47990 (grub_set_prefix): Renamed to ...
47991 (grub_machine_set_prefix): ... this.
47992 (grub_machine_init): Do not call grub_set_prefix.
47993
47994 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47995 (grub_machine_set_prefix): ... this.
47996 (grub_machine_init): Do not call grub_set_prefix.
47997
47998 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47999 (grub_machine_init): Do not set the prefix here.
48000
48001 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48002
48003 * kern/efi/init.c: Include grub/mm.h.
48004 (grub_efi_set_prefix): New function.
48005
48006 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48007 (grub_efi_get_filename): New function.
48008 (grub_print_device_path): Renamed to ...
48009 (grub_efi_print_device_path): ... this.
48010
48011 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48012 [MM_DEBUG] (grub_realloc): Likewise.
48013 [MM_DEBUG] (grub_free): Likewise.
48014 [MM_DEBUG] (grub_memalign): Likewise.
48015 [MM_DEBUG] (grub_mm_debug): New variable.
48016 [MM_DEBUG] (grub_debug_malloc): New function.
48017 [MM_DEBUG] (grub_debug_free): New function.
48018 [MM_DEBUG] (grub_debug_realloc): New function.
48019 [MM_DEBUG] (grub_debug_memalign): New function.
48020
48021 * kern/misc.c (grub_abort): Print a newline to distinguish
48022 the message.
48023
48024 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48025 grub_set_root_dev after loading modules. This is necessary when
48026 setting a prefix depends on modules.
48027
48028 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48029 (grub_efi_print_device_path): ... this.
48030 (grub_efi_get_filename): New prototype.
48031 (grub_efi_set_prefix): Likewise.
48032
48033 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48034 and grub/disk.h.
48035 (grub_efidisk_get_device_handle): New prototype.
48036 (grub_efidisk_get_device_name): Likewise.
48037
48038 * include/grub/mm.h: Include config.h.
48039 (MM_DEBUG): Removed.
48040 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48041 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48042 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48043 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48044 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48045 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48046 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48047 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48048 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48049
48050 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48051
48052 * disk/efi/efidisk.c: Include grub/partition.h.
48053 (iterate_child_devices): New function.
48054 (add_device): First, compare only last device path nodes, so that
48055 devices are sorted by the types.
48056 (grub_efidisk_get_device_handle): New function.
48057 (grub_efidisk_get_device_name): Likewise.
48058
48059 * configure.ac (--enable-mm-debug): New option to enable the
48060 memory manager debugging feature. This makes the binary much
48061 bigger, so is disabled by default.
48062
9cacaa17 480632006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48064
48065 Use grub_abort instead of grub_stop, and grub_exit must be
48066 define in each architecture now. Also, this change adds support
48067 for EFI disks.
f19dbdb7 48068
9cacaa17 48069 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48070 (grub_getkey): New function.
48071 (grub_term_get_current): Likewise.
48072
48073 * util/i386/pc/grub-setup.c: Include grub/term.h.
48074 (grub_getkey): New function.
48075 (grub_term_get_current): Likewise.
48076
48077 * util/misc.c (grub_stop): Renamed to ...
48078 (grub_exit): ... this.
48079
48080 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48081 (grub_exit): ... this.
48082 (grub_machine_init): Use grub_abort instead of abort.
48083 (grub_stop): Removed.
48084
48085 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48086 abort.
48087
48088 * kern/i386/pc/startup.S (grub_exit): New function.
48089 (cold_reboot): New label.
48090
48091 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48092 (grub_efi_init): Call grub_efidisk_init.
48093 (grub_efi_fini): Call grub_efidisk_fini.
48094
48095 * kern/efi/efi.c: Include grub/mm.h.
48096 (grub_efi_console_control_guid): Renamed to ...
48097 (console_control_guid): ... this.
48098 (grub_efi_loaded_image_guid): Renamed to ...
48099 (loaded_image_guid): ... this.
48100 (grub_efi_locate_handle): New function.
48101 (grub_efi_open_protocol): Likewise.
48102 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48103 GRUB_EFI_CONSOLE_CONTROL_GUID.
48104 (grub_efi_exit): Removed.
48105 (grub_stop): Likewise.
48106 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48107 (grub_exit): New function.
48108 (grub_print_device_path): Likewise.
48109
48110 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48111 (grub_enter_rescue_mode): Register "exit".
48112
48113 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48114 (grub_abort): New function.
48115
48116 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48117
48118 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48119
48120 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48121
48122 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48123 (grub_print_device_path): New prototype.
48124 (grub_efi_locate_handle): Likewise.
48125 (grub_efi_open_protocol): Likewise.
48126
48127 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48128 * disk/efi/efidisk.c: Likewise.
48129
48130 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48131
48132 * include/grub/efi/console_control.h
48133 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48134
48135 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48136 last 8 bytes as an array.
48137 (GRUB_EFI_DISK_IO_GUID): New macro.
48138 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48139 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48140 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48141 grub_uint8_t.
48142 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48143 (struct grub_efi_device_path): Rename the member "sub_type" to
48144 "subtype".
48145 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48146 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48147 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48148 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48149 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48150 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48151 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48152 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48153 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48154 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48155 (struct grub_efi_pci_device_path): New structure.
48156 (grub_efi_pci_device_path_t): New type.
48157 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48158 (struct grub_efi_pccard_device_path): New structure.
48159 (grub_efi_pccard_device_path_t): New type.
48160 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48161 (struct grub_efi_memory_mapped_device_path): New structure.
48162 (grub_efi_memory_mapped_device_path_t): New type.
48163 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48164 (struct grub_efi_vendor_device_path): New structure.
48165 (grub_efi_vendor_device_path_t): New type.
48166 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48167 (struct grub_efi_controller_device_path): New structure.
48168 (grub_efi_controller_device_path_t): New type.
48169 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48170 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48171 (struct grub_efi_acpi_device_path): New structure.
48172 (grub_efi_acpi_device_path_t): New type.
48173 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48174 (struct grub_efi_expanded_acpi_device_path): New structure.
48175 (grub_efi_expanded_acpi_device_path_t): New type.
48176 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48177 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48178 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48179 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48180 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48181 (struct grub_efi_atapi_device_path): New structure.
48182 (grub_efi_atapi_device_path_t): New type.
48183 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48184 (struct grub_efi_fibre_channel_device_path): New structure.
48185 (grub_efi_fibre_channel_device_path_t): New type.
48186 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48187 (struct grub_efi_1394_device_path): New structure.
48188 (grub_efi_1394_device_path_t): New type.
48189 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48190 (struct grub_efi_usb_device_path): New structure.
48191 (grub_efi_usb_device_path_t): New type.
48192 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48193 (struct grub_efi_usb_class_device_path): New structure.
48194 (grub_efi_usb_class_device_path_t): New type.
48195 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48196 (struct grub_efi_i2o_device_path): New structure.
48197 (grub_efi_i2o_device_path_t): New type.
48198 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48199 (struct grub_efi_mac_address_device_path): New structure.
48200 (grub_efi_mac_address_device_path_t): New type.
48201 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48202 (struct grub_efi_ipv4_device_path): New structure.
48203 (grub_efi_ipv4_device_path_t): New type.
48204 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48205 (struct grub_efi_ipv6_device_path): New structure.
48206 (grub_efi_ipv6_device_path_t): New type.
48207 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48208 (struct grub_efi_infiniband_device_path): New structure.
48209 (grub_efi_infiniband_device_path_t): New type.
48210 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48211 (struct grub_efi_uart_device_path): New structure.
48212 (grub_efi_uart_device_path_t): New type.
48213 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48214 (struct grub_efi_vendor_messaging_device_path): New structure.
48215 (grub_efi_vendor_messaging_device_path_t): New type.
48216 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48217 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48218 (struct grub_efi_hard_drive_device_path): New structure.
48219 (grub_efi_hard_drive_device_path_t): New type.
48220 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48221 (struct grub_efi_cdrom_device_path): New structure.
48222 (grub_efi_cdrom_device_path_t): New type.
48223 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48224 (struct grub_efi_vendor_media_device_path): New structure.
48225 (grub_efi_vendor_media_device_path_t): New type.
48226 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48227 (struct grub_efi_file_path_device_path): New structure.
48228 (grub_efi_file_path_device_path_t): New type.
48229 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48230 (struct grub_efi_protocol_device_path): New structure.
48231 (grub_efi_protocol_device_path_t): New type.
48232 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48233 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48234 (struct grub_efi_bios_device_path): New structure.
48235 (grub_efi_bios_device_path_t): New type.
48236 (struct grub_efi_disk_io): New structure.
48237 (grub_efi_disk_io_t): New type.
48238 (struct grub_efi_block_io_media): New structure.
48239 (grub_efi_block_io_media_t): New type.
48240 (struct grub_efi_block_io): New structure.
48241 (grub_efi_block_io_t): New type.
48242
48243 * include/grub/misc.h (grub_stop): Removed.
48244 (grub_exit): New prototype.
48245 (grub_abort): Likewise.
48246
48247 * include/grub/disk.h (enum grub_disk_dev_id): Added
48248 GRUB_DISK_DEVICE_EFIDISK_ID.
48249
48250 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48251 disk/efi/efidisk.c.
48252 (kernel_syms.lst): Remove the target if an error occurs.
48253
49986a9f 482542006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48255
48256 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48257 as it was simply too buggy.
48258
970d3b8a 482592006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48260
48261 * kern/misc.c (grub_lltoa): New function.
48262 (grub_vsprintf): Added support for the long long suffix,
48263 i.e. "ll".
48264
ff04ec24 482652006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48266
48267 * Makefile.in (LDFLAGS): Add variable.
48268 (LD): Remove variable.
48269 * configure.ac: Add -m32 to LDFLAGS.
48270 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48271 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48272 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48273 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48274 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48275 variables.
48276 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48277 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48278 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48279
37e5e1a4 482802006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48281
48282 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48283 length for unknown glyph.
48284
c352d8dd 482852006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48286
2eab1c0d 48287 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48288
2eab1c0d 48289 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48290 completely. Accept one more argument DIR. The caller has changed.
48291
48292 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48293
48294 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48295 (grub_efi_loaded_image_guid): New variable.
48296 (grub_efi_get_loaded_image): New function.
48297 (grub_arch_modules_addr): Likewise.
48298
48299 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48300 prototype.
48301
48302 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48303 (struct grub_efi_loaded_image): New structure.
48304 (grub_efi_loaded_image_t): New type.
48305
483062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48307
c352d8dd 48308 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48309 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48310 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48311
6d01d6b4 483122006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48313
48314 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48315
976a4ea0 483162006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48317
48318 * DISTLIST: Added include/grub/efi/console.h,
48319 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48320 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48321
48322 * include/grub/efi/console.h: New file.
48323 * include/grub/efi/time.h: Likewise.
48324 * include/grub/i386/efi/kernel.h: Likewise.
48325 * kern/efi/init.c: Likewise.
48326 * kern/efi/mm.c: Likewise.
48327 * term/efi/console.c: Likewise.
f19dbdb7 48328
976a4ea0 48329 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48330 (grub_stop): Removed.
48331 (grub_get_rtc): Likewise.
48332 (grub_machine_init): Simply call grub_efi_init.
48333 (grub_machine_fini): Call grub_efi_fini.
48334
48335 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48336 (grub_efi_output_string): Removed.
48337 (grub_efi_stall): New function.
48338 (grub_stop): Likewise.
48339 (grub_get_rtc): Likewise.
48340
48341 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48342 (grub_efi_stall): New prototype.
48343 (grub_efi_allocate_pages): Likewise.
48344 (grub_efi_free_pages): Likewise.
48345 (grub_efi_get_memory_map): Likewise.
48346 (grub_efi_mm_init): Likewise.
48347 (grub_efi_mm_fini): Likewise.
48348 (grub_efi_init): Likewise.
48349 (grub_efi_fini): Likewise.
48350
48351 * include/grub/i386/efi/time.h: Do not include
48352 grub/symbol.h. Include grub/efi/time.h.
48353 (GRUB_TICKS_PER_SECOND): Removed.
48354 (grub_get_rtc): Likewise.
48355
48356 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48357 Added padding. The EFI spec is buggy.
48358 (GRUB_EFI_BLACK): New macro.
48359 (GRUB_EFI_BLUE): Likewise.
48360 (GRUB_EFI_GREEN): Likewise.
48361 (GRUB_EFI_CYAN): Likewise.
48362 (GRUB_EFI_RED): Likewise.
48363 (GRUB_EFI_MAGENTA): Likewise.
48364 (GRUB_EFI_BROWN): Likewise.
48365 (GRUB_EFI_LIGHTGRAY): Likewise.
48366 (GRUB_EFI_BRIGHT): Likewise.
48367 (GRUB_EFI_DARKGRAY): Likewise.
48368 (GRUB_EFI_LIGHTBLUE): Likewise.
48369 (GRUB_EFI_LIGHTGREEN): Likewise.
48370 (GRUB_EFI_LIGHTCYAN): Likewise.
48371 (GRUB_EFI_LIGHTRED): Likewise.
48372 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48373 (GRUB_EFI_YELLOW): Likewise.
48374 (GRUB_EFI_WHITE): Likewise.
48375 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48376 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48377 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48378 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48379 (GRUB_EFI_BACKGROUND_RED): Likewise.
48380 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48381 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48382 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48383 (GRUB_EFI_TEXT_ATTR): Likewise.
48384
48385 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48386 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48387 (kernel_mod_HEADERS): Added efi/time.h.
48388
83709125 483892006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48390
48391 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48392 include/grub/efi/api.h, include/grub/efi/console_control.h,
48393 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48394 include/grub/i386/efi/time.h, kern/efi/efi.c,
48395 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48396 and util/i386/efi/grub-mkimage.c.
48397
48398 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48399
48400 * genmk.rb (PModule#rule): Do not export symbols if
48401 #{prefix}_EXPORTS is set to "no".
48402
48403 * conf/i386-efi.mk: New file.
48404 * conf/i386-efi.rmk: Likewise.
48405 * include/grub/efi/api.h: Likewise.
48406 * include/grub/efi/console_control.h: Likewise.
48407 * include/grub/efi/efi.h: Likewise.
48408 * include/grub/efi/pe32.h: Likewise.
48409 * include/grub/i386/efi/time.h: Likewise.
48410 * kern/efi/efi.c: Likewise.
48411 * kern/i386/efi/init.c: Likewise.
48412 * kern/i386/efi/startup.S: Likewise.
48413 * util/i386/efi/grub-mkimage.c: Likewise.
48414
484152006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48416
48417 * include/grub/script.h: Include <grub/parser.h> and
48418 "grub_script.tab.h".
48419 (struct grub_lexer_param): New struct.
48420 (struct grub_parser_param): Likewise.
48421 (grub_script_create_arglist): Pass the state in an argument.
48422 (grub_script_add_arglist): Likewise.
48423 (grub_script_create_cmdline): Likewise.
48424 (grub_script_create_cmdblock): Likewise.
48425 (grub_script_create_cmdif): Likewise.
48426 (grub_script_create_cmdmenu): Likewise.
48427 (grub_script_add_cmd): Likewise.
48428 (grub_script_arg_add): Likewise.
48429 (grub_script_lexer_ref): Likewise.
48430 (grub_script_lexer_deref): Likewise.
48431 (grub_script_lexer_record_start): Likewise.
48432 (grub_script_lexer_record_stop): Likewise.
48433 (grub_script_mem_record): Likewise.
48434 (grub_script_mem_record_stop): Likewise.
48435 (grub_script_malloc): Likewise.
48436 (grub_script_yylex): Likewise.
48437 (grub_script_yyparse): Likewise.
48438 (grub_script_yyerror): Likewise.
48439 (grub_script_yylex): Likewise.
48440 (grub_script_lexer_init): Return the state.
48441
48442 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48443 (grub_script_lexer_done): Likewise.
48444 (grub_script_lexer_getline): Likewise.
48445 (grub_script_lexer_refs): Likewise.
48446 (script): Likewise.
48447 (newscript): Likewise.
48448 (record): Likewise.
48449 (recording): Likewise.
48450 (recordpos): Likewise.
48451 (recordlen): Likewise.
48452 (grub_script_lexer_init): Return the state instead of setting
48453 global variables.
48454 (grub_script_lexer_ref): Use the newly added argument for state
48455 instead of globals.
48456 (grub_script_lexer_deref): Likewise.
48457 (grub_script_lexer_record_start): Likewise.
48458 (grub_script_lexer_record_stop): Likewise.
48459 (recordchar): Likewise.
48460 (nextchar): Likewise.
48461 (grub_script_yylex2): Likewise.
48462 (grub_script_yylex): Likewise.
48463 (grub_script_yyerror): Likewise.
48464
48465 * normal/parser.y (func_mem): Removed variable.
48466 (menu_entry): Likewise.
48467 (err): Likewise.
48468 (%lex-param): New parser option.
48469 (%parse-param): Likewise.
48470 (script): Always return the AST.
48471 (argument): Pass the state around.
48472 (arguments): Likewise.
48473 (grubcmd): Likewise.
48474 (commands): Likewise.
48475 (function): Likewise.
48476 (menuentry): Likewise.
48477 (if_statement): Likewise.
48478 (if): Likewise.
48479
48480 * normal/script.c (grub_script_memused): Removed variable.
48481 (grub_script_parsed): Likewise.
48482 (grub_script_malloc): Added a state argument. Use that instead of
48483 global variables.
48484 (grub_script_mem_record): Likewise.
48485 (grub_script_mem_record_stop): Likewise.
48486 (grub_script_arg_add): Likewise.
48487 (grub_script_add_arglist): Likewise.
48488 (grub_script_create_cmdline): Likewise.
48489 (grub_script_create_cmdif): Likewise.
48490 (grub_script_create_cmdmenu): Likewise.
48491 (grub_script_add_cmd): Likewise.
48492 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48493
e2a8c904 484942006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48495
48496 * normal/command.c (grub_command_init): Remove the title command.
48497
48498 * normal/lexer.c (grub_script_yylex): Renamed from this...
48499 (grub_script_yylex2): ... to this.
48500 (grub_script_yylex): New function. Temporary
48501 introduced to filter some tokens.
48502 (grub_script_yyerror): Print a newline.
48503
48504 * normal/main.c (read_config_file): Output information about the
48505 lines that contain errors. Wait for a key after all lines have
48506 been processed. Don't return an empty menu.
48507
48508 * normal/parser.y (func_mem): Don't initialize.
48509 (menu_entry): Likewise.
48510 (err): New variable.
48511 (script): Don't return anything when an error was encountered.
48512 (ws, returns): Removed rules.
48513 (argument): Disabled concatenated variable support.
48514 (arguments): Remove explicit separators.
48515 (grubcmd): Likewise.
48516 (function): Likewise.
48517 (menuentry): Likewise.
48518 (if): Likewise.
48519 (commands): Likewise. Add error handling.
48520
48521 * normal/script.c (grub_script_create_cmdline): If
48522 `grub_script_parsed' is 0, assume the parser encountered an error.
48523
c9a86192 485242006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48525
48526 * configure.ac: Add support for EFI. Fix the typo
48527 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48528
70f3b243 485292006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48530
48531 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48532 foreign multibyte characters should be shown correctly.
48533
65f201ad 485342006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48535
48536 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48537 calculation.
48538 (read_config_file): Made it to close file before returning.
48539
b4b93674 485402006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48541
48542 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48543 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48544 video/i386/pc/vbefill.c.
48545
48546 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48547 video/i386/pc/vbefill.c.
48548
48549 * include/grub/video.h (grub_video_blit_format): New enum.
48550 (grub_video_mode_info): Added new member blit_format.
48551 (grub_video_get_blit_format): New function prototype.
48552
48553 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48554 function prototype.
48555 (grub_video_vbe_map_rgb): Likewise.
48556 (grub_video_vbe_unmap_color): Likewise.
48557
48558 * include/grub/i386/pc/vbeblit.h: New file.
48559
48560 * include/grub/i386/pc/vbefill.h: New file.
48561
48562 * video/video.c (grub_video_get_blit_format): New function.
48563 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48564 (grub_video_vbe_map_rgb): Likewise.
48565 (grub_video_vbe_unmap_color): Likewise.
48566
48567 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48568 optimized fills.
48569 (grub_video_vbe_blit_render_target): Changed to use more optimized
48570 blits.
48571 (grub_video_vbe_setup): Added detection for optimized settings.
48572 (grub_video_vbe_create_render_target): Likewise.
48573
48574 * video/i386/pc/vbeblit.c: New file.
48575
48576 * video/i386/pc/vbefill.c: New file.
48577
c2379b9c 485782006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48579
48580 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48581 here...
48582
48583 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48584 parsing to support both hex and dec ranges. If filename was missing
48585 show usage information.
48586
bd0d7896 485872006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48588
48589 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48590 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48591
48592 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48593 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48594 (video_mod_SOURCES): Added.
48595 (video_mod_CFLAGS): Likewise.
48596 (video_mod_LDFLAGS): Likewise.
48597 (gfxterm_mod_SOURCES): Likewise.
48598 (gfxterm_mod_CFLAGS): Likewise.
48599 (gfxterm_mod_LDFLAGS): Likewise.
48600 (videotest_mod_SOURCES): Likewise.
48601 (videotest_mod_CFLAGS): Likewise.
48602 (videotest_mod_LDFLAGS): Likewise.
48603 (vesafb_mod_SOURCES): Removed.
48604 (vesafb_mod_CFLAGS): Likewise.
48605 (vesafb_mod_LDFLAGS): Likewise.
48606 (vga_mod_SOURCES): Likewise.
48607 (vga_mod_CFLAGS): Likewise.
48608 (vga_mod_LDFLAGS): Likewise.
48609
48610 * commands/videotest.c: New file.
48611
48612 * font/manager.c (fill_with_default_glyph): Modified to use
48613 grub_font_glyph.
48614 (grub_font_get_glyph): Likewise.
48615 (fontmanager): Renamed from this...
48616 (font_manager): ... to this.
48617
48618 * include/grub/font.h (grub_font_glyph): Added new structure.
48619 (grub_font_get_glyph): Modified to use grub_font_glyph.
48620
48621 * include/grub/misc.h (grub_abs): Added as inline function.
48622
48623 * include/grub/video.h: New file.
48624
48625 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48626 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48627 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48628 (grub_vbe_get_controller_info): Renamed from this...
48629 (grub_vbe_bios_get_controller_info): ... to this.
48630 (grub_vbe_get_mode_info): Renamed from this...
48631 (grub_vbe_bios_get_mode_info): ... to this.
48632 (grub_vbe_set_mode): Renamed from this...
48633 (grub_vbe_bios_set_mode): ... to this.
48634 (grub_vbe_get_mode): Renamed from this...
48635 (grub_vbe_bios_get_mode): ... to this.
48636 (grub_vbe_set_memory_window): Renamed from this...
48637 (grub_vbe_bios_set_memory_window): ... to this.
48638 (grub_vbe_get_memory_window): Renamed from this...
48639 (grub_vbe_bios_get_memory_window): ... to this.
48640 (grub_vbe_set_scanline_length): Renamed from this...
48641 (grub_vbe_set_scanline_length): ... to this.
48642 (grub_vbe_get_scanline_length): Renamed from this...
48643 (grub_vbe_bios_get_scanline_length): ... to this.
48644 (grub_vbe_set_display_start): Renamed from this...
48645 (grub_vbe_bios_set_display_start): ... to this.
48646 (grub_vbe_get_display_start): Renamed from this...
48647 (grub_vbe_bios_get_display_start): ... to this.
48648 (grub_vbe_set_palette_data): Renamed from this...
48649 (grub_vbe_bios_set_palette_data): ... to this.
48650 (grub_vbe_set_pixel_rgb): Removed.
48651 (grub_vbe_set_pixel_index): Likewise.
48652
48653 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48654 from this...
48655 (grub_vbe_bios_get_controller_info): ... to this.
48656 (grub_vbe_get_mode_info): Renamed from this...
48657 (grub_vbe_bios_get_mode_info): ... to this.
48658 (grub_vbe_set_mode): Renamed from this...
48659 (grub_vbe_bios_set_mode): ... to this.
48660 (grub_vbe_get_mode): Renamed from this...
48661 (grub_vbe_bios_get_mode): ... to this.
48662 (grub_vbe_set_memory_window): Renamed from this...
48663 (grub_vbe_bios_set_memory_window): ... to this.
48664 (grub_vbe_get_memory_window): Renamed from this...
48665 (grub_vbe_bios_get_memory_window): ... to this.
48666 (grub_vbe_set_scanline_length): Renamed from this...
48667 (grub_vbe_set_scanline_length): ... to this.
48668 (grub_vbe_get_scanline_length): Renamed from this...
48669 (grub_vbe_bios_get_scanline_length): ... to this.
48670 (grub_vbe_set_display_start): Renamed from this...
48671 (grub_vbe_bios_set_display_start): ... to this.
48672 (grub_vbe_get_display_start): Renamed from this...
48673 (grub_vbe_bios_get_display_start): ... to this.
48674 (grub_vbe_set_palette_data): Renamed from this...
48675 (grub_vbe_bios_set_palette_data): ... to this.
48676 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48677 getting corrupted after calling it. Added more pushes and pops.
48678 (grub_vbe_bios_set_mode): Likewise.
48679 (grub_vbe_bios_get_mode): Likewise.
48680 (grub_vbe_bios_get_memory_window): Likewise.
48681 (grub_vbe_bios_set_scanline_length): Likewise.
48682 (grub_vbe_bios_get_scanline_length): Likewise.
48683 (grub_vbe_bios_get_display_start): Likewise.
48684 (grub_vbe_bios_set_palette_data): Likewise.
48685
48686 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48687 (cl_insert): Likewise.
48688 (cl_delete): Likewise.
48689
48690 * term/gfxterm.c: New file.
48691
48692 * term/i386/pc/vesafb.c: Removed file.
48693
48694 * video/video.c: New file.
48695
48696 * video/i386/pc/vbe.c (real2pm): Added new function.
48697 (grub_video_vbe_draw_pixel): Likewise.
48698 (grub_video_vbe_get_video_ptr): Likewise.
48699 (grub_video_vbe_get_pixel): Likewise
48700 (grub_video_vbe_init): Likewise.
48701 (grub_video_vbe_fini): Likewise.
48702 (grub_video_vbe_setup): Likewise.
48703 (grub_video_vbe_get_info): Likewise.
48704 (grub_video_vbe_set_palette): Likewise.
48705 (grub_video_vbe_get_palette): Likewise.
48706 (grub_video_vbe_set_viewport): Likewise.
48707 (grub_video_vbe_get_viewport): Likewise.
48708 (grub_video_vbe_map_color): Likewise.
48709 (grub_video_vbe_map_rgb): Likewise.
48710 (grub_video_vbe_map_rgba): Likewise.
48711 (grub_video_vbe_unmap_color): Likewise.
48712 (grub_video_vbe_fill_rect): Likewise.
48713 (grub_video_vbe_blit_glyph): Likewise.
48714 (grub_video_vbe_blit_bitmap): Likewise.
48715 (grub_video_vbe_blit_render_target): Likewise.
48716 (grub_video_vbe_scroll): Likewise.
48717 (grub_video_vbe_swap_buffers): Likewise.
48718 (grub_video_vbe_create_render_target): Likewise.
48719 (grub_video_vbe_delete_render_target): Likewise.
48720 (grub_video_vbe_set_active_render_target): Likewise.
48721 (grub_vbe_set_pixel_rgb): Remove function.
48722 (grub_vbe_set_pixel_index): Likewise.
48723 (index_color_mode): Remove static variable.
48724 (active_mode): Likewise.
48725 (framebuffer): Likewise.
48726 (bytes_per_scan_line): Likewise.
48727 (grub_video_vbe_adapter): Added new static variable.
48728 (framebuffer): Likewise.
48729 (render_target): Likewise.
48730 (initial_mode): Likewise.
48731 (mode_in_use): Likewise.
48732 (mode_list): Likewise.
48733
5f97350b 487342006-03-10 Marco Gerards <marco@gnu.org>
48735
48736 * configure.ac (AC_INIT): Bumped to 1.93.
48737
48738 * DISTLIST: Added `include/grub/hfs.h'.
48739
a3c5c6f8 487402006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48741
48742 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48743 18H, which might help the BIOS falling back to next boot media.
48744
6de53d26 487452006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48746
48747 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48748 Poe Chen <poe.poechen@gmail.com>.
48749
77c4a393 487502006-01-17 Marco Gerards <marco@gnu.org>
48751
48752 * include/grub/normal.h: Include <grub/script.h>.
48753 (grub_command_list): Removed struct.
48754 (grub_command_list_t): Removed type.
48755 (grub_menu_entry): Remove members `num' and `command_list'. Add
48756 members `commands' and `sourcecode'.
48757 * include/grub/script.h: Add inclusion guards.
48758 (grub_script_cmd_menuentry): New struct.
48759 (grub_script_execute_menuentry): New prototype.
48760 (grub_script_lexer_record_start): Likewise.
48761 (grub_script_lexer_record_stop): Likewise.
48762 * normal/execute.c (grub_script_execute_menuentry): New function.
48763 * normal/lexer.c (record, recording, recordpos, recordlen): New
48764 variables.
48765 (grub_script_lexer_record_start): New function.
48766 (grub_script_lexer_record_stop): Likewise.
48767 (recordchar): Likewise.
48768 (nextchar): Likewise.
48769 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48770 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48771 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48772 (current_menu): New variable.
48773 (free_menu): Mainly rewritten.
48774 (grub_normal_menu_addentry): New function.
48775 (read_config_file): Rewritten.
48776 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48777 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48778 the menu entry.
48779 (run): Mainly rewritten.
48780 * normal/parser.y (menu_entry): New variable.
48781 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48782 (menuentry): New rule.
48783 (command): Add `menuentry'.
48784 (if_statement): Allow additional returns before `fi'.
48785 * normal/script.c (grub_script_create_cmdmenu): New function.
48786
144f1f98 487872006-01-03 Marco Gerards <marco@gnu.org>
48788
48789 * INSTALL: GNU Bison is required.
48790 * configure.ac: Rewritten the test to detect Bison.
48791 * Makefile.in (YACC): New variable. Reported by Xun Sun
48792 <xun.sun.cn@gmail.com>.
48793
af4b2d89 487942006-01-03 Marco Gerards <marco@gnu.org>
48795
48796 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48797 the HFS+ filesystem to filesystem blocks.
48798 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48799 GCC warning is silenced.
48800
15643b71 488012006-01-03 Marco Gerards <marco@gnu.org>
48802
48803 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48804 read from disk from big endian to host byte order.
48805
00905879 488062006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48807
48808 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48809 documentation.
48810 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48811 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48812 embedded HFS+ filesystem.
48813 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48814 (grub_hfs_sblock): Move from here...
48815 * include/grub/hfs.h: To here... New file.
48816 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48817 documentation.
48818 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48819 New macros.
48820 (grub_hfsplus_volheader): Change type of member `magic' to
48821 `grub_uint16_t'.
48822 (grub_hfsplus_data): Add new member `embedded_offset'.
48823 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48824 returned block.
48825 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48826 Calculate the offset.
48827
8899bc3e 488282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48829
48830 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48831 Removed.
48832 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48833
ae8c0277 488342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48835
48836 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48837 ENV->NAME is NULL after allocating ENV->VALUE.
48838
07084456 488392005-12-25 Marco Gerards <marco@gnu.org>
48840
48841 * kern/env.c (grub_env_set): Rewritten the error handling code.
48842
4750f5f1 488432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48844
48845 * geninit.sh: Made more robust, and more portable.
48846
50214199 488472005-12-25 Marco Gerards <marco@gnu.org>
48848
48849 Add support for Apple HFS+ filesystems.
f19dbdb7 48850
50214199 48851 * fs/hfsplus.c: New file.
48852
48853 * DISTLIST: Added `fs/hfsplus.c'.
48854
48855 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48856 (hfsplus_mod_SOURCES): New variable.
48857 (hfsplus_mod_CFLAGS): Likewise.
48858 (hfsplus_mod_LDFLAGS): Likewise.
48859 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48860 (grub_setup_SOURCES): Likewise.
48861 (grub_mkdevicemap_SOURCES): Likewise.
48862 (grub_emu_SOURCES): Likewise.
48863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48864
48865 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48866
48867 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48868
befaed6c 488692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48870
48871 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48872 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48873 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48874 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48875 normal/lexer.c, normal/parser.y, normal/script.c, and
48876 partmap/gpt.c.
48877 Removed kern/sparc64/cache.c.
48878
48879 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48880 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48881 grub_emu_init.c.
48882
48883 * configure.ac (AC_INIT): Bumped to 1.92.
48884
6a124103 488852005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48886
48887 * kern/err.c (grub_error_push): Added new function to support error
48888 stacks.
48889 (grub_error_pop): Likewise.
48890 (grub_error_stack_items): New local variable to support error stacks.
48891 (grub_error_stack_pos): Likewise.
48892 (grub_error_stack_assert): Likewise.
48893 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48894 stack depth.
48895 (grub_print_error): Added support to print errors from error stack.
48896
48897 * include/grub/err.h (grub_error_push): Added function prototype.
48898 (grub_error_pop): Likewise.
48899
be973c1b 489002005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48901
48902 * configure.ac: Accept `powerpc64' as host_cpu.
48903 (amd64): Rename to `biarch32'.
48904
48905 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48906 non-cacheline-aligned addresses.
48907
48908 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48909 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48910 if `size' is non-zero.
48911
b04216ab 489122005-12-03 Marco Gerards <mgerards@xs4all.nl>
48913
48914 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48915 and `cd' to make sure the filename is not prefixed with a
48916 directory name.
48917 (pkgdata_MODULES): Add `gpt.mod'.
48918 (gpt_mod_SOURCES): New variable.
48919 (gpt_mod_CFLAGS): Likewise.
48920 (gpt_mod_LDFLAGS): Likewise.
48921
48922 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48923
48924 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48925 New macro.
48926
48927 * partmap/gpt.c: New file.
48928
48929 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48930 GPT partition map is detected.
48931
41730ed9 489322005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48933
48934 * commands/i386/pc/play.c: New file.
48935 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48936 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48937 macros.
f19dbdb7 48938
95dc3643 489392005-11-27 Marco Gerards <mgerards@xs4all.nl>
48940
48941 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48942 ((unused))' to silence gcc warning.
48943
1569ec51 489442005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48945
48946 * configure.ac: Correct `AC_PROG_YACC' test.
48947
9abde152 489482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48949
48950 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48951 check before installing files.
48952
44b83271 489532005-11-22 Mike Small <smallm@panix.com>
48954
48955 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48956 number regex so multidigit numbers are recognized correctly.
48957
489582005-11-22 Mike Small <smallm@panix.com>
48959
48960 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48961 debugging message before attempting to claim memory.
48962 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48963 multiple addresses in case of failure.
48964
9c12956b 489652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48966
48967 * term/tparm.c (get_space): Remove empty `if' statement.
48968
48969 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48970
48971 * kern/parser.c (check_varstate): Rename `state' to 's'.
48972
aeaf81d9 489732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48974
48975 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48976 variable definitions to the beginning of each function. Sort stack
48977 variables by size.
48978 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48979 `buf' argument to `char *'.
48980
79bbb63f 489812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48982
48983 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48984 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48985 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48986 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48987 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48988 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48989 configfile.mod, search.mod, gzio.mod and test.mod.
48990 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48991 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48992 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48993 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48994 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48995 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48996 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48997 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48998 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48999 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49000 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49001 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49002 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49003 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49004 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49005 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49006 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49007 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49008 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49009 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49010 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49011 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49012 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49013
49014 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49015 `grep --include'.
49016 (pkgdata_MODULES): Add test.mod.
49017
233b1628 490182005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49019
49020 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49021 appending to variables with "+=".
49022 (PModule): Use full pathname to generate *.lst filenames.
49023
49024 * Makefile.in: Fixed list rules moved from genmk.rb.
49025 (.DELETE_ON_ERROR): New special target.
49026 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49027
49028 * conf/i386-pc.rmk: Include conf/common.mk.
49029 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49030 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49031 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49032 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49033 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49034 configfile.mod, search.mod, gzio.mod and test.mod.
49035 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49036 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49037 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49038 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49039 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49040 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49041 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49042 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49043 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49044 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49045 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49046 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49047 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49048 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49049 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49050 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49051 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49052 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49053 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49054 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49055 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49056 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49057 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49058 here...
49059 * conf/common.rmk: ... to here. New file.
49060
49061 * conf/common.mk: New file.
49062
16f820c8 490632005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49064
49065 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49066 (grub_script.tab.c): ... here.
49067
49068 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49069 (grub_script.tab.c): ... here.
49070
49071 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49072 (grub_script.tab.c): ... here.
49073
49074 * normal/command.c (grub_command_find): Fixed a memory leak of
49075 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49076
63ba1554 490772005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49078
49079 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49080 "@" which marks the start of a comment on ARM.
49081 (VARIABLE): Likewise.
49082
7f67dc13 490832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49084
79bbb63f 49085 Add support for Linux/ADFS partition tables.
7f67dc13 49086
49087 * partmap/acorn.c: New file.
49088
49089 * include/grub/acorn_filecore.h: Likewise.
49090
49091 * DISTLIST: Added `partmap/acorn.c' and
49092 `include/grub/acorn_filecore.h'.
f19dbdb7 49093
7f67dc13 49094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49095 `partmap/acorn.c'.
49096 (pkgdata_MODULES): Add `acorn.mod'.
49097 (acorn_mod_SOURCES): New variable.
49098 (acorn_mod_CFLAGS): Likewise.
49099
49100 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49101 `partmap/acorn.c'.
49102 (pkgdata_MODULES): Add `acorn.mod'.
49103 (acorn_mod_SOURCES): New variable.
49104 (acorn_mod_CFLAGS): Likewise.
49105
49106 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49107 (pkgdata_MODULES): Add `acorn.mod'.
49108 (acorn_mod_SOURCES): New variable.
49109 (acorn_mod_CFLAGS): Likewise.
49110 (acorn_mod_LDFLAGS): Likewise.
49111
49112 * include/types.h (grub_disk_addr_t): New typedef.
49113
6d099807 491142005-11-13 Marco Gerards <mgerards@xs4all.nl>
49115
49116 * geninit.sh: New file.
49117
49118 * geninitheader.sh: Likewise.
49119
49120 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49121 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49122 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49123 * commands/configfile.c (grub_configfile_init)
49124 (grub_configfile_fini): Likewise.
49125 * commands/default.c (grub_default_init, grub_default_fini):
49126 Likewise.
49127 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49128 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49129 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49130 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49131 Likewise.
49132 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49133 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49134 Likewise.
49135 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49136 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49137 Likewise.
49138 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49139 Likewise.
fe6b695a 49140 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49141 Likewise.
49142 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49143 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49144 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49145 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49146 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49147 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49148 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49149 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49150 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49151 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49152 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49153 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49154 * partmap/amiga.c (grub_amiga_partition_map_init)
49155 (grub_amiga_partition_map_fini): Likewise.
49156 * partmap/apple.c (grub_apple_partition_map_init)
49157 (grub_apple_partition_map_fini): Likewise.
49158 * partmap/pc.c (grub_pc_partition_map_init)
49159 (grub_pc_partition_map_fini): Likewise.
49160 * partmap/sun.c (grub_sun_partition_map_init,
49161 grub_sun_partition_map_fini): Likewise.
49162 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49163 Likewise.
49164
49165 * util/grub-emu.c: Include <grub_modules_init.h>.
49166 (main): Don't initialize and de-initialize any modules directly,
49167 use `grub_init_all' and `grub_fini_all' instead.
49168
49169 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49170 `grub_vesafb_mod_init'.
49171 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49172 all users.
49173 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49174 `grub_vga_mod_init'. Updated all users.
49175 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49176
6d099807 49177 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49178 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49179 rules.
49180
49181 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49182 Generate a function to initialize the module in utilities.
49183 Updated all callers.
49184 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49185 initialize the module in utilities. Updated all callers.
49186
9046bcf0 491872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49188
49189 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49190 escape sequence and a literal ^L to clear the screen.
49191
49192 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49193 when returning from Open Firmware.
49194
d13ea639 491952005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49196
49197 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49198 (grub_ofconsole_height): Likewise.
49199 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49200 manually insert a '\n'.
49201 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49202 `grub_ofconsole_height'. Return early if these are already set.
49203
a8fcf206 492042005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49205
49206 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49207 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49208 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49209 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49210 and `normal/script.c'.
49211 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49212 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49213 (test_mod_SOURCES): New variable.
49214 (test_mod_CFLAGS): Likewise.
49215 (test_mod_LDFLAGS): Likewise.
49216 (pkgdata_MODULES): Add `test.mod'.
49217 (grub_script.tab.c): New rule.
49218 (grub_script.tab.h): Likewise.
49219
b6b32745 492202005-11-07 Marco Gerards <mgerards@xs4all.nl>
49221
49222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49223 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49224 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49225 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49226 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49227 (test_mod_SOURCES): New variable.
49228 (test_mod_CFLAGS): Likewise.
49229 (pkgdata_MODULES): Add `test.mod'.
49230 (grub_script.tab.c): New rule.
49231 (grub_script.tab.h): Likewise.
49232
daac212a 492332005-11-06 Marco Gerards <mgerards@xs4all.nl>
49234
49235 Add initial scripting support.
49236
49237 * commands/test.c: New file.
49238 * include/grub/script.h: Likewise.
49239 * normal/execute.c: Likewise.
49240 * normal/function.c: Likewise.
49241 * normal/lexer.c: Likewise.
49242 * normal/parser.y: Likewise.
49243 * normal/script.c: Likewise.
49244
49245 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49246
daac212a 49247 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49248 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49249 `normal/function.c' and `normal/script.c'.
49250 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49251 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49252 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49253 variables.
daac212a 49254 (pkgdata_MODULES): Add `test.mod'.
49255 (grub_script.tab.c): New rule.
49256 (grub_script.tab.h): Likewise.
49257
49258 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49259
49260 * include/grub/normal.h (grub_test_init): New prototype.
49261 (grub_test_fini): Likewise.
f19dbdb7 49262
daac212a 49263 * normal/command.c: Include <grub/script.h>.
49264 (grub_command_execute): Rewritten.
f19dbdb7 49265
daac212a 49266 * util/grub-emu.c (main): Call `grub_test_init' and
49267 `grub_test_fini'.
49268
77500b2b 492692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49270
49271 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49272 to 0.
49273 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49274 there are no pending characters.
49275
e45deb9e 492762005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49277
49278 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49279 `grub_strndup' to drop device arguments. Replace unnecessary
49280 `grub_strndup' with `grub_strdup'.
49281
4ce32619 492822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49283
49284 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49285 `debug' environment variable has been set.
49286
492872005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49288
4ce32619 49289 * Makefile.in (install-local): Use $(DATA).
49290 (uninstall): Likewise.
49291 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49292 (sbin_UTILITIES): ... to here.
49293 (sbin_SCRIPTS): New variable.
49294 (grub_install_SOURCES): New variable.
49295 * util/powerpc/ieee1275/grub-install.in: New file.
49296 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49297 variable.
49298 (add_segments): Call `grub_util_get_path'.
49299
25fe6f03 493002005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49301
49302 From Timothy Baldwin:
49303 * commands/ls.c (grub_ls_list_files): Close FILE with
49304 grub_file_close.
49305 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49306
04ccf3ec 493072005-10-24 Marco Gerards <mgerards@xs4all.nl>
49308
49309 * include/grub/parser.h: New file.
49310
49311 * kern/parser.c: Likewise.
49312
49313 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49314 (grub_setup_SOURCES): Likewise.
49315 (grub_probefs_SOURCES): Likewise.
49316 (grub_emu_SOURCES): Likewise.
49317 (kernel_img_HEADERS): Add `parser.h'.
49318
49319 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49320 (grub_emu_SOURCES): Add `kern/parser.c'.
49321 (grubof_SOURCES): Likewise.
49322
49323 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49324 (grubof_SOURCES): Add `kern/parser.c'.
49325
49326 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49327
49328 * kern/misc.c (grub_split_cmdline): Removed function.
49329
49330 * kern/rescue.c: Include <grub/parser.h>.
49331 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49332 of `grub_split_cmdline'.
49333
49334 * normal/command.c: Include <grub/parser.h>.
49335 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49336 of `grub_split_cmdline'.
49337
49338 * normal/completion.c: Include <grub/parser.h>.
49339 (cmdline_state): New variable.
49340 (iterate_dir): End the filename with a quote depending on the
49341 command line state.
49342 (get_state): new function.
49343 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49344 split the arguments and determine the current argument. When the
49345 argument string is not quoted, escape all spaces.
49346
6d8f4b0e 493472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49348
49349 * normal/sparc64/setjmp.S: New file.
49350
15cf03ed 493512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49352
49353 * include/grub/sparc64/libgcc.h: New file.
49354 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49355 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49356 normal/sparc64/setjmp.c.
49357
03e8661a 493582005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49359
49360 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49361 * kern/sparc64/cache.S: New file.
49362 * kern/sparc64/cache.c: Removed.
49363 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49364 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49365 -mtune=ultrasparc.
49366 (COMMON_LDFLAGS): Add -melf64_sparc.
49367 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49368 (grubof_SOURCES): Use cache.S instead of cache.c.
49369 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49370 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49371 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49372 commented though.
49373 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49374 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49375 (linux_mod_CFLAGS): Commented out.
49376 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49377 out because module isn't built.
49378 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49379 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49380 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49381 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49382 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49383 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49384 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49385 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49386 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49387 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49388 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49389 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49390 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49391 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49392
34eeec8a 493932005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49394
49395 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49396 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49397 longer, because HFS should not be used on PC.
49398
708367a3 493992005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49400
49401 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49402 consistently within the loop.
49403
6fa1251a 494042005-10-15 Marco Gerards <mgerards@xs4all.nl>
49405
49406 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49407 directory can not be read.
49408
4801580b 494092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49410
49411 * configure.ac (AC_INIT): Increase the version number to 1.91.
49412
49413 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49414 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49415 term/i386/pc/serial.c.
49416
219ad426 494172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49418
49419 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49420 file size must be permitted.
49421
49422 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49423 between %ah and %al.
49424
688e5699 494252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49426
49427 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49428 grub_uint64_t.
49429 Call the hook with a NUL-terminated filename.
49430 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49431 grub_cpu_to_be32.
49432
49433 * kern/term.c (cursor_state): New variable.
49434 (grub_term_set_current): Reset the cursor state on a new
49435 terminal.
49436 (grub_setcursor): Rewritten to use CURSOR_STATE.
49437 (grub_getcursor): New function.
49438
49439 * include/grub/term.h (grub_getcursor): New prototype.
49440
49441 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49442 integers on ARM. Reported by Timothy Baldwin
49443 <T.E.Baldwin99@members.leeds.ac.uk>.
49444
bb34586c 494452005-10-11 Marco Gerards <mgerards@xs4all.nl>
49446
49447 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49448 allocated.
49449 (grub_sfs_dir): Likewise.
49450
9a909877 494512005-10-09 Marco Gerards <mgerards@xs4all.nl>
49452
49453 Add support for the SFS filesystem.
49454
49455 * fs/sfs.c: New file.
49456
49457 * DISTLIST: Added `fs/sfs.c'.
49458
49459 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49460 (grub_probefs_SOURCES): Likewise.
49461 (grub_emu_SOURCES): Likewise.
49462 (pkgdata_MODULES): Add `sfs.mod'.
49463 (sfs_mod_SOURCES): New variable.
49464 (sfs_mod_CFLAGS): Likewise.
49465 (sfs_mod_LDFLAGS): Likewise.
49466
49467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49468 (pkgdata_MODULES): Add `sfs.mod'.
49469 (sfs_mod_SOURCES): New variable.
49470 (sfs_mod_CFLAGS): Likewise.
49471
49472 * util/grub-emu.c (main): Call `grub_sfs_init' and
49473 `grub_sfs_fini'.
49474
49475 * include/grub/fs.h (grub_sfs_init): New prototype.
49476 (grub_sfs_fini): Likewise.
49477
57bdbde3 494782005-10-07 Marco Gerards <mgerards@xs4all.nl>
49479
49480 Add support for the AFFS filesystem.
49481
49482 * fs/affs.c: New file.
49483
49484 * DISTLIST: Added `fs/affs.c'.
49485
49486 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49487 (grub_probefs_SOURCES): Likewise.
49488 (grub_emu_SOURCES): Likewise.
49489 (pkgdata_MODULES): Add `affs.mod'.
49490 (affs_mod_SOURCES): New variable.
49491 (affs_mod_CFLAGS): Likewise.
49492 (affs_mod_LDFLAGS): Likewise.
49493
49494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49495 (pkgdata_MODULES): Add `affs.mod'.
49496 (affs_mod_SOURCES): New variable.
49497 (affs_mod_CFLAGS): Likewise.
49498
49499 * util/grub-emu.c (main): Call `grub_affs_init' and
49500 `grub_affs_fini'.
49501
49502 * include/grub/fs.h (grub_affs_init): New prototype.
49503 (grub_affs_fini): Likewise.
49504
047b67e0 495052005-10-01 Marco Gerards <mgerards@xs4all.nl>
49506
49507 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49508
59b8208a 495092005-10-01 Marco Gerards <mgerards@xs4all.nl>
49510
49511 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49512 `-m32' to CFLAGS.
49513
49514 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49515 linking.
f19dbdb7 49516
59b8208a 49517 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49518 (COMMON_LDFLAGS): New variable.
49519 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49520 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49521 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49522 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49523 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49524 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49525 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49526 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49527 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49528 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49529 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49530 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49531 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49532 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49533 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49534 variables.
49535 (normal_mod_ASFLAGS): Add `-m32'.
49536
49537 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49538 (grub_host_size_t, grub_host_ssize_t): New types.
49539 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49540 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49541 `GRUB_HOST_SIZEOF_VOID_P'.
49542
49543 * include/grub/kernel.h (struct grub_module_header): Type of
49544 member offset changed to `grub_host_off_t'. Type of member size
49545 changed to `grub_host_size_t'.
49546 (struct grub_module_info): Type of member offset changed to
49547 `grub_host_off_t'. Type of member size changed to
49548 `grub_host_size_t'.
49549
b4093103 495502005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49551
49552 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49553
b4093103 49554 * kern/i386/pc/startup.S (multiboot_header): New label.
49555 (multiboot_entry): Likewise.
49556 (multiboot_trampoline): Likewise.
49557
49558 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49559 Increased to 0x4A0.
49560
49561 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49562 put parentheses after a question mark.
49563 [!GRUB_UTIL] (my_mod): New variable.
49564
49565 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49566
b2499b29 495672005-09-28 Marco Gerards <mgerards@xs4all.nl>
49568
49569 Adds support for the XFS filesystem. Btrees are not supported
49570 yet.
49571
49572 * fs/xfs.c: New file.
49573
49574 * DISTLIST: Added `fs/xfs.c'.
49575
49576 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49577 (grub_probefs_SOURCES): Likewise.
49578 (grub_emu_SOURCES): Likewise.
49579 (pkgdata_MODULES): Add `xfs.mod'.
49580 (xfs_mod_SOURCES): New variable.
49581 (xfs_mod_CFLAGS): Likewise.
49582
49583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49584 (pkgdata_MODULES): Add `xfs.mod'.
49585 (xfs_mod_SOURCES): New variable.
49586 (xfs_mod_CFLAGS): Likewise.
49587
49588 * util/grub-emu.c (main): Call `grub_xfs_init' and
49589 `grub_xfs_fini'.
49590
49591 * include/grub/fs.h (grub_xfs_init): New prototype.
49592 (grub_xfs_fini): Likewise.
49593
f19dbdb7 49594
83d37a62 495952005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49596
49597 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49598 color modes, allow greater than 16 colors to be configured as
49599 a default palette.
49600
47d2d65e 496012005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49602
49603 * normal/completion.c (complete_arguments): Add the qualifier
49604 const into OPTIONS.
49605
49606 From Omniflux <omniflux+lists@omniflux.com>:
49607 * include/grub/terminfo.h: New file.
49608 * include/grub/tparm.h: Likewise.
49609 * include/grub/i386/pc/serial.h: Likewise.
49610 * term/terminfo.c: Likewise.
49611 * term/tparm.c: Likewise.
49612 * term/i386/pc/serial.c: Likewise.
49613 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49614 serial.mod.
49615 (terminfo_mod_SOURCES): New variable.
49616 (terminfo_mod_CFLAGS): Likewise.
49617 (serial_mod_SOURCES): Likewise.
49618 (serial_mod_CFLAGS): Likewise.
49619
48b671ff 496202005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49621
49622 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49623 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49624 and kern/powerpc/ieee1275/cmain.c, respectively.
49625
49626 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49627 * kern/powerpc/ieee1275/crt0.S: ... here.
49628
49629 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49630 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49631
48b671ff 49632 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49633 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49634 instead of boot/powerpc/ieee1275/crt0.S and
49635 boot/powerpc/ieee1275/cmain.c, respectively.
49636
49637 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49638 sectors. It was not used anyway.
49639
09fc77a7 496402005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49641
49642 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49643 `unused parameter' warning.
49644
003789c7 496452005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49646
49647 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49648 function.
49649 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49650 getcharwidth.
49651
67f44c86 496522005-08-28 Marco Gerards <metgerards@student.han.nl>
49653
49654 * include/grub/normal.h (enum grub_completion_type): Added
49655 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49656
49657 * normal/cmdline.c (print_completion): Handle
49658 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49659 * normal/menu_entry.c (store_completion): Likewise.
49660
49661 * normal/completion.c (complete_arguments): New function.
49662 (grub_normal_do_completion): Call `complete_arguments' when the
49663 current words start with a dash.
49664
0b5abe02 496652005-08-27 Marco Gerards <metgerards@student.han.nl>
49666
49667 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49668 `gzio.mod' instead of `io.mod').
49669
d9864ee1 496702005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49671
49672 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49673 (DISTDIRS): Added io and video.
49674 Rewrite the search routine to make an output consistently.
49675
49676 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49677 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49678 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49679 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49680 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49681 util/powerpc/ieee1275/misc.c.
f19dbdb7 49682
d9864ee1 49683 * include/grub/gzio.h: New file.
49684 * io/gzio.c: Likewise.
f19dbdb7 49685
d9864ee1 49686 * kern/file.c (grub_file_close): Call grub_device_close only if
49687 FILE->DEVICE is not NULL.
49688
49689 * include/grub/mm.h [!NULL] (NULL): New macro.
49690
49691 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49692
49693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49694 (pkgdata_MODULES): Added gzio.mod.
49695 (gzio_mod_SOURCES): New variable.
49696 (gzio_mod_CFLAGS): Likewise.
49697
49698 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49699 (pkgdata_MODULES): Added gzio.mod.
49700 (gzio_mod_SOURCES): New variable.
49701 (gzio_mod_CFLAGS): Likewise.
49702
49703 * commands/cat.c: Include grub/gzio.h.
49704 (grub_cmd_cat): Use grub_gzfile_open instead of
49705 grub_file_open.
f19dbdb7 49706
d9864ee1 49707 * commands/cmp.c: Include grub/gzio.h.
49708 (grub_cmd_cmp): Use grub_gzfile_open instead of
49709 grub_file_open.
49710
49711 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49712 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49713 grub_file_open.
49714 (grub_rescue_cmd_module): Likewise.
49715
fa46f4b5 497162005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49717
49718 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49719 kern/sparc64/ieee1275/init.c because it contains _start.
49720 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49721
e9211b5d 497222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49723
49724 * configure.ac: Add support for sparc64 host with ieee1275
49725 firmware.
49726 * configure: Generated from configure.ac.
49727 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49728 instead of int.
49729 (grub_ofdisk_read): Likewise.
49730 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49731 pointers as (void *) to remove a warning.
49732 (grub_ofdisk_close): Likewise.
49733 (grub_ofdisk_read): Likewise.
49734 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49735 returns, so make it return void to remove a warning.
49736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49737 Corresponding prototype change.
49738 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49739 values, and cast the pointers as (void *) to remove a warning.
49740 (grub_mm_dump): Likewise.
49741 * conf/sparc64-ieee1275.mk: New file.
49742 * conf/sparc64-ieee1275.rmk: Likewise.
49743 * include/grub/sparc64/setjmp.h: Likewise.
49744 * include/grub/sparc64/types.h: Likewise.
49745 * include/grub/sparc64/ieee1275/console.h: Likewise.
49746 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49747 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49748 * include/grub/sparc64/ieee1275/time.h: Likewise.
49749 * kern/sparc64/cache.c: Likewise.
49750 * kern/sparc64/dl.c: Likewise.
49751 * kern/sparc64/ieee1275/init.c: Likewise.
49752 * kern/sparc64/ieee1275/openfw.c: Likewise.
49753
385c6a92 497542005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49755
49756 * util/console.c (grub_ncurses_putchar): If C is greater than
49757 0x7f, set C to a question mark.
49758 (grub_ncurses_getcharwidth): New function.
49759 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49760 getcharwidth.
49761
49762 * normal/menu.c (print_entry): Made aware of Unicode. First,
49763 convert TITLE to UCS-4, and predict the cursor position by
49764 grub_getcharwidth.
49765
49766 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49767 const to SRC.
49768 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49769
16ccb8b1 497702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49771
49772 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49773 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49774 grub_strcat.
49775
49776 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49777 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49778 grub_strcpy and grub_strlen. Take it into account that a space
49779 character is inserted as a delimiter.
49780
6a85ce79 497812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49782
49783 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49784 invalid magic in the error.
6a85ce79 49785
49786 * commands/search.c: New file.
f19dbdb7 49787
6a85ce79 49788 * util/grub-emu.c (main): Call grub_search_init and
49789 grub_search_fini.
49790
49791 * kern/rescue.c (grub_rescue_print_disks): Removed.
49792 (grub_rescue_print_devices): New function.
49793 (grub_rescue_cmd_ls): Use grub_device_iterate with
49794 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49795 grub_rescue_print_disks.
49796
49797 * kern/partition.c (grub_partition_iterate): Return the result of
49798 PARTMAP->ITERATE instead of GRUB_ERRNO.
49799
49800 * kern/device.c: Include grub/partition.h.
49801 (grub_device_iterate): New function.
49802
49803 * include/grub/partition.h (grub_partition_iterate): Return int
49804 instead of grub_err_t.
49805
49806 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49807 prototype.
49808 [GRUB_UTIL] (grub_search_fini): Likewise.
49809
49810 * include/grub/device.h (grub_device_iterate): New prototype.
49811
49812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49813 commands/search.c.
49814 (pkgdata_MODULES): Added search.mod.
49815 (search_mod_SOURCES): New variable.
49816 (search_mod_CFLAGS): Likewise.
49817
49818 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49819 (pkgdata_MODULES): Added search.mod.
49820 (search_mod_SOURCES): New variable.
49821 (search_mod_CFLAGS): Likewise.
49822
49823 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49824 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49825 All callers changed.
49826
49827 * DISTLIST: Added commands/search.c.
49828
ef095434 498292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49830
49831 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49832 conversion.
49833 (grub_getcharwidth): New function.
49834
49835 * kern/misc.c (grub_utf8_to_ucs4): New function.
49836
49837 * include/grub/term.h (struct grub_term): Added a new member
49838 "getcharwidth".
49839 (grub_getcharwidth): New prototype.
49840
49841 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49842
49843 * term/i386/pc/console.c (map_char): New function. Segregated from
49844 grub_console_putchar.
49845 (grub_console_putchar): Use map_char.
49846 (grub_console_getcharwidth): New function.
49847 (grub_console_term): Specified grub_console_getcharwidth as
49848 getcharwidth.
49849
49850 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49851 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49852
49853 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49854 GRUB_ERRNO.
49855 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49856 on grub_strtoul completely.
49857 (write_char): Declare local variables in the beginning of the
49858 function.
49859 (grub_vesafb_getcharwidth): New function.
49860 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49861 getcharwidth.
49862
1f0a95e4 498632005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49864
49865 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49866 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49867 commands/i386/pc/vbetest.c.
49868
49869 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49870 call grub_vbe_get_controller_info again, because the returned
49871 information is volatile.
49872 (grub_vbe_set_video_mode): Mostly rewritten.
49873 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49874 grub_vbe_status_t correctly.
49875 (grub_vbe_get_video_mode_info): Likewise.
49876 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49877 several if statements.
49878
49879 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49880 * commands/i386/pc/vbeinfo.c: ... this.
49881
49882 * commands/i386/pc/vbe_test.c: Renamed to ...
49883 * commands/i386/pc/vbetest.c: ... this.
49884
49885 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49886 ...
49887 (grub_cmd_vbeinfo): ... this. Save video modes before
49888 iterating. Skip a video mode, if it is not available, not enough
49889 information is given or it is monochrome. Show the memory
49890 model. Leave the interpretation of MODEVAR to grub_strtoul
49891 completely.
49892 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49893 (GRUB_MOD_FINI): Likewise.
49894
49895 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49896 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49897 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49898 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49899 grub_strtoul completely.
49900 (real2pm): Removed.
49901 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49902 (GRUB_MOD_FINI): Likewise.
49903
49904 * normal/misc.c: Include grub/mm.h.
49905
49906 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49907 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49908 (vbe_list_modes_mod_SOURCES): Removed.
49909 (vbe_list_modes_mod_CFLAGS): Likewise.
49910 (vbe_test_mod_SOURCES): Likewise.
49911 (vbe_test_mod_CFLAGS): Likewise.
49912 (vbeinfo_mod_SOURCES): New variable.
49913 (vbeinfo_mod_CFLAGS): Likewise.
49914 (vbetest_mod_SOURCES): Likewise.
49915 (vbetest_mod_CFLAGS): Likewise.
49916
992ffbbe 499172005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49918
49919 * normal/misc.c: New file.
49920
49921 * DISTLIST: Added normal/misc.c.
f19dbdb7 49922
992ffbbe 49923 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49924 DISK to HOOK. Call HOOK with DISK.
49925 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49926 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49927 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49928
49929 * normal/menu_entry.c (struct screen): Added a new member
49930 "completion_shown".
49931 (completion_buffer): New global variable.
49932 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49933 (store_completion): New function.
49934 (complete): Likewise.
49935 (clear_completions): Likewise.
49936 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49937 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49938 a tab, call complete.
49939
49940 * normal/completion.c (disk_dev): Removed.
49941 (print_simple_completion): Likewise.
49942 (print_partition_completion): Likewise.
49943 (print_func): New global variable.
49944 (add_completion): Do not take the arguments WHAT or PRINT any
49945 longer. Added a new argument TYPE. Instead of printing directly,
49946 call PRINT_FUNC if not NULL.
49947 All callers changed.
49948 (complete_device): Use a local variable DEV instead of
49949 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49950 (grub_normal_do_completion): Take a new argument HOOK. Do not
49951 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49952 empty string, return NULL instead.
49953 All callers changed.
49954
49955 * normal/cmdline.c (print_completion): New function.
49956
49957 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49958 to HOOK.
49959 All callers changed.
49960
49961 * kern/disk.c (grub_print_partinfo): Removed.
49962
49963 * include/grub/partition.h (struct grub_partition_map): Add a new
49964 argument DISK into HOOK of ITERATE.
49965 (grub_partition_iterate): Add a new argument DISK to HOOK.
49966
49967 * include/grub/normal.h (enum grub_completion_type): New enum.
49968 (grub_completion_type_t): New type.
49969 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49970 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49971 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49972 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49973 (grub_normal_do_completion): Added a new argument HOOK.
49974 (grub_normal_print_device_info): New prototype.
49975
49976 * include/grub/disk.h (grub_print_partinfo): Removed.
49977
49978 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49979 (normal_mod_SOURCES): Likewise.
49980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49981 (normal_mod_SOURCES): Likewise.
49982
49983 * commands/ls.c (grub_ls_list_disks): Use
49984 grub_normal_print_device_info instead of grub_print_partinfo. Free
49985 PNAME.
49986 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49987 duplicating the code.
49988
0bd41162 499892005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49990
49991 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49992 follow GCS more precisely.
49993 * commands/i386/pc/vbe_test.c: Likewise.
49994 * include/grub/i386/pc/vbe.h: Likewise.
49995 * term/i386/pc/vesafb.c: Likewise.
49996 * video/i386/pc/vbe.c: Likewise.
0bd41162 49997
6323696a 499982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49999
50000 * DISTLIST: Added term/i386/pc/vesafb.c
50001 DISTLIST: Added video/i386/pc/vbe.c
50002 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50003 DISTLIST: Added commands/i386/pc/vbe_test.c.
50004 * commands/i386/pc/vbe_list_modes.c: New file.
50005 * commands/i386/pc/vbe_test.c: Likewise.
50006 * term/i386/pc/vesafb.c: Likewise.
50007 * video/i386/pc/vbe.c: Likewise.
50008 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50009 (grub_vbe_probe) Added prototype.
50010 (grub_vbe_set_video_mode) Likewise.
50011 (grub_vbe_get_video_mode) Likewise.
50012 (grub_vbe_get_video_mode_info) Likewise.
50013 (grub_vbe_set_pixel_rgb) Likewise.
50014 (grub_vbe_set_pixel_index) Likewise.
50015 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50016 (pkgdata_MODULES): Added vesafb.mod.
50017 (pkgdata_MODULES): Added vbe_list_modes.mod.
50018 (pkgdata_MODULES): Added vbe_test.mod.
50019 (vbe_mod_SOURCES): Added.
50020 (vbe_mod_CFLAGS): Likewise.
50021 (vesafb_mod_SOURCES): Likewise.
50022 (vesafb_mod_CFLAGS): Likewise.
50023 (vbe_list_modes_mod_SOURCES): Likewise.
50024 (vbe_list_modes_mod_CFLAGS): Likewise.
50025 (vbe_test_mod_SOURCES): Likewise.
50026 (vbe_test_mod_CFLAGS): Likewise.
50027
0a74e62f 500282005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50029
0a74e62f 50030 * normal/command.c (grub_command_execute): If INTERACTIVE is
50031 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50032 CMDLINE. Disable the pager if INTERACTIVE is true.
50033 All callers are changed.
50034
50035 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50036 before reading a config file.
50037 * normal/main.c (read_config_file): Even if a command is not
50038 found, register it if it is within an entry.
50039
50040 * util/grub-emu.c: Include sys/types.h and unistd.h.
50041 (options): Added --hold.
50042 (struct arguments): Added a new member "hold".
50043 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50044 missing.
50045 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50046 cleared by a debugger, if it is not zero.
50047
50048 * include/grub/normal.h (grub_command_execute): Add an argument
50049 INTERACTIVE.
50050
e51f85ae 500512005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50052
50053 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50054
e9c6f39b 500552005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50056
50057 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50058 program with another one, because the old one didn't detect a bug
50059 in gcc-3.4. Always use regparm 2, because the new test is still
50060 not enough for gcc-4.0. Someone must investigate a simple test
50061 case which detects a bug in gcc-4.0.
50062
8de3495c 500632005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50064
50065 * DISTLIST: Added normal/completion.c.
50066
50067 * normal/completion.c: New file.
f19dbdb7 50068
8de3495c 50069 * term/i386/pc/console.c (grub_console_getwh): New function.
50070 (grub_console_term): Assign grub_console_getwh to getwh.
50071
50072 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50073 function is defined in normal/completion.c as
50074 grub_normal_do_completion.
50075 (grub_cmdline_get): Use grub_normal_do_completion instead of
50076 grub_tab_complete.
50077
50078 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50079 returns non-zero, otherwise return 0.
50080 (grub_partition_iterate): First, probe the partition map. Then,
50081 call ITERATE only for this partition map.
50082
50083 * kern/misc.c (grub_strncmp): Rewritten.
50084
50085 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50086 returns non-zero. Otherwise return 0.
50087
50088 * include/grub/partition.h (grub_partition_map_iterate): Return
50089 int instead of void.
50090
50091 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50092
50093 * include/grub/misc.h (grub_strncmp): Change the type of N to
50094 grub_size_t.
50095
50096 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50097 of void.
50098
50099 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50100 unsigned explicitly before comparing it with I.
8de3495c 50101
50102 * kern/main.c (grub_env_write_root): Add the attribute unused into
50103 VAR.
50104
50105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50106 normal/completion.c.
50107 (normal_mod_SOURCES): Likewise.
50108 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50109 (normal_mod_SOURCES): Likewise.
50110
50111 * normal/command.c (grub_iterate_commands): If ITERATE returns
50112 non-zero, return one immediately.
50113
e85e144b 501142005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50115
50116 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50117 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50118 descriptions.
50119 (grub_vbe_get_controller_info): New function.
50120 (grub_vbe_get_mode_info): Likewise.
50121 (grub_vbe_set_mode): Likewise.
50122 (grub_vbe_get_mode): Likewise.
50123 (grub_vbe_set_memory_window): Likewise.
50124 (grub_vbe_get_memory_window): Likewise.
50125 (grub_vbe_set_scanline_length): Likewise.
50126 (grub_vbe_get_scanline_length): Likewise.
50127 (grub_vbe_set_display_start): Likewise.
50128 (grub_vbe_get_display_start): Likewise.
50129 (grub_vbe_set_palette_data): Likewise.
50130 * include/grub/i386/pc/vbe.h: New file.
50131
c46153d2 501322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50133
50134 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50135 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50136 * DISTLIST: Likewise.
50137 * kern/ieee1275/of.c: Moved to ...
50138 * kern/ieee1275/ieee1275.c: ... here.
50139
0cb90c45 501402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50141
50142 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50143 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50144 Pass 0 as `end' parameter to grub_strtoul().
50145
a19fb360 501462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50147
50148 * include/grub/powerpc/ieee1275/console.h: Do not include
50149 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50150 ifdef.
50151 (grub_console_cur_color): Remove i386-specific prototype.
50152 (grub_console_real_putchar): Likewise.
50153 (grub_console_checkkey): Likewise.
50154 (grub_console_getkey): Likewise.
50155 (grub_console_getxy): Likewise.
50156 (grub_console_gotoxy): Likewise.
50157 (grub_console_cls): Likewise.
50158 (grub_console_setcursor): Likewise.
50159 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50160 Include <grub/machine/console.h>.
50161 * term/ieee1275/ofconsole.c: Likewise.
50162
4ac9bd04 501632005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50164
50165 * Makefile.in (LIBLZO): New variable.
50166
50167 * configure.ac: Check for LZO version 2.
50168
50169 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50170 lzo/lzo1x.h instead of lzo1x.h.
50171
50172 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50173 of -llzo.
50174
50175 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50176 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50177
50178 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50179 copying the data from PARTITION to P.
50180
f4917dfd 501812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50182
50183 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50184 negative, unload the module.
50185
50186 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50187 map is "pc_partition_map" but not "pc".
50188 (usage): Fix the description. The options are --boot-image and
50189 --core-image but not --boot-file or --core-file.
50190 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50191 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50192 DEFAULT_DIRECTORY.
50193
50194 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50195 --core-file. Specify INSTALL_DEVICE as an argument.
50196
50197 * util/console.c: Include config.h.
50198 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50199 [HAVE_NCURSES_H]: Include ncurses.h.
50200 [HAVE_CURSES_H]: Include curses.h.
50201 [!A_NORMAL] (A_NORMAL): Defined as zero.
50202 [!A_STANDOUT] (A_STANDOUT): Likewise.
50203
50204 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50205 -lncurses.
50206 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50207
50208 * configure.ac: Check for curses libraries and headers.
50209
50210 * Makefile.in (LIBCURSES): New variable.
50211
50212 * genmk.rb (Script::rule): Set the executable bits.
50213
50214 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50215 name of the PC partition map is "pc_partition_map" but not "pc".
50216
0e143073 502172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50218
50219 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50220 (modules): Likewise.
50221 (usage): Added descriptions for --modules and --grub-probefs.
50222 Handle --modules and --grub-probefs. Save the arguments in MODULES
50223 and GRUB_PROBEFS, respectively.
50224 Auto-detect a filesystem module against GRUBDIR. If the result is
50225 empty and modules are not specified explicitly, abort the
50226 installation. Add the result to MODULES.
50227
50228 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50229 disk/powerpc/ieee1275/ofdisk.c,
50230 include/grub/powerpc/ieee1275/init.h and
50231 term/powerpc/ieee1275/ofconsole.c.
50232 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50233 term/ieee1275/ofconsole.c.
50234
50235 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50236
50237 * COPYING: Upgraded to the latest version. Only the address of the
50238 FSF office has changed.
f19dbdb7 50239
efd6e6d5 502402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50241
50242 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50243 kern/ieee1275.c with kern/ieee1275/of.c.
50244
50245 * kern/ieee1275.c: Moved to ...
50246 * kern/ieee1275/of.c: ... here.
50247
8ceafda2 502482005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50249
50250 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50251 readability.
8ceafda2 50252
50253 * config.guess: Updated to the latest version from gnulib.
50254 * config.sub: Likewise.
50255 * install.sh: Likewise.
50256 * mkinstalldirs: Likewise.
50257
50258 * include/grub/console.h: Removed. This file is arch-specific. Do
50259 not put this in include/grub.
50260
50261 * include/grub/i386/pc/console.h: Resurrected.
50262
50263 * util/console.c: Include grub/machine/console.h instead of
50264 grub/console.h.
50265 * util/grub-emu.c: Likewise.
50266
267f6cd9 502672005-08-04 Marco Gerards <metgerards@student.han.nl>
50268
50269 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50270 hardcoded value.
f19dbdb7 50271
267f6cd9 50272 From Vincent Pelletier <subdino2004@yahoo.fr>
50273 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50274 Redefined to use grub_getwh.
50275 (grub_term): New member named getwh.
50276 (grub_getwh): New prototype.
50277 * kern/term.c (grub_getwh): New function.
50278 * term/i386/pc/console.c (grub_console_getwh): New function.
50279 (grub_console_term): New member `getwh'.
50280 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50281 (grub_vga_term): New member `getwh'.
0b5abe02 50282 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50283 grub_ssize_t.
50284 (grub_ofconsole_getw): New function.
50285 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50286 (grub_ofconsole_term): New field named getwh and new initial
50287 value.
50288
3be7266d 502892005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50290
50291 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50292 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50293 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50294 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50295 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50296 of <grub/machine/ieee1275.h>.
50297 * commands/ieee1275/reboot.c: Likewise.
50298 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50299 * kern/ieee1275.c: ... to here. All users updated. Change all
50300 parameter structs to use new type `grub_ieee1275_cell_t'.
50301 * term/powerpc/ieee1275/ofconsole.c: Move ...
50302 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50303 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50304 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50305 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50306 to return int.
50307 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50308 Remove unused prototypes. All users updated.
50309 * include/grub/powerpc/ieee1275/console.h: Removed.
50310 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50311 `grub_ieee1275_cell_t'.
50312 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50313 Cast comparisons with -1 to the correct type.
50314 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50315 type to match `grub_ieee1275_entry_fn'.
50316
8b5f3938 503172005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50318
50319 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50320
50321 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50322 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50323 partmap/sun.c.
50324 (grub_probefs_SOURCES): New variable.
50325
50326 * util/i386/pc/grub-probefs.c: New file.
50327
50328 * util/i386/pc/grub-setup.c (main): Call
50329 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50330 grub_hfs_init and grub_jfs_init to initialize the system. Call
50331 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50332 grub_pc_partition_map_fini to finish the system.
50333
ea409713 503342005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50335
50336 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50337 function.
50338 (grub_multiboot_load_elf32): Likewise.
50339 (grub_multiboot_is_elf64): Likewise.
50340 (grub_multiboot_load_elf64): Likewise.
50341 (grub_multiboot_load_elf): Likewise.
50342 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50343 an ELF32 or ELF64 file.
50344 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50345
50346 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50347 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50348 NULL before calling FS->LABEL.
50349 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50350 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50351 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50352 before calling FS->LABEL.
50353
141a288b 503542005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50355
50356 * util/i386/pc/grub-install.in (datadir): New variable.
50357 (libdir): Removed.
50358 (pkgdatadir): New variable.
50359 (pkglibdir): Removed.
50360
0d5f8a54 503612005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50362
50363 * DISTLIST: Added util/i386/pc/grub-install.in.
50364
50365 * util/i386/pc/grub-install.in: New file.
50366
50367 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50368 (grub_install_SOURCES): Likewise.
50369
50370 * genmk.rb: Added support for scripts.
50371 (Script): New class.
50372 (scripts): New variable.
50373
50374 * Makefile.in (install-local): Install sbin_SCRIPTS by
50375 INSTALL_SCRIPT.
50376 (uninstall): Remove sbin_SCRIPTS.
50377
50378 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50379 device, try to get a GRUB device by
50380 grub_util_biosdisk_get_grub_dev.
50381 Free DEST_DEV.
50382
50383 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50384 description for --device-map.
50385
5f968e1e 503862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50387
50388 Change the semantics of variable hooks. They now return strings
50389 instead of error values.
f19dbdb7 50390
5f968e1e 50391 * util/i386/pc/grub-setup.c: Include grub/env.h.
50392 (setup): Use grub_device_set_root instead of grub_env_set.
50393
50394 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50395 grub_env_get instead of grub_device_set_root and
50396 grub_device_get_root, respectively.
50397
50398 * kern/main.c (grub_env_write_root): New function.
50399 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50400 grub_env_set instead of grub_device_set_root.
50401
50402 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50403 many variables.
50404 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50405 rather than calling ENV->WRITE_HOOK afterwards.
50406 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50407 passing a pointer of a pointer.
50408 (grub_register_variable_hook): Change the types of "read_hook" and
50409 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50410 respectively.
50411 Allocate the default empty string on the heap, because this string
50412 may be freed later.
50413
50414 * kern/device.c: Include grub/env.h.
50415 (grub_device_set_root): Removed.
50416 (grub_device_get_root): Likewise.
50417 (grub_device_open): Use grub_env_get instead of
50418 grub_device_get_root.
50419
50420 * include/grub/env.h (grub_env_read_hook_t): New type.
50421 (grub_env_write_hook_t): Likewise.
50422 (grub_env_var): Change the types of "read_hook" and "write_hook"
50423 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50424 (grub_register_variable_hook): Likewise.
50425
50426 * include/grub/device.h (grub_device_set_root): Removed.
50427 (grub_device_set_root): Likewise.
50428
50429 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50430 make sure that DIRNAME terminates with '/', so that
50431 grub_fat_find_dir will fail if PATH is not a directory.
50432
50433 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50434 from DIRNAME.
50435 Use the qualifier auto for print_files and print_files_long.
50436 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50437 as a regular file.
50438 Put a newline only if there is no error.
50439 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50440 used.
50441
896f0afd 504422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50443
50444 * kern/partition.c (grub_partition_probe): Initialize PART to
50445 NULL. Otherwise, when no partition map is registered, this returns
50446 a garbage.
50447
b28b81b2 504482005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50449
50450 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50451 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50452 valid.
50453
5f3607e0 504542005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50455
50456 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50457 information on each device, if it does not have partitions. Print
50458 "Device" instead of "Disk", because this function is not specific
50459 to disk devices.
50460
50461 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50462 static to ensure that it is put on the memory rather than a
50463 register.
50464
502c87e8 504652005-07-17 Yoshinori Okuji <okuji@enbug.org>
50466
50467 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50468 (grub_cat_init): Likewise.
50469 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50470 (options): Likewise.
50471 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50472 (grub_configfile_init): Likewise.
50473 * font/manager.c (GRUB_MOD_INIT): Likewise.
50474 * commands/help.c (GRUB_MOD_INIT): Likewise.
50475 (grub_help_init): Likewise.
50476 * normal/command.c (grub_command_init): Likewise.
50477 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50478 * disk/loopback.c (grub_loop_init): Likewise.
50479 (GRUB_MOD_INIT): Likewise.
50480 * commands/ls.c (grub_ls_init): Likewise.
50481 (GRUB_MOD_INIT): Likewise.
50482 (options): Likewise.
50483 * commands/boot.c (grub_boot_init): Likewise.
50484 (GRUB_MOD_INIT): Likewise.
50485 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50486 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50487 (GRUB_MOD_INIT): Likewise.
50488 * commands/cmp.c (grub_cmp_init): Likewise.
50489 (GRUB_MOD_INIT): Likewise.
50490
50491 * normal/arg.c: Use <> instead of "" to include header files.
50492 (SHORT_ARG_HELP): New macro.
50493 (SHORT_ARG_USAGE): Likewise.
50494 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50495 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50496 descriptions.
50497 (find_short): Check if C is 'h' or 'u' explicitly.
50498 (grub_arg_show_help): Use space characters instead of tabs. Treat
50499 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50500 are shown with --help and --usage only if they are not used for
50501 the command itself.
50502 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50503 'h' and 'u'.
50504
50505 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50506 const into "longarg". Change the type of "shortarg" to int.
50507
f806d18e 505082005-07-17 Yoshinori Okuji <okuji@enbug.org>
50509
50510 * boot/i386/pc/boot.S (boot_drive_check): New label.
50511
50512 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50513 macro.
50514
50515 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50516 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50517
e293232b 505182005-07-17 Yoshinori Okuji <okuji@enbug.org>
50519
50520 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50521 When turning off Gate A20, skip the check and return immediately,
50522 because this is not fatal usually.
50523
ebedfd00 505242005-07-17 Yoshinori Okuji <okuji@enbug.org>
50525
50526 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50527 be 0x7C00 instead of 0x8000.
50528
50529 * boot/i386/pc/pxeboot.S: Rewritten.
50530
50531 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50532 EXT_C.
50533 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50534 result.
50535
654fc59f 505362005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50537
50538 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50539 robustness. This routine now supports a BIOS call and System
50540 Control Port A to modify the gate A20.
50541
50542 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50543 Increased to 0x440.
50544
09f9923f 505452005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50546
50547 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50548 device path and resulting ihandle.
50549 (grub_ofdisk_close): dprintf the ihandle being closed.
50550 (grub_ofdisk_read): dprintf function parameters.
50551 * kern/mm.c (grub_mm_init_region): Likewise.
50552 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50553 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50554 size, and boot arguments.
50555 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50556 before loading into memory.
50557 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50558 before loading into memory.
50559
7ef504d8 505602005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50561
50562 * kern/mm.c: Added much documentation.
50563 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50564 8, set to 5 instead of 8.
50565
e0f050c2 505662005-07-10 Yoshinori Okuji <okuji@enbug.org>
50567
50568 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50569
50570 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50571 (grub_mkdevicemap_SOURCES): New variable.
50572
50573 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50574 lib/device.c of GRUB Legacy.
50575
7224189a 505762005-07-10 Yoshinori Okuji <okuji@enbug.org>
50577
50578 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50579 instead of PATH is NULL.
50580
68c864eb 505812005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50582
50583 * commands/cmp.c (BUFFER_SIZE): New macro.
50584 (grub_cmd_cmp): Close the right file at the right time. Compare
50585 only data just read. Don't report files of different size as
50586 identical. Dynamically allocate buffers. Move variable
50587 declarations at the beginning of function.
50588
e6f3e614 505892005-07-09 Yoshinori Okuji <okuji@enbug.org>
50590
50591 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50592 reverse.
50593
f8f1559a 505942004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50595
50596 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50597 when backspace is pressed at beginning of line.
50598
39c9d41d 505992005-07-03 Yoshinori Okuji <okuji@enbug.org>
50600
50601 * DISTLIST: Added genfslist.sh.
50602
50603 * normal/main.c (fs_module_list): New variable.
50604 (autoload_fs_module): New function.
50605 (read_fs_list): Likewise.
50606 (grub_normal_execute): Call read_fs_list.
50607
50608 * kern/fs.c (grub_fs_autoload_hook): New variable.
50609 (grub_fs_probe): Added support for auto-loading.
50610
50611 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50612 (grub_fs_module_list_t): New type.
50613
50614 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50615 (grub_fs_autoload_hook): New prototype.
50616
50617 * genfslist.sh: New file.
f19dbdb7 50618
39c9d41d 50619 * genmk.rb: Added a rule to generate a filesystem list.
50620
121c1d83 506212005-06-30 Marco Gerards <metgerards@student.han.nl>
50622
50623 * configure.ac: Fix the test for cross-compiling.
50624
50625 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50626 define GRUB_UTIL anymore.
50627
50628 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50629 so this function works on other systems than just big endian.
50630 (load_modules): Likewise.
50631 (add_segments): Likewise.
50632
e75d76e1 506332005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50634
50635 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50636 contains `l' modifier, get a long from va_arg().
50637
50b5a0a7 506382005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50639
50640 * kern/mm.c (grub_free): If the next free block which is being
50641 merged is the first free block, set the first block to the block
50642 being freed.
50643 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50644
89371b20 506452005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50646
50647 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50648 `grub_ieee1275_chosen'.
50649
168d6e58 506502005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50651
50652 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50653 (grub_ieee1275_chosen): New variable.
50654 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50655 `chosen'.
50656 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50657 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50658 Rename first argument to `phandle' for consistency.
50659 (grub_ieee1275_get_property_length): Likewise.
50660 (grub_ieee1275_next_property): Likewise. Change type of first argument
50661 to grub_ieee1275_phandle_t.
50662 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50663 Move export next to declaration.
50664 (grub_ieee1275_chosen): New variable.
50665 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50666 Correct cosmetic typo.
50667 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50668 `grub_ieee1275_chosen'.
50669 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50670 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50671 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50672 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50673 `grub_ieee1275_chosen'.
50674
ca5baa3f 506752005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50676
50677 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50678 /chosen/bootargs.
50679 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50680 /chosen/bootargs as "variable=value" pairs.
50681
708b345f 506822005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50683
50684 * include/grub/misc.h (grub_dprintf): New macro.
50685 (grub_real_dprintf): New prototype.
50686 (grub_strword): Likewise.
50687 (grub_iswordseparator): Likewise.
50688 * kern/misc.c (grub_real_dprintf): New function.
50689 (grub_strword): Likewise.
50690 (grub_iswordseparator): Likewise.
50691
f4c5e67c 506922005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50693
50694 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50695 (roundup): Remove macro.
50696 (grub_ieee1275_flags): Make static.
50697 (grub_ieee1275_realmode): Remove.
50698 (grub_ieee1275_test_flag): New function.
50699 (grub_ieee1275_set_flag): Likewise.
50700 (find_options): Rename to `grub_ieee1275_find_options'; update
50701 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50702 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50703 (cmain): New prototype.
50704 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50705 `grub_ieee1275_flags' directly.
50706 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50707 machine/biosdisk.h.
50708 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50709 Don't include grub/machine/init.h.
50710 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50711 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50712 Remove prototype.
50713 (grub_ieee1275_realmode): Likewise.
50714 (grub_ieee1275_flag): New enum.
50715 (grub_ieee1275_test_flag): New prototype.
50716 (grub_ieee1275_set_flag): New prototype.
50717 * include/grub/powerpc/ieee1275/init.h: Remove file.
50718 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50719 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50720 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50721 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50722 comment.
50723 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50724 `grub_ieee1275_test_flag'.
50725 (grub_ieee1275_encode_devname): Likewise.
50726
ed16607e 507272005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50728
50729 * include/grub/powerpc/ieee1275/ieee1275.h
50730 (grub_ieee1275_encode_devname): New prototype.
50731 (grub_ieee1275_get_filename): Likewise.
50732 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50733 function.
50734 (grub_set_prefix): Likewise.
50735 (grub_machine_init): Call grub_set_prefix.
50736 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50737 (grub_parse_type): New enum.
50738 (grub_ieee1275_get_devargs): New function.
50739 (grub_ieee1275_get_devname): Likewise.
50740 (grub_ieee1275_parse_args): Likewise.
50741 (grub_ieee1275_get_filename): Likewise.
50742 (grub_ieee1275_encode_devname): Likewise.
50743
be369920 507442005-03-30 Marco Gerards <metgerards@student.han.nl>
50745
50746 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50747 `grub_loader_unset'.
50748
a5ce3a4a 507492005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50750
50751 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50752 instead of grub_ieee1275_interpret.
50753 (grub_halt_init): New function.
50754 (grub_halt_fini): Likewise.
50755 (GRUB_MOD_INIT): Correct message grammar.
50756 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50757 instead of grub_ieee1275_interpret.
50758 (grub_reboot_init): New function.
50759 (grub_reboot_fini): Likewise.
50760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50761 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50762 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50763 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50764 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50765 function.
50766 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50767 Add prototype.
50768 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50769 prototype.
50770 (grub_halt): Likewise.
50771 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50772 (cmain): Remove __attribute__((unused)).
50773 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50774 (grub_heap_len): Likewise.
50775 (grub_machine_fini): New function.
50776 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50777 (grub_halt): Likewise.
50778 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50779 function.
50780 * util/powerpc/ieee1275/misc.c: New file.
50781
0058f771 507822005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50783
50784 * DISTLIST: New file.
50785 * gendistlist.sh: Likewise.
f19dbdb7 50786
0058f771 50787 * Makefile.in (COMMON_DISTFILES): Removed.
50788 (BOOT_DISTFILES): Likewise.
50789 (CONF_DISTFILES): Likewise.
50790 (DISK_DISTFILES): Likewise.
50791 (FS_DISTFILES): Likewise.
50792 (INCLUDE_DISTFILES): Likewise.
50793 (KERN_DISTFILES): Likewise.
50794 (LOADER_DISTFILES): Likewise.
50795 (TERM_DISTFILES): Likewise.
50796 (UTIL_DISTFILES): Likewise.
50797 (DISTFILES): Likewise.
50798 (uninstall): Uninstall files in $(pkgdata_DATA).
50799 (DISTLIST): New target.
50800 (distdir): Use the contents of the file DISTLIST to get a list of
50801 distributed files.
50802
46b3b8a5 508032005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50804
50805 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50806 descriptor. This is ported from GRUB Legacy.
50807
50808 * gencmdlist.sh: Added an extra semicolon to make it work with
50809 old sed versions. Reported by Robert Bihlmeyer
50810 <robbe@orcus.priv.at>.
50811
5822ff87 508122005-03-08 Yoshinori Okuji <okuji@enbug.org>
50813
50814 Automatic loading of commands is supported.
f19dbdb7 50815
5822ff87 50816 * normal/main.c (read_command_list): New function.
50817 (grub_normal_execute): Call read_command_list.
50818
50819 * normal/command.c (grub_register_command): Return zero or CMD.
50820 Allocate CMD->NAME from the heap.
50821 Initialize CMD->MODULE_NAME to zero.
50822 Find the same name as well. If the same command is found and it is
50823 a dummy command, overwrite members. If it is not a dummy command,
50824 return zero.
50825 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50826 (grub_command_find): If a dummy command is found, load a module
50827 and retry to find a command only once.
50828
50829 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50830 make sure that each command is loaded.
50831
50832 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50833 macro.
50834 (struct grub_command): Remove const from the member `name'.
50835 Add a new member `module_name'.
50836 (grub_register_command): Return grub_command_t.
50837
50838 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50839 sure that each command is loaded.
50840
50841 * genmk.rb (PModule::rule): Specify a module name without the
50842 suffix ".mod" to gencmdlist.sh.
50843
7b1f4b57 508442005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50845
50846 * gencmdlist.sh: New file.
f19dbdb7 50847
7b1f4b57 50848 * genmk.rb (PModule::rule): Generate a rule for a command list.
50849 Clean command.lst.
50850 Generate command.lst from $(COMMANDFILES).
50851
50852 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50853 (DATA): Added $(pkgdata_DATA).
50854 (install-local): Install files in $(pkgdata_DATA).
50855
062aaf39 508562005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50857
50858 * term/i386/pc/vga.c (debug_command): Removed.
50859 (GRUB_MOD_INIT): Do not register the command "debug".
50860
50861 From Hollis Blanchard:
50862 * commands/configfile.c: New file.
50863 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50864 commands/configfile.c.
50865 (pkgdata_MODULES): Added configfile.mod.
50866 (configfile_mod_SOURCES): New variable.
50867 (configfile_mod_CFLAGS): Likewise.
50868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50869 commands/configfile.c.
50870 (pkgdata_MODULES): Added configfile.mod.
50871 (configfile_mod_SOURCES): New variable.
50872 (configfile_mod_CFLAGS): Likewise.
50873 * util/grub-emu.c (main): Call grub_configfile_init and
50874 grub_configfile_fini.
50875 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50876 prototype.
50877 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50878
cee01aa6 508792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50880
50881 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50882 address.
50883
50884 * commands/help.c (grub_cmd_help): Do not print newlines after
50885 the last command in print_command_help.
50886
93f3a1d8 508872005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50888
50889 * commands/default.h: New file.
50890 * commands/timeout.h: Likewise.
50891 * normal/context.c: Likewise.
f19dbdb7 50892
93f3a1d8 50893 * util/misc.c: Do not include sys/times.h.
50894 Include sys/time.h and grub/machine/time.h.
50895 (grub_get_rtc): Rewritten with gettimeofday.
50896
50897 * util/grub-emu.c (main): Call grub_default_init and
50898 grub_timeout_init before grub_normal_init, and call
50899 grub_timeout_fini and grub_default_fini after grub_main.
50900
50901 * util/console.c (grub_ncurses_checkkey): Return the read
50902 character or -1.
50903
50904 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50905 timeouts.
50906
50907 * normal/main.c (read_config_file): Push MENU. If this fails,
50908 print an error and wait for a user input.
50909 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50910 If a menu is empty or an error occurs, pop MENU.
50911 (grub_normal_execute): Pop and free MENU after grub_menu_run
50912 returns.
50913
50914 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50915
50916 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50917 include time.h.
50918 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50919 without GRUB_UTIL.
50920 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50921 time.h.
50922 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50923 without GRUB_UTIL.
50924
50925 * include/grub/normal.h (struct grub_menu_list): New struct.
50926 (grub_menu_list_t): New type.
50927 (struct grub_context): New struct.
50928 (grub_context_t): New type.
50929 (grub_register_command): Got rid of EXPORT_FUNC.
50930 (grub_unregister_command): Likewise.
50931 (grub_context_get): New prototype.
50932 (grub_context_get_current_menu): Likewise.
50933 (grub_context_push_menu): Likewise.
50934 (grub_context_pop_menu): Likewise.
50935 [GRUB_UTIL] (grub_default_init): Likewise.
50936 [GRUB_UTIL] (grub_default_fini): Likewise.
50937 [GRUB_UTIL] (grub_timeout_init): Likewise.
50938 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50939
50940 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50941 commands/timeout.c and normal/context.c.
50942 (pkgdata_MODULES): Added default.mod and timeout.mod.
50943 (normal_mod_SOURCES): Added normal/context.c.
50944 (default_mod_SOURCES): New variable.
50945 (default_mod_CFLAGS): Likewise.
50946 (timeout_mod_SOURCES): Likewise.
50947 (timeout_mod_CFLAGS): Likewise.
50948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50949 conf/i386-pc.rmk.
50950 (pkgdata_MODULES): Added default.mod and timeout.mod.
50951 (normal_mod_SOURCES): Added normal/context.c.
50952 (default_mod_SOURCES): New variable.
50953 (default_mod_CFLAGS): Likewise.
50954 (timeout_mod_SOURCES): Likewise.
50955 (timeout_mod_CFLAGS): Likewise.
50956
50957 * Makefile.in (all-local): Added $(MKFILES).
50958
4ed2e1dd 509592005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50960
50961 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50962 (grub_emu_SOURCES): Likewise.
50963 (pkgdata_MODULES): Add `sun.mod'.
50964 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50966 `partmap/sun.c'.
50967 (pkgdata_MODULES): Add `sun.mod'.
50968 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50969 * include/grub/partition.h (grub_sun_partition_map_init): New
50970 prototype.
50971 (grub_sun_partition_map_fini): Likewise.
50972 * partmap/sun.c: New file.
50973 * util/grub-emu.c (main): Initialize and de-initialize the sun
50974 partitionmap support.
50975
4d4e372e 509762005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50977
50978 This implements an Emacs-like menu entry editor.
f19dbdb7 50979
4d4e372e 50980 * normal/menu_entry.c: New file.
f19dbdb7 50981
4d4e372e 50982 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50983 characters to ASCII.
50984 (saved_char): New variable.
50985 (grub_ncurses_checkkey): Rewritten completely.
50986 (grub_ncurses_getkey): Likewise.
50987 (grub_ncurses_init): Call raw instead of cbreak.
50988
50989 * normal/menu.c (print_entry): Do not put a space.
50990 (init_page): Renamed to ...
50991 (grub_menu_init_page): ... this. All callers changed.
50992 (edit_menu_entry): Removed.
50993 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50994
50995 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50996
50997 * kern/misc.c (grub_vprintf): Call grub_refresh.
50998
50999 * normal/menu.c (DISP_LEFT): Renamed to ...
51000 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51001 * normal/menu.c (DISP_UP): Renamed to ...
51002 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51003 * normal/menu.c (DISP_RIGHT): Renamed to ...
51004 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51005 * normal/menu.c (DISP_DOWN): Renamed to ...
51006 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51007 * normal/menu.c (DISP_HLINE): Renamed to ...
51008 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51009 * normal/menu.c (DISP_VLINE): Renamed to ...
51010 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51011 * normal/menu.c (DISP_UL): Renamed to ...
51012 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51013 * normal/menu.c (DISP_UR): Renamed to ...
51014 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51015 * normal/menu.c (DISP_LL): Renamed to ...
51016 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51017 * normal/menu.c (DISP_LR): Renamed to ...
51018 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51019 * normal/menu.c (TERM_WIDTH): Renamed to ...
51020 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51021 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51022 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51023 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51024 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51025 * normal/menu.c (TERM_MARGIN): Renamed to ...
51026 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51027 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51028 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51029 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51030 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51031 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51032 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51033 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51034 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51035 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51036 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51037 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51038 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51039 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51040 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51041 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51042 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51043 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51044 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51045 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51046 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51047 All callers changed.
51048
51049 * include/grub/normal.h: New prototype.
51050
51051 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51052 normal/menu_entry.c.
51053 (normal_mod_SOURCES): Likewise.
51054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51055 (normal_mod_SOURCES): Likewise.
51056
e6b92c8a 510572005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51058
51059 * include/grub/normal.h (grub_halt_init): New prototype.
51060 (grub_halt_fini): Likewise.
51061 (grub_reboot_init): Likewise.
51062 (grub_reboot_fini): Likewise.
51063
51064 * util/grub-emu.c: Include signal.h.
51065 (main_env): New global variable.
51066 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51067 catch C-c.
51068 (grub_machine_fini): New function.
51069 (main): Call grub_halt_init and grub_reboot_init before
51070 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51071 Call setjmp with MAIN_ENV to go back afterwards.
51072 Call grub_machine_fini right before return.
51073
51074 * include/grub/util/misc.h: Include setjmp.h.
51075 (main_env): New prototype.
51076
51077 * include/grub/kernel.h (grub_machine_fini): New prototype.
51078 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51079 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51080
51081 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51082 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51083 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51084
e6b92c8a 51085 * util/i386/pc/misc.c: New file.
f19dbdb7 51086
e6b92c8a 51087 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51088 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51089 commands/i386/pc/reboot.c.
51090
c642636f 510912005-02-14 Guillem Jover <guillem@hadrons.org>
51092
51093 * include/grub/dl.h (grub_dl_check_header): New prototype.
51094 (grub_arch_dl_check_header): Change return type to grub_err_t,
51095 remove size parameter and export function. Update all callers.
51096 * kern/dl.c (grub_dl_check_header): New function.
51097 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51098 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51099 are inside the core.
51100 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51101 independent ELF header checks.
51102 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51103 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51104 `grub_dl_check_header' instead of explicit checks. Check for the
51105 ELF type.
51106 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51107 `grub_dl_check_header' instead of explicit checks. Remove arch
51108 specific ELF header checks.
51109
e6b92c8a 51110 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51111 argument SIZE.
51112
5eabe94b 511132005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51114
51115 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51116 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51117
1b14a681 511182005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51119
51120 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51121 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51122 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51123 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51124 * partmap/amiga.c (amiga_partition_map_iterate): Return
51125 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51126 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51127
aca108aa 511282005-02-01 Guillem Jover <guillem@hadrons.org>
51129
51130 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51131 help info.
51132
c9f9c556 511332005-01-31 Marco Gerards <metgerards@student.han.nl>
51134
51135 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51136 Removed prototype.
51137 (grub_rescue_cmd_linux): New prototype.
51138 (grub_rescue_cmd_initrd): Likewise.
51139 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51140 `bi_rec'.
51141 (grub_linux_release_mem): Release the memory for the initrd.
51142 (grub_load_linux): Renamed from this...
51143 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51144 Changed `entry' not to be static. Loop over memory regions to
51145 find another one when the default fails.
51146 (grub_rescue_cmd_initrd): New function.
51147 (grub_linux_init): Remove function.
51148 (grub_linux_fini): Likewise.
51149 (GRUB_MOD_INIT): Register `initrd'.
51150 (GRUB_MOD_FINI): Unregister `initrd'.
51151 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51152 Function removed.
51153 (grub_linux_normal_fini): Likewise.
51154 (GRUB_MOD_INIT): Register `initrd'.
51155 (GRUB_MOD_FINI): Unregister `initrd'.
51156
990cf3aa 511572005-01-31 Marco Gerards <metgerards@student.han.nl>
51158
51159 * commands/help.c: New file.
51160 * normal/arg.c (show_help): Renamed to...
51161 (grub_arg_show_help): ... this.
51162 * commands/i386/pc/halt.c: New file.
51163 * commands/i386/pc/reboot.c: Likewise.
51164 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51165 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51166 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51167 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51168 variables.
51169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51170 `commands/help.c'.
51171 (pkgdata_MODULES): Add `help.mod'.
51172 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51173 * grub/i386/pc/init.h (grub_reboot): New prototype.
51174 (grub_halt): Likewise.
51175 * include/grub/normal.h (grub_arg_show_help): New prototype.
51176 (grub_help_init): Likewise.
51177 (grub_help_fini): Likewise.
51178 * util/grub-emu.c (main): Initialize and deinitialize the help
51179 command.
51180
51181 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51182
51183 * normal/command.c (grub_command_init): Fixed the description of
51184 the `set' and `unset' commands.
51185
511862005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51187
51188 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51189 function.
51190 * commands/ieee1275/halt.c: New file.
51191 * commands/ieee1275/reboot.c: Likewise.
51192 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51193 `__attribute__ ((unused))'. Some GCS related fixed.
51194 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51195 (grub_suspend_fini): Likewise.
51196 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51197 and `halt.mod'.
51198 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51199 (halt_mod_CFLAGS): New variables.
51200 * include/grub/powerpc/ieee1275/ieee1275.h
51201 (grub_ieee1275_interpret): New prototype.
51202
1ab09cc7 512032005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51204
51205 * include/grub/misc.h (memmove): New prototype.
51206 (memcpy): Likewise.
51207
8b8cbdb2 512082005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51209
51210 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51211 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51212
e3741a27 512132005-01-22 Marco Gerards <metgerards@student.han.nl>
51214
51215 * kern/misc.c (grub_strndup): Function rewritten.
51216
776bd780 512172005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51218
51219 * normal/menu.c (TERM_WIDTH): Macro redefined.
51220 (TERM_TOP_BORDER_Y): Likewise.
51221 (draw_border): Replaced while-loop by a for-loop. Make the number
51222 of lines consistent with the number of lines displayed in
51223 print_entries. Added a margin below the rectangle.
51224 (print_entry): Make the entry fit in the rectangle.
51225 (print_entries): Display the scroll arrows next to the right
51226 border.
51227
78026bce 512282005-01-21 Marco Gerards <metgerards@student.han.nl>
51229
51230 * fs/minix.c (grub_minix_find_file): Reserve more space for
51231 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51232 `grub_strncpy' to copy `path' into it.
51233
67bbaf0f 512342005-01-21 Marco Gerards <metgerards@student.han.nl>
51235
51236 Add the loopback device, a device via which files can be accessed
51237 as devices.
f19dbdb7 51238
67bbaf0f 51239 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51240 (pkgdata_MODULES): Add loopback.mod.
51241 (loopback_mod_SOURCES): New variable.
51242 (loopback_mod_CFLAGS): Likewise.
51243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51244 `disk/loopback.c'.
51245 (pkgdata_MODULES): Add loopback.mod.
51246 (loopback_mod_SOURCES): New variable.
51247 (loopback_mod_CFLAGS): Likewise.
51248 * disk/loopback.c: new file.
51249 * include/grub/normal.h (grub_loop_init): New prototype.
51250 (grub_loop_fini): New prototype.
51251 * util/grub-emu.c (main): Initialize and de-initialize loopback
51252 support.
51253 * include/grub/disk.h (grub_disk_dev_id): Add
51254 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51255
6f1c18bd 512562005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51257
51258 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51259 function.
51260 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51261 (suspend_mod_SOURCES): New variable.
51262 (suspend_mod_CFLAGS): Likewise.
51263 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51264 New prototype.
51265 * commands/ieee1275/suspend.c: New file.
51266
b38551da 512672005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51268
51269 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51270 ((unused))' to `__attribute__ ((used))'.
b38551da 51271 (GRUB_MOD_FINI): Likewise.
51272 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51273 * genmk.rb (PModule): Assign space to common symbols when linking
51274 modules.
51275
777aff39 512762005-01-20 Marco Gerards <metgerards@student.han.nl>
51277
51278 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51279 `unsigned' arguments to `grub_size_t'.
51280 (grub_malloc): Likewise.
51281 (grub_realloc): Likewise.
51282 (grub_memalign): Likewise.
51283 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51284 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51285 * util/misc.c (grub_malloc): Likewise.
51286 (grub_realloc): Likewise.
51287 * kern/mm.c (get_header_from_pointer): Change the casts to
51288 `unsigned' into a cast to `grub_size_t'.
51289
51290 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51291 point to `currnode' when `currnode' is changed.
51292
51293 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51294 Schottelius <nico-linux@schottelius.org>.
51295
d0ff18e1 512962005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51297
51298 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51299 (note_path): Remove variable.
51300 (GRUB_IEEE1275_NOTE_NAME): New macro.
51301 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51302 (grub_ieee1275_note_hdr): New structure.
51303 (grub_ieee1275_note_desc): Likewise.
51304 (grub_ieee1275_note): Likewise.
51305 (load_note): Remove `dir' argument. All callers updated. Remove
51306 `note_img' and `path'. Do not load a file from `note_path'.
51307 Initialize a struct grub_ieee1275_note and write that to `out'.
51308 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51309
4ca7004c 513102005-01-05 Marco Gerards <metgerards@student.han.nl>
51311
51312 * util/misc.c (grub_util_read_image): Revert last change. It
51313 called `grub_util_read_at', which seeks from the beginning of the
51314 file.
51315
0b412211 513162005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51317
51318 * TODO: Add note about endianness in grub-mkimage.
51319 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51320 section.
51321 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51322 (grub_mkimage_SOURCES): New target.
51323 * include/grub/kernel.h (grub_start_addr): Remove variable.
51324 (grub_end_addr): Likewise.
51325 (grub_total_module_size): Likewise.
51326 (grub_kernel_image_size): Likewise.
51327 (GRUB_MODULE_MAGIC): New constant.
51328 (grub_module_info): New structure.
51329 (grub_arch_modules_addr): New prototype.
51330 (grub_get_end_addr): Remove prototype.
51331 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51332 * include/grub/powerpc/ieee1275/kernel.h: New file.
51333 * include/grub/util/misc.h (grub_util_get_fp_size): New
51334 prototype.
51335 (grub_util_read_at): Likewise.
51336 (grub_util_write_image_at): Likewise.
51337 * kern/main.c (grub_get_end_addr): Remove function.
51338 (grub_load_modules): Call grub_arch_modules_addr instead of using
51339 grub_end_addr. Look for a grub_module_info struct in memory. Use
51340 the grub_module_info fields instead of calling grub_get_end_addr
51341 as loop conditions. Move grub_add_unused_region code here.
51342 (grub_add_unused_region): Remove function.
51343 * kern/i386/pc/init.c: Include grub/cache.h.
51344 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51345 one call to add_mem_region.
51346 (grub_arch_modules_addr): New function.
51347 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51348 (grub_total_module_size): Likewise.
51349 Include grub/machine/kernel.h.
51350 (grub_arch_modules_addr): New function.
51351 * util/grub-emu.c (grub_end_addr): Remove variable.
51352 (grub_total_module_size): Likewise.
51353 (grub_arch_modules_addr): New function.
51354 * util/misc.c: Include unistd.h.
51355 (grub_util_get_fp_size): New function.
51356 (grub_util_read_at): Likewise.
51357 (grub_util_write_image_at): Likewise.
51358 (grub_util_read_image): Call grub_util_read_at.
51359 (grub_util_write_image): Call grub_util_write_image_at.
51360 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51361 additional memory in kernel_img for a struct grub_module_info.
51362 Fill in that grub_module_info.
51363 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51364
458786f8 513652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51366
51367 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51368 New function.
51369 * include/grub/powerpc/ieee1275/ieee1275.h
51370 (grub_ieee1275_milliseconds): New prototype.
51371 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51372 Change to 1000.
51373 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51374 grub_ieee1275_milliseconds.
51375
ac507d1b 513762005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51377
51378 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51379 variable.
51380 (find_options): New function.
51381 (cmain): Call find_options.
51382 * include/grub/powerpc/ieee1275/ieee1275.h
51383 (grub_ieee1275_realmode): New extern variable.
51384 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51385 grub_map if grub_ieee1275_realmode is false.
51386
6b8fd1c4 513872004-12-29 Marco Gerards <metgerards@student.han.nl>
51388
51389 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51390 lines are inserted and make it work like readline. Reported by
51391 Vincent Pelletier <subdino2004@yahoo.fr>.
51392
8514a1e0 513932004-12-28 Marco Gerards <metgerards@student.han.nl>
51394
51395 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51396
51397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51398 `kern/powerpc/cache.S'.
51399
924b6140 514002004-12-27 Marco Gerards <metgerards@student.han.nl>
51401
51402 * genmk.rb: Handle the `Program' class in the main loop. Written
51403 by Johan Rydberg <jrydberg@gnu.org>.
51404 (Program): New class.
51405 (programs): New variable.
51406 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51407 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51408 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51409 (help_arch): Function removed.
51410 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51411 `powerpc/libgcc.h' and `loader.h'.
51412 (pkgdata_PROGRAMS): New variable.
51413 (sbin_UTILITIES): Variable removed.
51414 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51415 (grubof_SOURCES): Variable re-defined so it only includes the
51416 core functionality.
51417 (grubof_CFLAGS): Remove `-DGRUBOF'.
51418 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51419 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51420 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51421 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51422 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51423 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51424 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51425 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51426 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51427 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51428 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51429 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51430 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51431 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51432 (pc_mod_CFLAGS): New variables.
51433 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51434 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51435 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51436 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51437 Moved from here...
51438 * include/grub/i386/pc/init.h (grub_os_area_addr)
51439 (rub_os_area_size): ... to here.
51440 * include/grub/powerpc/ieee1275/ieee1275.h
51441 (grub_ieee1275_entry_fn): Export symbol.
51442 * include/grub/powerpc/ieee1275/init.h: New file.
51443 * include/grub/powerpc/libgcc.h: Likewise.
51444 * include/grub/cache.h: Likewise.
51445 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51446 <hollis@penguinppc.org>.
51447 * kern/dl.c: Include <grub/cache.h>.
51448 (grub_dl_flush_cache): New function.
51449 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51450 for this module.
51451 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51452 (grub_console_init): Removed prototypes.
51453 (grub_machine_init): Don't initialize the modules anymore.
51454 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51455 static.
51456 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51457 Macro undef removed.
51458 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51459 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51460 relocation `R_PPC_REL32'. Return an error when the relocation is
51461 unknown.
51462 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51463 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51464 * util/misc.c (grub_arch_sync_caches): Likewise.
51465
e4b47e0c 514662004-12-19 Marco Gerards <metgerards@student.han.nl>
51467
51468 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51469 `symlist.c', add `grubof_symlist.c'.
51470 (symlist.c): Variable removed.
51471 (grubof_HEADERS): Variable added.
51472 (grubof_symlist.c): New target.
51473 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51474 `kernel_img_HEADERS'.
51475 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51476 * kern/powerpc/dl.c: New file.
51477 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51478 Function removed.
51479 (grub_arch_dl_relocate_symbols): Likewise.
51480 (grub_register_exported_symbols): Likewise.
51481
4ceb3636 514822004-12-13 Marco Gerards <metgerards@student.han.nl>
51483
51484 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51485 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51486 to fail instead. Reported by Vincent Pelletier
51487 <subdino2004@yahoo.fr>.
51488
51489 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51490 it is not allocated. Reported by Vincent Pelletier
51491 <subdino2004@yahoo.fr>.
51492
51493 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51494 output so the output looks better.
f19dbdb7 51495
3f1578fe 514962004-12-04 Marco Gerards <metgerards@student.han.nl>
51497
51498 Modulize the partition map support and add support for the amiga
51499 partition map.
f19dbdb7 51500
3f1578fe 51501 * commands/ls.c: Include <grub/partition.h> instead of
51502 <grub/machine/partition.h>.
51503 * kern/disk.c: Likewise.
51504 * kern/rescue.c: Likewise.
51505 * loader/i386/pc/chainloader.c: Likewise.
51506 * normal/cmdline.c: Likewise.
51507 * kern/powerpc/ieee1275/init.c: Likewise.
51508 (grub_machine_init): Call `grub_pc_partition_map_init',
51509 `grub_amiga_partition_map_init' and
51510 `grub_apple_partition_map_init'.
51511 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51512 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51513 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51514 `partition.h' and `pc_partition.h'.
51515 (grub_setup_SOURCES): Remove
51516 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51517 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51518 (grub_emu_SOURCES): Likewise.
51519 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51520 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51521 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51523 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51524 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51525 (grubof_SOURCES): Likewise.
51526 * disk/i386/pc/partition.c: File removed.
51527 * disk/powerpc/ieee1275/partition.c: Likewise.
51528 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51529 * include/grub/i386/pc/partition.h: Likewise.
51530 * kern/partition.c: New file.
51531 * partmap/amiga.c: Likewise.
51532 * partmap/apple.c: Likewise.
51533 * partmap/pc.c: Likewise.
51534 * include/grub/partition.h: Likewise..
51535 * include/grub/pc_partition.h: Likewise.
51536 * util/grub-emu.c: Include <grub/partition.h> instead of
51537 <grub/machine/partition.h>.
51538 (main): Call `grub_pc_partition_map_init',
51539 `grub_amiga_partition_map_init' and
51540 `grub_apple_partition_map_init' and deinitialize afterwards.
51541 * util/i386/pc/biosdisk.c: Include `#include
51542 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51543 `<grub/machine/partition.h>'.
51544 * util/i386/pc/grub-setup.c: Likewise.
51545 * util/i386/pc/biosdisk.c: Likewise.
51546 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51547 partition information in case of a PC partition.
51548 * util/i386/pc/grub-setup.c: Include `#include
51549 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51550 `<grub/machine/partition.h>'.
51551 (setup): Only access the PC specific partition information in case
51552 of a PC partition.
51553
0ef4ced9 515542004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51555
0ef4ced9 51556 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51557 (grub_longjmp): Likewise.
51558 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51559 20.
51560 * normal/powerpc/setjmp.S: New file.
51561 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51562 `normal/powerpc/setjmp.S'.
51563 (grubof_CFLAGS): Add `-DGRUBOF'.
51564 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51565 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51566
19950e29 515672004-11-16 Marco Gerards <metgerards@student.han.nl>
51568
51569 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51570 property named `name'. Correctly handle the error returned by
51571 `grub_ieee1275_finddevice' if a device can not be opened.
51572
a2fea427 515732004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51574
51575 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51576 `actual' for negativity.
51577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51578 kern/fshelp.c.
51579
41ea0ea3 515802004-11-01 Marco Gerards <metgerards@student.han.nl>
51581
51582 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51583 (PAGE_OFFSET): New macro.
51584 (CRTC_ADDR_PORT): Likewise.
51585 (CRTC_DATA_PORT): Likewise.
51586 (START_ADDR_HIGH_REGISTER): Likewise.
51587 (START_ADDR_LOW_REGISTER): Likewise.
51588 (GRAPHICS_ADDR_PORT): Likewise.
51589 (GRAPHICS_DATA_PORT): Likewise.
51590 (READ_MAP_REGISTER): Likewise.
51591 (INPUT_STATUS1_REGISTER): Likewise.
51592 (INPUT_STATUS1_VERTR_BIT): Likewise.
51593 (page): New variable.
51594 (wait_vretrace): New function.
51595 (set_read_map): Likewise.
51596 (set_start_address): Likewise.
51597 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51598 the right page.
51599 (check_vga_mem): Take the page into account.
51600 (write_char): Likewise.
51601 (write_cursor): Likewise.
51602 (scroll_up): Likewise. Copy the page to the page that is not
51603 shown and switch between both pages.
51604 (grub_vga_putchar): Fix off by one error.
51605 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51606 account.
51607
ad0bd20b 516082004-11-01 Marco Gerards <metgerards@student.han.nl>
51609
51610 Add support for iso9660 (including rockridge).
f19dbdb7 51611
ad0bd20b 51612 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51613 (iso9660_mod_SOURCES): New variable.
51614 (iso9660_mod_CFLAGS): Likewise.
51615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51616 * include/grub/fs.h (grub_iso9660_init): New prototype.
51617 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51618 * fs/iso9660.c: New file.
51619
51620 * include/grub/misc.h (grub_strncat): New prototype.
51621 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51622
ad0bd20b 51623 * fs/hfs.c (grub_hfs_mount): Translate the error
51624 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51625 * fs/jfs.c (grub_jfs_mount): Likewise.
51626 * fs/ufs.c (grub_ufs_mount): Likewise.
51627
a5477a59 516282004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51629
51630 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51631 which initialized BAT registers.
51632 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51633 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51634 Move from here...
51635 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51636 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51637 ... to here.
51638 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51639 (grub_mapclaim): Likewise.
51640 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51641 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51642 hand.
51643
9304c1f8 516442004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51645
51646 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51647 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51648 -ffreestanding and -msoft-float.
51649
86f4ae25 516502004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51651
51652 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51653 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51654 set in grub_ieee1275_flags.
51655
38912228 516562004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51657
51658 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51659 prototype.
51660 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51661 grub_console_init first.
51662 Change the memory range used for grub_ieee1275_claim and
51663 grub_mm_init_region.
51664 Print an error message if the claim fails.
51665 Include <grub/misc.h>.
51666
d1923dc8 516672004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51668
51669 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51670 Call grub_children_iterate for device nodes of type `scsi',
51671 `ide', or `ata'.
51672 (grub_ofdisk_open): Remove manual device alias resolution.
51673 Fix memory leak when device cannot be opened.
f19dbdb7 51674 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51675 (grub_children_iterate): New prototype.
51676 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51677 New function.
51678 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51679 Return -1 if args.size was -1.
51680
4512e4f3 516812004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51682
51683 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51684 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51685 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51686 Open Firmware's memory for it; claim memory from _start to _end.
51687 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51688 (_end): New extern.
51689 (_start): Zero BSS from __bss_start to _end.
51690 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51691 New extern.
51692 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51693
4d61feb0 516942004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51695
ad0bd20b 51696 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51697 -1 if args.base was -1.
4d61feb0 51698
026fa2f9 516992004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51700
51701 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51702 escape sequence instead of a literal ^L. Also call
51703 grub_ofconsole_gotoxy.
51704
9f2220ef 517052004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51706
51707 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51708 void * arguments to grub_addr_t. All callers updated. Also make
51709 the `result' argument optional.
51710 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51711 All callers updated.
51712
8a572cd7 517132004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51714
51715 * commands/ls.c (grub_ls_list_files): Use the string following the
51716 initial ')', if present, as the filesystem path.
51717 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51718
51719 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51720
18aa81f2 517212004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51722
51723 Make the source code of the menu interface more readable.
f19dbdb7 51724
18aa81f2 51725 * normal/menu.c: Include grub/mm.h.
51726 (TERM_WIDTH): New macro.
51727 (TERM_HEIGHT): Likewise.
51728 (TERM_INFO_HEIGHT): Likewise.
51729 (TERM_MARGIN): Likewise.
51730 (TERM_SCROLL_WIDTH): Likewise.
51731 (TERM_TOP_BORDER_Y): Likewise.
51732 (TERM_LEFT_BORDER_X): Likewise.
51733 (TERM_BORDER_WIDTH): Likewise.
51734 (TERM_MESSAGE_HEIGHT): Likewise.
51735 (TERM_BORDER_HEIGHT): Likewise.
51736 (TERM_NUM_ENTRIES): Likewise.
51737 (TERM_FIRST_ENTRY_Y): Likewise.
51738 (TERM_ENTRY_WIDTH): Likewise.
51739 (TERM_CURSOR_X): Likewise.
51740 (draw_border): Use macros instead of magic numbers.
51741 (print_entry): Likewise.
51742 (print_entries): Likewise.
51743 (run_menu): Likewise. Also, handle the key 'e'.
51744 (run_menu_entry): Ignore empty command lines.
51745 (print_message): Added a new argument EDIT. If EDIT is true,
51746 print a different message.
51747 (init_page): Likewise.
51748 (edit_menu_entry): New function. Not implemented yet.
51749
b47efe30 517502004-09-17 Marco Gerards <metgerards@student.han.nl>
51751
51752 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51753 can be loaded from normal mode.
f19dbdb7 51754
b47efe30 51755 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51756 `multiboot.mod'.
51757 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51758 (multiboot_mod_CFLAGS): New variables.
51759 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51760 * loader/i386/pc/multiboot_normal.c: Likewise.
51761
b47efe30 51762 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51763 attribute `unused'.
f19dbdb7 51764
b47efe30 51765 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51766 `fdiro' to read the mode information from instead of `diro'.
51767
51768 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51769 looking up a symlink.
51770
51771 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51772 macro.
51773 * normal/command.c (grub_command_execute): Don't parse the
51774 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51775 flags of the command.
51776
51777 * normal/menu.c (grub_menu_run): Fix typo.
51778
da75ac71 517792004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51780
51781 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51782
51783 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51784 `y + 1' instead of `y - 1'.
51785
51786 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51787
062b24c2 517882004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51789
51790 From Hollis Blanchard <hollis@penguinppc.org>:
51791 * kern/misc.c (memmove): New alias for grub_memmove.
51792 (memcmp): New alias for grub_memcmp.
51793 (memset): New alias for grub_memset.
f19dbdb7 51794 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51795 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51796 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51797 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51798
8ddad845 517992004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51800
51801 Added normal mode command `chainloader' as module chain.mod, which
51802 depends on normal.mod and _chain.mod.
f19dbdb7 51803
8ddad845 51804 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51805 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51806 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51807 Deleted prototype.
51808 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51809 but arguments parsing moved to ...
51810 (grub_chainloader_cmd): ... here. New function.
51811 * include/grub/i386/pc/chainloader.h: New file.
51812 * loader/i386/pc/chainloader_normal.c: Likewise.
51813
2c1f4ce3 518142004-09-11 Marco Gerards <metgerards@student.han.nl>
51815
51816 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51817 (grub_mkimage_LDFLAGS): Likewise.
51818 (grub_emu_SOURCES): Likewise.
51819 (kernel_img_HEADERS): Added fshelp.h.
51820 * fs/ext2.c: Include <grub/fshelp.h>.
51821 (FILETYPE_REG): New macro.
51822 (FILETYPE_INO_REG): Likewise.
51823 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51824 Changed all users.
51825 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51826 all users.
51827 (grub_fshelp_node): New struct.
51828 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51829 to a pointer.
51830 (grub_ext2_get_file_block): Removed function.
51831 (grub_ext2_read_block): New function.
51832 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51833 This function was written.
51834 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51835 (grub_ext2_find_file): Removed function.
51836 (grub_ext2_read_symlink): New function.
51837 (grub_ext2_iterate_dir): Likewise.
51838 (grub_ext2_open): Rewritten.
51839 (grub_ext2_dir): Rewritten.
51840 * include/grub/fshelp.h: New file.
51841 * fs/fshelp.c: Likewise.
51842
3c52136a 518432004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51844
51845 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51846 (print_message): Add a missing newline.
51847 (run_menu): Added timeout support.
51848 (run_menu_entry): New local function.
51849 (grub_menu_run): Added support for booting.
51850
51851 * kern/loader.c (grub_loader_is_loaded): New function.
51852
51853 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51854 (grub_get_rtc): Exported.
51855
51856 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51857 (grub_get_rtc): Exported.
51858
51859 * include/grub/normal.h (struct grub_command_list): Remove
51860 constant from the member `command'.
51861
51862 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51863
51864 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51865
51866 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51867
aa033560 518682004-08-28 Marco Gerards <metgerards@student.han.nl>
51869
51870 Add support for the JFS filesystem.
51871
51872 * fs/jfs.c: New file.
51873 * include/grub/fs.h (grub_jfs_init): New prototype.
51874 (grub_jfs_fini): New prototype.
51875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51876 (grub_emu_SOURCES): Likewise.
51877 (pkgdata_MODULES): Add jfs.mod.
51878 (jfs_mod_SOURCES): New variable.
51879 (jfs_mod_CFLAGS): Likewise.
51880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51881 (grubof_SOURCES): Likewise.
51882 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51883
51884 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51885 endian to the host endian.
51886 (grub_fat_utf16_to_utf8): Move function from there...
51887 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51888 the endianness of the source string anymore.
aa033560 51889 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51890
94bc45af 518912004-08-24 Marco Gerards <metgerards@student.han.nl>
51892
51893 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51894 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51895 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51896 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51897
94bc45af 51898 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51899 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51900 for `node_found' and `it_dir'.
51901 (grub_hfs_dir): Add prototype for `dir_hook'.
51902
51903 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51904 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51905 and `indir32' to silence a gcc warning.
51906
51907 * include/grub/fs.h (grub_hfs_init): New prototype.
51908 (grub_hfs_fini): Likewise.
f19dbdb7 51909
51910
97543f08 519112004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51912
51913 Each disk device has its own id now. This is useful to make use
51914 of multiple disk devices.
f19dbdb7 51915
97543f08 51916 * include/grub/disk.h (grub_disk_dev_id): New enum.
51917 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51918 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51919
51920 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51921 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51922
51923 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51924 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51925
51926 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51927 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51928
51929 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51930 "id" which is used by the cache manager.
51931
51932 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51933 of just "GRUB".
51934
64372eb4 519352004-08-18 Marco Gerards <metgerards@student.han.nl>
51936
51937 * fs/hfs.c: New file.
51938 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51939 (grub_emu_SOURCES): Likewise.
51940 (pkgdata_MODULES): Add hfs.mod.
51941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51942 (grubof_SOURCES): Likewise.
51943 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51944
51945 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51946 * kern/misc.c (grub_strncasecmp): Add function.
51947
cc61b58f 519482004-08-14 Marco Gerards <metgerards@student.han.nl>
51949
51950 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51951 with parentheses.
51952
51953 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51954 (grub_ext2_dir): In case the directory entry type is unknown, read
51955 it from the inode.
51956
0ef123f6 519572004-08-02 Peter Bruin <pjbruin@dds.nl>
51958
51959 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51960 grub_load_linux instead of grub_rescue_cmd_linux as second
51961 argument of grub_rescue_register_command.
51962
51963 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51964
a447c5df 519652004-07-27 Marco Gerards <metgerards@student.han.nl>
51966
51967 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51968 function.
51969 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51970 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51971 `loader/powerpc/ieee1275/linux.c',
51972 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51973 * include/grub/powerpc/ieee1275/ieee1275.h
51974 (grub_ieee1275_release): New prototype.
51975 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51976 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51977 normal, boot, linux and linux_normal.
51978 * loader/powerpc/ieee1275/linux.c: New file.
51979 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51980
5a9e3546 519812004-07-12 Marco Gerards <metgerards@student.han.nl>
51982
51983 * normal/arg.c (grub_arg_parse): Correct error handling after
51984 reallocating the argumentlist (check if `argl' is not null instead
51985 of checking if `args' is not null).
51986 * kern/mm.c (grub_realloc): Return the same pointer when using the
51987 same region, instead of returning the header address.
51988
e15199cb 519892004-07-11 Marco Gerards <metgerards@student.han.nl>
51990
51991 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51992 one block instead of two when looking for the initial partition.
51993 (grub_partition_probe): Initialize the local variable `p' with 0.
51994 Use base 10 for the grub_strtoul call.
51995 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51996 need for one local variable.
51997 (grub_strtoul): Don't add the new value to `num', instead of that
51998 just assign it.
51999
020616c2 520002004-07-11 Marco Gerards <metgerards@student.han.nl>
52001
52002 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52003 (pxeboot_img_SOURCES): New variable.
52004 (pxeboot_img_ASFLAGS): Likewise.
52005 (pxeboot_img_LDFLAGS): Likewise.
52006 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52007 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52008 <lode_leroy@hotmail.com>.
52009
6c51eb64 520102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52011
52012 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52013 there was no input.
52014
cfb12aff 520152004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52016
52017 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52018 the history buffer logic.
52019
6eabba74 520202004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52021
52022 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52023 (FILETYPE_INO_SYMLINK): New macros.
52024 (grub_ext2_find_file): Check if the node is a directory using the
52025 inode stat information instead of using the filetype in the
52026 dirent. Exclude the first character of an absolute symlink.
52027 (grub_ext2_dir): Mask out the filetype part of the mode member of
52028 the inode.
52029
66e19ef8 520302004-05-24 Marco Gerards <metgerards@student.han.nl>
52031
52032 Add support for UFS version 1 and 2. Add support for the minix
52033 filesystem version 1 and 2, both the variants with 14 and 30 long
52034 filenames.
f19dbdb7 52035
66e19ef8 52036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52037 fs/minix.c.
52038 (grub_emu_SOURCES): Likewise.
52039 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52040 (ufs_mod_SOURCES): New variable.
52041 (ufs_mod_CFLAGS): Likewise.
52042 (minix_mod_SOURCES): Likewise.
52043 (minix_mod_CFLAGS): Likewise.
52044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52045 fs/minix.c.
52046 (grubof_SOURCES): Likewise.
52047 * fs/ufs.c: New file.
52048 * fs/minix.c: New file.
52049 * include/grub/fs.h (grub_ufs_init): New prototype.
52050 (grub_ufs_fini): Likewise.
52051 (grub_minix_init): Likewise.
52052 (grub_minix_fini): Likewise.
52053 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52054 minix fs.
52055
cc2e748a 520562004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52057
52058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52059 commands/ls.c, commands/terminal.c, commands/boot.c,
52060 commands/cmp.c and commands/cat.c.
52061 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52062
52063 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52064 "env.h"
52065
4b13b216 520662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52067
52068 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52069 and grub_, respectively. Because the conversion is trivial and
52070 mechanical, I omit the details here. Please refer to the CVS
52071 if you need more information.
52072
6a142551 520732004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52074
52075 * include/pupa: Renamed to ...
52076 * include/grub: ... this.
52077 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52078 * util/i386/pc/grub-mkimage.c: ... this.
52079 * util/i386/pc/pupa-setup.c: Renamed to ...
52080 * util/i386/pc/grub-setup.c: ... this.
52081 * util/pupa-emu.c: Renamed to ...
52082 * util/grub-emu.c: ... this.
52083
e56cdf21 520842004-03-29 Marco Gerards <metgerards@student.han.nl>
52085
52086 Add support for the newworld apple macintosh (PPC). This has been
52087 tested on the powerbook 2000 only. It only adds support for
52088 generic ieee1275 functions, console and disk support. This should
52089 be easy to port to other architectures with support for Open
52090 Firmware.
f19dbdb7 52091
e56cdf21 52092 * configure.ac: Accept the powerpc as host_cpu. In the case of
52093 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52094 specific tests are only executed while building for the i386.
52095 Inverse test for crosscompile.
52096 * genmk.rb (Utility): Allow assembler files.
52097 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52098 * conf/powerpc-ieee1275.rmk: New file.
52099 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52100 * disk/powerpc/ieee1275/partition.c: Likewise.
52101 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52102 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52103 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52104 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52105 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52106 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52107 * include/pupa/powerpc/ieee1275/loader.h
52108 * include/pupa/powerpc/setjmp.h: Likewise.
52109 * include/pupa/powerpc/types.h: Likewise.
52110 * kern/powerpc/ieee1275/init.c: Likewise.
52111 * kern/powerpc/ieee1275/openfw.c: Likewise.
52112 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52113
52114 These files were written by Johan Rydberg
52115 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52116
e56cdf21 52117 * boot/powerpc/ieee1275/cmain.c: New file.
52118 * boot/powerpc/ieee1275/crt0.S: Likewise.
52119 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52120 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52121
8c8cc205 521222004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52123
52124 * Makefile.in: Update copyright.
52125 * genmodsrc.sh: Likewise.
52126 * gensymlist.sh: Likewise.
52127 * term/i386/pc/vga.c: Indent correctly.
52128
52129 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52130 bugreporting address.
52131 * util/i386/pc/pupa-setup.c (usage): Likewise,
52132 (main): Call pupa_ext2_init and pupa_ext2_fini.
52133
f19dbdb7 52134 * fs/fat.c (log2): Renamed to ...
8c8cc205 52135 (fat_log2): ... this.
52136 All callers changed.
52137 * kern/misc.c (memcpy): Alias to pupa_memmove.
52138 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52139 lvalue cast.
52140 * util/console.c (pupa_ncurses_fini): Return 0.
52141
52142 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52143 Move fail label here.
52144 [__GNU__]: Don't warn when using stat.
52145 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52146 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52147 long int. Use strtol instead of strtoul.
f19dbdb7 52148
db1771cf 521492004-03-14 Marco Gerards <metgerards@student.han.nl>
52150
52151 * commands/boot.c: New file.
52152 * commands/cat.c: Likewise.
52153 * commands/cmp.c: Likewise.
52154 * commands/ls.c: Likewise.
52155 * commands/terminal.c: Likewise.
52156 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52157 (pupa_register_command): Changed interface to match the new
52158 argument parser.
52159 (pupa_command_execute): Changed (almost rewritten) so it uses
52160 pupa_split_command. Added support for setting variables using the
52161 syntax `foo=bar'.
52162 (rescue_command): Changed to work with the new argument parser.
52163 (terminal_command): Moved from here to commands/terminal.c.
52164 (set_command): New function.
52165 (unset_command): New function.
52166 (insmod_command): New function.
52167 (rmmod_command): New function.
52168 (lsmod_command): New function.
52169 (pupa_command_init): Don't initialize the command terminal
52170 anymore. Initialize the commands set, unset, insmod, rmmod and
52171 lsmod.
52172 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52173 (kernel_img_HEADERS): Add arg.h and env.h.
52174 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52175 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52176 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52177 normal/arg.c.
52178 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52179 terminal.mod.
52180 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52181 (boot_mod_SOURCES): New variable.
52182 (terminal_mod_SOURCES): Likewise.
52183 (ls_mod_SOURCES): Likewise.
52184 (cmp_mod_SOURCES): Likewise.
52185 (cat_mod_SOURCES): Likewise.
52186
52187 * normal/arg.c: New file.
52188 * kern/env.c: Likewise.
52189 * include/pupa/arg.h: Likewise.
52190 * include/pupa/env.h: Likewise.
52191 * font/manager.c (font_command): Changed to match argument parsing
52192 interface changes.
52193 (PUPA_MOD_INIT): Likewise.
52194 * hello/hello.c (pupa_cmd_hello): Likewise.
52195 (PUPA_MOD_INIT): Likewise.
52196 * include/pupa/disk.h: Include <pupa/device.h>.
52197 (pupa_print_partinfo): New prototype.
52198 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52199 (pupa_dl_get_prefix): Likewise.
52200 * include/pupa/misc.h: Include <pupa/err.h>.
52201 (pupa_isgraph): New prototype.
52202 (pupa_isdigit): Likewise.
52203 (pupa_split_cmdline): Likewise.
52204 * include/pupa/normal.h: Include <pupa/arg.h>.
52205 (pupa_command): Changed the prototype of the member `func' to
52206 match the argument parsing interface. Added member `options'.
52207 (pupa_register_command): Updated to match function.
52208 (pupa_arg_parse): New prototype.
52209 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52210 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52211 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52212 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52213 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52214 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52215 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52216 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52217 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52218 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52219 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52220 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52221 * kern/disk.c: Include <pupa/file.h>.
52222 (pupa_print_partinfo): New function.
52223 * kern/dl.c: Include <pupa/env.h>.
52224 (pupa_dl_dir): Variable removed.
52225 (pupa_dl_load): Use the environment variable `prefix' instead of
52226 the variable pupa_dl_dir.
52227 (pupa_dl_set_prefix): Function removed.
52228 (pupa_dl_get_prefix): Likewise.
52229 * kern/i386/pc/init.c: Include <pupa/env.h>.
52230 (pupa_machine_init): Use the environment variable `prefix' instead of
52231 using pupa_dl_set_prefix to set the prefix.
52232 * kern/main.c: Include <pupa/env.h>.
52233 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52234 using pupa_dl_get_prefix to get the prefix.
52235 * kern/misc.c: Include <pupa/env.h>.
52236 (pupa_isdigit): New function.
52237 (pupa_isgraph): Likewise.
52238 (pupa_ftoa): Likewise.
52239 (pupa_vsprintf): Added support for printing values of the type
52240 `double'. Make it possible to format variable output when using
52241 formatting like `%1.2%f'.
52242 (pupa_split_cmdline): New function.
52243 * kern/rescue.c: Include <pupa/env.h>.
52244 (next_word): Removed function.
52245 (pupa_rescue_cmd_prefix): Likewise.
52246 (pupa_rescue_cmd_set): New function.
52247 (pupa_rescue_cmd_unset): New function.
52248 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52249 split the command line instead of splitting it here. Added
52250 support for setting variables using the syntax `foo=bar'. Don't
52251 initialize the prefix command anymore. Initialized the set and
52252 unset commands.
52253 * normal/cmdline.c: Include <pupa/env.h>.
52254 (pupa_tab_complete): Added prototypes for print_simple_completion,
52255 print_partition_completion, add_completion, iterate_commands,
52256 iterate_dev, iterate_part and iterate_dir. Moved code to print
52257 partition information from here to kern/disk.c.
fe6b695a 52258 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52259 * normal/main.c: Include <pupa/env.h>.
52260 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52261 instead of using pupa_dl_get_prefix to get the prefix.
52262 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52263 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52264 warning.
52265 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52266 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52267 ((unused))' to silence a gcc warning.
52268 (pupa_vga_setcolor): Likewise.
52269 (debug_command): Changed to match argument parsing
52270 interface changes.
52271 * util/pupa-emu.c: Include <pupa/env.h>.
52272 (options): Added 0's for unused fields to silence a gcc warning.
52273 (argp): Likewise.
52274 (main): Use the environment variable `prefix' instead of using
52275 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52276 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52277 and terminal.
52278
52279 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52280 * util/misc.c: Include <malloc.h>.
52281 (pupa_malloc): Rewritten so errors are correctly reported.
52282 (pupa_realloc): Likewise.
52283 (pupa_memalign): Likewise.
52284 (pupa_mm_init_region): Declare unused variables with
52285 `__attribute__ ((unused))' to silence a gcc warning.
52286 * normal/i386/setjmp.S: Remove tab at the end of the file to
52287 silence a gcc warning.
52288 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52289 variables with `__attribute__ ((unused))' to silence a gcc
52290 warning.
52291 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52292 local variable i unsigned to silence a gcc warning.
52293
52294 * kern/term.c: Include <pupa/misc.h>.
52295 (pupa_more_lines): New variable.
52296 (pupa_more): Likewise.
52297 (pupa_putcode): When the pager is active pause at the end of every
52298 screen.
52299 (pupa_set_more): New function.
52300 * include/pupa/term.h (pupa_set_more): New prototype.
52301
52302
3b1139cb 523032004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52304
52305 Now this project is GRUB 2 rather than PUPA. The location of
52306 the CVS repository was moved to GRUB's.
f19dbdb7 52307
3b1139cb 52308 * configure.ac: Use bug-grub as the reporting address.
52309 Use GRUB instead of PUPA.
52310 Change the version number to 1.90.
52311
8367695c 523122004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52313
52314 * genkernsyms.sh: Updated copyright information.
52315 * genmk.rb: Likewise.
52316 * genmodsrc.sh: Likewise.
52317 * gensymlist.sh: Likewise.
52318 * boot/i386/pc/boot.S: Likewise.
52319 * boot/i386/pc/diskboot.S: Likewise.
52320 * disk/i386/pc/biosdisk.c: Likewise.
52321 * disk/i386/pc/partition.c: Likewise.
52322 * font/manager.c: Likewise.
52323 * fs/ext2.c: Likewise.
52324 * fs/fat.c: Likewise.
52325 * include/pupa/boot.h: Likewise.
52326 * include/pupa/device.h: Likewise.
52327 * include/pupa/disk.h: Likewise.
52328 * include/pupa/dl.h: Likewise.
52329 * include/pupa/elf.h: Likewise.
52330 * include/pupa/err.h: Likewise.
52331 * include/pupa/file.h: Likewise.
52332 * include/pupa/font.h: Likewise.
52333 * include/pupa/fs.h: Likewise.
52334 * include/pupa/kernel.h: Likewise.
52335 * include/pupa/loader.h: Likewise.
52336 * include/pupa/misc.h: Likewise.
52337 * include/pupa/mm.h: Likewise.
52338 * include/pupa/net.h: Likewise.
52339 * include/pupa/normal.h: Likewise.
52340 * include/pupa/rescue.h: Likewise.
52341 * include/pupa/setjmp.h: Likewise.
52342 * include/pupa/symbol.h: Likewise.
52343 * include/pupa/term.h: Likewise.
52344 * include/pupa/types.h: Likewise.
52345 * include/pupa/i386/setjmp.h: Likewise.
52346 * include/pupa/i386/types.h: Likewise.
52347 * include/pupa/i386/pc/biosdisk.h: Likewise.
52348 * include/pupa/i386/pc/boot.h: Likewise.
52349 * include/pupa/i386/pc/console.h: Likewise.
52350 * include/pupa/i386/pc/init.h: Likewise.
52351 * include/pupa/i386/pc/kernel.h: Likewise.
52352 * include/pupa/i386/pc/linux.h: Likewise.
52353 * include/pupa/i386/pc/loader.h: Likewise.
52354 * include/pupa/i386/pc/memory.h: Likewise.
52355 * include/pupa/i386/pc/multiboot.h: Likewise.
52356 * include/pupa/i386/pc/partition.h: Likewise.
52357 * include/pupa/i386/pc/time.h: Likewise.
52358 * include/pupa/i386/pc/vga.h: Likewise.
52359 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52360 * include/pupa/util/getroot.h: Likewise.
52361 * include/pupa/util/misc.h: Likewise.
52362 * include/pupa/util/resolve.h: Likewise.
52363 * kern/device.c: Likewise.
52364 * kern/disk.c: Likewise.
52365 * kern/dl.c: Likewise.
52366 * kern/err.c: Likewise.
52367 * kern/file.c: Likewise.
52368 * kern/fs.c: Likewise.
52369 * kern/loader.c: Likewise.
52370 * kern/main.c: Likewise.
52371 * kern/misc.c: Likewise.
52372 * kern/mm.c: Likewise.
52373 * kern/rescue.c: Likewise.
52374 * kern/term.c: Likewise.
52375 * kern/i386/dl.c: Likewise.
52376 * kern/i386/pc/init.c: Likewise.
52377 * kern/i386/pc/lzo1x.S: Likewise.
52378 * kern/i386/pc/startup.S: Likewise.
52379 * loader/i386/pc/chainloader.c: Likewise.
52380 * loader/i386/pc/linux.c: Likewise.
52381 * loader/i386/pc/multiboot.c: Likewise.
52382 * normal/cmdline.c: Likewise.
52383 * normal/command.c: Likewise.
52384 * normal/main.c: Likewise.
52385 * normal/menu.c: Likewise.
52386 * normal/i386/setjmp.S: Likewise.
52387 * term/i386/pc/console.c: Likewise.
52388 * term/i386/pc/vga.c: Likewise.
52389 * util/console.c: Likewise.
52390 * util/genmoddep.c: Likewise.
52391 * util/misc.c: Likewise.
52392 * util/pupa-emu.c: Likewise.
52393 * util/resolve.c: Likewise.
52394 * util/unifont2pff.rb: Likewise.
52395 * util/i386/pc/biosdisk.c: Likewise.
52396 * util/i386/pc/getroot.c: Likewise.
52397 * util/i386/pc/pupa-mkimage.c: Likewise.
52398 * util/i386/pc/pupa-setup.c: Likewise.
52399
e6eced71 524002004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52401
52402 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52403 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52404 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52405 reading and reset it after reading.
52406 (pupa_ext2_close): Return PUPA_ERR_NONE.
52407
52408 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52409 Correct value.
52410 (struct linux_kernel_header): Add kernel_version and
52411 initrd_addr_max.
52412 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52413 pupa_file_read succeeds.
52414 (pupa_rescue_cmd_initrd): Implement.
52415
5aded270 524162003-12-03 Marco Gerards <metgerards@student.han.nl>
52417
52418 * fs/ext2.c (pupa_ext2_label): New function.
52419 (pupa_ext2_fs): Added label.
52420 * fs/fat.c (pupa_fat_label): New function.
52421 (pupa_fat_fs): Added label.
52422 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52423
52424 * kern/misc.c (pupa_strndup): New function.
52425 * include/pupa/misc.h (pupa_strndup): New prototype.
52426
52427 * include/pupa/normal.h: Include <pupa/err.h>.
52428 (pupa_set_history): New prototype.
52429 (pupa_iterate_commands): New prototype.
52430 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52431 <pupa/disk.h>, <pupa/file.h>.
52432 (hist_size): New variable.
52433 (hist_lines): Likewise.
52434 (hist_end): Likewise.
52435 (hist_used): Likewise.
52436 (pupa_set_history): New function.
52437 (pupa_history_get): Likewise.
52438 (pupa_history_add): Likewise.
52439 (pupa_history_replace): Likewise.
52440 (pupa_tab_complete): Likewise.
52441 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52442 completion shows partitionnames while completing partitions, this
52443 feature was suggested by Jeff Bailey.
52444 * normal/command.c (pupa_iterate_commands): New function.
52445 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52446 (pupa_normal_init): Initialize history buffer.
52447 (PUPA_MOD_INIT): Likewise.
52448 (pupa_normal_fini): Free the history buffer.
52449 (PUPA_MOD_FINI): Likewise.
52450
52451 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52452 key.
52453
52454 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52455 * configure.ac [i386]: Check for regparam bug.
52456 (NESTED_FUNC_ATTR) [! i386]: Defined.
52457
1f7315a3 524582003-11-17 Marco Gerards <metgerards@student.han.nl>
52459
52460 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52461 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52462 (pupa_emu_SOURCES): New variable.
52463 (pupa_emu_LDFLAGS): Likewise.
52464 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52465 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52466 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52467 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52468 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52469 (pupa_jmp_buf): New typedef.
52470 (pupa_setjmp) [PUPA_UTIL]: New macro.
52471 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52472 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52473 (pupa_refresh): New prototype.
52474 * include/pupa/util/getroot.h: New file.
52475 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52476 it.
52477 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52478 (pupa_rescue_cmd_cat): Likewise.
52479 (pupa_rescue_cmd_ls): Likewise.
52480 (pupa_rescue_cmd_testload): Likewise.
52481 (pupa_rescue_cmd_lsmod): Likewise.
52482 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52483 * normal/menu.c (run_menu): Likewise.
52484 * kern/term.c (pupa_cls): Likewise.
52485 (pupa_refresh): New function.
52486 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52487 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52488 * util/console.c: New file.
f19dbdb7 52489
1f7315a3 52490 * util/i386/pc/getroot.c: New file.
52491 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52492 (pupa_putchar): New function.
52493 (pupa_refresh): Likewise.
52494 (xgetcwd): Function moved to ...
52495 (strip_extra_slashes): Likewise.
52496 (get_prefix): Likewise.
f19dbdb7 52497 * util/i386/pc/getroot.c: ... here.
1f7315a3 52498 (find_root_device): Function moved and renamed to...
52499 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52500 Changed all callers.
52501 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52502 and renamed to...
52503 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52504 Changed all callers.
52505 * util/misc.c (pupa_memalign): New function.
52506 (pupa_mm_init_region): Likewise.
52507 (pupa_register_exported_symbols): Likewise.
52508 (pupa_putchar): Function removed.
52509 * util/pupa-emu.c: New file.
52510
9a5c1ade 525112003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52512
52513 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52514 (_multiboot_mod_SOURCES): New variable.
52515 (_multiboot_mod_CFLAGS): Likewise.
52516 * loader/i386/pc/multiboot.c: New file.
52517 * include/pupa/i386/pc/multiboot.h: Likewise.
52518 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52519 (pupa_multiboot_real_boot): New function.
52520 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52521 (pupa_multiboot_real_boot): New prototype.
52522 (pupa_rescue_cmd_multiboot): Likewise
52523 (pupa_rescue_cmd_module): Likewise.
52524
52525 * kern/loader.c (pupa_loader_set): Continue when
52526 pupa_loader_unload_func() fails.
52527 (pupa_loader_unset): New function.
52528 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52529
52530 * kern/misc.c (pupa_stpcpy): New function.
52531 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52532
8e72a9c0 525332003-11-12 Marco Gerards <metgerards@student.han.nl>
52534
52535 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52536 for available extensions.
52537
52538 * include/pupa/i386/pc/time.h: New file.
52539 * kern/disk.c: Include <pupa/machine/time.h>.
52540 (PUPA_CACHE_TIMEOUT): New macro.
52541 (pupa_last_time): New variable.
52542 (pupa_disk_open): Flush the cache when there was a timeout.
52543 (pupa_disk_close): Reset the timer.
52544 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52545 pupa_currticks.
52546 * util/misc.c: Include <sys/times.h>
52547 (pupa_get_rtc): New function.
52548
c4adbd32 525492003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52550
52551 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52552 as blocks.
52553 (pupa_ext2_get_file_block): Use blocks member.
52554
52555 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52556 first block. Return -1 instead of pupa_errno on error.
52557
bfd30f06 525582003-10-27 Marco Gerards <metgerards@student.han.nl>
52559
52560 * README: In the pupa-mkimage example use _chain instead of chain
52561 and ext2 instead of fat.
52562 * TODO: Replace ext2fs with jfs as an example. Add an item for
52563 adding journal playback for ext2fs.
52564 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52565 (pkgdata_MODULES): Added ext2.mod.
52566 (ext2_mod_SOURCES): New variable.
52567 (ext2_mod_CFLAGS): Likewise.
52568 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52569 * include/pupa/misc.h (pupa_strncpy): New prototype.
52570 (pupa_strcat): Likewise.
52571 (pupa_strncmp): Likewise.
52572 * kern/misc.c (pupa_strcat): Enable function.
52573 (pupa_strncpy): New function.
52574 (pupa_strncmp): Likewise.
52575 * fs/ext2.c: New file.
f19dbdb7 52576
bfd30f06 52577 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52578 when the read failed before retrying.
52579 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52580 (_FILE_OFFSET_BITS): Likewise.
52581 * configure.ac: Added AC_SYS_LARGEFILE.
52582
98d15063 525832003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52584
52585 * genmk.rb (PModule#rule): Make sure to get only symbol names
52586 from the output of nm.
59cad637 52587 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52588
18d9c7cd 525892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52590
52591 I forgot to check in these changes for a long time. This adds
52592 incomplete support for VGA console, and this is still very
52593 buggy. Also, a lot of consideration is required for I18N,
52594 UNICODE, and VGA font issues. Therefore, assume that this is
52595 such that "better than nothing".
f19dbdb7 52596
18d9c7cd 52597 * font/manager.c: New file.
52598 * include/pupa/font.h: Likewise.
52599 * include/pupa/i386/pc/vga.h: Likewise.
52600 * term/i386/pc/vga.c: Likewise.
52601 * util/unifont2pff.rb: Likewise.
52602
52603 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52604 (pkgdata_MODULES): Added vga.mod and font.mod.
52605 (vga_mod_SOURCES): New variables.
52606 (vga_mod_CFLAGS): Likewise.
52607 (font_mod_SOURCES): Likewise.
52608 (font_mod_CFLAGS): Likewise.
52609
52610 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52611
52612 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52613 (struct pupa_term): Added init and fini.
18d9c7cd 52614 Changed the argument of putchar to pupa_uint32_t.
52615
52616 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52617 (pupa_console_real_putchar): New prototype.
52618 (pupa_console_putchar): Removed.
52619 (pupa_console_checkkey): Exported.
52620 (pupa_console_getkey): Likewise.
52621
52622 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52623 characters.
52624
52625 * kern/term.c (pupa_term_set_current): Rewritten.
52626 (pupa_putchar): Likewise.
52627 (pupa_putcode): New function.
52628
52629 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52630 (pupa_console_real_putchar): ... this.
52631 (pupa_vga_set_mode): New function.
52632 (pupa_vga_get_font): Likewise.
52633
52634 * normal/command.c: Include pupa/term.h.
52635 (terminal_command): New function.
52636 (pupa_command_init): Register the command "terminal".
52637
52638 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52639 (DISP_UP): Likewise.
52640 (DISP_RIGHT): Likewise.
52641 (DISP_DOWN): Likewise.
52642 (DISP_HLINE): Likewise.
52643 (DISP_VLINE): Likewise.
52644 (DISP_UL): Likewise.
52645 (DISP_UR): Likewise.
52646 (DISP_LL): Likewise.
52647 (DISP_LR): Likewise.
52648
52649 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52650
977329f5 526512003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52652
52653 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52654 FIX. Reverse the path_list.
52655
52656 * include/pupa/normal.h: Export pupa_register_command and
52657 pupa_unregister_command.
52658
52659 * hello/hello.c (pupa_cmd_hello): New module.
52660 * conf/i386-pc.rmk: Added hello.mod.
52661
1f5ab428 526622003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52663
52664 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52665
1f5ab428 52666 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52667 (compress_kernel): New variable.
52668 (generate_image): Heavily modified to support compressing a
52669 large part of the core image.
52670
52671 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52672 leak.
52673 (pupa_util_load_image): New function.
52674
52675 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52676 (pupa_compressed_size): New variable.
52677 (codestart): Enable Gate A20 here.
52678 Decompress the compressed part of the core image.
52679 Rearrange the code to put functions and variables which are
52680 required for initialization in the non-compressed part.
52681 Include lzo1x.S.
52682
52683 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52684 here.
52685
52686 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52687
f19dbdb7 52688 * include/pupa/i386/pc/kernel.h
1f5ab428 52689 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52690 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52691 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52692 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52693 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52694
52695 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52696
52697 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52698 (Utility#rule): Likewise.
52699
52700 * configure.ac: Check if LZO is available.
52701
ce5bf700 527022003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52703
52704 * include/pupa/normal.h: New file.
52705 * include/pupa/setjmp.h: Likewise.
52706 * include/pupa/i386/setjmp.h: Likewise.
52707 * normal/cmdline.c: Likewise.
52708 * normal/command.c: Likewise.
52709 * normal/main.c: Likewise.
52710 * normal/menu.c: Likewise.
52711 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52712
ce5bf700 52713 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52714 (pupa_rescue_cmd_initrd): Likewise.
52715
52716 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52717 Likewise.
52718
52719 * kern/i386/pc/startup.S (translation_table): New variable.
52720 (translate_keycode): New function.
52721 (pupa_console_getkey): Call translate_keycode.
52722
52723 * kern/rescue.c (attempt_normal_mode): New function.
52724 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52725 it failed, print a message.
52726
52727 * kern/mm.c (pupa_real_malloc): Print more information when a
52728 free magic is broken.
52729 (pupa_free): If the first free header is not free actually, set
52730 it to P.
52731
52732 * kern/main.c (pupa_load_normal_mode): Just load the module
52733 "normal".
52734 (pupa_main): Don't print the message
52735 "Entering into rescue mode..." here.
52736
52737 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52738 Declared.
52739 (pupa_rescue_cmd_initrd): Likewise.
52740 (pupa_rescue_cmd_initrd): Likewise.
52741
52742 * include/pupa/symbol.h (FUNCTION): Specify the type.
52743 (VARIABLE): Likewise.
52744
52745 * include/pupa/err.h (pupa_err_t): Added
52746 PUPA_ERR_UNKNOWN_COMMAND.
52747
52748 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52749 (pupa_dl_get_prefix): Likewise.
52750
52751 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52752 Added _chain.mod and _linux.mod instead of chain.mod and
52753 linux.mod.
52754 (chain_mod_SOURCES): Renamed to ...
52755 (_chain_mod_SOURCES): ... this.
52756 (chain_mod_CFLAGS): Renamed to ...
52757 (_chain_mod_CFLAGS): ... this.
52758 (linux_mod_SOURCES): Renamed to ...
52759 (_linux_mod_SOURCES): ... this.
52760 (linux_mod_CFLAGS): Renamed to ...
52761 (_linux_mod_CFLAGS): ... this.
52762 (normal_mod_SOURCES): New variable.
52763 (normal_mod_CFLAGS): Likewise.
52764 (normal_mod_ASFLAGS): Likewise.
52765
527662003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52767
52768 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52769 possible.
52770
fe6b695a 52771 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52772 recursively.
52773 (pupa_dl_unref): Unrefer depending modules recursively.
52774 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52775 a module is unloaded before one depending on that module is
52776 unloaded.
52777 (pupa_dl_unload): Unload depending modules explicitly,
52778 if possible.
52779
c04da074 527802003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52781
52782 * include/pupa/i386/pc/linux.h: New file.
52783 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52784
c04da074 52785 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52786 Removed.
52787 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52788 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52789 of PUPA_CHAINLOADER_BOOT_SECTOR.
52790
52791 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52792 (pupa_linux_prot_size): New variable.
52793 (pupa_linux_tmp_addr): Likewise.
52794 (pupa_linux_real_addr): Likewise.
52795 (pupa_linux_boot_zimage): New function.
52796 (pupa_linux_boot_bzimage): Likewise.
52797
52798 * kern/i386/pc/init.c (struct mem_region): New structure.
52799 (MAX_REGIONS): New macro.
52800 (mem_regions): New variable.
52801 (num_regions): Likewise.
52802 (pupa_os_area_addr): Likewise.
52803 (pupa_os_area_size): Likewise.
52804 (pupa_lower_mem): Likewise.
52805 (pupa_upper_mem): Likewise.
52806 (add_mem_region): New function.
52807 (compact_mem_regions): Likewise.
52808 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52809 the size of the conventional memory and that of so-called upper
52810 memory (before the first memory hole).
52811 Instead of adding each found region to free memory, use
52812 add_mem_region and add them after removing overlaps.
52813 Also, add only 1/4 of the upper memory to free memory. The rest
52814 is used for loading OS images. Maybe this is ad hoc, but this
52815 makes it much easier to relocate OS images when booting.
52816
52817 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52818 (pupa_enter_rescue_mode): Don't register initrd and module.
52819
52820 * kern/mm.c: Include pupa/dl.h.
52821
52822 * kern/main.c: Include pupa/file.h and pupa/device.h.
52823
52824 * kern/loader.c (pupa_loader_load_module_func): Removed.
52825 (pupa_loader_load_module): Likewise.
52826
52827 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52828 ``.o''.
52829
52830 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52831 (pupa_linux_tmp_addr): Likewise.
52832 (pupa_linux_real_addr): Likewise.
52833 (pupa_linux_boot_zimage): Likewise.
52834 (pupa_linux_boot_bzimage): Likewise.
52835
52836 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52837 (pupa_upper_mem): Likewise.
52838 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52839 module is too dangerous.
52840
52841 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52842 (pupa_os_area_size): Likewise.
52843 (pupa_loader_set): Remove the first argument. Loader doesn't
52844 manage modules or initrd any longer.
52845 (pupa_loader_load_module): Removed.
52846
52847 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52848 (linux_mod_SOURCES): New variable.
52849 (linux_mod_CFLAGS): Likewise.
52850
a13f9237 528512003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52852
52853 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52854 the length of a blocklist correctly.
52855
52856 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52857 Use ioctl only if the OS file is a block device.
52858 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52859 not very useful for normal files.
52860
52861 * kern/main.c (pupa_set_root_dev): New function.
52862 (pupa_load_normal_mode): Likewise.
52863 (pupa_main): Call those above.
52864
52865 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52866 pupa_uint16_t.
52867
52868 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52869
a5ffe966 528702003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52871
52872 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52873 (setup): Configure the installed partition information and the
52874 dl prefix.
52875
52876 * loader/i386/pc/chainloader.c (my_mod): New variable.
52877 (pupa_chainloader_unload): New function.
52878 (pupa_rescue_cmd_chainloader): Refer itself.
52879 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52880
52881 * kern/i386/pc/startup.S (install_partition): Removed.
52882 (version_string): Likewise.
52883 (config_file): Likewise.
52884 (pupa_install_dos_part): New variable.
52885 (pupa_install_bsd_part): Likewise.
52886 (pupa_prefix): Likewise.
52887 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52888
52889 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52890 and pupa/misc.h.
52891 (make_install_device): New function.
52892 (pupa_machine_init): Set the dl prefix.
52893
52894 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52895 (buf): Renamed to ...
52896 (linebuf): ... this.
52897 (pupa_rescue_cmd_prefix): New function.
52898 (pupa_rescue_cmd_insmod): Likewise.
52899 (pupa_rescue_cmd_rmmod): Likewise.
52900 (pupa_rescue_cmd_lsmod): Likewise.
52901 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52902 rmmod and lsmod.
52903
52904 * kern/mm.c (pupa_memalign): If failed even after invalidating
52905 disk caches, unload unneeded modules and retry.
52906
52907 * kern/misc.c (pupa_memmove): New function.
52908 (pupa_memcpy): Removed.
52909 (pupa_strcpy): New function.
52910 (pupa_itoa): Made static.
52911
52912 * kern/dl.c (pupa_dl_iterate): New function.
52913 (pupa_dl_ref): Likewise.
52914 (pupa_dl_unref): Likewise.
52915 (pupa_dl_unload): Return if succeeded or not.
52916 (pupa_dl_unload_unneeded): New function.
52917 (pupa_dl_unload_all): Likewise.
52918 (pupa_dl_init): Renamed to ...
52919 (pupa_dl_set_prefix): ... this.
52920 (pupa_dl_get_prefix): New function.
52921
52922 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52923 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52924 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52925 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52926 (pupa_install_dos_part): Declared.
52927 (pupa_install_bsd_part): Likewise.
52928 (pupa_prefix): Likewise.
52929 (pupa_boot_drive): Likewise.
52930
52931 * include/pupa/types.h: Fix a typo.
52932
52933 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52934 pupa_memmove.
52935 (pupa_memmove): Declared.
52936 (pupa_strcpy): Likewise.
52937
52938 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52939 pupa_mod_init takes one argument, its own module.
52940 (pupa_dl_unload_unneeded): Declared.
52941 (pupa_dl_unload_all): Likewise.
52942 (pupa_dl_ref): Likewise.
52943 (pupa_dl_unref): Likewise.
52944 (pupa_dl_iterate): Likewise.
52945 (pupa_dl_init): Renamed to ...
52946 (pupa_dl_set_prefix): ... this.
52947 (pupa_dl_get_prefix): Declared.
52948
52949 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52950 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52951 unloaded.
52952 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52953 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52954
52955 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52956 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52957
012d7999 529582003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52959
52960 * util/i386/pc/pupa-setup.c (setup): Define the internal
52961 function find_first_partition_start at the top level, because GCC
52962 3.0.x cannot compile internal functions in deeper scopes
52963 correctly.
52964 (find_root_device): Use lstat instead of stat.
52965 Don't follow symbolic links.
52966 Fix the path-constructing code.
52967
52968 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52969 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52970 by a BLKGETSIZE ioctl first, because block devices don't fill
52971 the member st_mode of the structure stat on Linux.
52972 [__linux__] (linux_find_partition): Use a temporary buffer
52973 REAL_DEV for the working space. Copy it to DEV before returning.
52974 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52975 buffer cache consistent.
52976 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52977 strncmp. The previous value was merely wrong.
52978 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52979
52980 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52981 FAT size is 12. The previous value was merely wrong.
52982
52983 * kern/main.c (pupa_main): Don't split the starting message from
52984 newlines.
52985
52986 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52987 LF, because BIOS goes crazy about character attributes in this
52988 case.
52989
1cc73a62 529902003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52991
52992 * include/i386/pc/util/biosdisk.h: New file.
52993 * util/i386/pc/biosdisk.c: Likewise.
52994 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52995
1cc73a62 52996 * Makefile.in (INCLUDE_DISTFILES): Added
52997 include/pupa/i386/pc/util/biosdisk.h.
52998 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52999 directory util/i386/pc.
53000 (install-local): Added a rule for sbin_UTILITIES.
53001 (uninstall): Likewise.
53002
53003 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53004
53005 * util/misc.c (xrealloc): New function.
53006 (pupa_malloc): Likewise.
53007 (pupa_free): Likewise.
53008 (pupa_realloc): Likewise.
53009 (pupa_stop): Likewise.
53010 (pupa_putchar): Likewise.
53011
53012 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53013
53014 * include/pupa/util/misc.h (xrealloc): Declared.
53015
53016 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53017 macro.
53018 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53019 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53020
53021 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53022 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53023
53024 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53025 way should be implemented.
53026 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53027
53028 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53029 the size of NAME for safety.
53030 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53031 0x88.
53032
53033 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53034 (pupa_setup_SOURCES): Likewise.
53035
53036 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53037
08b70fe8 530382002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53039
53040 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53041 bunch of pushl's from pusha, because this destroys the return
53042 value.
53043
62ddcc8f 530442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53045
53046 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53047 This means that any missing prototypes could be fatal. Also, you
53048 must take care when writing assembly code. See the comments at
53049 the beginning of startup.S, for more details.
f19dbdb7 53050
62ddcc8f 53051 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53052 compilation mechanism.
53053 (pupa_chainloader_real_boot): Likewise.
53054 (pupa_biosdisk_rw_int13_extensions): Likewise.
53055 (pupa_biosdisk_rw_standard): Likewise.
53056 (pupa_biosdisk_check_int13_extensions): Likewise.
53057 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53058 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53059 (pupa_get_memsize): Likewise.
53060 (pupa_get_mmap_entry): Likewise.
53061 (pupa_console_putchar): Likewise.
53062 (pupa_console_setcursor): Likewise.
53063 (pupa_getrtsecs): Use pushl instead of push.
53064
53065 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53066 memory instead of the stack for a mmap entry, because some
53067 BIOSes may ignore the maximum size and overflow.
53068
53069 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53070
53071 * genmk.rb (PModule#rule): Compile automatically generated
53072 sources with module-specific CFLAGS as well as other sources.
53073
9962ed99 530742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53075
53076 * configure.ac: Check ld.
53077 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53078 respectively, before checking endianness and sizes.
53079
53080 * Makefile.in (LD): New variable.
f19dbdb7 53081
abdfc3c5 530822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53083
53084 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53085
6a161fa9 530862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53087
53088 * Changelog: New file.
53089