]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
[grub2.git] / ChangeLog
CommitLineData
61e1b9a4
VS
12013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
4 Don't rely on PATH_MAX.
5
c98dd165
VS
62013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/genmoddep.awk: Use more portable && rather than and.
9
ff1c277e
VS
102013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
13 an object after data. While it doesn't seem right solution, it
14 works well enough and OSX isn't main compilation platform.
15
c8f7614b
VS
162013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
19 While it doesn't seem right solution, it works well enough and
20 OSX isn't main compilation platform.
21
246a434f
VS
222013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * configure.ac: Add -static to LDFLAGS when using apple linker to
25 prevent it from pulling in dynamic linker.
26
5c066a81
VS
272013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Apple assembly doesn't handle symbol arithmetic well. So define an
30 offset symbol in boot.S and use it.
31
78f961ef
VS
322013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Apple assembly doesn't handle symbol arithmetic well. So instead
35 of getting addres of kernel_sector + 4 define kernel_sector_high.
36 It also makes code more readable.
37
09bc0a57
VS
382013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
39
40 With Apple assembly in .macro environvemnt you have to use $$ instead
41 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
42 to $$x on Apple and to $x on everything else.
43
b700a427
VS
442013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
47 OBJCONV.
48
4480b95d
VS
492013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
52 and non-Apple. This instruction is shorter and faster,
53 so no reason not to use it on both.
54
e77c81f6
VS
552013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
58 .text when compiling for Apple.
59
971dbee5
VS
602013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/term/arc/console.c: Add missing cast to silence warning.
63
6f2e82be
VS
642013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
67 %dx restore the probe worked on non-existant drive. Reorganize the
68 code a little bit to free 2 bytes necessary for push/pop.
69
9eec9699
VS
702013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
73 Add missing cast to silence warning.
74
5ae5c54c
KPA
752013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
76
77 * util/grub-install.c (update_nvram): Support --no-nvram flag
78 for EFI targets.
79
7b04fe6c
VS
802013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
83
e67566ce
VS
842013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * util/garbage-gen.c: Add missing include of sys/time.h.
87
f93ddcfd
VS
882013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Don't add -mflush-func if it's not supported by compiler.
91
1bba40f5
VS
922013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Move common BIOS/coreboot memory map declarations to
95 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
96
f65e14dc
AB
972013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
98
99 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
100
14a94bba
VS
1012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * INSTALL: Document why older clang versions aren't appropriate.
104
8109c5d4
VS
1052013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * INSTALL: Document about clang for mips.
108
a92b5cb8
VS
1092013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
112 clang.
113
4a23e2fe
VS
1142013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Add *-xen to the list of grub-install-common platforms.
117
a3ba7410
VS
1182013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
121 3 last commits.
122
e1c22419
VS
1232013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
126
189090ce
VS
1272013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
130 with -mcmodel=large.
131
1a5b7b40
VS
1322013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
135 range-checking for 32-bit quantities.
136
9cf12b20
VS
1372013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * configure.ac: Compile with -fPIC when compiling with clang on
140 mips.
141
63a45330
VS
1422013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
145 when compiling with clang.
146
4a0aaad0
VS
1472013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
148
149 clang emits calls to abort () under some unknown conditions.
150 Export abort () when compiling with clang.
151
095bb1bf
VS
1522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * docs/grub-dev.texi: Document stack and heap sizes.
155
3937bd96
VS
1562013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * include/grub/i386/pc/memory.h: Decrease
159 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
160 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
161 The binary doesn't change (checked). It's more to better reflect actual
162 usage.
163
ddb3efc9
VS
1642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
167 at compile time that enough of scratch size is available.
168
4e42521d
VS
1692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
172 Previously we misaligned stack by 8 in startup.S and compensated
173 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
174 right behaviour is to align stack in startup.S and keep it aligned
175 in callwrap.S. startup.S part was committed few commits before. This
176 takes care of callwrap.S.
177 Reported by: Gary Lin.
178
054efe54
VS
1792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
182 .data and .bss. May happen if compiler and assembly use different
183 alignment.
184
a0e1befb
VS
1852013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
186
187 On MIPS handle got16 relocations to local symbols in an ABI-compliant
188 way.
189
c36c73f6
VS
1902013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Add support for a new magic symbol _gp_disp on mips to handle PIC
193 binaries.
194
6f4a19f5
VS
1952013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Use $t9 for indirect calls from asm to C as PIC ABI requires.
198
0d8f04cd
VS
1992013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
202 when rest of GRUB is compiled for hisher stepping. Instead use
203 .set mips3/.set mips1 around cache and sync opcodes.
204
49060520
VS
2052013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
206
207 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
208 do essentially the same thing, do it in similar way.
209
c6a823e2
CW
2102013-11-21 Colin Watson <cjwatson@ubuntu.com>
211
212 * util/grub-mkrescue.c (main): If a source directory is not
213 specified, read platform-specific files from subdirectories of
214 pkglibdir, not pkgdatadir.
215
b7f9aedf
CW
2162013-11-21 Colin Watson <cjwatson@ubuntu.com>
217
218 * grub-core/normal/progress.c: Remove unused file.
219
7dd0a303
VS
2202013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
223 array.
224
ca120e31
VS
2252013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
228 than grub.cfg.
229
48eb35cd
VS
2302013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * coreboot.cfg: Add missing file.
233
7f20dbbc
VS
2342013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * Makefile.am: Allow STRIP to be empty when creating windowszip.
237
55e706c9
AK
2382013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
239
240 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
241 selectively skipping systems.
242
4e7d433d
CW
2432013-11-19 Colin Watson <cjwatson@ubuntu.com>
244
245 * Makefile.util.def (grub-mkimage): Add
246 grub-core/osdep/aros/config.c to extra_dist.
247 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
248 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
249 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
250 grub-core/gnulib-no-gets.diff.
251
7d44ff7d
VS
2522013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
253
254 Add automated filesystem checking based on scripts I've used now for
255 quite some time locally. Most of the test require root so they are
256 skipped when run without necessarry privelegies.
257
a8c3e5e3
CW
2582013-11-19 Colin Watson <cjwatson@ubuntu.com>
259
260 * util/grub-install.c (main): Adjust info messages to match
261 installed paths of grub-bios-setup and grub-sparc64-setup.
262
4402db3e
CW
2632013-11-19 Colin Watson <cjwatson@ubuntu.com>
264
265 * util/grub-install-common.c (copy_locales): Consistently use
266 grub_util_get_localedir () rather than LOCALEDIR.
267 (grub_install_copy_files): Likewise.
268
7960d3e1
JT
2692013-11-19 Josh Triplett <josh@joshtriplett.org>
270
271 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
272 16-byte boundary, as required by the x86-64 ABI, before calling
273 grub_main. In some cases, GCC emits code that assumes this
274 alignment, which crashes if not aligned. The EFI firmware is also
275 entitled to assume that stack alignment without checking.
276
d53f4900
JT
2772013-11-18 Josh Triplett <josh@joshtriplett.org>
278
279 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
280 4k page boundaries as expected by firmware rather than 1k
281 boundaries.
282 (grub_mmap_malign_and_register): Likewise.
283
bb2b275b
VS
2842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
287 fragmentation 512M is enough.
288
45bf8b3a
VS
2892013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
292 pointer to 32K. This is the size of cache element which is the most
293 common allocation >1K. This way the pointer is always around blocks
294 of 32K and so we keep performance while decreasing fragmentation.
295
39ff43c5
VS
2962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
299 current memory when allocating large chunks. This significantly
300 decreases memory fragmentation.
301
60870be8
CW
3022013-11-18 Colin Watson <cjwatson@ubuntu.com>
303
304 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
305 but for symmetry).
306 * tests/lzocompress_test.in: Skip if lzop is not installed.
307 * tests/xzcompress_test.in: Skip if xz is not installed.
308
a1f00cc5
CW
3092013-11-18 Colin Watson <cjwatson@ubuntu.com>
310
311 * util/grub-mkrescue.c (main): Fix typo.
312
74e632fe
VS
3132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
316 clock frequency to 200 MHz,
317
efb8de49
VS
3182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * tests/util/grub-shell.in: Increase console size to 1024x1024.
321
b7526e78
VS
3222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * Makefile.am (default_payload.elf): Add pata to loaded modules.
325 Load config file from (cbfsdisk)/etc/grub.cfg.
326
b40ce651
VS
3272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * util/grub-install-common.c (grub_install_copy_files): Fix module
330 destination directory.
331
1e8e2e78
CW
3322013-11-18 Colin Watson <cjwatson@ubuntu.com>
333
334 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
335 files have not been built.
336
3bf4088b
CW
3372013-11-18 Colin Watson <cjwatson@ubuntu.com>
338
339 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
340 Handle errors from mkstemp.
341 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
342
35c2851c
VS
3432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
346 on primary master on pseries.
347
ea7c1a7d
VS
3482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
351 already loaded. This saves memory needed for tests,
352
96adefdb
VS
3532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
356 work again.
357
5e3cb8a7
VS
3582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
361 work again.
362
256ee7ac
VS
3632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
366 master since with some combinations of qemu and firmware only primary
367 IDE channel is available.
368
f8b4c3b6
VS
3692013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
372 low-memory platforms where we don't have enough memory for them.
373 * grub-core/tests/videotest_checksum.c: Likewise.
374
4bf70320
VS
3752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
378 already loaded. This saves memory needed for tests,
379
a284320e
VS
3802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Fix handling of install lists.
383
2df8f43d
VS
3842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
387
6f1bc8bc
VS
3882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
389
390 On i386-ieee1275 we run in paged mode. So we need to explicitly map
391 the devices before accessing them.
392
04f39f6d
VS
3932013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
396 as file argument.
397
35d4761c
VS
3982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
401
33d02a42
VS
4022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
405 (grub_file_close): Free file->name.
406
7bbb60cf
VS
4072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/commands/verify.c (free_pk): Plug memory leak.
410 (grub_load_public_key): Likewise.
411 (grub_verify_signature_real): Likewise.
412 (grub_cmd_verify_signature): Likewise.
413
da93d675
VS
4142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
417 memory leak.
418
59c943ec
VS
4192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
422 (grub_longjmp): Restore r31.
423 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
424
4336b5d8
VS
4252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
428 modules to be in line with make_image_abs.
429
44ce3a93
VS
4302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
433
434 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
435
7d400406
IC
4362013-11-17 Ian Campbell <ijc@hellion.org.uk>
437
438 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
439
77dae919
VS
4402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
443 to leave some memory to firmware.
444
0ab8e025
VS
4452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
448 of loading gfxterm as gfxterm is embed in kernel on some platforms.
449 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
450 Load gfxmenu.
451
b80c2d6d
VS
4522013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
455 now needs full arguments.
456
6aa6077b
VS
4572013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/grub-mkrescue.c (main): Add trailing \n in
460 .disk_label.contentDetails to be in line with previous shell script.
461
66c00cb1
VS
4622013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
465
3a129dba
VS
4662013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * util/grub-install-common.c (grub_install_parse): Recognize
469 --compress=none like shell script did.
470
8df6eff6
VS
4712013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * include/grub/misc.h: Replace check for __sparc64__ with one for
474 __sparc__ as __sparc64__ isn't actually defined.
475
889ebe92
VS
4762013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
479 counterpart of fixing the naming of escc ports.
480
d4d55b29
VS
4812013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * util/grub-install-common.c (platforms): Fix the order of entries and
484 remove useless field val.
485
55e2c84f
VS
4862013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/grub-install.c: Add new option --no-bootsector to skip
489 installing of bootsector. Accept --grub-setup=/bin/true as
490 backwards-compatible synonym.
491
cd46aa6c
VS
4922013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
493
494 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
495 order of qsort arguments (number of elements vs. element size).
496
4972013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
500 the function of these files exceeds what can be sanely handled in shell
501 in posix-comaptible way. Also writing it in C extends the functionality
502 to non-UNIX-like OS and minimal environments.
503
9ef81064
VS
5042013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
507 compiling to thumb2.
508 * grub-core/kern/arm/cache_armv7.S: Likewise.
509 * grub-core/lib/arm/setjmp.S: Likewise.
510
11a77932
LL
5112013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
512
513 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
514 in grub_uboot_syscall
515
080603f0
VS
5162013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Decrease stack usage in lexer.
519
520 We have only 92K of stack and using over 4K per frame is wasteful
521
522 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
523 as macros so that compiler would remove useless structure on stack.
524 Better solution would be to fix flex not to put this structure on
525 the stack but flex is external program.
526
4f84ae0e
VS
5272013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
528
529 Decrease stack usage in signature verification.
530
531 We have only 92K of stack and using over 4K per frame is wasteful
532
533 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
534 rather than stack.
535 (grub_verify_signature_real): Likewise.
536
e6a6182d
VS
5372013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Decrease stack usage in mdraid 0.9x.
540
541 We have only 92K of stack and using over 4K per frame is wasteful
542
543 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
544 rather than stack.
545
1a454efe
VS
5462013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
547
548 Decrease stack usage in BtrFS.
549
550 We have only 92K of stack and using over 4K per frame is wasteful
551
552 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
553 rather than stack.
554
7b5d51d8
VS
5552013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
556
557 Decrease stack usage in JFS.
558
559 We have only 92K of stack and using over 4K per frame is wasteful
560
561 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
562 stack. Note: this function is recursive.
563 (grub_jfs_read_inode): Read only part we care about.
564
593865b9
LL
5652013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
566
567 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
568 handling
7b5d51d8 569
31c0cd43
AB
5702013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
571
572 * configure.ac: Restore -nostdlib for libgcc symbols tests.
573
c2fdb331
AB
5742013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
575
576 * docs/grub.texi (Environment): Document cmdpath.
577
9e18dfe2
AB
5782013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
579
580 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
581 Remove "unused" attribute from arguments, they are used.
582
59ba9d14
CW
5832013-11-15 Colin Watson <cjwatson@debian.org>
584
585 * .gitignore: Only ignore grub-mk* at the top level.
586
23012db9
CW
5872013-11-15 Colin Watson <cjwatson@ubuntu.com>
588
589 * util/grub-reboot.in (usage): Fix a typo.
590
6fcec439
VS
5912013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
592
593 Replace libgcc version of ctz with our own.
594
595 On upcoming arm64 port libgcc ctz* are not usable in standalone
596 environment. Since we need ctz* for this case and implementation is
597 in C we may as well use it on all concerned platforms.
598
a9f25a08
VS
5992013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * configure.ac: Probe for linking format rather than guessing it based
602 on target_os.
603
c7995256
VS
6042013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
607 "1" prior to handoff.
608
609 Reported by: M A Young.
610
e1aa5b66
VS
6112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
614 \0 to all files.
615
616 Reported by: M A Young.
617
da5ed5cf
VS
6182013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
621 compilation on NetBSD.
622
5757a93e
VS
6232013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * acinclude.m4: Don't add -P on initial nm test.
626
627 Note: even though this patch postdates Andrey's it bears 14 Nov as
628 date due to timezone difference.
629
a5986276
AB
6302013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
631
632 * grub-core/Makefile.core.def (signature_test): Add missing
633 tests/signatures.h.
634
0de172a0
CW
6352013-11-14 Colin Watson <cjwatson@ubuntu.com>
636
637 * util/grub-install_header: Set localedir here, since this file is
638 where it's used.
639 * util/grub-install.in: Remove setting of localedir.
640 * util/grub-mkrescue.in: Likewise.
641
da45f43c
VS
6422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
645
20aea949
VS
6462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * configure.ac: Move nm checks to the end.
649 Call grub_PROG_NM_WORKS.
650 * acinclude.m4: New check grub_PROG_NM_WORKS.
651 Use $TARGET_CFLAGS -c when compiling test binary.
652
1326b9ae
CW
6532013-11-14 Colin Watson <cjwatson@ubuntu.com>
654
655 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
656 unused variables.
657
1fe26ab4
MG
6582013-11-14 Matthew Garrett <mjg@redhat.com>
659
660 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
661 cmdpath to firmware directory.
662
83e9c273
VS
6632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
666 at the start of second iteration.
667
ec525c18
VS
6682013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
671
93fcc7ad
VS
6722013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * Makefile.am (default_payload.elf): New target for easier coreboot
675 build.
676
57ffe934
VS
6772013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
680 clang (not necessarry with -no-integrated-as).
681 * include/grub/symbol.h [__arm__]: Likewise.
682
2312f06c
VS
6832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * configure.ac: Use -no-integrated-as on arm with clang.
686 * INSTALL: Mention ARM compilation with clang.
687
2416415c
VS
6882013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
691 -mthumb-interwork.
692
5da55172
CW
6932013-11-14 Colin Watson <cjwatson@ubuntu.com>
694
695 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
696 code for indirect block handling.
697
698 Saves 185 bytes on compressed image.
699
da770328
PFS
7002013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
701
702 Fix make clean.
703
704 * Makefile.am: Remove build-grub-* in make clean.
705
f02e6b56
PFS
7062013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
707
708 New files to gitignore.
709
710 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
711 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
712
035a26c1
LL
7132013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
714
715 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
716
bc8a6137
LL
7172013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
718
719 * .gitignore: fix rules for .dep* and add *.a post git migration
720
6fe506b0
CW
7212013-11-13 Colin Watson <cjwatson@ubuntu.com>
722
723 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
724 to match INSTALL.
725
81a2e438
CW
7262013-11-13 Colin Watson <cjwatson@ubuntu.com>
727
728 * grub-core/kern/misc.c: Don't redirect divisions in the
729 GRUB_UTIL case.
730 * include/grub/misc.h: Likewise.
731
9b45c073
CW
7322013-11-13 Colin Watson <cjwatson@ubuntu.com>
733
734 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
735 systems that require checking the return value of write.
736
11b2a9b7
CW
7372013-11-13 Colin Watson <cjwatson@ubuntu.com>
738
739 * util/grub-install.in (efi_quiet): Fix inverted logic: make
740 efibootmgr quiet when --debug is not used, rather than when it is.
741
d743d22d
CW
7422013-11-13 Colin Watson <cjwatson@ubuntu.com>
743
744 * gentpl.py (define_macro_for_platform_dependencies): Remove
745 first (and thus unused) of two definitions for this function.
746 (platform_dependencies): Likewise.
747
11da14b5
CW
7482013-11-13 Colin Watson <cjwatson@ubuntu.com>
749
750 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
751 functions, we only need to check this for the target, not the host.
752 * configure.ac (grub_apple_cc): Likewise.
753
2bdd0719
VS
7542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
757 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
758 asm to stay in arm even if surrounding is thumb.
759
5e77d9cf
VS
7602013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
763 helper functions are needed for thumb.
764
7d511625
VS
7652013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
768 level / 3 division explicitly unsigned. Saves few bytes.
769
81023dbd
VS
7702013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
773
b2e9294f
VS
7742013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
777 division.
778
16a22c38
VS
7792013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
782 grub_uboot_boot_data to asm part.
783
c9cd02c9
VS
7842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
787 literal load.
788 (grub_uboot_syscall): Save/restore r9 and align stack.
789
81498615
VS
7902013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
793
ea57de18
VS
7942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
797 occurencies with END.
798
d0d1e3da
CW
7992013-11-13 Colin Watson <cjwatson@ubuntu.com>
800
801 * util/grub-editenv.c (help_filter, argp): Document how to delete
802 the whole environment block.
803 Reported by Dan Jacobson. Fixes Debian bug #726265.
804
3809f016
CW
8052013-11-13 Colin Watson <cjwatson@ubuntu.com>
806
807 * docs/grub.texi (Internationalisation, Supported kernels): Fix
808 sectioning.
809
46d8a203
JT
8102013-11-13 Josh Triplett <josh@joshtriplett.org>
811
812 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
813 increment/decrement.
814
513eeb61
VS
8152013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
818 compiling with clang.
819
bc379c1a
VS
8202013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
823 ".".
824
8252013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 826
16057d6b
VS
827 Redirect all divisions to grub_divmod64.
828
f649a6a8
VS
8292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
832
ef28ee8b
VS
8332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Add missing includes of loader.h.
836
300f48c5
VS
8372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * configure.ac: Allow disabling themes.
840
2d357558
LS
8412013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
842
843 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
844
0c62a5b2
VS
8452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
848 until it becomes operational.
849
b0720b49
VS
8502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/Makefile.core.def (legacy_password_test): Disable
853 on platforms where no legacycfg is compiled.
854 * grub-core/tests/lib/functional_test.c: Tolerate failure to
855 load legacy_password_test.
856
d5bab2c0
VS
8572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
860
3ea0ccb3
VS
8612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/efiemu/prepare.c: Remove variable length arrays.
864
08772054
VS
8652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
868 strict-aliasing warning.
869 (fsync): Silence cast warning.
870
1dcb2715
VS
8712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/commands/verify.c: Remove variable length arrays.
874 Load gcry_dsa/gcry_rsa automatically.
875
61c22fdf
VS
8762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/tests/signature_test.c: New test.
879
431e57a7
VS
8802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
883 API.
884
b521bb81
VS
8852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/tests/legacy_password_test.c (vectors): Make static.
888 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
889
7d06b24e
VS
8902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
893
3bbeade4
VS
8942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/fs/proc.c: Allow \0 in proc files.
897
ba82db7a
VS
8982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
901
801564c8
VS
9022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
905
ac8cac1d
VS
9062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/fs/ext2.c: Remove variable length arrays.
909
4b85f122
VS
9102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
913 length arrays.
914
c35fcdc0
VS
9152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
918 * grub-core/disk/cryptodisk.c: Likewise.
919 * grub-core/disk/geli.c: Likewise.
920 * grub-core/disk/luks.c: Likewise.
921
15decd26
VS
9222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/tests/legacy_password_test.c: New test.
925 * grub-core/commands/legacycfg.c: Remove variable length arrays.
926
9c6482b8
VS
9272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
930
41f26e0e
VS
9312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/tests/pbkdf2_test.c: New test.
934
2def6616
VS
9352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
938
9e34a34e
VS
9392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/io/lzopio.c: Remove variable length arrays.
942
5ccaf904
VS
9432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * include/grub/crypto.h: Add maximums on hash size and cipher block
946 size.
947
44a387e0
VS
9482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
951
a388e255
VS
9522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/tests/xnu_uuid_test.c: New test.
955
a1ef7718
VS
9562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
959 covers it).
960
65ddb300
VS
9612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/commands/hashsum.c: Remove variable length arrays.
964
31747dd5
VS
9652013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
968 condition.
969 * tests/grub_func_test.in: Increase memory allocation.
970
6a74c4df
VS
9712013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
974 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
975 sys/mount.h.
976
394c3e0a
VS
9772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
980 (grub_util_get_fd_size_os): ...this.
981 (grub_hostdisk_flush_initial_buffer): New empty function.
982
60d31116
VS
9832013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/gensyminfo.sh.in: Handle the case of portable output
986 without --defined-only.
987
8445b011
VS
9882013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
991 rip-relative addressing in prologue.
992
8506a641
VS
9932013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
996 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
997
66acd9d6
VS
9982013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1001 Add missing semicolon.
1002
348d0535
VS
10032013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1006
0d2d30bb
VS
10072013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * configure.ac: Check for lzma.h for enabling liblzma and allow
1010 manual disabling.
1011
631187be
VS
10122013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Add missing includes of loader.h.
1015
e756ec82
FZ
10162013-11-11 Fam Zheng <famcool@gmail.com>
1017
1018 * util/grub.d/30_os-prober.in: Add minix entry.
1019
87d62d7d
VS
10202013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1023 right buffer for temporary load.
1024
5460cfeb
VS
10252013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1028
89977306
VS
10292013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1032 payload.
1033
3617c59b
VS
10342013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1037 not Types.h.
1038 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1039 environment.
1040 (LzmaDec_InitDicAndState): Make static.
1041
881c6a10
VS
10422013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1045
2024ade2
VS
10462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1049
1050 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1051
674ad4f6
VS
10522013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * docs/grub-dev.texi: Replace bzr references with git ones.
1055
5b99970e
AB
10562013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1057
1058 * docs/grub.texi (Simple configuration): Remove reference to
1059 grub-reboot from saved default entry description - grub-default
1060 does not use it anymore.
1061
3c2304d5
VS
10622013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1065 compiled with.
1066
80cfd940
AB
10672013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1068
1069 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1070
33690255
VS
10712013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 Fix grub_machine_fini bitrot.
1074
1075 Reported by: Glenn Washburn.
1076
c61471fc
VS
10772013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1080
54da019f
VS
10812013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1084 -DELF.
1085 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1086 instead of ELF*.
1087
10882013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1089
1090 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1091 Add -march=core2 when testing compile of efiemu64.
1092
1093 Thanks Andrey Borzenkov for spotting this.
1094
9612ebc0
VS
10952013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1098 XEN PV environment and load kernels.
1099
1a46a3a4
VS
11002013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1103 * grub-core/loader/multiboot_mbi2.c: Likewise.
1104
2df12551
VS
11052013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1108 handling.
1109
3c980381
VS
11102013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1113
1114 Tested by: Denis 'GNUtoo' Carikli.
1115
800f63d3
VS
11162013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1119
9f8acdaa
VS
11202013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1121
5620eb53
VS
1122 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1123 Use to get rounded angle rather than truncated.
1124
11252013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1128 RTS/CTS flow control.
1129
2dc1eb6c
VS
11302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1133 divisions.
1134
b9563c94
VS
11352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1138 Use grub_fatal rather than divide by zero.
1139 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1140
d6d8e9a9
VS
11412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1144 truncate.
1145 (grub_fixed_fsf_divide): Likewise.
1146
d06de6c8
VS
11472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1150 division by-zero and senseless negative divisions.
1151
6af7d49b
VS
11522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1155 division by-zero and senseless negative divisions.
1156 (circprog_set_property): Don't accept negative num_ticks.
1157
bcfa6d72
VS
11582013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1161 division by-zero and senseless negative divisions.
1162
dd7f792c
VS
11632013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * configure.ac: Use elf_*_fbsd on kfreebsd.
1166
d061fda7
VS
11672013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/tests/div_test.c: New test.
1170
4db22500
VT
11712013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1172
1173 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1174 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1175 * grub-core/gfxmenu/view.c: Likewise.
1176 * grub-core/video/fb/video_fb.c: Introduce new functions:
1177 grub_video_set_area_status, grub_video_get_area_status,
1178 grub_video_set_region, grub_video_get_region.
1179 * grub-core/video/bochs.c: Likewise.
1180 * grub-core/video/capture.c: Likewise.
1181 * grub-core/video/video.c: Likewise.
1182 * grub-core/video/cirrus.c: Likewise.
1183 * grub-core/video/efi_gop.c: Likewise.
1184 * grub-core/video/efi_uga.c: Likewise.
1185 * grub-core/video/emu/sdl.c: Likewise.
1186 * grub-core/video/radeon_fuloong2e.c: Likewise.
1187 * grub-core/video/sis315pro.c: Likewise.
1188 * grub-core/video/sm712.c: Likewise.
1189 * grub-core/video/i386/pc/vbe.c: Likewise.
1190 * grub-core/video/i386/pc/vga.c: Likewise.
1191 * grub-core/video/ieee1275.c: Likewise.
1192 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1193 * include/grub/video.h: Likewise.
1194 * include/grub/video_fb.h: Likewise.
1195 * include/grub/fbfill.h: Updated render_target structure.
1196 grub_video_rect_t viewport, region, area
1197 int area_offset_x, area_offset_y, area_enabled
1198 * include/grub/gui.h: New helper function
1199 grub_video_bounds_inside_region.
1200 * docs/grub-dev.texi: Added information about new functions.
1201
c6b755df
VS
12022013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1205 for alignment.
1206
e2a68100
VS
12072013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1210 missing attribute.
1211 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1212
c4f11a2a
VS
12132013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1216 simple division on arm and ia64.
1217
e0a7bffa
VS
12182013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1221 link with libgcc.
1222
38b864ea
VS
12232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1226
12359faf
VS
12272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1230 prefix symbol, not @.
1231
9fdc64a9
VS
12322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * INSTALL: Add note about older gcc and clang.
1235
665c575b
VS
12362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1239
47dcf7b1
VS
12402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1243 NULL pointer dereference.
1244
d59849b2
VS
12452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1248 clang.
1249
7a3f4a18
VS
12502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1253 warnings.
1254
7f084087
VS
12552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1258 function.
1259 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1260 * grub-core/disk/geli.c (ascii2hex): Likewise.
1261
d5524ca8
VS
12622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * configure.ac: Run linker tests without -Werror.
1265 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1266 Change all occurences of -static-libgcc resp -lgcc to
1267 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1268
390cd7ca
VS
12692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1272
60375a88
VS
12732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Allow compiling with clang (not really supported though).
1276
1277 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1278 unconditionally.
1279 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1280 Add -mrtd -mregparm=3 on i386 when not using clang.
1281 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1282
dd07e0c4
VS
12832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1286 bindings.
1287 * grub-core/lib/reed_solomon.c: Likewise.
1288 * include/grub/i386/gdb.h: Likewise.
1289 * include/grub/i386/pc/int.h: Likewise.
1290 * include/grub/i386/pc/pxe.h: Likewise.
1291 * include/grub/ieee1275/ieee1275.h: Likewise.
1292
9d3ae8ec
VS
12932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Import libgcrypt 1.5.3.
1296
c12936c5
VS
12972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * configure.ac: Don't add -Wcast-align on x86.
1300
cdc17f60
VS
13012013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * configure.ac: Add -freg-struct-return on all platforms that
1304 support it.
1305
b35ec299
VS
13062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * acinclude.m4: Use -Werror on parameter tests.
1309 * configure.ac: Likewise.
1310
05f3a0d7
VS
13112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1314
c966a489
VS
13152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * configure.ac: Check that -malign-loops works rather than assuming that
1318 either -falign-loops or -malign-loops work.
1319
bb0c57ec
VS
13202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1323
24f4e57c
VS
13242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * configure.ac: Prevent cflags leaking to subsequent tests by always
1327 resetting cflags to target_cflags in target tests.
1328
ac319fbc
VS
13292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1332 function.
1333
4bfe934c
VS
13342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1337
40a5bfde
VS
13382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1341
a67c755e
VS
13422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/normal/cmdline.c (grub_cmdline_get):
1345 Remove nested functions.
1346
87a04a2d
VS
13472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * tests/test_sha512sum.in: Make it work on emu.
1350
c03995d2
VS
13512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1354 functions.
1355 (grub_bidi_line_logical_to_visual): Likewise.
1356
ec0ebb3f
VS
13572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Remove vestiges of -Wunsafe-loop-optimisations.
1360
1361 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1362 -Wno-unsafe-loop-optimisations.
1363 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1364 pragma.
1365 * grub-core/io/gzio.c: Likewise.
1366 * grub-core/script/parser.y: Likewise.
1367 * grub-core/script/yylex.l: Likewise.
1368 * util/grub-mkfont.c: Likewise.
1369
6ab537e3
VS
13702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * util/grub-mkfont.c (process_cursive): Remove nested function.
1373
e6c368d4
VS
13742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1377 (grub_boot_time): Likewise.
1378
4f1cfd22
VS
13792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * include/grub/symbol.h (FUNCTION): Use @function rather than
1382 "function".
1383 (VARIABLE): Likewise.
1384
6d5a4cee
VS
13852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1388
f06c2172
VS
13892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1392 (parse_dhcp_vendor): Likewise.
1393
7cb24eb5
VS
13942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1397
f30c692c
VS
13982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1401 Define after defining type and not before.
1402
8b66bb5d
VS
14032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1406 type.
1407 (grub_gcm_decrypt): Likewise.
1408 (algo_decrypt): Likewise.
1409 (grub_zfs_decrypt_real): Transform error type.
1410
5d17fd0f
VS
14112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1414
ac35a0f7
VS
14152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1418 (grub_usbms_cbi_reset): Likewise.
1419 (grub_usbms_bo_reset): Likewise.
1420 (grub_usbms_reset): Likewise.
1421 (grub_usbms_attach): Likewise.
1422 (grub_usbms_transfer_cbi): Likewise.
1423
3ee08697
VS
14242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1427 "checksum = checksum;".
1428
70bb6c85
VS
14292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1432 entry_type.
1433
c7f34744
VS
14342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1437 BIOS disk check.
1438
3f63b4d8
VS
14392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1442 type.
1443 (grub_ehci_fini_hw): Likewise.
1444 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1445
dac6ce73
VS
14462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1449 return grub_usb_err_t for cosistency. All users updated.
1450
5701750c
VS
14512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1454 assigning to itself.
1455
9e236169
GLD
14562013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
14572013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1458
1459 Issue separate DNS queries for ipv4 and ipv6
1460
1461 Adding multiple questions on a single DNS query is not supportted by
1462 most DNS servers. This patch issues two separate DNS queries
1463 sequentially for ipv4 and then for ipv6.
1464
1465 Fixes: https://savannah.gnu.org/bugs/?39710
1466
1467 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1468 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1469 * (grub_net_dns_lookup): Now using separated dns packages.
1470 * (grub_cmd_nslookup): Add error condition.
1471 * (grub_cmd_list_dns): Print DNS option.
1472 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1473 --prefer-ipv4, and --prefer-ipv6.
1474 * include/grub/net.h (grub_dns_option_t): New enum.
1475 * (grub_net_network_level_address): option added.
1476
339eacce
VT
14772013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1478
1479 * grub-core/video/fb/video_fb.c: Merge two blit functions
1480 into one.
1481
810f991b
VS
14822013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/term/terminfo.c: Add sequences for home and end.
1485
386571a2
VS
14862013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1489 graphics console.
1490
3fe63754
VS
14912013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1494 add mode 0x12.
1495
76681e71
VS
14962013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1499 e-mail by Per Öberg.
1500
46522fb7
VS
15012013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1504 name.
1505
e7d09ac4
AB
15062013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1507
1508 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1509 emu platforms.
1510 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1511
67508925
VS
15122013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * docs/grub.texi: Document usage of menuentry id.
1515
0c62124e
VS
15162013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1519
9b5d4eed
PL
15202013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1521
1522 * grub-core/commands/i386/nthibr.c: New command.
1523
79054c1d
VS
15242013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1527
44d47bbe
VS
15282013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1531 coordinate.
1532
323de05b
VS
15332013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Support GRUB_DISABLE_SUBMENU config.
1536
1537 Inspired by patch from Prarit Bhargava.
1538
5a01722e
VS
15392013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * docs/grub.texi: Mention RSA support.
1542
1106c3f0
VS
15432013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/commands/verify.c: Add RSA support.
1546
a1dcc2cb
VS
15472013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1550 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1551 device is known to be ATAPI.
1552
ee7fb780
MF
15532013-11-03 Mike Frysinger <vapier>
1554
1555 * configure.ac: Don't add target-prefix.
1556
5ade4a42
VS
15572013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1560 variables.
1561
6cd66043
VS
15622013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1565 if language is English.
1566
090d7c81
VS
15672013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1570
dd614590
VS
15712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * configure.ac: Don't add -m32/-m64 on emu.
1574
a8686589 15752013-11-02 neil
1576
1577 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1578 broken linux headers.
1579
fb9f12a0
VS
15802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1583
e25f8e1f
VS
15842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1587 Reed-Solomon recovery if more than half of redundancy info is 0.
1588
4685200f
VS
15892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * util/grub-mount.c: Handle symlinks to directories.
1592
1397f0b5
VS
15932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1596 find_file recursively for symlink.
1597
8b3e6eb6
VS
15982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * tests/util/grub-shell.in: Copy themes.
1601
a0c9d5c6
VS
16022013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1605
5cf9459c
VS
16062013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * configure.ac: Use 0x8000 for address instead of 8000.
1609
e7b66a28
VS
16102013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1613 signature.
1614
203f53fb
VS
16152013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1618 variable.
1619
02663ee9
VS
16202013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1623
f169f65e
VS
16242013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1627 file_progress_read_hook.
1628 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1629
2855a0fc
VS
16302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1633 and double.
1634
bf0f3a8c
VS
16352013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1638
cb72aa18
VS
16392013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Rewrite blocklist functions in order to get progress when
1642 reading large extents and decrease amount of blocklist hook calls.
1643
896f9135
VS
16442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1647 of SI suffixes.
1648
89295a06
VS
16492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 Support --base-clock for serial command to handle weird cards with
1652 non-standard base clock.
1653
eb03ede0
VS
16542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1657 strncpy.
1658 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1659 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1660 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1661 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1662 + strcpy rather than strncpy.
1663
8fbe5c7d
VS
16642013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1667 (check_pool_label): Likewise. Fixes overflow.
1668 (nvlist_find_value): Fix comparison.
1669
e54b8f53
VS
16702013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1673 more appropriate functions.
1674
fa9b3dca
VS
16752013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1678 realloc.
1679
9a021c55
VS
16802013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1683
80e8b13a
VS
16842013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1687 on core size.
1688
b61599ac
VS
16892013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1692
a602dc54
VS
16932013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1696 (initialize_tables): reset tl and td to NULL after freeing.
1697
93c12075
VS
16982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1701
1ca4b75e
VS
17022013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1705 of supported tags.
1706
329550c4
VS
17072013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1710
00bfa988
VS
17112013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1714 quirks.
1715
81afc5cc
VS
17162013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1719 a page in protected space.
1720
cb3c4a47
VS
17212013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1724 allocate space for zero-sized modules.
1725
954f7bf5
VS
17262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1729
526d3d25
FL
17302013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1731
1732 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1733
74124c34
VS
17342013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1737 safeguards. Fixes a crash with i386/pc/console.c.
1738
5177391e
VS
17392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1742 and grub_hostfs_init.
1743
64db14b0
VS
17442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1747 windows method on other platforms without good stat as well.
1748
effe2036
VS
17492013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1752
82591fa6 17532013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1754
82591fa6
VS
1755 Make / in btrfs refer to real root, not the default volume.
1756 Modify mkrelpath to work even if device is mounted with subvolid option.
1757
17582013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1759
1760 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1761 extra_dist.
1762 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1763 extra_dist.
1764
30fd7198
VS
17652013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1768 fails.
1769
8d179dae
BC
17702013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1771
1772 * docs/autoiso.cfg: New file.
1773
3bc9c8cf
VS
17742013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1777 COND_GRUB_PE2ELF conditions.
1778
8b46b0ea
VS
17792013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1782 "vnd", "rd" and "fd" disks.
1783
442b86de
VS
17842013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Move grub_disk_write out of kernel into disk.mod.
1787
04dea7e6
VS
17882013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1791 handling.
1792
17932013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1794
1795 * grub-core/kern/misc.c (grub_abort): Make static
1796
04dea7e6 17972013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1798
1799 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1800 transform invalid unicode codepoints.
1801
04dea7e6 18022013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1803
1804 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1805 \0 checking.
1806
03dcac7f
VS
18072013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1810
c81acb7f
VS
18112013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Consolidate cpuid code.
1814
c1bee646
VS
18152013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Move cpuid code to cpuid.h and TSC code to tsc.c.
1818
f37bf9c7
GS
18192013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1820
1821 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1822
4021132b
GS
18232013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1824
1825 * util/grub-mkconfig.in: Replace $0 with $self.
1826 * util/grub-reboot.in: Likewise.
1827 * util/grub-set-default.in: Likewise.
1828
3ace8d75
BC
18292013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1830
1831 * docs/osdetect.cfg: New file.
1832
1e6ad6a6
BC
18332013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1834
1835 * tests/util/grub-shell.in: Add new --debug option.
1836
188929eb
BC
18372013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1838
1839 * tests/test_unset.in: New test.
1840
7994a09a
BC
18412013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1842
1843 * tests/test_sha512sum.in: New test.
1844
2a8a7585
VS
18452013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1848 * include/grub/misc.h: Remove strncat.
1849 * grub-core/lib/posix_wrap/string.h: Likewise.
1850
cf8d6bbd
VS
18512013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1854 Try to handle more than 0xFFFF packets.
1855 Reported by: Bernhard Übelacker <bernhardu>.
1856 He also spotted few overflows in first version of this patch.
1857
6d1fc99a
VS
18582013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * tests/date_unit_test.c: New test.
1861
10bafa1c
VS
18622013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1865 of first three years after start of validity of unixtime.
1866
b1c6d037
VS
18672013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1870 division as the one making more sense.
1871 (update_screen): Likewise.
1872 (complete): Likewise.
1873
5f4028d4
VS
18742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1877
a2856736
VS
18782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 Make char and string width grub_size_t rather than grub_ssize_t.
1881
0a7e52b2
VS
18822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1885 unsigned.
1886 (grub_history_replace): Likewise.
1887
42829573
VS
18882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1891 appropriate.
1892
3523b8d8
VS
18932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1896 appropriate.
1897
d43c6489
VS
18982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1901 Use unsigned divisions rather than signed variants.
1902
f690f8b0
VS
19032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1906 unsigned arithmetics.
1907 Add missing break.
1908
74ff2c05
VS
19092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1912
fb56391e
VS
19132013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1916 rather than signed one.
1917 (recovery): Likewise.
1918
40f29060
VS
19192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1922
c64577a5
VS
19232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1926 than signed.
1927
c16535a8
JM
19282013-10-25 Jon McCune <jonmccune@google.com>
1929
1930 * docs/grub.texi: Cleanup security documentation around signatures.
1931
6673d8e7
VS
19322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1935
a105d375
VS
19362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1939 than int.
1940
af81ed88
VS
19412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1944 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1945 functions when compiling for kernel.
1946
ea899a57
VS
19472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1950 unsigned long long when using %llu.
1951
c6dc6fa1
VS
19522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1955 terminal after updating progress.
1956
ad2dc003
VS
19572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1960 argument. We don't disable Gate A20 in this code.
1961
b46684ae
VS
19622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1965 Conceptually based on change in branch "vbe-on-coreboot".
1966
f70d5c07
RM
19672013-10-24 Robert Millan <rmh@gnu.org>
1968
1969 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1970 numeric constants with their symbolic equivalent.
1971 Taken from branch "vbe-on-coreboot".
1972
bca274b4
VS
19732013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1976
238f0489
VS
19772013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1980 divmod64 for offset division.
1981
863c590b
PFS
19822013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1983
1984 Rename .bzrignore to .gitignore. Add "*.o" rule.
1985
1986 * .bzrignore: Renamed to...
1987 * .gitignore: ...this.
1988
84a0e969
PFS
19892013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1990
1991 Add new progress module that displays the load progress of files.
1992
1993 * grub-core/lib/progress.c: New file.
1994 * grub-core/Makefile.core.def (progress): New module.
1995 * grub-core/kern/file.c (grub_file_open): File name added.
1996 * (grub_file_read): Progress hook added.
1997 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1998 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1999 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2000 * include/grub/file.h (struct grub_file): Add progress module members.
2001 * include/grub/term.h (struct grub_term_output): Likewise.
2002 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2003 Terminal velocity added.
2004 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2005 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2006 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2007 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2008 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2009 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2010 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2011 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2012 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2013 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2014 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2015 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2016
0d711431
VS
20172013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Verify signatures of signatures unless --skip-sig is specified.
2020
f8401f76
VS
20212013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2024 \0 checking.
2025
2026 Saves 70 bytes on compressed image.
2027
ac1feb61
VS
20282013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2031 check.
2032
2033 Saves 10 bytes on compressed image.
2034
00f72e89
VS
20352013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/misc.c (grub_isprint): Move to ...
2038 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2039
2040 Saves 20 bytes on compressed image due to remving exporting.
2041
067e6ae7
VS
20422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2045
2046 Saves 5 bytes on compressed image.
2047
64a6c791
VS
20482013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2051 function get_utf8.
2052
2053 Saves 379 bytes on compressed image.
2054
979d9f52
VS
20552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2058
1437da54
VS
20592013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2062
2063 Saves 40 bytes on compressed image.
2064
d9ee2269
VS
20652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2068 mask rather than 64-bit type.
2069
2070 Saves 20 bytes on compressed image.
2071
63efa602
VS
20722013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2075 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2076
47601ffe
VS
2077 Saves 273 bytes on compressed image.
2078
2cc679ad
VS
20792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2082 variable length arrays.
2083
2084 Saves 50 bytes on compressed image.
2085
2e4659b8
VS
20862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2089
2a40badf
VS
20902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/fs/ufs.c: Remove variable length arrays.
2093
1ba6b9b9
VS
20942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2097
f3e39341
VS
20982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/fs/zfs.c: Remove variable length arrays.
2101 Reduces zfs.mod by 160 bytes (208 compressed).
2102
71523935
VS
21032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2106
28153eb8
VS
21072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/net/arp.c: Remove variable length arrays.
2110 * grub-core/net/bootp.c: Likewise.
2111 * grub-core/net/dns.c: Likewise.
2112 * grub-core/net/icmp6.c: Likewise.
2113 * grub-core/net/net.c: Likewise.
2114
88ce4cd7
VS
21152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/fs/ntfs.c: Remove variable length arrays.
2118 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2119 compressed).
2120
66123940
VS
21212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/fs/hfs.c: Remove variable length arrays.
2124 Reduces hfs.mod by 8 bytes (52 compressed).
2125
0927e5bd
VS
21262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2129 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2130 compressed).
2131
9c12ac97
VS
21322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2135 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2136 compressed).
2137
97ec2d71
VS
21382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2141 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2142 compressed).
2143
156e4ea0
VS
21442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/fs/xfs.c: Remove variable length arrays.
2147 Reduces xfs.mod by 40 bytes (43 compressed).
2148
3b502c29
VS
21492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/fs/fshelp.c: Remove variable length arrays.
2152 Reduces fshelp.mod by 116 bytes (23 compressed).
2153
c7037f1d
VS
21542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/normal/completion.c: Remove variable length arrays.
2157 * grub-core/normal/menu_entry.c: Likewise.
2158
2159 Reduces normal.mod by 496 bytes.
2160
a07e6ad0
VS
21612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2164 by 356 bytes (158 compressed).
2165
2359bf88
VS
21662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2169 by 364 bytes (169 compressed).
2170
d28e1163
VS
21712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2174 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2175 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2176
e89c2d48
VS
21772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2180 bitmasks to small structures of size chosen to fit in registers.
2181
7abdac8e
VS
21822013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * conf/Makefile.common: Use -freg-struct-return on i386. This
2185 decreases code size and improves performance.
2186
518864c0
VS
21872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2190
bbd2b539
VS
21912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2194 "(null)" string.
2195 Simplify expressions to save around 256 bytes in kernel.img.
2196 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2197
99519c15
VS
21982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2201 Use GRUB_UTIL_FD_O_* rather than O_*.
2202
20285765
VS
22032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Add haiku-specific functions.
2206
887c0bb6
VS
22072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2210
cd78a56f
VS
22112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Move stat () and device mode checking into OS-dependent files as
2214 long as performance doesn't suffer.
2215
a4012f07
VS
22162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Split make_system_path_relative_to_its_root into separate file
2219 relpath.c from getroot.c as it's common between unix and haiku
2220 but otherwise haiku doesn't use any functions from unix getroot.c.
2221
31de274d
VS
22222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2225 New function.
2226 (grub_util_is_special_file): Likewise.
2227
40346de6
VS
22282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2231 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2232
d3923ab9
VS
22332013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2236 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2237
663f6eb1
VS
22382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2241 (load_image): Likewise.
2242
44d1c20a
VS
22432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * util/grub-render-label.c: Move backend part to ...
2246 * util/render-label.c: ... here.
2247
d0a116ee
VS
22482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2251 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2252
b47fcae6
VS
22532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2256
0f7c00c1
VS
22572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2260 CD-ROM in case when it's declared as having subpartitions.
2261
29013cba
VS
22622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Don't add -lm on haiku.
2265
2266 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2267 and empty on haiku.
2268 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2269 -lm.
2270
e8559d24
VS
22712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * configure.ac: Use -melf_*_haiku as target on haiku.
2274
8104063c
VS
22752013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * Makefile.util.def: Add util/setup.c to extra_dist.
2278
fc3182c7
VS
22792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2282 unknown types through.
2283
f90a3cc0
VS
22842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2287 (grub_util_check_char_device): Likewise.
2288 * include/grub/emu/getroot.h: Likewise.
2289
1e3e7419
VS
22902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2293 memset rather than inline static function.
2294
92c88fc8
VS
22952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2298 not doing embedded decompressor.
2299
3cd910a2
VS
23002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2303 shadowing.
2304 * grub-core/kern/disk.c: Likewise.
2305 * grub-core/kern/misc.c: Likewise.
2306 * include/grub/parser.h: Likewise.
2307 * include/grub/script_sh.h: Likewise.
2308 * include/grub/zfs/zfs.h: Likewise.
2309
7b3aca00
VS
23102013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2313
97dfe7e4
VS
23142013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2317 defined before trying to use it.
2318
bf919aa9
VS
23192013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2322 warning.
2323
f4ccf29d
VS
23242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2327 Use __unused__ rather than __used__ on gcc < 3.2.
2328
0d3a6f85
VS
23292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2332 gcc < 4.0.
2333 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2334
757e3eb7
VS
23352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2338
fb320faf
VS
23392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2342 * include/grub/emu/misc.h: Likewise.
2343
ea73acd2
VS
23442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2347 cur_color.
2348
71237a6f
VT
23492013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2350
2351 * grub-core/tests/checksums.h: Regenerated due to progress bar
2352 get_minimal_size changes.
2353
3d46c22f
BC
23542013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2355
2356 Added `tr' command support.
2357
2358 * grub-core/commands/tr.c: New file.
2359 * grub-core/Makefile.core.def: Build rules for new module.
2360
2361 * tests/grub_cmd_tr.in: New test.
2362 * Makefile.util.def: Build rules for new test.
2363
47e0a61f
VT
23642013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2365
2366 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2367
946fd073
VT
23682013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2369
2370 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2371 * docs/gurb.texi: Likewise.
2372
9c13c576
VT
23732013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2374
2375 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2376 Pixmap highlighted section with east and west slices was displayed
2377 incorrectly due to negative width of the central slice.
2378
ad543f12
VT
23792013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2380
2381 * docs/grub.texi: Graphical options information update.
2382 Removed outdated. Updated current. Inserted missed.
2383
6176a0cd
VS
23842013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * docs/grub.texi: Mention few new platform-specific commands.
2387
9688cae2
VS
23882013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2391 currently used so this doesn't really have any effect.
2392 Reported by: Douglas Ray <dougray>
2393
f7b69a3f
VS
23942013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2397 compilation but prevents gcc from displaying messages in non-Latin
2398 alphabets.
2399 * conf/Makefile.common: Likewise.
2400
ceca6ddf
HY
24012013-10-16 Hiroyuki YAMAMORI
2402
2403 Handle Japanese special keys.
2404 Reported by: Hiroyuki YAMAMORI.
2405 Codes supplied by: Hiroyuki YAMAMORI.
2406
ac48d334
VT
24072013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2408
2409 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2410
b2b71bff
VT
24112013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2412
2413 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2414 * docs/grub.texi: Likewise.
2415
669fc449
VS
24162013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2419 value in case of incomplete read.
2420 (grub_util_fd_write): Likewise.
2421
59381678
VS
24222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2425
bacfefbb
VS
24262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * util/grub-editenv.c (create_envblk_file): More from here ...
2429 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2430
f7c49570
VS
24312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2434 canonicalize file name before doing the rest.
2435
7b83ca44
VS
24362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2439 mingw32.
2440
df1e64c9
VS
24412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Define grub_util_is_directory/regular/special_file and
2444 use OS-dependent versions rather than to rely on stat().
2445
ec16e026
VS
24462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * util/grub-mkimage.c: Move backend part to ...
2449 * util/mkimage.c: ... here.
2450
4b4eeb3c
VS
24512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Allow compilation with mingw64 albeit with warnings due to lack of
2454 %llx/%llu.
2455
2456 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2457 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2458 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2459 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2460 on mingw64.
2461 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2462
f4e0adc0
VS
24632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Remove leftover references to some of the system headers.
2466
e0127364
VS
24672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2470 read.
2471
20d53541
VS
24722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2475 of strerror.
2476
5a869940
VS
24772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Split out blocklist retrieving from setup.c to
2480 grub-core/osdep/blocklist.c and add windows implementation since
2481 generic version doesn't work on NTFS on Windows due to aggressive
2482 unflushable cache.
2483
c06c7520
VS
24842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2487 files.
2488
8f53bb3f
VS
24892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2492 Cut tailing newline. Remove arbitrary limitation. Always use
2493 grub_util_tchar_to_utf8.
2494
148f1007
VS
24952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2498 * tests/printf_unit_test.c (printf_test): Add %% tests.
2499 Reported by: Paulo Flabiano Smorigo.
2500
af3b06be
VS
25012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2504 implement fsync.
2505
27f9d02e
VS
25062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2509 use nvlist_lookup_string and don't use nvlist_print.
2510
f6a81f0a
VS
25112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2514 closedir to handle filename charset translation.
2515
d7750b32
VS
25162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * include/grub/emu/hostdisk.h: Move file operations to
2519 * include/grub/emu/hostfile.h: ... here.
2520
2859196e
VS
25212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2524 unicode path.
2525
c018c968
VS
25262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2529
7e45abce
VS
25302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2533 and remove export.h.
2534
23934da2
VS
25352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/kern/emu/error.c: Removed.
2538 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2539 explicitly as it's already in libgnu.a.
2540
c11ebcc8
VS
25412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2544 config-util.h include.
2545
70671037
VS
25462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Split emunet into platform-dependent and GRUB-binding parts. Keep
2549 platform-dependent part in kernel for easy access to OS functions.
2550
25ac643a
VS
25512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2554 open/read/write.
2555
69ca5876
VS
25562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/osdep/windows/emuconsole.c: New file.
2559
d9d68ef0
AB
25602013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2561
2562 * conf/Makefile.extra-dist: Add osdep/*/init.c
2563
58e211cc
VS
25642013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2567
588744d0
VS
25682013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * util/grub-probe.c (probe): Separate different drives in hint-str
2571 by spaces and not newlines.
2572 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2573
44016e52
AB
25742013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2575
2576 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2577 Handle CD-ROMs.
2578
6de9ee86
VS
25792013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Pass-through unknown E820 types. It required reorganisation of mmap
2582 module.
2583
f8f3f155
AB
25842013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2585
2586 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2587
b73249d2
VS
25882013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2591 fseeko.
2592
dac86b18 25932013-10-14 qwertial <qwertial>
2594
2595 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2596
17614b84
JM
25972013-10-14 Jon McCune <jonmccune@google.com>
2598
2599 * docs/grub.texi: Document new signatures possibility.
2600
6de292cb
VS
26012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2604
84379b61
VS
26052013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2608 missing prototype.
2609 (grub_util_tchar_to_utf8): Likewise.
2610
21d85db1
VS
26112013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2614 * grub-core/kern/emu/main.c: Add missing include.
2615 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2616 Don't call grub_util_init_nls.
2617 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2618 Likewise.
2619
66a1b3ee
VS
26202013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2623 stat.
2624
e19bec17
VS
26252013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2628
ee8c1b29
VS
26292013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2632
bb338aaf
VS
26332013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 Add a wrapper for fopen. On unix-like systems just pass-through. On
2636 windows use unicode version.
2637
ae5540d3
VS
26382013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 Move set_program_name and init_nls to host_init. On windows
2641 fix in this fuction console and argument charset as well.
2642
4cd3c4fe
AB
26432013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2644
2645 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2646 GRUB_ENABLE_CRYPTODISK.
2647
2648 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2649 GRUB_ENABLE_CRYPTODISK.
2650 * util/grub-mkconfig_lib.in: Likewise.
2651
78170f3e
CCZ
26522013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2653
2654 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2655
3414b6c0
MC
26562013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2657
2658 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2659 error when enabling debug.
2660
6d0740e8
IB
26612013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2662
2663 * configure.ac: Use -melf_*_obsd on openbsd.
2664
ff2d4dc4
VS
26652013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2668
eac6ae82
VS
26692013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * include/grub/misc.h: Use gnu_printf rather than printf as format
2672 template since our functions are independent of libc.
2673
ba9baabe
VS
26742013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * util/grub-setup.c (setup): Move copying of partition table as
2677 futher up as possible to avoid possible overwrite by floppy routines.
2678
26792013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2680
2681 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2682
145e2369
VT
26832013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2684
2685 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2686 * docs/grub.texi: Likewise.
2687
3530bc9d
VS
26882013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2691 it's mostly unused. Move vestiges to the callers.
2692
fb9f59c3
VS
26932013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2696 version of salt and hash. Use grub_snprintf rather than snprintf.
2697
9be1c255
VS
26982013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * docs/grub.texi: Fix problem with braces.
2701
ed8c0887
VS
27022013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * conf/Makefile.extra-dist: Fix extra-dist list.
2705 * grub-core/Makefile.core.def: Likewise.
2706
f72ab14e
VS
27072013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * docs/grub.texi: Document disk names used on Windows and AROS.
2710
2fe53a22
VS
27112013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2714 with AROS devs.
2715 * grub-core/osdep/aros/hostdisk.c: Likewise.
2716
71c1d67a
VS
27172013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Avoid including hostfile.h when not necessarry as it pulls
2720 in OS-specific headers which may redefine generic names
2721 like "far".
2722
ad297ec7
VT
27232013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2724
2725 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2726 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2727 scrollbar_bottom_pad
2728 * docs/grub.texi: Likewise.
2729
6e9e5dc9
VT
27302013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2731
2732 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2733
761c718b
VS
27342013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2737
37149a2f
VS
27382013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2741 Removed.
2742 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2743 Made static.
2744
3837a151
VS
27452013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2748 leftover.
2749
caca1c70
VS
27502013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Move OS-specific driver configuration to grub_util_fd_open. This
2753 moves OS-dependent parts from kern/emu/hostdisk.c to
2754 grub-core/osdep/*/hostdisk.c.
2755
f7676b70
VS
27562013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * util/grub-mkimage.c (generate_image): Use size_t instead of
2759 grub_size_t.
2760 * util/grub-mkimagexx.c (locate_sections): Likewise.
2761 (load_image): Likewise.
2762
22f98db2
VS
27632013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2766 size_t.
2767 (grub_util_write_image): Likewise.
2768
b102ce69
VS
27692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2772 get random when no RNG is available.
2773 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2774
acbbe5cb
VS
27752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * include/grub/util/lvm.h: Removed.
2778
2112fb3f
VS
27792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2782 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2783
79f78fbf
VS
27842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2787
c2e6f705
VS
27882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2791
aabe433a
VS
27922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/net/drivers/emu/emunet.c: Move to ..
2795 * grub-core/osdep/linux/emunet.c: ..here.
2796
9a2c903f
VS
27972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * util/ieee1275/ofpath.c: Move to ...
2800 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2801 * grub-core/osdep/basic/ofpath.c: ..here.
2802
4a445f58
VS
28032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 Move password-querying (util-version) routines to grub-core/osdep.
2806
c1ca4244
VS
28072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 Move sleep routines to grub-core/osdep.
2810
672fa55e
VS
28112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Move OS-dependent files to grub-core/osdep and document it.
2814
a5b0365a
VS
28152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2818 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2819
29072e99
VS
28202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2823
f8772ea7
VS
28242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * util/misc.c: Remove leftover inclusion of malloc.h.
2827
a1a315e7
VS
28282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * include/grub/setjmp.h: Remove leftover GRUBOF.
2831
cef86fef
VS
28322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * util/raid.c: Fold into ...
2835 * util/getroot_linux.c: ... here. Make all functions static.
2836
c4cf25ee
VS
28372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2840 macros to GRUB ones.
2841
53a5f5c2
VT
28422013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2843
2844 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2845 occasional bug. If there are too many boot entries or too low
2846 scrollbar height then we need to use another formula to calculate
2847 the position and size of the scrollbar thumb.
2848
de300af2
VS
28492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2850
c4cf25ee 2851 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2852
c5827364
VT
28532013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2854
2855 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2856 * docs/grub.texi: Likewise.
2857
dd2ed8b0
VT
28582013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2859
2860 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2861 viewport.
2862
7286c384
VT
28632013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2864
ffdfc1f3
VT
2865 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2866 minimal width calculations.
7286c384 2867
ea547e14
VS
28682013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * docs/grub.texi: Update note on colors on emu console.
2871
b726be76
VS
28722013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2875 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2876 it's FS and not GRUB limitation.
2877
a5f6ade6
VS
28782013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2881
3b0f3aa2
VS
28822013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2885
1db38304
ST
28862013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2887
2888 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2889 kernels by version order.
2890
fb295fc0
VS
28912013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2894
47345010
VS
28952013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Add AROS hostdisk and getroot routines.
2898
bf25f879
VS
28992013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 Make cryptodisk and diskfilter probe data retrievable programmatically
2902 and not just printable.
2903
24ca4512
VS
29042013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 Split random retrieving code into separate files.
2907
c7c177f0
VS
29082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2911 R_ARM_V4BX.
2912
d71b45ae
VS
29132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2916 condition.
2917 * grub-core/tests/fake_input.c: Likewise.
2918 * grub-core/tests/cmdline_cat_test.c: Likewise.
2919
e44b9a83
VS
29202013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/video/capture.c: Do not do finalization when .fini
2923 is called as there is explicit capture_end.
2924
4fa60739
VS
29252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2928 changing windows to avoid crash.
2929
17c8bc37
VS
29302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2933
9d4d7977
VS
29342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * po/exclude.pot: Add several strings to exclude.
2937
0caa407c
VS
29382013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2941
9ae393da
VS
29422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2945 ./util/grub-gen-asciih.c to exclude list.
2946
498d5033
VS
29472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2950 and don't mark error strings for translation.
2951
7d93298f
VS
29522013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2955 properly in case of missing block size.
2956
b2cae20c
VS
29572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/lib/arm/setjmp.S: Add missing license section.
2960
3896d6b4
VS
29612013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * po/swiss.sed: Add replacement for key names and for term computer.
2964
ebc1da55
VT
29652013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2966
2967 * grub-core/gfxmenu/theme_loader.c: New global options for the
2968 theme background image handling. desktop-image-scale-method,
2969 desktop-image-h-align, desktop-image-v-align.
2970 * grub-core/gfxmenu/view.c: Likewise.
2971 * include/gfxmenu_view.h: Likewise.
2972 * include/bitmap_scale.h: Proportional scale functions introduced.
2973 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2974 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2975 cases of unexpected input variables for scale functions.
2976 * docs/grub.texi: Updated documentation for new options.
2977
c5739143
VS
29782013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2981
be74aeb3
VT
29822013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2983
2984 * grub-core/tests/checksums.h: Corrected due to changes in
2985 bilinear interpolation function.
2986
d999ac72
VT
29872013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2988
2989 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2990 to eliminate artefacts in bilinear interpolation.
2991
2b131610
VS
29922013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/video/readers/tga.c: Support paletted tga.
2995
de6e5ff8
VS
29962013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2999 incorrect cbcr setting when in color mode.
3000
fa31ee9c
VS
30012013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/video/readers/png.c: Support paletted images and clean up
3004 greyscale support.
3005
e84f8188
VS
30062013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3009 usage of wrong table which resulted in mishandling of 4-byte
3010 sequences.
3011
30122013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3013
3014 * grub-core/term/terminfo.c: Add Home and End key sequences.
3015
d72bff09
VS
30162013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3019 Fix formula for computing total number of bytes.
3020
29648c5d
VS
30212013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3024 image processing, fix big-endian and support grayscale.
3025
4a876492
VS
30262013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3029 Correctly will with maximum transparency when using index color.
3030
3ccf16df
VS
30312013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/video/readers/png.c: Support grayscale
3034
30352013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3036
3037 * grub-core/video/readers/jpeg.c: Support grayscale.
3038
3ccf16df 30392013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3040
3041 * grub-core/commands/loadenv.c: Support skipping signature check
3042 and variable names filtering.
3043
30b7f58f
VS
30442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3047 * grub-core/kern/emu/hostfs.c: Likewise.
3048 * util/getroot_unix.c: Likewise.
3049
bab7b1eb
VS
30502013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3053 Migrate all explicit defines to this new one.
3054
43b1c99d
VS
30552013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3058 grub_util_fd_strerror when using grub_util_fd_*.
3059 (grub_util_fd_open_device): Likewise.
3060 (grub_util_biosdisk_read): Likewise.
3061 (grub_util_biosdisk_write): Likewise.
3062 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3063 (grub_util_fd_strerror): Likewise.
3064 (grub_util_fd_sync): Likewise.
3065 (grub_util_fd_close): Likewise.
3066 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3067 (grub_util_fd_close): Likewise.
3068 (grub_util_fd_strerror): Likewise.
3069 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3070 function proto rather than macro.
3071 (grub_util_fd_sync): Likewise.
3072 (grub_util_fd_open): Likewise.
3073 (grub_util_fd_strerror): New proto.
3074
e8fd80bc
VS
30752013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3078 platforms on which it doesn't work.
3079
bf645fda
VS
30802013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3083 stat immediately to where it's used.
3084
5177ba14
VS
30852013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * util/getroot.c (grub_util_check_block_device): Move to ...
3088 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3089 * util/getroot.c (grub_util_check_char_device): Move to ...
3090 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3091
9db826e1
VS
30922013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3095 disk closing logic.
3096
49120085
AB
30972013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3098
3099 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3100
b3328b68
AB
31012013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3102
3103 * docs/grub.texi (File name syntax): Document ZFS filenames
3104 (/volume@snapshot/...).
3105
3fff48ab
VS
31062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3109 Always return full path. Fixes a problem with mkrelpath.
3110
39cfdaa9
PFS
31112013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3112
3113 * util/grub-install.in: Add GPT PReP support.
3114 * util/grub-probe.c (probe): Support GPT partition type.
3115 (main): Support -t gpt_parttype.
3116
7c680e1f 31172013-09-23 Aleš Nesrsta <starous@volny.cz>
3118
3119 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3120
890bdabe
MM
31212013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3122
3123 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3124
9c262ff9
TH
31252013-09-23 Tim Hardeck <thardeck>
3126
3127 * util/grub.d/10_hurd.in: Filter out character for the class.
3128 * util/grub.d/10_kfreebsd.in: Likewise.
3129 * util/grub.d/10_linux.in: Likewise.
3130 * util/grub.d/20_linux_xen.in: Likewise.
3131
d755342a
MC
31322013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3133
3134 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3135 "changed".
3136
68b77707
JT
31372013-09-23 Josh Triplett <josh@joshtriplett.org>
3138
3139 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3140 boot partition.
3141
efa68bfa
VS
31422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3145 doesn't use posix_wrap. Keep literal -fno-builtin however.
3146
d9104204
VS
31472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3150
c248781a 31512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31522013-09-23 neil
3153
5830df88 3154 * configure.ac: Do not enable -Wmissing-noreturn as its
3155 usefulness is limited and creates problems on some OS notably with
3156 code generated by bison.
3157
31582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31592013-09-23 neil
3160
3161 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3162 supported by all gcc and when it is, it's already enabled by -Wall.
3163
621bed69
VS
31642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3167 desactivated use of EDID at all.
3168
71764dc8 31692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31702013-09-23 neil
3171
3172 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3173 video if no text is available.
3174
affce7d4 31752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
31762013-09-23 neil
3177
3178 * configure.ac: Substitute TARGET_RANLIB.
3179
31802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31812013-09-23 neil
affce7d4
VS
3182
3183 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3184
3185 Based on patches from AROS.
3186
0e8daad0 31872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 31882013-09-23 neil
0e8daad0
VS
3189
3190 * grub-core/Makefile.am: Override STRIP and RANLIB.
3191 * configure.ac: compute TARGET_RANLIB.
3192 * INSTALL: Document TARGET_RANLIB
3193
3194 Based on patches from AROS.
3195
3f7d9c82
VS
31962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3199 that floppies are unpartitioned.
3200
bca8873a
VS
32012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3204 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3205
32062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3209 less nice but more portable.
3210 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3211
a47a78be
VS
32122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3215 for cheat_fd.
3216 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3217 functions.
3218 (grub_cryptodisk_cheat_insert): Likewise.
3219 (grub_cryptodisk_close): Likewise.
3220
e85a5d5c
VS
32212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3224 Use windows path for DEFAULT_DIRECTORY.
3225
dad9fa6b
VS
32262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3229 difference was likely just gcc version, not anything mingw-related.
3230
7e518ca8
VS
32312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 Use Winapi on both cygwin and mingw32 to share more code between both.
3234
d68d0157
AB
32352013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3236
3237 * util/grub-install.in: Add --grub-editenv option.
3238 * util/grub-install_header (grub_compress_file): Explicitly check for
3239 plain file to avoid cp error.
3240
775b284d
AB
32412013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3242
3243 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3244 names; fix LVM driver name (lvm, not lv).
3245 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3246 names.
3247
3ff4063d
VS
32482013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3251 files rather than one file with loads of #if's.
3252 * util/getroot.c: Likewise.
3253
287faafe
VS
32542013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3257
d1983764
VS
32582013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3261 GNU/Hurd to the list of checked PRNG.
3262
15ce95c4
VS
32632013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3266
207862dd 32672013-09-21 Ales Nesrsta <starous@volny.cz>
3268
7c680e1f 3269 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3270
63653cfd
VS
32712013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3274 * grub-core/disk/lvm.c: Add LVM UUIDs.
3275 * util/getroot.c: Use LVM UUIDs whenever possible.
3276
f5d3e7ef
AB
32772013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3278
3279 * docs/grub.texi (Networking commands): Add documentation for
3280 network related commands.
3281
53c6b7d6
VS
32822013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3285 to determine if device is handled by devmapper.
3286 (convert_system_partition_to_system_disk): Likewise.
3287 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3288 already done in grub_util_open_dm.
3289
e70d6736
LL
32902013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3291
3292 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3293 Clean up stack manipulation (sync_caches_armv*)
3294
90379808
VS
32952013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * util/lvm.c: Remove since unused. Remove remaining references.
3298
386701a8
VS
32992013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Handle the case of partitioned LVM properly.
3302
3303 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3304 Stop on meeting LVM, mpath or DMRAID.
3305 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3306 (read_device_map): Likewise.
3307 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3308 device is full disk rather than erroring out on LVM and similar cases.
3309
53070787
VS
33102013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3313
1bc783bd
VS
33142013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3317 4K before the end.
3318 Reported by: Leif Lindholm
3319
436ad5c3
PW
33202013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
33212013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3324 codes.
3325
607319c9
CW
33262013-09-18 Colin Watson <cjwatson@ubuntu.com>
3327
3328 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3329 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3330
d404d154
DR
33312013-09-18 Douglas Ray <dougray@cpan.org>
3332
3333 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3334 as secure.
3335
28851ef6
AN
33362013-09-18 Aleš Nesrsta <starous@volny.cz>
3337
3338 * docs/grub.texi: Fix broken link.
3339
897c3bc6
MC
33402013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3341
3342 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3343 to break endless loop.
3344
f1630459
VS
33452013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * util/grub-fstest.c: Fix several printf formats.
3348 * util/grub-mkimage.c: Likewise.
3349 * util/grub-mkimagexx.c: Likewise.
3350 * util/grub-script-check.c: Likewise.
3351
64463dfd
VS
33522013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3355 error.
3356
48972495
VS
33572013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3360
5dd5e64b
VS
33612013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3364 removed in current versions cygwin_conv_*.
3365
1c1f31e5
VS
33662013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * configure.ac: Disable efiemu runtime on cygwin.
3369
c546a259
VS
33702013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3373 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3374
81690478
VS
33752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3378 error message.
3379
6b87c10a
VS
33802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3383 windows variant.
3384 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3385 data.
3386
8f0baaac
VS
33872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3390 when on x86 and not cygwin.
3391 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3392 -Wl,-melf_x86_64.
3393
b224c266
VS
33942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * configure.ac: Set CPP to build one when checkoing for freetype for
3397 build.
3398
506b336b
VS
33992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3402 [!GRUB_BUILD]: Remove has_argument.
3403
8c8c87b7
VS
34042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3407 Replace with a dummy.
3408
7dc5ca13
VS
34092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * configure.ac: Don't change host_os from mingw to cygwin.
3412
c3302aa5
VS
34132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * configure.ac: Change target_os from windows to cygwin.
3416
7b780018
VS
34172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3420
3421 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3422 (build-grub-gen-asciih): Likewise.
3423 (build-grub-gen-widthspec): Likewise.
3424 * Makefile.util.def (grub-pe2elf): Remove.
3425 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3426 * configure.ac: Separate tests for build.
3427 Move ./build-grub-pe2elf to grub-core.
3428 Fix typo.
3429 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3430 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3431 defined.
3432 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3433 constants.
3434 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3435 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3436 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3437
984cfd8a
VS
34382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3441 mingw32 as well based on grub_util_get_disk_size.
3442 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3443 grub_util_get_fd_size.
3444 (sync): Removed.
3445 (fsync): Moved to ...
3446 * grub-core/kern/emu/misc.c (fsync): ... here.
3447
f82d79c9
VS
34482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * include/grub/mm.h (grub_extend_alloc): Remove.
3451 * grub-core/loader/i386/pc/plan9.c: Use own version of
3452 grub_extend_alloc with appropriate types.
3453
fd7dd66d
VS
34542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3457
43ffba7c
VS
34582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3461
3c7eac44
VS
34622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 Fix dependencies on cygwin.
3465
3466 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3467 dependencies when used and defined.
3468 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3469
bdb5ba47
VS
34702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3473 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3474
ed7fbf43
VS
34752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3478 implementation available to cause compile-time rather than runtime
3479 error.
3480
fc46e9fc
VS
34812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * util/grub-fstest.c: Don't check for symlinks on windows.
3484
7f68269a
VS
34852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * INSTALL: Mention unavailability of man pages when cross-compiling.
3488
8ed358e0
VS
34892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3492 and gcry_log_bug.
3493 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3494
fc97214f
VS
34952013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * INSTALL: Document cross-compilation.
3498 * acinclude.m4: Determine whether nm support -P and --defined-only.
3499 * configure.ac: Add TARGET_ to all variables pertaining to target
3500 that don't have it yet.
3501 * gentpl.py: Likewise.
3502 * grub-core/Makefile.am: Likewise.
3503 * grub-core/genmod.sh.in: Likewise.
3504 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3505 as well.
3506
ca1fb563
IB
35072013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3508
3509 * configure.ac: Remove -Wempty-body. It's not essential and needs
3510 recent gcc.
3511
0031b229
IB
35122013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3513
3514 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3515 * util/getroot.c: Likewise.
3516
54ea2f44
VS
35172013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/disk/ahci.c: Add needed explicit cast.
3520 * grub-core/lib/backtrace.c: Likewise.
3521 * grub-core/net/ip.c: Likewise.
3522 * grub-core/net/tcp.c: Likewise.
3523 * grub-core/net/udp.c: Likewise.
3524
3c601f8c
VS
35252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3528
1d679dda
VS
35292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * util/import_gcry.py: Add final newline in visibility.h.
3532
00c28dd9
VS
35332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * conf/Makefile.common: Fix typo.
3536
32af299a
VS
35372013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3540
e733cf52
VS
35412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * Makefile.am (widthspec.h): Fix typo.
3544 * util/grub-gen-widthspec.c: Likewise.
3545
c6b066f2
VS
35462013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Move ascii.h and widthspec.h generation to a separate build-time-only
3549 tool.
3550
ad1fe3f9 35512013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3552
3553 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3554 Always fill bootdisk info and improve check for NetBSD disklabel.
3555
92a52dd4
VS
35562013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * conf/Makefile.extra-dist: Add util/bin2h.c.
3559 Reported by: floppym.
3560
b2e9d276
VS
35612013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3564
7b966834
VS
35652013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * configure.ac: Disable unifont and starfield if no freetype was found.
3568
d5c1eef1
VS
35692013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3572 on NetBSD and OpenBSD.
3573
66345b50 35742013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3575
3576 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3577
66345b50 35782013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3579
3580 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3581 reduced. Inheritant options are processed during the theme loading.
3582
66345b50 35832013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3584
3585 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3586
369508b3
AS
35872013-08-14 Avik Sil <aviksil@in.ibm.com>
3588
3589 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3590
35912013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3592
3593 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3594 using qemu.
3595
6f27a3f6
PFS
35962013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3597
3598 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3599 remove-potcdate.sed.
3600
c6ed362a
AB
36012013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3602
3603 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3604 unused attribute from pull argument.
3605
5e7d9464
AB
36062013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3607
3608 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3609 memory leak.
3610
dea55e2a
AB
36112013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3612
3613 * util/getroot.c (pull_lvm_by_command): add --separator option
3614 to vgs call to disable padding of output to 10 characters.
3615
f0b94ded
VS
36162013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3619 here ...
3620 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3621 here.
3622
b828fb5d
VS
36232013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3626 length.
3627
7c9d0c39
VS
36282013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3631 full Canadian cross. Tested with build=x86_64, host=arm,
3632 target=ppc-ieee1275.
3633
816719c8
VS
36342013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * configure.ac: Error if no $BUILD_CC could be found.
3637 Reported by: DevHC.
3638
2af2353b
VS
36392013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3642 i386-multiboot.
3643
797abd0a
VS
36442013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3647 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3648
36e87d25
CW
36492013-08-13 Colin Watson <cjwatson@ubuntu.com>
3650
3651 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3652 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3653 falling back to the partition device, otherwise a later call to this
3654 function may fail spuriously.
3655 Reported by Axel Beckert. Fixes Debian bug #708614.
3656
273349fe
GS
36572013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3658
3659 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3660
418f86c6
GS
36612013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3662
3663 Prevent shadowing of stdlib's devname(3) on BSD.
3664
3665 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3666 and devlast to diskname and disklast, respectively.
3667
c137aea0
CW
36682013-08-11 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3671
272dc8df 36722013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3673
3674 * docs/grub.texi: Introduce terminal window position options:
3675 terminal-left: terminal window's left position
3676 terminal-top: terminal window's top position
3677 terminal-width: terminal window's width
3678 terminal-height: terminal window's height
3679 terminal-border: terminal window's border width
3680 * grub-core/gfxmenu/theme-loader.c: Likewise.
3681 * include/grub/gfxmenu_view.h: Likewise.
3682 * po/exlude.pot: Likewise.
3683 * grub-core/gfxmenu/view.c: Likewise.
3684 Also updated minimal window size.
3685 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3686 * grub-core/tests/checksums.h: Update (terminal window height
3687 is adjusted now for low resolution screen)
b4743461 3688
748a4533
VS
36892013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3692 position).
3693
fca5f944
VS
36942013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * po/exclude.pot: Add few recent exceptions.
3697
4f47d809
VS
36982013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * tests/grub_func_test.in: Add unicode.pf2.
3701
a62ae90c
VS
37022013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3705 standard rather than noral color, in line with other terminals.
3706
4ed41392
VS
37072013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3710 analysis.
3711
3719fbc5
VS
37122013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3715
459b1d91
VS
37162013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3719 inappropriate printf.
3720
f4e1ab9d
AB
37212013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3722
3723 * .bzrignore: Remove grub-core/lib/dtc-grub,
3724 grub-core/Makefile.libfdt.def
3725 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3726
fa471bfa
VS
37272013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * include/grub/video.h (grub_video_register): Keep double-linked as
3730 well as single-linked invariants.
3731 Reported by: qwertial.
3732
d65be02b
VS
37332013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/commands/nativedisk.c (get_uuid): Handle
3736 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3737
ba8bc620
VT
37382013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3739
3740 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3741 maximum of NW, N, NE heights instead of N's height and maximum of
3742 NW, W, SW widths instead of W's width. (So the box will be always
3743 correctly drawn)
3744
4f0ad029
GS
37452013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3746
3747 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3748 Fix misuse of variable count.
3749
43d53b72
LL
37502013-07-18 Leif Lindholm <leif.lindholm@arm.com>
37512013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
37522013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3753
43d53b72
LL
3754 New ports to arm-uboot and arm-efi.
3755 Mostly by Leif Lindholm with some additions from
3756 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3757
88f8d146
VS
37582013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3761 and not before.
3762 Reported by: Leon Drugi.
3763
3f42504c
VS
37642013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3767 Reported by: Paulo Flabiano Smorigo.
3768
d110499b
VT
37692013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3770
3771 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3772
a8674ad3
VT
37732013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3774
3775 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3776
286fe4b3
VS
37772013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3780
1bd57aa3
VS
37812013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3784
7a87d69f
AB
37852013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3786
3787 * grub-core/net/bootp.c: Export net_* variables.
3788 * grub-core/net/net.c: Likewise.
3789
b2182299
VS
37902013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3793
795b3dc0
VS
37942013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3797
68714c43
VS
37982013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3801
af211bab
VS
38022013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3805
0036f02d
MM
38062013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3807
3808 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3809 <= 0.
3810
6d0ddff3
MM
38112013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3812
3813 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3814 functions.
3815
038016f4
MM
38162013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3817
3818 * grub-core/fs/zfs/zfs_lz4.c: New file.
3819 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3820
776bdce2
MM
38212013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3822
3823 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3824
c71dbd40
MM
38252013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3826
3827 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3828 (check_pool_label): Likewise.
3829 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3830
38312013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3832
3833 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3834
8e67b50f
AB
38352013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3836
3837 * docs/grub.texi (Commands): Document postition parameters
3838 for menuentry command.
3839
f5ae3717
AB
38402013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3841
3842 * util/grub-mknetdir.in: Remove stray line from help output.
3843
9c28da2a
VS
38442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 Remove early sm712 init as there is no reason for it (the "watchdog"
3847 effect was due to wrong GPIO map).
3848
139072b8
VS
38492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/commands/pcidump.c: Remove static variables.
3852
c6a61bda
VS
38532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3856
51369614
VS
38572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * configure.ac: Move delimiter after the infos.
3860
efa8640a
VS
38612013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3864
6f80a7b2
VS
38652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3868 not filling whole 8x16 space.
3869
a2371e19
VS
38702013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3873
64fce2d8
VS
38742013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * configure.ac: Indicate which liblzma is used if any.
3877
eb272d84
PW
38782013-06-21 Paul Wise <pabs3@bonedaddy.net>
38792013-06-21 Craig Sanders <savannah@taz.net.au>
3880
3881 * util/grub-reboot.in: Document submenu usage.
3882
a9e5abee
CW
38832013-06-25 Colin Watson <cjwatson@ubuntu.com>
3884
3885 * .bzrignore: Update with a number of new test-related files.
3886
e639c204
CW
38872013-06-25 Colin Watson <cjwatson@ubuntu.com>
3888
3889 * util/grub-script-check.c: Fail on scripts containing no
3890 commands, to guard against corrupted grub-mkconfig setups that
3891 produce no useful output.
3892 * tests/grub_script_no_commands.in: New test.
3893 * Makefile.util.def (grub_script_no_commands): Add.
3894 Reported by Hans Putter. Fixes Debian bug #713886.
3895
a4c89b17
AB
38962013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3897
3898 * grub-core/disk/diskfilter.c: Forgot to remove comment
3899 from previous commit.
3900
5b06b53c
AB
39012013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3902
3903 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3904 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3905
702da5c9
AB
39062013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3907
3908 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3909
aa62a5b7
AB
39102013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3911
3912 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3913 rescan diskfilter devices until nothing new is found.
3914
4aa237c8
VS
39152013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3918
93d8479b
VS
39192013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 Don't try to detect cbfs on *-emu.
3922
837222cc
VS
39232013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3926
99c971af
VS
39272013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 Add support for processed coreboot payload chainloading.
3930
e6930a45
VS
39312013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Enable coreboot information commands even when not loaded as
3934 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3935
5027af38
VS
39362013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Support for cbfs. Also factor out the part which is common
3939 for all archives to a separate module. This splits tar from cpio
3940 as they are very different but keeps cpio, cpio_be, odc and newc
3941 together since they're very similar.
3942
a5b55c4b
DM
39432013-06-15 David Michael <fedora.dm0@gmail.com>
3944
3945 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3946 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3947
0301a8b3
VS
39482013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * tests/grub_script_eval.in: Really add the eval test.
3951
3d84cb17
VS
39522013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 Move flavour-specific parts out of common cpio.c file and
3955 rename remaining to cpio_common.c
3956
593e430c
AB
39572013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3958
3959 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3960 off new function grub_script_execute_new_scope. Change callers to use
3961 either of them as appropriate.
3962 * grub-core/commands/eval.c: New command eval.
3963 * docs/grub.texi (Commands): Document it.
3964
63c29849
AB
39652013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3966
3967 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3968 to fetch values when listing.
3969
cc284112
AB
39702013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3971
3972 Fix make dist on non-pc.
3973
39742013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3975
3976 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3977 without a device name.
3978
69544d1e
VS
39792013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Remove enable_executable_check as it's not needed anymore.
3982 Reported by: dougray.
3983
96dbe648
VS
39842013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3987 ambigouos RAID before discovering RAIDs on top of it.
3988 Reported by: bodom.
3989
ccfc0bdb
VS
39902013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Fix typo (failback vs fallback).
3993
f2587088
AB
39942013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3995
3996 * util/grub.d/30_os-prober.in: Add support for probing EFI
3997 System Partition (as of os-prober 1.58).
3998
cec5cf0c
VS
39992013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * configure.ac: Add yet another path to unifont. For parabola.
4002
e40b4596
JT
40032013-05-30 Josh Triplett <josh@joshtriplett.org>
4004
4005 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4006 handling to copy the killed characters to the kill buffer as
4007 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4008 stored as char. Eliminates UCS4 truncation and corruption
4009 observed when killing characters with Ctrl-u and yanking them
4010 back with Ctrl-y.
4011
fc4c4fdd
VS
40122013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 Detach optional parts of gfxterm and integrate in with coreboot init.
4015
6570b205
VS
40162013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 Move blit and fill dispatcher to appropriate files to decrease export
4019 and relocation overhead.
4020
b8323067
VS
40212013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4024 functions.
4025
3cc1878f
VS
40262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/Makefile.am: Fix compilation problem with some
4029 automake versions.
4030
4b80e43c
VS
40312013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4034
57e0c20c
VS
40352013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4038 automake versions.
4039
4fd42c53
VS
40402013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4043 SSDT.
4044
1e908b34
RS
40452013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4046
4047 * grub-core/partmap/dfly.c: New partition map.
4048
1359e474
VS
40492013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4052 checking.
4053 Reported by: Francesco Lavra.
4054
17806392
AB
40552013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4056
4057 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4058 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4059 false conditions.
4060 * conf/Makefile.common: define dist_grubconf_DATA
4061
cdce14fa
VS
40622013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 Progressively skip menu elements on small terminals rather
4065 than crashing.
4066
c8d6cc3c
VS
40672013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4070 to avoid losing last column.
4071
a73b31ce
VS
40722013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * po/exclude.pot: Add missing string "%C".
4075
1202c764
VS
40762013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4079 after the test.
4080
50268344
VS
40812013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * util/grub-install.in: Gettextize "Not found" message.
4084
62b15edf
VS
40852013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Fix distfiles list.
4088 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4089
40902013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4091
4092 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4093 present.
4094 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4095
709ad61b
VS
40962013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4099
d128901a
VS
41002013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4103 attribute since structure is not necessarily aligned.
4104
34b22f5c
AB
41052013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4106
4107 * docs/grub.texi (Device syntax): Clarify description of network
4108 drives.
4109
0f7e980b
VS
41102013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4113 for vasprintf presence.
4114
30b03dc2
VS
41152013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * util/grub-install.in: Handle efibootmgr presence check.
4118 Reported by: Leif Lindholm.
4119
0dc11c08
VS
41202013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4123 new strings to translate.
4124
f8024c3f
VS
41252013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4128 yet another string (pun intended) to translate.
4129
b4c1da62
VS
41302013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * po/POTFILES-shell.in: Autogenerate it.
4133
0ef7478b
VS
41342013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4137
8200fa15
VS
41382013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4141 misnomer.
4142
091945b2
AB
41432013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4144
4145 * docs/grub.texi (Network): Add description of net_default_interface,
4146 net_default_ip and net_default_mac. Rewrite variables description
4147 to emphasize that they are per-interface.
4148
0e7b2e32
VS
41492013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 New test: cmdline and cat.
4152
16f7c8f6
VS
41532013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/commands/cat.c: Show UTF-8 characters.
4156
3e912fda
VS
41572013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * conf/Makefile.common: Poison float and double on non-emu.
4160
ee0220bc
VS
41612013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * configure.ac: Don't disable extended registers on emu.
4164
89e0240c
VS
41652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * configure.ac: Don't use extended registers on x86_64.
4168 Reported by: Peter Jones.
4169
e56d9637
VS
41702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/term/efi/console.c: Fix compile error.
4173
8098f655
VS
41742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 Compressed HFS+ support.
4177
16940e07
VS
41782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4181 pixel".
4182
c5dbc13d
VS
41832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 Menu color test.
4186
011f8ae8
VS
41872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/tests/setjmp_test.c: New test.
4190
2aa072d7
VS
41912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 New variables 'net_default_*' to determine MAC/IP of default interface.
4194
43fe02cb
VS
41952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * tests/gettext_strings_test.in: A test to check for strings not
4198 marked for translation.
4199
bed06142
VS
42002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * autogen.sh: Exclude unused libgcrypt files from translation.
4203
fb2666b5
VS
42042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 Simplify few strings.
4207
d22840ec
VS
42082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 Mark few forgotten strings for translation.
4211
e34092fd
VS
42122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4215 rather than printf.
4216
47cf82b4
VS
42172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4220 rather than printf.
4221 * grub-core/video/readers/tga.c: Likewise.
4222
1eed0e6e
VS
42232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * tests/priority_queue_unit_test.cc: New test.
4226
c5b7697b
VS
42272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4230 than printf.
4231
5945c2f8
AB
42322013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4233
4234 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4235 variable for one time boot menu entry.
4236
fa292343
B
42372013-05-05 Bean <bean123ch@gmail.com>
4238
4239 * grub-core/commands/testspeed.c: New command testspeed.
4240
310d4214
VS
42412013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Factor-out human-size printing.
4244
85002bf3
VS
42452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Agglomerate more mallocs to speed-up gfxterm.
4248
22b06e96
VS
42492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 Speed-up gfxterm by slightly agglomerating mallocs.
4252
b7c036bc
VS
42532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 More video checks.
4256
92323d1f
VS
42572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Speed-up gfxterm by saving intermediate results in index+alpha
4260 format.
4261
0fb356a3
VS
42622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4265 test.
4266
44dea3f9
VS
42672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4270 line of timeout as it may contain the rest of long line.
4271
14af86e4
VS
42722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/normal/main.c: Fix freed memory dereference.
4275
03f7c8c3
VS
42762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 Fix several memory leaks.
4279
c686014c
VS
42802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4283
0788a695
VS
42842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4287
daf01d61
VS
42882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 Fix test -a and -o precedence.
4291 Reported by: adrian15.
4292
82ae74d7
VS
42932013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4296
8cec7bd4
AB
42972013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4298
4299 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4300 and add it as source to functional_test module.
4301
aa73d688
VS
43022013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4305
c104b6f9
VS
43062013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 New series of tests for gfxterm and gfxmenu.
4309
7391c4d5
VS
43102013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4313 the theme path relative to $prefix/themes.
4314
cff50118
VS
43152013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4318 Fix order bug.
4319 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4320
7c332bdc
VS
43212013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4324 descriptor.
4325
a4f9a5ff
VS
43262013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4329 grub_gfxmenu_timeout_notifications.
4330 (grub_gfxmenu_view_destroy): Likewise.
4331
b5a2114d
VS
43322013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4335
a8905e8a
VS
43362013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Several fixes to ieee1275 and big-endian video.
4339
813c1622
VS
43402013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Add missing exports on mips.
4343
3f3e7326
VS
43442013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4347 if no unifont is found.
4348 Restore original keyboard.
4349
095accd1
VS
43502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4353 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4354
50361660
VS
43552013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 First automated video test (running videotest and comparing results)
4358
cd0f6eec
VS
43592013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4362 instead of 2 to have full RGB/CMY test pattern.
4363
3f9634e5
VS
43642013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 Add few more tests.
4367
583e5b64
VS
43682013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4371 ARCS. All users updated.
4372
aa7bcb99
VS
43732013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4376
95ef1a54
VS
43772013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4380
46546fc5
VS
43812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4384 Reported by: qwertial.
4385
3476e0ef
VT
43862013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4387
4388 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4389 with syntax "XXX deg"/"XXX °".
4390
96f33fed
VS
43912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Make PCI init in i386-qemu port more robust.
4394
43952013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4396
4397 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4398 cached view is reused.
4399 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4400 open boot menus.
4401
c53b4e67
VS
44022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Unify more code in grub-install_header.
4405
f7457fb2
VS
44062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 Add few new tests.
4409
e2f27a8c
VS
44102013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 Enforce disabling of firmware disk drivers when native drivers kick in.
4413
ef9d8cd5
VS
44142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/commands/nativedisk.c: Customize the list of modules on
4417 platform. Don't try to search for disks already using native drivers.
4418
f7bf6c31
VS
44192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4422 platforms.
4423
bdc4add8
VS
44242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4427 handling of variables containing backslash.
4428
e9e46c9a
VS
44292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4432 dereference.
4433 Reported by: qwertial.
4434
0e90dee8
VS
44352013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4438
e0aacf24
VS
44392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4442 dereference.
4443 Reported by: qwertial.
4444
3c0003c3
VS
44452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4448
adb7d667
VS
44492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4452
7cd0df84
VS
44532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 New command `nativedisk'.
4456
02adbb93
VS
44572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4460 * grub-core/loader/i386/bsd.c: Likewise.
4461
9fb0fd4f
VS
44622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4465
bd69257a
VS
44662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4469 grub_get_unaligned16 rather than shifts.
4470
178c2764
VS
44712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/kern/file.c: Use const char * rather than casting to
4474 non-const.
4475
eadfad24
VS
44762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/commands/probe.c: Add missing grub_device_close.
4479
9f73ebd4
VS
44802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * INSTALL: Document linguas.sh.
4483
965fa829
VS
44842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 Remove POTFILES.in and regenerate it in autogen.sh.
4487
d417ddc4
VS
44882013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 Move --directory/--override-directorry to grub-install_header and unify.
4491
f97ec546
VS
44922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/term/morse.c: Macroify dih and dah.
4495
b2d7470c
PFS
44962013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4497
4498 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4499
141e2a78
VS
45002013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/term/ns8250.c: Systematically probe ports by writing
4503 to SR before using them.
4504
1dd70ebd
PFS
45052013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4506
4507 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4508 disks.
4509 (check_sas): Get sas_adress info.
4510
c796a107
VS
45112013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4514 ports.
4515
43168646
LD
45162013-04-27 Leon Drugi <eyak>
4517
4518 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4519 BSS clearing.
4520
e7b8fd08
VS
45212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Core compression test.
4524
17f9fd29
VS
45252013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Implement grub_machine_get_bootlocation for ARC.
4528
dc2a6c8b
VS
45292013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Improve AHCI detection and command issuing.
4532
f25a2ba6
VS
45332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Fix pseries test.
4536
a6393224
VS
45372013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 Make 'make check' work on emu.
4540
db99fbe8
VS
45412013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 Replace libcurses with our own vt100 handling for the ease of testing
4544 and decreasing prerequisites.
4545
b24ca7cd
VS
45462013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4549
63314aa4
VS
45502013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4553 compile when not needed.
4554
c1b00fff
VS
45552013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * tests/pseries_test.in: New test.
4558
f93e89ef
VS
45592013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 Add test to check that different boot mediums work.
4562
c4b456d3
VS
45632013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4566 ofw limited ISO support.
4567
5fe67f39
VS
45682013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * configure.ac: Fix loongson conditional.
4571
7f63a64f
VS
45722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Enable mipsel-arc.
4575
b04b5990
VS
45762013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Add serial on ARC platform.
4579
88d2f302
VS
45802013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4583 commit.
4584
86eb23bc
VS
45852013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * tests/partmap_test.in: Add missing double semicolon.
4588
eec3bb75
VS
45892013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * util/grub-mkrescue.in: Fix loongson filename.
4592
e0810df3
VS
45932013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * util/grub-mkrescue.in: Move all files that don't have a location
4596 set in stone under /boot/grub. Use ISO hard links rather than copies
4597 to save some space.
4598
65a6b30b
VS
45992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4602 bogus SLOF values.
4603
6aff0107
VS
46042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 Make check work on mips-arc.
4607
5e013e56
VS
46082013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * util/grub-mkrescue.in: Alias sashARCS as sash.
4611
d1989e2e
VS
46122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4615 it's serial.
4616
1a25e72c
VS
46172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * util/grub-install.in: Fix target fo qemu_mips.
4620 Fix extension on EFI.
4621
a59a9826
VS
46222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4625 in front of chosen entry to mark it even if highlighting is lost.
4626
1a40f80c
VS
46272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4630 gfxpayload=keep if cbfb is active.
4631
e343549c
VS
46322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4635
45fbd9a2
VS
46362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 Add missing video ids to coreboot and ieee1275 video.
4639
ab1440bd
VS
46402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * util/grub-mkrescue.in: Add mips-arc support.
4643
cdeb8324
VS
46442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4647
8528c879
VS
46482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 Move mips-arc link address. Previous link address was chosen
4651 in belief that RAM on SGI platforms grows down while in fact it
4652 grows up from an unusual base.
4653
17fca573
VS
46542013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4657 Fix a type which prevented CD-ROM and floppy boot.
4658
d178788e
VS
46592013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 Support coreboot framebuffer.
4662
4663 * grub-core/video/i386/coreboot/cbfb.c: New file.
4664
fe4c3e7e
VS
46652013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4668 detecting too small regions.
4669
ec2dd179
VS
46702013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4673
872dac83
VS
46742013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4677 Remove dprintf.
4678 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4679
90ec4b7f
VS
46802013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4683 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4684 * grub-core/loader/powerpc/ieee1275/linux.c
4685 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4686
f32555dd
VS
46872013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4690 Look for /boot-rom as well as /rom/boot-rom.
4691
38649799
VS
46922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4695 handling when creating text_layer failed.
4696 * grub-core/video/video.c (grub_video_create_render_target):
4697 Set result to 0 on error.
4698 (grub_video_delete_render_target): Do not dereference NULL.
4699
aeace7f7
VS
47002013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4703 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4704 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4705 (grub_linux_load64): Mask out 2 high bits.
4706
4eafa175
AB
47072013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4708
4709 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4710 more place.
4711
daaa64bd
VS
47122013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Add support for pseries and other bootinfo machines to grub-mkrescue.
4715
4716 Tested by: Paulo Flabiano Smorigo.
4717
d0d2daa6
VS
47182013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * util/grub-mkrescue.in: Add GPT for EFI boot.
4721
b193e100
VS
47222013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4725 It improves performance in qemu.
4726
a0f8f3ac
VS
47272013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * build-aux/snippet: Add missing gnulib files.
4730
284df0e2
AB
47312013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4732
4733 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4734
740201f3
AB
47352013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4736
4737 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4738
a7e03923
PJ
47392013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
47402013-04-15 Peter Jones <pjones@redhat.com>
4741
4742 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4743 sectors.
4744 Based on patch by Peter Jones.
4745
25fc51a8
VS
47462013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Fix DMRAID partition handling.
4749
88017d47
VS
47502013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * tests/grub_cmd_date.in: Skip on sparc64.
4753
fa7d914e
VS
47542013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4757 firmware error messages.
4758
cbe57a48
VS
47592013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4762 source and destination differ.
4763
21aecce0
VS
47642013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4767 detection.
4768
25092d29
VS
47692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4772 match config-util.h to avoid warnings and increase compatibility.
4773
79451522 47742013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 47752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4776
4777 Add option to compress files on install/image creation.
4778
78b7d77b
VS
47792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * docs/grub-dev.texi: Rearrange menu to match the section order.
4782 Reported by: Bryan Hundven.
4783
cc2fa5ec
VS
47842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4787
b49fe879
VS
47882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 Move GRUB out of system area when using xorriso 1.2.9 or later.
4791
5351da81
VS
47922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * tests/grub_cmd_date.in: Add missing exit 1.
4795
c9d586ea
VS
47962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * tests/partmap_test.in: Skip on sparc64.
4799
3f729741
VS
48002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 Support grub-shell on sparc64.
4803
8ca86b3a
VS
48042013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Support mkrescue on sparc64.
4807
aa1af9bb
VS
48082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4811 Needed on OpenBIOS due to incomplete device tree.
4812
ac4fea79
VS
48132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4816 would be otherwise excluded.
4817
48182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4819
4820 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4821 Inline name defines used only once.
4822
fe22b071
VS
48232013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Fix memory leaks in ofnet.
4826 Reported by: Francesco Lavra.
4827
9d21381b
VS
48282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * docs/man/grub-glue-efi.h2m: Add missing file.
4831
07aec23c
VS
48322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4835
67ab8353
VS
48362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 Better support Apple Intel Macs on CD.
4839
ba44ca6d
VS
48402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 Replace stpcpy with grub_stpcpy in tools.
4843
bbdd6305
VS
48442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 Handle Japanese special keys.
4847 Reported by: Hiroyuki YAMAMORI.
4848 Codes supplied by: Hiroyuki YAMAMORI.
4849
8573d302
VS
48502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub-mkimage.c: Document memdisk implying --prefix.
4853
d70dbab7
VS
48542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4857 much we can do about it anyway.
4858
51a4c3e3
AN
48592013-04-12 Aleš Nesrsta <starous@volny.cz>
4860
4861 Fix handling of split transfers.
4862
92c8f58d
VS
48632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/net/http.c: Fix bad free.
4866
b7d17a49
VS
48672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4870 than buffer size.
4871
a3d566d4
VS
48722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4875
a936af56
VS
48762013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * tests/util/grub-shell.in: Fix it on powerpc.
4879
51212234
VS
48802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 Turn off QEMU ACPI-way since new releases don't have shutdown port
4883 anymore.
4884
a21eec9e
VS
48852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * docs/grub.texi: Update coreboot status info.
4888
e3734b84
VS
48892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * tests/grub_cmd_date.in: New test for datetime.
4892
f9d40055
VS
48932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * tests/partmap_test.in: Fix missing qemudisk setting.
4896
dbc56d8f
VS
48972013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 Support i386-ieee1275 grub-mkrescue and make check on it.
4900
a79b8a15
VS
49012013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4904 feature for it.
4905
48f39bb4
VS
49062013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4909 GRUB_CMDLINE_XEN_DEFAULT.
4910 Reported by: Marc Warne (GigaTux) <gigatux>
4911
053cfcdd
VS
49122013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 Import new gnulib.
4915
93cd84df
VS
49162013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Use ACPI shutdown intests as traditional port was removed.
4919
f4b1fa4f
AB
49202013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4921
4922 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4923 distinction.
4924
49818a59
VS
49252013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4928 Fix few warining messages and leaks while on it.
4929
9277a306
AB
49302013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4931
4932 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4933 links under grub-core/lib/libgcrypt-grub/mpi.
4934
d5e2a158
VS
49352013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Fix ia64-efi image generation on big-endian machines. Deduplicate
4938 some code while on it.
4939 Reported by: Leif Lindholm.
4940
18866643
AB
49412013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4942
4943 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4944 as extra_dist.
4945
ca53deb8
AB
49462013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4947
4948 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4949
d4c4b8e1
BH
49502013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4951
4952 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4953 texinfo-5.1.
4954
47043f95
VS
49552013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/normal/term.c: Few more fixes for menu entry editor
4958 rendering.
4959 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4960
a3216068
VS
49612013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/normal/term.c: Few more fixes for menu entry editor
4964 rendering.
4965 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4966
21026747
AB
49672013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4968
4969 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4970 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4971
59624ca8
AB
49722013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4973
4974 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4975 instead of hardcoding grub.mo.
4976
1f44478c
FN
49772013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4978
4979 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4980
eeada7b1
VS
49812013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4984 grub-core/disk/geli.c.
4985
132867de
VS
49862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * util/grub-mkfont.c: Prefer enum to #define.
4989
de73de17
VS
49902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4993
1865baa7
VS
49942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4997
ce7d92a9
VS
49982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5001
52eab656
VS
50022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5005
98b23b95
VS
50062013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * include/grub/bsdlabel.h: Use enums.
5009
0467a5dd
VS
50102013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Move GRUB_CHAR_BIT to types.h.
5013
16cc9f03
AB
50142013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5015
5016 * docs/grub.texi: Document more user commands.
5017
3152aecb
AB
50182013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5019
5020 * docs/grub.texi: Document menuentry --id option.
5021
c506fc30
FL
50222013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5023
5024 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5025
aa428238
VS
50262013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Unify file copying setup across different install scripts. Add
5029 options for performing partial install.
5030
efe0cdda
PJ
50312013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
50322013-04-04 Peter Jones <pjones@redhat.com>
5033
5034 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5035
f75835bd
VS
50362013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 Use TSC as a possible time source on i386-ieee1275.
5039
2cd5ce6c
VS
50402013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5043 Init err.
5044
c9625630
VS
50452013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * util/grub-setup.c (setup): Handle some corner cases.
5048
be008941
VS
50492013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5052
1a78d573
VS
50532013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/commands/verify.c: Save verified file to avoid it being
5056 tampered with after verification was done.
5057
db8ff59f
VS
50582013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5061 reported width by one to compensate for curesor algorithm problem.
5062
91bf46b1
VS
50632013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Fix screen corruption in menu entry editor and simplify the code
5066 flow while on it.
5067
a7b1d693
AB
50682013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5069
5070 * util/grub-mount.c (fuse_init): Return error if fuse_main
5071 failed.
5072
31df9ad8
FL
50732013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5074
5075 * include/grub/elf.h: Add missing ARM relocation codes and fix
5076 existing ones.
5077
07f392eb
VT
50782013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5079
5080 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5081
9efd73ec 50822013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
50832013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5086 into account when calculating radius.
5087
50882013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5089
5090 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5091
4985ddaa
VT
50922013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5093
5094 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5095
8c3635ff
RS
50962013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5097
5098 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5099 missing closing bracket.
5100
74a35e69
RS
51012013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5102
5103 * INSTALL: Mention xorriso requirement.
5104
40f1c000
AB
51052013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5106
5107 * grub-core/commands/verify.c: Fix hash algorithms values for
5108 the first three hashes - they start with 1, not with 0.
5109
e75fdee4
VS
51102013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5113 Try terminating EFI services several times due to quirks in some
5114 implementations.
5115
33028f4c
CW
51162013-03-26 Colin Watson <cjwatson@ubuntu.com>
5117
5118 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5119 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5120 BankField extended opcodes.
5121 (get_sleep_type): Add minimal scope handling (just enough to
5122 handle setting the scope to the root path).
5123 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5124 * include/grub/acpi.h: Add enumeration values for Event, Device,
5125 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5126
33871a10
VT
51272013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5128
5129 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5130 memory leak.
5131
8990963a
VS
51322013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * grub-core/disk/ahci.c: Give more time for AHCI request.
5135
daae8f9e
VS
51362013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5139 command.
5140
6a7fb94b
VS
51412013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 Replace the region at 0 from coreboot tables to available in BSD
5144 memory map.
5145
ff99babd
VS
51462013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5149 non-BIOS platforms.
5150
30d6b1b2
VS
51512013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5154 platforms.
5155
6ccd0b31
VS
51562013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5159 handling of multi-device filesystems.
5160
23c9cc04
VS
51612013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5164 platforms.
5165
ce50dbd7
VS
51662013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Add new 'proc' filesystem framework and put luks_script into it.
5169
d975e8d5
VS
51702013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5173 and qemu.
5174
e73ba5e8
VS
51752013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5178
92750e4c
VS
51792013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Add ability to generate newc additions on runtime.
5182
0ec45a68
VS
51832013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5186 description.
5187
320abd43
VS
51882013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * po/POTFILES.in: Regenerate.
5191
d7a6506e
VS
51922013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/commands/verify.c (hashes): Add several hashes
5195 from the spec.
5196
8fe05def
VS
51972013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 Slight improve in USB-related boot-time checkpoints.
5200
524e2766
VS
52012013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/commands/boottime.c: Fix copyright header.
5204
cc19857a
VS
52052013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5208 coreboot tables content. Support for cbmemc.
5209
ef8810e9
VS
52102013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Fix a conflict between ports structures with 2 controllers of
5213 same kind.
5214
e9dabdfa
VS
52152013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * include/grub/boottime.h: Add missing file.
5218
f6df57d2
VS
52192013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Initialize USB ports in parallel to speed-up boot.
5222
d745dda7
VS
52232013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Fix USB devices not being detected when requested
5226 due to delayed attach.
5227
e5a2dd7b
VS
52282013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5229
e744219b
VS
5230 Implement boot time analysis framework.
5231
52322013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5235 descriptor to just receive it as argument rather than endpoint
5236 address.
5237
5dd6f587
VS
52382013-03-19 Aleš Nesrsta <starous@volny.cz>
5239
5240 Better estimate the maximum USB transfer size.
5241
2f1071d5
VS
52422013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 Resend a packet if we got the wrong buffer in status.
5245
46ecfc49
VS
52462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5249 multiplication rather than division.
5250
ea811130
VS
52512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5254 than divisions.
5255
d2789cf0
VS
52562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5259 operations to have intended shifts and not divisions.
5260
a9c94590
VS
52612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5264 intended shifts rather than division.
5265
84cfe81b
VS
52662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5269 computation for some years before epoch. Avode confusing division
5270 while on it.
5271
21344ef6
VS
52722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * grub-core/video/i386/pc/vbe.c
5275 (grub_video_vbe_print_adapter_specific_info): Replace division by
5276 shifts.
5277
3f2b4d1a
VS
52782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Adjust types in gdb module to have intended unsigned shifts rather than
5281 signed divisions.
5282
3dac5878
VS
52832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5286 maximum size is 4G - 1 on hfs
5287
5341c0fb
VS
52882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5291
fc3ff2a2
VS
52922013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5295 function.
5296
81455e8e
AB
52972013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5298
5299 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5300 causing gcc error with gcc 4.7.1.
5301
efd4f117
NZ
53022013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5303
5304 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5305 dereference null pointer. While the code is technically correct, gcc
5306 may eliminate a null check if pointer is already dereferenced.
5307
e11645f4
NZ
53082013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5309
5310 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5311 OOM check.
5312 * grub-core/normal/term.c (read_terminal_list): Likewise.
5313
77468368
VS
53142013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 Lift up core size limits on some platforms. Fix potential memory
5317 corruption with big core on small memory systems. Document remaining
5318 limits.
5319
f6b58fe5
VS
53202013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5323 gotoxy to 0,0.
5324
19ce697d
VS
53252013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 Remove all trampoline support. Add -Wtrampolines when
5328 present. Remove symbols used for trampolines to make
5329 link fail if trampolines are present.
5330
73b5d90f
VS
53312013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5334 append out of its parent.
5335
cb758e96
VS
53362013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5339 parent.
5340
3188131f
VS
53412013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5344 all vars to a macro. All users updated.
5345
e42b2514
VS
53462013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5349 i386-ieee1275.
5350
83e1a1a1
VS
53512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5354
1d5a880f
VS
53552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5358
6e4146c4
VS
53592013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 Move to more hookless approach in IEEE1275 devices handling.
5362
99fcda8a
VS
53632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/kern/term.c (grub_term_normal_color),
5366 (grub_term_highlight_color): Add back lost defaults.
5367
73bf57e2
VS
53682013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Make elfload not use hooks. Opt for flags and iterators instead.
5371
7f8c105f
VS
53722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5375 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5376
396d4091
VS
53772013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5380
53812013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5384 hook pass-through parameter. All users updated and unnested.
5385
74a27421
VS
53862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5389 out of its parent.
5390
b46d4213
VS
53912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/fs/hfs.c: Remove nested functions.
5394
e114c3cc
VS
53952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5398 the context through.
5399 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5400
f9b7d780
VS
54012013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * util/grub-editenv.c (list_variables): Move print_var out of its
5404 parent.
5405
ca9c2608
VS
54062013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5409 function.
5410
5d983f5f
VS
54112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/gentrigtables.c: Make tables const.
5414
3056d3e7
VS
54152013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 Remove nested functions from videoinfo iterators.
5418
e2303774
VS
54192013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5422 for 64-bit platforms.
5423
f42e3a2f
VS
54242013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5427 a FOR_CHILDREN macro.
5428
be174e5e
VS
54292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5432 platform from firmware path.
5433
0789b672
VS
54342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 Enable linux16 on non-BIOS systems for i.a. memtest.
5437
5438 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5439 correctly.
5440 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5441
005a9c32
VS
54422013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5445 Fix end of table condition.
5446
ff2b3cd9
VS
54472013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5450 out of its parent.
5451
4fc40ff8
VS
54522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/fs/jfs.c: Remove nested functions.
5455
be42d97a
VS
54562013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/fs/minix.c: Remove nested functions.
5459
99373ce4
VS
54602013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * grub-core/fs/iso9660.c: Remove nested functions.
5463
5aec2afe
VS
54642013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5467 of parent function.
5468
6c69e691
VS
54692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * util/grub-fstest.c: Remove nested functions.
5472
43c91882
VS
54732013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/loader/machoXX.c: Remove nested functions.
5476
4eb8b756
CW
54772013-02-27 Colin Watson <cjwatson@ubuntu.com>
5478
5479 Remove nested functions from disk and file read hooks.
5480
5481 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5482 (struct grub_disk): Add read_hook_data member.
5483 * include/grub/file.h (struct grub_file): Likewise.
5484 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5485 argument.
5486
5487 Update all callers.
5488
df6da5a5
AB
54892012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5490
5491 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5492 Fix off by one error in enumerating extended partitions.
5493
21aecde5
AB
54942013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5495
5496 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5497 memory leak if device name is not found.
5498
f1a19118
AB
54992013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5500
5501 * grub-core/normal/menu_entry.c (update_screen): remove
5502 unused variable `off' which caused scroll down arrow to be always shown.
5503
958bfd20
AB
55042013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5505
5506 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5507 access to unallocated memory.
5508
b7b78edb
AB
55092013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5510
5511 * Makefile.util.def: Add partmap/msdos.c to common library.
5512 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5513 * grub-core/disk/ldm.c: Check for existence of
5514 GRUB_PC_PARTITION_TYPE_LDM.
5515
28d468d6
VS
55162013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5519 sizes and display sector size.
5520
d55ffb02
VS
55212013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Implement new command cmosdump.
5524
b5ea6ce0
VS
55252013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5526
5527 Support Openfirmware disks with non-512B sectors.
5528
5529 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5530 size of the disk.
5531 * (grub_ofdisk_get_block_size): New function.
5532 * (grub_ofdisk_prepare): Use the correct block size.
5533 * (grub_ofdisk_read): Likewise.
5534 * (grub_ofdisk_write): Likewise.
5535 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5536 New proto.
5537
cc0e476f
VS
55382013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5541
c5dbdc33
VS
55422013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5545 on first error.
5546
3f078c0f
VS
55472013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5550 freeing it.
5551
66a93674
VS
55522013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 Implement USBDebug (full USB stack variant).
5555
c9f0c134
VS
55562013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5559 unless they have unexpected values.
5560
cfe1288b
VS
55612013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5564 grub_print_error.
5565
e42b9969
VS
55662013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5569 zero-out of port structure.
5570
cf94fd62
VS
55712013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5574 of extended attributes.
5575
f81ef4b5
AB
55762013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5577
5578 * util/grub-install.in: change misleading comment about
5579 device.map creation
5580
af18fdb4
VS
55812013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5584 when menu highlight color isn't set.
5585
08bcec50
M
55862013-01-27 C. Masloch <pushbx@38.de>
5587
5588 Improve FreeDOS direct loading support compatibility.
5589
5590 * include/grub/i386/relocator.h (grub_relocator16_state):
5591 New member ebp.
5592 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5593 variable.
5594 (grub_relocator16_boot): Handle %ebp.
5595 * grub-core/lib/i386/relocator16.S: Likewise.
5596 * grub-core/loader/i386/pc/freedos.c:
5597 Load BPB to pass kernel which partition to load from.
5598 Check that kernel file is not too large.
5599 Set register dl to BIOS unit number as well.
5600
7782b8a6
CW
56012013-01-22 Colin Watson <cjwatson@ubuntu.com>
5602
5603 * util/grub-reboot.in (usage): Document the need for
5604 GRUB_DEFAULT=saved.
5605 * util/grub-set-default.in (usage): Likewise.
5606 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5607
e661c180
VS
56082013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5611 than defining WORDS_BIGENDIAN manually.
5612
1c22ca9a
VS
56132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5616 invariants.
5617
d44892fe
CW
56182013-01-21 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5621 nested.
5622 (blit_comb: add_device_width): Likewise.
5623
5fdbaed1
CW
56242013-01-21 Colin Watson <cjwatson@ubuntu.com>
5625
5626 Remove nested functions from USB iterators.
5627
5628 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5629 (grub_usb_controller_iterate_hook_t): Likewise.
5630 (grub_usb_iterate): Add hook_data argument.
5631 (grub_usb_controller_iterate): Likewise.
5632 (struct grub_usb_controller_dev.iterate): Likewise.
5633
5634 Update all implementations and callers.
5635
4250985a
VS
56362013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5639 margin when not needed.
5640
7d8848f3
VS
56412013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5642
bc136973 5643 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5644
56452013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5646
bc136973
VS
5647 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5648 asterisk.
7d8848f3 5649
ed12a003
CW
56502013-01-21 Colin Watson <cjwatson@ubuntu.com>
5651
5652 Fix powerpc and sparc64 build failures caused by un-nesting memory
5653 map iterators.
5654
6a0db449
CW
56552013-01-21 Colin Watson <cjwatson@ubuntu.com>
5656
5657 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5658 parameter declarations.
5659
ccd86b21
VS
56602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5663
822b726b
VS
56642013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 Improve spkmomdem reliability by adding a separator between bytes.
5667
115c2cc1
CW
56682013-01-21 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5671 an Acer registration utility with several sightings in the wild.
5672 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5673
fc524edf
CW
56742013-01-21 Colin Watson <cjwatson@ubuntu.com>
5675
5676 Remove nested functions from filesystem directory iterators.
5677
5678 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5679 (struct grub_fs.dir): Add hook_data argument.
5680
5681 Update all implementations and callers.
5682
53d3e4e3
CW
56832013-01-21 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * docs/grub.texi (Multi-boot manual config): Fix typo for
5686 "recommended".
5687
c821711f
LL
56882013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5689
5690 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5691 until after its use in generate_image.
5692
6a0debbd
CW
56932013-01-20 Colin Watson <cjwatson@ubuntu.com>
5694
5695 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5696 initrd size to addr_min, since the initrd will be allocated after
5697 this address.
5698
f41e08db
AB
56992013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5700
5701 * conf/Makefile.common: Fix autogen rules to pass definition
5702 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5703
77529e0f
LL
57042013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5705
5706 * include/grub/elf.h: Update ARM definitions based on binutils.
5707
b879aa7b
VS
57082013-01-20 Aleš Nesrsta <starous@volny.cz>
5709
5710 Split long USB transfers into short ones.
5711
8eb8284d
AB
57122013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5713
5714 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5715 is interrupted by ESC.
5716
08dad2dc
VS
57172013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * util/grub-script-check.c (main): Uniform the error message.
5720
6c724b85
CW
57212013-01-20 Colin Watson <cjwatson@ubuntu.com>
5722
5723 Remove nested functions from ELF iterators.
5724
25239370
CW
57252013-01-20 Colin Watson <cjwatson@ubuntu.com>
5726
5727 Remove nested functions from device iterators.
5728
5729 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5730 (grub_arc_iterate_devs): Add hook_data argument.
5731 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5732 (struct grub_ata_dev.iterate): Add hook_data argument.
5733 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5734 (grub_device_iterate): Add hook_data argument.
5735 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5736 (struct grub_disk_dev.iterate): Add hook_data argument.
5737 (grub_disk_dev_iterate): Likewise.
5738 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5739 Likewise.
5740 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5741 Likewise.
5742 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5743 type.
5744 (struct grub_partition_map.iterate): Add hook_data argument.
5745 (grub_partition_iterate): Likewise.
5746 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5747 (struct grub_scsi_dev.iterate): Add hook_data argument.
5748
5749 Update all callers.
5750
6c0314d6
CW
57512013-01-20 Colin Watson <cjwatson@ubuntu.com>
5752
5753 Fix typos for "developer" and "development".
5754
600dc5f1
VS
57552013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 Add license header to spkmodem-recv.c.
5758
17334a6b
VS
57592013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 Rewrite spkmodem to use PIT for timing. Double the speed.
5762
7d462559
VS
57632013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 Add new command pcidump.
5766
b78d6c32
VS
57672013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 New terminal outputs using serial: morse and spkmodem.
5770
34f71cb8
VS
57712013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 Improve bidi handling in entry editor.
5774
4542e71b
VS
57752013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5778 argument to prevent name collision.
5779
09fd6d82
CW
57802013-01-15 Colin Watson <cjwatson@ubuntu.com>
5781
5782 Remove nested functions from script reading and parsing.
5783
5784 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5785 getline_data argument, passed to getline.
5786 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5787 getline_data argument, passed to grub_parser_split_cmdline.
5788 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5789 lexerstate->getline_data to lexerstate->getline.
5790 (grub_script_lexer_init): Add getline_data argument, saved in
5791 lexerstate->getline_data.
5792 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5793 argument, passed to grub_script_parse.
5794 * grub-core/script/script.c (grub_script_parse): Add getline_data
5795 argument, passed to grub_script_lexer_init.
5796 * include/grub/parser.h (grub_parser_split_cmdline): Update
5797 prototype. Update all callers to pass appropriate getline data.
5798 (struct grub_parser.parse_line): Likewise.
5799 (grub_rescue_parse_line): Likewise.
5800 * include/grub/reader.h (grub_reader_getline_t): Add void *
5801 argument.
5802 * include/grub/script_sh.h (struct grub_lexer_param): Add
5803 getline_data member.
5804 (grub_script_parse): Update prototype. Update all callers to pass
5805 appropriate getline data.
5806 (grub_script_lexer_init): Likewise.
5807 (grub_normal_parse_line): Likewise.
5808
5809 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5810 data argument.
5811 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5812 static instead of nested. Rename to ...
5813 (grub_parser_execute_getline): ... this.
5814 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5815 data argument.
5816 * grub-core/normal/main.c (read_config_file: getline): Make static
5817 instead of nested. Rename to ...
5818 (read_config_file_getline): ... this.
5819 (grub_normal_read_line): Add unused data argument.
5820 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5821 getline): Make static instead of nested. Rename to ...
5822 (grub_script_execute_sourcecode_getline): ... this.
5823 * util/grub-script-check.c (main: get_config_line): Make static
5824 instead of nested.
5825
d0d4b8a0
CW
58262013-01-15 Colin Watson <cjwatson@ubuntu.com>
5827
5828 Remove nested functions from memory map iterators.
5829
5830 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5831 argument, passed to hook.
5832 * grub-core/kern/i386/coreboot/mmap.c
5833 (grub_linuxbios_table_iterate): Likewise.
5834 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5835 instead of nested.
5836 (grub_machine_mmap_iterate): Add hook_data argument.
5837 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5838 Add hook_data argument, passed to hook.
5839 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5840 Likewise.
5841 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5842 Likewise.
5843 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5844 Likewise.
5845 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5846 Likewise.
5847 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5848 Likewise.
5849 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5850 Likewise.
5851 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5852 (grub_machine_mmap_iterate): Likewise.
5853 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5854 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5855 prototype.
5856 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5857 Remove NESTED_FUNC_ATTR from here and from all users.
5858 (grub_mmap_iterate): Update prototype.
5859 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5860 pass appropriate hook data.
5861 (grub_machine_mmap_iterate): Likewise.
5862
5863 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5864 static instead of nested.
5865 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5866 Rename to ...
5867 (lsmmap_hook): ... this.
5868 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5869 Likewise.
5870 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5871 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5872 heap_init): Likewise.
5873 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5874 Rename to ...
5875 (mmap_iterate_hook): ... this.
5876 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5877 Likewise.
5878 * grub-core/lib/ieee1275/relocator.c
5879 (grub_relocator_firmware_get_max_events: count): Likewise.
5880 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5881 to ...
5882 (grub_relocator_firmware_fill_events_iter): ... this.
5883 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5884 hook): Likewise. Rename to ...
5885 (grub_relocator_alloc_chunk_align_iter): ... this.
5886 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5887 Rename to ...
5888 (generate_e820_mmap_iter): ... this.
5889 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5890 Rename to ...
5891 (count_hook): ... this.
5892 (grub_linux_boot: hook): Likewise. Rename to ...
5893 (grub_linux_boot_mmap_find): ... this.
5894 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5895 (grub_linux_boot_mmap_fill): ... this.
5896 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5897 hook): Likewise. Rename to ...
5898 (grub_fill_multiboot_mmap_iter): ... this.
5899 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5900 hook): Likewise. Rename to ...
5901 (count_hook): ... this.
5902 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5903 hook): Likewise. Rename to ...
5904 (grub_fill_multiboot_mmap_iter): ... this.
5905 * grub-core/loader/powerpc/ieee1275/linux.c
5906 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5907 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5908 Likewise. Rename to ...
5909 (alloc_phys_choose): ... this.
5910 (determine_phys_base: get_physbase): Likewise.
5911 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5912 find_hook): Likewise.
5913 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5914 (malloc_hook: count_hook): Likewise.
5915 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5916 Likewise. Rename to ...
5917 (lower_hook): ... this.
5918 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5919 (upper_hook): ... this.
5920 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5921 (post64_hook): ... this.
5922 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5923 Likewise. Rename to ...
5924 (lower_hook): ... this.
5925 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5926 (upper_hook): ... this.
5927 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5928 (grub_mmap_iterate: fill_hook): Likewise.
5929 (fill_mask): Pass addr and mask within a single struct.
5930 (grub_cmd_badram: hook): Make static instead of nested. Rename
5931 to ...
5932 (badram_iter): ... this.
5933 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5934 (cutmem_iter): ... this.
5935
22099030
VS
59362013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5939 delimit path in strings using quotes.
5940 * util/getroot.c (grub_guess_root_devices): Likewise.
5941 (grub_make_system_path_relative_to_its_root): Likewise.
5942 * util/grub-probe.c (probe): Likewise.
5943 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5944 (xrealpath): Likewise.
5945
4a9950ec
VS
59462013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Fix compilation with older compilers.
5949
5950 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5951 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5952 declarations.
5953 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5954 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5955 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5956 identifier with b.
5957 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5958 * include/grub/crypto.h: Add type defines.
5959 * util/import_gcrypth.sed: Remove duplicate type defines.
5960
adcc6020
VS
59612013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 New command list_trusted.
5964
5965 * grub-core/commands/verify.c (grub_cmd_list): New function.
5966
a4528937
CW
59672013-01-13 Colin Watson <cjwatson@ubuntu.com>
5968
5969 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5970 info message.
5971
ca3a7446
CW
59722013-01-13 Colin Watson <cjwatson@ubuntu.com>
5973
5974 Remove nested functions from PCI iterators.
5975
5976 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5977 passed to hook. Update all callers to pass appropriate hook data.
5978 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5979 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5980 Remove NESTED_FUNC_ATTR from here and from all users.
5981 (grub_pci_iterate): Update prototype.
5982 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5983 instead of nested. Rename to ...
5984 (grub_cs5536_find_iter): ... this.
5985 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5986 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5987 Likewise.
5988 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5989 Likewise.
5990 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5991 Likewise.
5992 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5993 Likewise.
5994 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5995 * grub-core/video/radeon_fuloong2e.c
5996 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5997 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5998 find_card): Likewise.
5999 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6000 Likewise.
6001
f8e98fee
VS
60022013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/commands/verify.c: Mark messages for translating.
6005
055b36b6
VS
60062013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6009 fatal.
6010
f7ff879b
VS
60112013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6014 fatal.
6015
60162013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6017
6018 * autogen.sh: Do not try to delete nonexistant files.
6019 * util/import_gcrypth.sed: Add some missing header removals.
6020
01323d49
CW
60212013-01-12 Colin Watson <cjwatson@ubuntu.com>
6022
6023 Clean up dangling references to grub-setup.
6024 Fixes Ubuntu bug #1082045.
6025
6026 * docs/grub.texi (Images): Refer generally to grub-install rather
6027 than directly to grub-setup.
6028 (Installing GRUB using grub-install): Remove direct reference to
6029 grub-setup.
6030 (Device map) Likewise.
6031 (Invoking grub-install): Likewise.
6032 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6033 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6034 * util/grub-install.in (usage): Likewise.
6035
6036 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6037 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6038 grub-setup.
6039 * configure.ac: Remove grub_setup output variable.
6040
6041 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6042 to grub-bios-setup.
6043 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6044 grub-setup to grub-sparc64-setup.
6045
5e3b8dcb
VS
60462013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Import gcrypt public-key cryptography and implement signature checking.
6049
535714bd
VS
60502013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/fs/ntfs.c: Ue more appropriate types.
6053 * grub-core/fs/ntfscomp.c: Likewise.
6054 * include/grub/ntfs.h: Likewise.
6055
3e4f3566
VS
60562013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 Support Apple FAT binaries on non-Apple platforms.
6059
6060 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6061 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6062 Likewise.
6063 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6064 Apple FAT binaries.
6065
4dedb13f
VS
60662013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6069 sector devices.
6070
f8861eaf
CW
60712013-01-07 Colin Watson <cjwatson@ubuntu.com>
6072
6073 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6074 explicitly zeroing elements.
6075 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6076 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6077 of elements in a structure already allocated using grub_zalloc.
6078 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6079
86065b0a
CW
60802013-01-07 Colin Watson <cjwatson@ubuntu.com>
6081
6082 * docs/grub.texi (grub_cpu): New subsection.
6083 (grub_platform): Likewise.
6084
c6f1e92f
VS
60852013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6088
f797ec85
VS
60892013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6092 divisions.
6093
033d0b4b
VS
60942013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6097 * grub-core/fs/ntfscomp.c: Likewise.
6098 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6099 (grub_ntfs_comp): Likewise.
6100
21d1b9a0
VS
61012013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6104 Rename to ...
6105 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6106 of groups_per_block. All users updated.
6107
10ca8645
VS
61082013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6111 grub_error properly.
6112 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6113 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6114
a4c3ed4c
VS
61152013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6118 always in /boot/zfs.
6119 Reported by: Yuta Satoh.
6120
0b716507
YS
61212013-01-03 Yuta Satoh <nigoro>
6122
6123 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6124 ${grub_probe}
6125
00c05e22
VS
61262013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * configure.ac: Extend -Wno-trampolines to host.
6129
dadddb76
VS
61302013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6133 entry->len = 0.
6134
54ce53ca
CW
61352013-01-03 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6138 (Invoking grub-script-check): Likewise.
6139
8912efca
CW
61402013-01-03 Colin Watson <cjwatson@ubuntu.com>
6141
6142 * docs/grub.texi (Invoking grub-mount): New section.
6143 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6144
c3fc8394
CW
61452013-01-02 Colin Watson <cjwatson@ubuntu.com>
6146
6147 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6148 test failures, so that a failing unit test correctly causes 'make
6149 check' to fail.
6150
45d26abb
CW
61512013-01-02 Colin Watson <cjwatson@ubuntu.com>
6152
6153 Fix failing printf test.
6154
6155 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6156 '$' in the correct order when collecting type information.
6157
971dd2c6
CW
61582013-01-02 Colin Watson <cjwatson@ubuntu.com>
6159
6160 * docs/grub.texi (configfile): Explain environment variable
6161 handling.
6162 (source): New section.
6163 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6164
5c67ea6c
CW
61652012-12-31 Colin Watson <cjwatson@ubuntu.com>
6166
6167 Remove several trivially-unnecessary uses of nested functions.
6168
6169 * grub-core/commands/i386/pc/sendkey.c
6170 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6171 instead of nested.
6172 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6173 Rename to ...
6174 (legacy_file_getline): ... this.
6175 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6176 Likewise.
6177 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6178 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6179 to ...
6180 (probe_dummy_iter): ... this.
6181 * grub-core/kern/i386/coreboot/mmap.c
6182 (grub_linuxbios_table_iterate: check_signature): Likewise.
6183 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6184 check_varstate): Likewise. Mark inline.
6185 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6186 an additional parameter.
6187 (find_long: fnd_long): Likewise. Pass two additional parameters.
6188 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6189 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6190 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6191 Likewise. Rename to ...
6192 (grub_cmos_find_port_iter): ... this.
6193 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6194 Rename to ...
6195 (find_rtc_iter): ... this.
6196
6197 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6198 function directly into the function body, since it is only called
6199 once.
6200
33a68ac6
CW
62012012-12-30 Colin Watson <cjwatson@ubuntu.com>
6202
6203 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6204 __attribute__ ((unused)).
6205 * grub-core/video/bochs.c (find_card): Likewise.
6206 * grub-core/video/cirrus.c (find_card): Likewise.
6207 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6208 * grub-core/video/sis315pro.c (find_card): Likewise.
6209 * grub-core/video/sm712.c (find_card): Likewise.
6210
608b647a
CW
62112012-12-28 Colin Watson <cjwatson@ubuntu.com>
6212
6213 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6214 Fixes Savannah bug #37821.
6215
fd49ceb3
CW
62162012-12-28 Colin Watson <cjwatson@ubuntu.com>
6217
6218 Apply program name transformations at build-time rather than at
6219 run-time. Fixes Debian bug #696465.
6220
6221 * acinclude.m4 (grub_TRANSFORM): New macro.
6222 * configure.ac: Create output variables with transformed names for
6223 most programs.
6224 * util/bash-completion.d/grub-completion.bash.in: Use
6225 pre-transformed variables for program names.
6226 * util/grub-install.in: Likewise.
6227 * util/grub-kbdcomp.in: Likewise.
6228 * util/grub-mkconfig.in: Likewise.
6229 * util/grub-mkconfig_lib.in: Likewise.
6230 * util/grub-mknetdir.in: Likewise.
6231 * util/grub-mkrescue.in: Likewise.
6232 * util/grub-mkstandalone.in: Likewise.
6233 * util/grub-reboot.in: Likewise.
6234 * util/grub-set-default.in: Likewise.
6235 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6236 * tests/util/grub-shell-tester.in: Remove unused assignment.
6237 * tests/util/grub-shell.in: Likewise.
6238 * util/grub.d/00_header.in: Likewise.
6239
7024b3c0
CW
62402012-12-28 Colin Watson <cjwatson@ubuntu.com>
6241
6242 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6243
6244 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6245 HAVE_RAW_DECL_GETS.
6246 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6247
e3501b13
VS
62482012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6251 Reported by: Eriks Latosheks <foresterlv>.
6252
b40c88a9
VS
62532012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * docs/grub.texi (Network): Update instructions on generating netboot
6256 image.
6257
ce96d01c
VS
62582012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6261 around device name if necessarry.
6262
0f596201
PFS
62632012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6264
6265 * util/grub-install.in: Follow the symbolic link parameter added
6266 to the file command.
6267
600d5bdb
AB
62682012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6269
6270 * util/grub-install.in: Remove stale TODO.
6271
64ebd2f4
PFS
62722012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6273
6274 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6275 dynamic allocation for the bootpath buffer.
6276
74b2fe3e
DTB
62772012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6278
6279 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6280 window too small.
6281
969b804f
VS
62822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6285 argument rather than font name. All users updated.
6286 (grub_gfxterm_set_window): Likewise.
6287
b9f5ebd6
VT
62882012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6289
6290 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6291 from working.
6292
258f43b7
VS
62932012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * util/getroot.c (convert_system_partition_to_system_disk): Support
6296 nbd disks.
6297
cc1ce5f9
VS
62982012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6301 infinite loop on corrupted FS.
6302
e77a16ca
VS
63032012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 Fix big-endian mtime.
6306
6307 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6308 together sec and usec.
6309 (grub_ufs_dir): Use correct byteswapping for UFS time.
6310
d9c48c7b
VS
63112012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Support big-endian UFS1.
6314
6315 * Makefile.util.def (libgrubmods): Add ufs_be.c
6316 * grub-core/Makefile.core.def (ufs1_be): New module.
6317 * grub-core/fs/ufs_be.c: New file.
6318 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6319 the file.
6320
2f9f40ba
LL
63212012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6322
6323 * include/grub/types.h: Fix functionality unaffecting typo in
6324 GRUB_TARGET_WORDSIZE conditional macro.
6325
48ff0889
PFS
63262012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6327
6328 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6329
03711240
GS
63302012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6331
6332 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6333 that /netbsd appears first (when it exists).
6334
a31b11bd
CJ
63352012-10-12 Christoph Junghans <ottxor@gentoo.org>
6336
6337 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6338 Fixes Savannah bug #37558.
6339
e8a5d5d4
CW
63402012-10-12 Colin Watson <cjwatson@ubuntu.com>
6341
6342 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6343 description of extract_entries_configfile.
6344
63452012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6346
6347 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6348 preferred_address.
6349 (grub_cmd_linux): Likewise.
6350 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6351 preferred_lifetime. Update all users.
6352
288c757d
CW
63532012-09-26 Colin Watson <cjwatson@ubuntu.com>
6354
6355 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6356 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6357
0d35da3f
CW
63582012-09-26 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6361 errors from grub-probe to /dev/null, not stdout.
6362
b78c3127
VS
63632012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6366 sector 1.
6367
473959f0
CW
63682012-09-24 Colin Watson <cjwatson@ubuntu.com>
6369
6370 * util/grub-install.in: Make the error message if $source_dir
6371 doesn't exist more useful.
6372
794c8c33
CW
63732012-09-22 Colin Watson <cjwatson@ubuntu.com>
6374
6375 Fix grub-emu build on FreeBSD.
6376
6377 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6378 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6379 headers on Linux.
6380 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6381 implementation is currently Linux-specific.
6382 * util/getroot.c (exec_pipe): Define only on Linux or when either
6383 libzfs or libnvpair is unavailable.
6384 (find_root_devices_from_poolname): Remove unused path variable.
6385
86d08fdb
CW
63862012-09-19 Colin Watson <cjwatson@ubuntu.com>
6387
6388 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6389 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6390 should fit before end == 63.
6391
735abf54
CW
63922012-09-19 Colin Watson <cjwatson@ubuntu.com>
6393
6394 * util/grub-setup.c (write_rootdev): Remove unused core_img
6395 parameter. Update all callers.
6396 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6397 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6398 GRUB_SETUP_BIOS.
6399
140acd3c
VS
64002012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6403 (grub_add_tab): New function.
6404 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6405 * util/grub.d/10_illumos.in: Likewise.
6406 * util/grub.d/10_kfreebsd.in: Likewise.
6407 * util/grub.d/10_linux.in: Likewise.
6408 * util/grub.d/10_netbsd.in: Likewise.
6409 * util/grub.d/10_windows.in: Likewise.
6410 * util/grub.d/10_xnu.in: Likewise.
6411 * util/grub.d/20_linux_xen.in: Likewise.
6412 * util/grub.d/30_os-prober.in: Likewise.
6413
7ddffdad
VS
64142012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6417 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6418 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6419 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6420 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6421 ieee1275-nocursor.
6422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6423 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6424
4e092454
VS
64252012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6428 le-conversion.
6429 Reported by: BURETTE, Bernard.
6430
735abf54 64312012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6432
6433 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6434 from comment.
6435
dfd39dbd
CW
64362012-09-14 Colin Watson <cjwatson@ubuntu.com>
6437
6438 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6439 IEEE1275 machines. Fixes powerpc-emu compilation.
6440 * include/grub/terminfo.h: Likewise.
6441
3bfa763c
VS
64422012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6445 a const pointer.
6446 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6447 const pointer.
6448 (efiemu_set_variable): Make vendor_guid a const pointer.
6449
250e475b
VS
64502012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 Don't require grub-mkconfig_lib to generate manpages for programs.
6453
6454 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6455 dependencies, don't add grub-mkconfig_lib.
6456 (program): Pass empty adddeps.
6457 (script): Pass grub-mkconfig_lib as adddeps.
6458
592fd0e4
VS
64592012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6462 * util/getroot.c (grub_find_device): Likewise.
6463 (get_mdadm_uuid): Likewise.
6464 (grub_util_is_imsm): Likewise.
6465 (grub_util_pull_device): Likewise.
6466 * util/grub-probe.c (probe): Likewise.
6467
801a3027
BG
64682012-09-10 Benoit Gschwind <gschwind>
6469
6470 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6471 (devs): Add devpath_8.
6472
c5052c81
PJ
64732012-09-08 Peter Jones <pjones@redhat.com>
6474
6475 * grub-core/Makefile.core.def (efifwsetup): New module.
6476 * grub-core/commands/efi/efifwsetup.c: New file.
6477 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6478 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6479 New define.
6480 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6481
8e832f71
JS
64822012-09-05 Jiri Slaby <jslaby@suse.cz>
6483
6484 * configure.ac: Add SuSe path.
6485
f0f55752
CW
64862012-09-05 Colin Watson <cjwatson@ubuntu.com>
6487
6488 * NEWS: Fix typo.
6489
ecadc4c2
CW
64902012-09-05 Colin Watson <cjwatson@ubuntu.com>
6491
6492 * util/import_gcry.py: Sort cipher_files, to make build system
6493 generation more deterministic.
6494
64498f25
VS
64952012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6498 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6499 (grub_set_datetime): Likewise.
6500
9cc836a2
VS
65012012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6504 warnings.
6505
bcfcea01
VS
65062012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6509
a4099485
VS
65102012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6513
265c162a
CW
65142012-09-04 Colin Watson <cjwatson@ubuntu.com>
6515
6516 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6517 required for checkouts from bzr, but it may be useful for users or
6518 distributors wishing to update translations against a tarball
6519 distribution, and it can be helpful for the tarball to be a superset
6520 of what's in bzr.
6521
3d171e95
CW
65222012-09-04 Colin Watson <cjwatson@ubuntu.com>
6523
6524 * Makefile.am (EXTRA_DIST): Add
6525 grub-core/tests/boot/linux.init-mips.S,
6526 grub-core/tests/boot/linux.init-ppc.S, and
6527 grub-core/tests/boot/linux-ppc.cfg.
6528
f2c2503e
CW
65292012-09-04 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * grub-core/mmap/mips/loongson: Remove empty directory.
6532
65332012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6534
6535 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6536 gone.
6537
ab2163d5
CW
65382012-09-04 Colin Watson <cjwatson@ubuntu.com>
6539
6540 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6541 grub-sparc64-setup.
6542
ce938140
GS
65432012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6544
6545 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6546
529f58a5
GS
65472012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6548
6549 * po/POTFILES.in: Regenerated.
6550
16cf79e9
GS
65512012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6552
6553 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6554 (NetBSD): New subsection.
6555
39b27f1e 65562012-07-22 Ales Nesrsta <starous@volny.cz>
6557
6558 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6559 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6560
a885261b
VS
65612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6564 * util/grub.d/10_hurd.in: Add missing quoting.
6565 * util/grub.d/10_illumos.in: Likewise.
6566 * util/grub.d/10_kfreebsd.in: Likewise.
6567 * util/grub.d/10_linux.in: Likewise.
6568 * util/grub.d/20_linux_xen.in: Likewise.
6569
7bd29c01
VS
65702012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 New command `lsefi'.
6573
6574 * grub-core/Makefile.core.def (lsefi): New module.
6575 * grub-core/commands/efi/lsefi.c: New file.
6576 * include/grub/efi/api.h: Add more GUIDs.
6577
ac625d8f
VS
65782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6581 (grub_bsd_elf32_hook): Likewise.
6582 (grub_bsd_elf64_size_hook): Likewise.
6583 (grub_bsd_elf64_hook): Likewise.
6584 (grub_bsd_load_elf): Likewise.
6585
e73bb801
VS
65862012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6589 if hash function is unavailable.
6590 (dec_stream_header): Likewise.
6591
e81db8b5
VS
65922012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6595 filter state.
6596
d187a1c3
VS
65972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 Fix coreboot compilation.
6600
6601 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6602 (grub_vga_text_init_real): ... this.
6603 (grub_vga_text_fini): Rename to ...
6604 (grub_vga_text_fini_real): ... this.
6605
91a05f64
VS
66062012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6609
6af96df7
VS
66102012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/lib/legacy_parse.c: Support clear and testload.
6613
4d569e12
VS
66142012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6617
073b57bb
VS
66182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6621
a706f4cc
VS
66222012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/net/tftp.c (ack): Fix endianness problem.
6625 (tftp_receive): Likewise.
6626 Reported by: Michael Davidsaver.
6627
e7850aa9
VS
66282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6631
66322012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6635 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6636 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6637
35692881
VS
66382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6641 efi_mmap_size.
6642 Reported by: Stuart Hayes.
6643
c35fc5bd
VS
66442012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6647
6648 * grub-core/Makefile.core.def (mda_text): New module.
6649 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6650 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6651 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6652 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6653 here.
6654 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6655 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6656 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6657 here.
6658 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6659 to ..
6660 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6661 ... here
6662 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6663 here.
6664 * grub-core/term/i386/vga_common.c: Removed.
6665 * include/grub/i386/vga_common.h: Likewise.
6666 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6667 (grub_vga_cr_bw_read): Likewise.
6668 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6669 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6670 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6671 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6672 grub_vga_cr_read/grub_vga_cr_write.
6673 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6674
5f91f701
VS
66752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * configure.ac: Bump version to 2.00.
6678 * grub-core/normal/main.c (features): Add feature_200_final.
6679
0c4f85f6
VS
66802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
66812012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6682
6683 * NEWS: Fix unclarity and language mistakes.
6684
f923ad22
VS
66852012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6688 additional size to 3 pages.
6689 Reported by: Stuart Hayes.
6690
d22029ba
VS
66912012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * NEWS: Add 2.00 entry.
6694
58eee08f
VS
66952012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6698 put explicit "/" for empty path.
6699 (wildcard_expand): Improve dprintf.
6700
c59bdff7
VS
67012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6704 it's equal to currnode. This can happen with "" symlink.
6705
5e6a440a
YB
67062012-06-27 Yves Blusseau <blusseau@zetam.org>
6707
6708 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6709 echo shell command by printf command.
6710
73a68bcb
VS
67112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6714 the value returned by firmware is the maximal position, not diumension.
6715 (grub_terminfo_output_state): Use a more sane fallback.
6716
392a603b
VS
67172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6720
42d0867f
VS
67212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6724 frequency to 150 MHz.
6725
489509f4
VS
67262012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Apple fixes.
6729
6730 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6731 __APPLE_
6732 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6733 definition.
6734 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6735
9f3fc883
VS
67362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 Handle slash in HFS label.
6739
6740 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6741 (grub_hfs_dir): Tanslate slash.
6742 (grub_hfs_label): Don't translate slash.
6743
54853fd7
VS
67442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6747 network protocol listing since it introduces problematic dependency on
6748 net module.
6749
4dc02ddf
VS
67502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6753
c50c867d
VS
67542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 Init video early on yeeloong to avoid being rebooted by watchdog.
6757
6758 * grub-core/Makefile.am (gensm712): New target.
6759 (sm712_start.S): Likewise.
6760 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6761 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6762 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6763 description.
6764 * include/grub/vga.h: Move registry definitions to...
6765 * include/grub/vgaregs.h: ... here.
6766
5f92c8a1
VS
67672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6770 signedness.
6771
e9e6f111
VS
67722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6775 platforms with firmware disk drivers in the core.
6776
754ad9eb
VS
67772012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6780 informative verbose message.
6781 (read_lv): Handle 64-bit segment size.
6782
315654c2
VS
67832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6786
fb022c79
VS
67872012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6790 character but still remove trainling spaces.
6791 (grub_fat_label): Ignore archive flag.
6792
8645f72c
VS
67932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6796 cast between linux_kernel_header and linux_kernel_params.
6797
36498496
VS
67982012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6801 type for size.
6802 (grub_raid6_recover_func_t): Likewise.
6803 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6804 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6805
0b5ea6b8
VS
68062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6809
650cfcfe
GS
68102012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6811
6812 Fix overflow.
6813
6814 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6815 [__NetBSD__]: Add explicit cast before bitshift.
6816
8a4d6a44
VS
68172012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * configure.ac: Bump to 2.00~rc1.
6820
2fb97ed3
VS
68212012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6824 half of $a0.
6825
1fa097dc
VS
68262012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
68272012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6828
6829 * docs/grub.texi: Fix search syntax.
6830 (Multi-boot manual config): Put msdos rather than GPT example.
6831 Grammar corrections.
6832
c890ba78
VS
68332012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6836
0f92dca7
VS
68372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6840
3988c4a0
VS
68412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6844 message on double free. Put the value of magic in case of mismatch.
6845
9e86d4c5
VS
68462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Speed-up video on yeeloong.
6849
6850 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6851 add cached_ptr.
6852 (grub_video_sm712_video_fini): Unmap cached_ptr.
6853 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6854 (grub_video_sm712_set_active_render_target): Removed.
6855 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6856 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6857 sync caches.
6858
ed24c312
VS
68592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 Avoid flushing the same line multiple times on loongson.
6862
6863 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6864 Step in 32 bytes and not 1 byte.
6865 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6866 Likewise.
6867
d1718e7d
VS
68682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6871 subvolumes.
6872
982f1909
VS
68732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 Implement flow control for http.
6876
6877 * grub-core/net/http.c (parse_line): Handle response 206.
6878 (http_receive): Stall if too many packets are in the queue.
6879 (http_establish): Fix range header.
6880 (http_seek): Fix double free.
6881 (http_close): Likewise.
6882 (http_packets_pulled): New function.
6883 (grub_http_protocol): Set http_seek
6884 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6885 (ack_real): Set window depending on i_stall.
6886 (grub_net_send_tcp_packet): Likewise.
6887 (grub_net_tcp_stall): New function.
6888 (grub_net_tcp_unstall): Likewise.
6889 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6890 (grub_net_tcp_unstall): Likewise.
6891
bd407d6e
VS
68922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6895
c7564b8e
VS
68962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6899
a3706162
VS
69002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * tests/util/grub-shell.in: Fix a typo.
6903
b27069e0
VS
69042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 Implement flow control for tftp.
6907
6908 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6909 packets but stop only if stop condition is satisfied.
6910 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6911 `stall' instead of `eof' as stop condition.
6912 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6913 (http_err): Likewise.
6914 * grub-core/net/tftp.c (ack): Replace the first argument with data
6915 instead of socket.
6916 (tftp_receive): Stall if too many packets are in wait queue.
6917 (tftp_packets_pulled): New function.
6918 (grub_tftp_protocol): Set packets_pulled.
6919 * include/grub/net.h (grub_net_packets): New field count.
6920 (grub_net_put_packet): Increment count.
6921 (grub_net_remove_packet): Likewise.
6922 (grub_net_app_protocol): New field `packets_pulled'.
6923 (grub_net): New field `stall'.
6924
6b9cfac6
VS
69252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6928 sync part to handle them.
6929
f35abd81
VS
69302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6933 * grub-core/net/drivers/ieee1275/ofnet.c
6934 (grub_ieee1275_net_config_real): Likewise.
6935
0e7ec820
VS
69362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6939 the direct route for server/gateway.
6940
9d611a31
VS
69412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6944 IP address to server name since we may not hame the DNS.
6945
418f45ab
VS
69462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6949 freeing random buffer on failure.
6950 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6951
44a0efc1
VS
69522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6955
531e2241
VS
69562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6959 reserved bytes.
6960 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6961 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6962 Handle malloc error correctly.
6963
cde393c9
VS
69642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6967 blocks.
6968
538478d0
VS
69692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6972 increment.
6973
9b55efe0
VS
69742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6977 none is explicitly specified.
6978
9eb832c3
VS
69792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6982 while reallocating.
6983
d6b7c7c9
VS
69842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 Respect netmask from bootp/dhcp.
6987
6988 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6989 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6990 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6991 into ...
6992 (grub_net_add_ipv4_local): ... this.
6993 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6994 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6995 (grub_net_add_ipv4_local): New proto.
6996
67caf9eb
VS
69972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7000 determining EFI memory map size.
7001
43657558
VS
70022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7005
eb6d0dd3
VS
70062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7009 when looking for partition separator.
7010
31230544
VS
70112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7014 Escape commas.
7015
918a2517
VS
70162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Restructure FAT driver to avoid hook in label reading as it hits a
7019 GCC bug.
7020
7021 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7022 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7023 (grub_fat_iterate_dir): Split into ...
7024 (grub_fat_iterate_init): ... this, ...
7025 (grub_fat_iterate_fini): ... this, ...
7026 (grub_fat_iterate_dir_next): ... and this. All users updated.
7027
9f1d654e
VS
70282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7031 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7032 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7033 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7034 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7035 New fields last_key and last_key_time.
7036 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7037 extended key-esc into extended key-extended key.
7038
52f0f643
VS
70392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Avoid unnecessary memcpy of whole video buffer.
7042
7043 * grub-core/video/fb/video_fb.c (dirty): New struct.
7044 (framebuffer): Add members current_dirty and previous_dirty.
7045 (dirty): New function.
7046 (grub_video_fb_fill_rect): Update dirty.
7047 (common_blitter): Likewise.
7048 (grub_video_fb_scroll): Likewise.
7049 (doublebuf_blit_update_screen): Copy only dirty part.
7050 (doublebuf_pageflipping_update_screen): Likewise.
7051 (grub_video_fb_doublebuf_blit_init): Init dirty.
7052 (doublebuf_pageflipping_init): Likewise.
7053 (grub_video_fb_setup): Likewise.
7054
e169a180
VS
70552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7058 poll rate.
7059
48556879
VS
70602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 Fix wildcard regexp dot and other special characters handling.
7063 Reported by: Robert Mabee.
7064
7065 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7066 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7067 (split_path): Trigger expansion on '?'.
7068 (unescape): New function.
7069 (wildcard_expand): Unescape parts copied without globbing.
7070 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7071 (grub_script_arglist_to_argv): Don't unescape expansions.
7072
0494408e
VS
70732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * include/grub/net.h (grub_net_card): New member txbufsize.
7076 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7077 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7078 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7079 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7080 txbufsize.
7081 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7082 compatible property to check for macs. Set
7083 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7084 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7085 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7086 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7087 (send_card_buffer): Use txbuf.
7088 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7089 nested function out of the parent while on it.
7090
cc35fe8f
VS
70912012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7094 presence check.
7095 (grub_ieee1275_net_config_real): Fix config pointer.
7096
970a0a09
VS
70972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7100 filename parsing to non-block devices.
7101
3e19bf87
VS
71022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7105
c62d1a0c
VS
71062012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7109 All users updated.
7110
ef76bec3
VS
71112012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7114 UUID search command even if hints probing failed.
7115
71162012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7117
7118 * po/POTFILES.in: Regenerated.
7119
70aaf305
VS
71202012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 Speed-up video on fuloong.
7123
7124 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7125 New function.
7126 (grub_pci_device_unmap_range): Handle non-cached address.
7127 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7128 add direct_ptr.
7129 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7130 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7131 (grub_video_sis315pro_set_active_render_target): Removed.
7132 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7133 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7134 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7135 sync caches.
7136 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7137 New proto.
7138
10400f0b
VS
71392012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * docs/grub.texi (Multi-boot manual config): New section.
7142
ba67e2c6
VS
71432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 Avoid slow read-back from VRAM.
7146
7147 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7148 Move from here ...
7149 * grub-core/video/fb/video_fb.c
7150 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7151 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7152 (front_target): Remove front_target. Add pages.
7153 (grub_video_fb_init): Skip setting front_pages.
7154 (grub_video_fb_fini): Likewise.
7155 (doublebuf_blit_update_screen): Use pages.
7156 (grub_video_fb_doublebuf_blit_init): Likewise.
7157 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7158 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7159 (grub_video_fb_setup): Prefer doublebuffing.
7160
377c98cb
VS
71612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7164 gzio.
7165
eac49cff
VS
71662012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Add loongson tests.
7169
7170 * tests/util/grub-shell.in: Handle loongson.
7171 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7172 drivers.
7173 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7174 Reboot instead of shutdown if REBOOT is defined.
7175
0321415e
VS
71762012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7179 sized ports since unlike on real hardware qemu supports only 32-bit
7180 regs.
7181
3f2bdd8f
VS
71822012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7185 * util/grub-mkrescue.in: Handle loongson.
7186
29a049c9
VS
71872012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7190 Set is_part appropriately.
7191 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7192 names. Canonicalize partition without full disk.
7193
4abde346
VS
71942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Revert usb-quiesce since it's wrong.
7197
7198 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7199 (grub_ofdisk_init): Don't do quiesce.
7200
61f1d93b
VS
72012012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7204 PowerMac workaround to Xserves as well.
7205 Information supplied by: Benjamin Herrenschmidt.
7206
a09eb541
VS
72072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Don't assume that beginning address is also the entry point on ppc.
7210
7211 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7212 (grub_linux_boot): Use linux_entry.
7213 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7214 (grub_linux_load64): Likewise.
7215
505b3c9b
VS
72162012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7219
cbe0b4ef
VS
72202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7223 needlessly lose the console.
7224
3006e981
VS
72252012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7228 space.
7229
4e5a96b0
VS
72302012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7231
7da036bb
VS
7232 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7233 than current grub_get_rtc() not implemented when booted with
7234 coreboot without TSC.
7235
7236 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7237 Add machine/time.h to kernel headers on loongson.
7238 * grub-core/Makefile.core.def (kernel): Remove
7239 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7240 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7241 (grub_get_rtc): Likewise.
7242 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7243 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7244 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7245 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7246 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7247 rather than installing known non-working time source.
7248 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7249 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7250 * include/grub/time.h: Don't include machine/time.h.
7251 * include/grub/efi/time.h: Removed.
7252 * include/grub/i386/efi/time.h: Likewise.
7253 * include/grub/i386/ieee1275/time.h: Likewise.
7254 * include/grub/powerpc/ieee1275/time.h: Likewise.
7255 * include/grub/sparc64/ieee1275/time.h: Likewise.
7256 * include/grub/x86_64/efi/time.h: Likewise.
7257
72582012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7261
7262 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7263 value.
7264 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7265 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7266 with dotless variants when any combining above is present.
7267
5561c22d
VS
72682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7271 text and not binary.
7272
96f7e60e
VS
72732012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 Stop polling as soon as we have the packet we were waiting for.
7276
7277 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7278 All users updated.
7279 * grub-core/net/arp.c (have_pending): New var.
7280 (pending_req): Likewise.
7281 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7282 stop indicator.
7283 (grub_net_arp_receive): Set have_pending.
7284 * grub-core/net/dns.c (recv_data): New field stop.
7285 (recv_hook): Set stop.
7286 (grub_net_dns_lookup): Init stop and use as stop condition.
7287 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7288 condition.
7289 * grub-core/net/net.c (grub_net_poll_cards): New argument
7290 stop_condition. Stop when it goes true.
7291 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7292 indicator.
7293 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7294
3e747239
VS
72952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Keep TX and RX buffers on EFI rather than always allocate new ones.
7298
7299 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7300 card. All users updated.
7301 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7302 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7303 (get_card_packet): Likewise.
7304 (grub_efinet_findcards): Init new fields.
7305
f695e99a
VS
73062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7309 compilation error on sparc64.
7310
9e5e66d1
VS
73112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Use ITC on IA64 rather than broken routine based on daytime.
7314
7315 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7316 ia64.
7317 (grub_get_rtc) [__ia64__]: Likewise.
7318 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7319 (get_itc): New function.
7320 (grub_rtc_get_time_ms): Likewise.
7321 (grub_machine_init): Calibrate ITC.
7322 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7323 Keep only on non-ia64. Don't export since it's broken and used only
7324 if TSC is unavailable.
7325
a1767404
VS
73262012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7329 even if it's used.
7330 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7331 Skip if parent is unused.
7332
34b2bced
VS
73332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7336
5e619f40
VS
73372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 Fix wildcard escaping.
7340
7341 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7342 * grub-core/script/execute.c (wildcard_escape): .. to here.
7343 Don't escape dot.
7344 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7345 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7346 Don't escape dot.
7347 * grub-core/script/execute.c (gettext_append): Always escape.
7348 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7349 * grub-core/script/yylex.l: Don't cut away the escaping.
7350 * tests/grub_script_echo1.in: Add tests with wildcard.
7351
c8ca5855
VS
73522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7355 (ftdi_hw_configure): Likewise.
7356 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7357 define.
7358 (real_config): Handle 1.5 stop bits.
7359 (pl2303_hw_configure): Likewise.
7360
7183452c
VS
73612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * Makefile.am: Add ppc linux bootcheck.
7364 * grub-core/tests/boot/linux-ppc.cfg: New file.
7365 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7366
f57c84cd
VS
73672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * tests/grub_script_expansion.in: Skip network protocols.
7370
ecfc6207
VS
73712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7374
8d03d284
VS
73752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7378 --rom-directory.
7379 Add -graft-points.
7380
61c42af0
VS
73812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 ESCC serial driver for conducting sautomated tests in qemu.
7384 Not tested on real hardware.
7385
7386 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7387 * grub-core/term/ieee1275/escc.c: New file.
7388 * grub-core/Makefile.core.def (escc): New module.
7389
08fd1291
VS
73902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7393 invalid on error.
7394 (serial_hw_fetch): Don't read invalid handle.
7395 (serial_hw_put): Don't write into invalid handle.
7396
08dafeea
VS
73972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 Add a 1.5 stop bits value.
7400
7401 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7402 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7403 GRUB_SERIAL_STOP_BITS_1_5.
7404
9068fdcf
VS
74052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7408 value rather than let it uninited.
7409
f4d5820f
VS
74102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * grub-core/commands/wildcard.c (+check_file): New function.
7413 (wildcard_expand): Don't expand to non-existing files, expand with
7414 suffix and not attempt to expand if not needed.
7415
3d2de9a7
VS
74162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7419 out of partitions containing other partitions.
7420
c5c81ff9
VS
74212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7424 on some qemu versions with GRUB.
7425
7426 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7427 define.
7428 (grub_openbsd_bootarg_pcibios): New struct.
7429 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7430 Add PCIINFO.
7431
08a14e0b
VS
74322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * tests/util/grub-shell.in: Trim firmware output on EFI.
7435
cede3ca3
VS
74362012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7439 and coreboot since it's already in kernel.
7440
558d3a60
VS
74412012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7444 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7445 to here. New return value start. All users updated.
7446 Recursively scan linear mappings.
7447 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7448 proto.
7449 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7450 Use grub_util_get_dm_node_linear_info.
7451 * util/getroot.c (convert_system_partition_to_system_disk): Use
7452 grub_util_info rather than grub_dprintf.
7453 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7454
60fde14d
VS
74552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7458
7459 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7460 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7461
24bd8838
VS
74622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * include/grub/types.h (grub_set_unaligned64): New function.
7465 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7466 (setup): Likewise.
7467
7bc06a49
VS
74682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7471 (grub_ofdisk_fini): Quiesce USB devices.
7472
49cea015
VS
74732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7476 caches.
7477
8dcbe03b
VS
74782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7481
5b258735
VS
74822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 * grub-core/disk/pata.c (grub_pata_pio_read)
7485 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7486 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7487
37ba07eb
VS
74882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 Extend automated tests to qemu-mips.
7491
7492 * Makefile.am: reorganise tests and enable qemu-mips.
7493 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7494 * grub-core/tests/boot/linux.init-mips.S: New file.
7495 * tests/partmap_test.in: Handle ata0 disks.
7496 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7497 non-pc i386.
7498
070038f8
VS
74992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7502 ia64.
7503 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7504 quotes while on it.
7505
004be2cd
VS
75062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7509 (grub_halt): Likewise.
7510 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7511
b1622487
VS
75122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/term/serial.c (grub_serial_register)
7515 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7516 the behaviour in line with x86 platforms.
7517
b7b4ab33
VS
75182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7521 (grub_ata_strncpy): Likewise.
7522 (grub_ata_identify): Add missing byteswaps.
7523
5e3535ae
VS
75242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7527 byte-swap.
7528 (screen_read_char): Likewise.
7529 (grub_vga_text_cls): Likewise.
7530
c21b17e6
VS
75312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7534 filenames.
7535 (make_file_path): Likewise.
7536
bf293dec
VS
75372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7540 machines.
7541 Tested by: Paulo Flabiano Smorigo.
7542 Crucial information about API supplied by: Coleen <Last name unknown>.
7543 Reviewed by: Coleen <Last name unknown>.
7544
81f6ef0e
VS
75452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * util/grub-mkimage.c: Disable -Wcast-align.
7548
7284143a
VS
75492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7552 as they are fatal.
7553
b99f3e00
VS
75542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7557
944f752d
VS
75582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * util/grub-probe.c (escape_of_path): Fix double free.
7561
6cce6f38
VS
75622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/commands/videoinfo.c (hook): Show pitch.
7565
1e1eb50e
VS
75662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7569
1c715b5a
VS
75702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7573 (probe): Add ieee1275 to OFW devices.
7574
007ae52d
VS
75752012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7578
4557a36d
VS
75792012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 Handle IBM OFW path.
7582
7583 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7584 available.
7585 (of_path_of_scsi): Handle vdevice.
7586
efbeefe9
VS
75872012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7590 Allocate in multiples of 16 to avoid adding a few bytes free region the
7591 windows bugs upon.
7592
15a940bb
VS
75932012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7596 Allocate in multiples of 16 to avoid adding a few bytes free region the
7597 windows bugs upon.
7598 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7599
6e5efd60
VS
76002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7603 resolutions.
7604 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7605 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7606
0d3d137e
IS
76072012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7608
7609 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7610
45dbe300
VS
76112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7614 resulted in \\ at the end of the line.
7615
6d8db947
VS
76162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7619 (grub_parser_cmdline_state): Likewise.
7620 (grub_parser_split_cmdline): Likewise.
7621
de89d338
VS
76222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7625 /dev/root and /dev/dm-*.
7626
00d41dee
VS
76272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7630 fix partially stale display.
7631
f95d1f11
VS
76322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7635 substraction.
7636
6297e197
VS
76372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7640 Fix MBR remapping workaround.
7641 (grub_util_biosdisk_read) [__linux__]: Likewise.
7642
8a7ecad3
VS
76432012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7646
2b34f944
VS
76472012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * configure.ac: Bump to beta6.
7650
684aef11
CW
76512012-05-31 Christer Weinigel <christer@weinigel.se>
7652
7653 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7654
05b0bb91
VS
76552012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7658 (grub_cmd_linux): Likewise.
7659
bda36bfa
CW
76602012-05-31 Christer Weinigel <christer@weinigel.se>
7661
7662 Fix EHCI low-speed.
7663
7664 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7665 (GRUB_EHCI_MULT_TWO): Likewise.
7666 (GRUB_EHCI_MULT_THREE): Likewise.
7667 (GRUB_EHCI_CMASK_MASK): New enum value.
7668 (GRUB_EHCI_SMASK_MASK): Likewise.
7669 (GRUB_EHCI_CMASK_OFF): Likewise.
7670 (GRUB_EHCI_SMASK_OFF): Likewise.
7671 (grub_ehci_pci_iter): Enable periodic schedule.
7672 (grub_ehci_parse_notrun): Likewise.
7673 (grub_ehci_restore_hw): Likewise.
7674 (grub_ehci_setup_qh): Set flags for low speed transfers.
7675 (grub_ehci_find_qh): Use periodic list for low speed.
7676 (grub_ehci_setup_transfer): Check periodic queue as well.
7677 (grub_ehci_check_transfer): Likewise.
7678 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7679
e12bcb1c
PFS
76802012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7681
7682 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7683 parameter is used.
7684
bcc75fb3
PJ
76852012-05-31 Peter Jones <pjones@redhat.com>
7686
7687 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7688 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7689 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7690
f19cb95e
VS
76912012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7694 uninited variable. Allocate at least setup_sects.
7695
a4e5ca80
VS
76962012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Fix handling of EFI with big memory maps.
7699
7700 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7701 (real_mode_mem): Likewise.
7702 (real_mode_target): Likewise.
7703 (real_mode_pages): Likewise.
7704 (prot_mode_pages): Likewise.
7705 (linux_params): New var.
7706 (linux_cmdline): Likewise.
7707 (free_pages): Don't set real mode variables.
7708 (allocate_pages): Don't allocate real mode memory.
7709 (grub_e820_add_region): Remove the limit.
7710 (grub_linux_boot): Allocate and copy real mode memory.
7711 (grub_linux_unload): Free linux_cmdline.
7712 (grub_cmd_linux): Use temporary storage for parameters.
7713 (grub_cmd_initrd): Likewise.
7714 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7715 (linux_kernel_params): Make it 1K big.
7716
ddb73558
VS
77172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * Makefile.util.def: Remove -Wno-format.
7720 * grub-core/Makefile.core.def: Likewise.
7721
1c4afb60
VS
77222012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * tests/cmp_unit_test.c: Add missing failure message.
7725 * tests/example_unit_test.c: Likewise.
7726 * tests/printf_unit_test.c: Likewise.
7727
941e3a6d
VS
77282012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7731 relaxation of protective MBR requirements.
7732
b105df76
VS
77332012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * configure.ac: Add condition for COND_HOST_XNU.
7736 * Makefile.util.def (10_xnu): New script.
7737 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7738
84e1569e
VS
77392012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7742 objconv bug.
7743
130c0f77
VS
77442012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7747 Binary on other platforms stays identical.
7748
6fd0b143
VS
77492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7752 Apple.
7753
0af1751d
VS
77542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7757
176d5f7d
VS
77582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7761 rather than defining size_t ourselves to avoid conflict.
7762
7de5e20a
VS
77632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7766 initialisation to avoid __bzero reference.
7767
f7143efe
VS
77682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7771 version.
7772 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7773 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7774 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7775 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7776 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7777
e6ad0555
VS
77782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7781 * grub-core/kern/misc.c: Likewise.
7782 * grub-core/loader/i386/xnu.c: Likewise.
7783 * include/grub/i386/tsc.h: Likewise.
7784 * include/grub/symbol.h: Likewise.
7785
4a5a3c4a
VS
77862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7789 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7790 on older compiler.
7791
037f6d90
VS
77922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7795 Implement Apple flavour.
7796 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7797
f7194551
VS
77982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7801 (memmove) [__APPLE__]: Likewise.
7802 (memcpy) [__APPLE__]: Likewise.
7803 (memset) [__APPLE__]: Likewise.
7804 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7805 (memmove) [__APPLE__]: Likewise.
7806 (memcpy) [__APPLE__]: Likewise.
7807 (memset) [__APPLE__]: Likewise.
7808
85a730ca
VS
78092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7812 dependency discard.
7813
40e80b94
VS
78142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/normal/main.c (read_config_file): Provide config_file and
7817 config_directory.
7818 * util/grub.d/41_custom.in: Use config_directoy when available.
7819
9da59c32
VS
78202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7823 (grub_bfs_dir): Likewise.
7824
2787ae53
PJ
78252012-05-27 Peter Jones <pjones@redhat.com>
7826
7827 The old code gives arguments to a printf function which can't work
7828 correctly, and the compiler complains.
7829
7830 * grub-core/tests/example_functional_test.c (example_test): Add
7831 missing text.
7832 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7833 * include/grub/test.h (grub_test_assert_helper): New declaration.
7834 (grub_test_assert): Use grub_test_assert_helper.
7835
526ef13d
VS
78362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7839 (exfctest): ... this to avoid overlong filenames.
7840 All users updated.
7841
20dd511c
VS
78422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 Handle "." and ".." on squashfs.
7845
7846 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7847 Make inode numbers into stack.
7848 (grub_squash_read_symlink): Use stack.
7849 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7850 (make_root_node): Fill stack.
7851 (grub_squash_open): Use stack.
7852
1d80c62a
VS
78532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7856 freeing.
7857
d336f652
VS
78582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7861 stderr on test calls.
7862
8b43f587
VS
78632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7866
80a3dc3f
VS
78672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7870
47e297d4
VS
78712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7874 "..".
7875
df042ccb
VS
78762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7879 (grub_hfsplus_iterate_dir): Add "." and "..".
7880
fc977f48
VS
78812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7884 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7885
f3250e5f
VS
78862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7889 (find_path): Handle "." and "..".
7890
fd8ed4c5
VS
78912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7894 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7895 (grub_affs_iterate_dir): Handle hardlinks.
7896
4ce776d2
MG
78972012-05-26 Matthew Garrett <mjg@redhat.com>
7898
7899 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7900 (grub_efi_console_fini): Likewise.
7901 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7902 (grub_video_gop_fill_mode_info): Rename to ...
7903 (grub_video_gop_fill_real_mode_info): ... this.
7904 (grub_video_gop_fill_mode_info): New function.
7905 (grub_video_gop_setup): Setup double framebuffer.
7906 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7907 Free offscreen.
7908 (grub_video_gop_swap_buffers): Copy framebuffer.
7909 (grub_video_gop_fini): Free offscreen buffer.
7910 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7911 New enum.
7912 (grub_efi_gop_blt_pixel): New struct.
7913
683031ba
VS
79142012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * gentpl.py: Remove error disabling for objconv.
7917
c2deb798
VS
79182012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * configure.ac: Remove -Wunitialized as it's not available on older
7921 compilers.
7922
79232012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7924
7925 Fix extent overflow comparator.
7926
7927 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7928 (grub_hfsplus_read_block): Set type.
7929 (grub_hfsplus_cmp_extkey): Compare type.
7930
d6b1fd36
VS
79312012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7934
0a9aa0f6
VS
79352012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7938 than 0.
7939
8360e159
VS
79402012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7943 (dejavu_bold_14.pf2): New target.
7944
501b9e4b
VS
79452012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * configure.ac: Fix djvu font detection.
7948
7026b0e2
VS
79492012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7952 ext* instead of ext2.
7953
c2a51ade
VS
79542012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7957 name with \0.
7958
8f803a5d
JU
79592012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7960
7961 * docs/grub-dev.texi: Remove dot from .png.
7962
13c6353f
VS
79632012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7966 protective entry in any slot.
7967 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7968 if protective entry is found in any slot.
7969
7970 Protective entry in non-first slot make no sense but is a widespread
7971 brain damage.
7972
4cf6be1b
VS
79732012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7974
7975 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7976
937d1c44
VS
79772012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7980 with old reiserfs.
7981 (grub_reiserfs_open): Don't free root.
7982
021d90ec
VS
79832012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7986 after freeing for safety.
7987
967b2b64
VS
79882012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7991 Reported by: Jordan Uggla.
7992
34274d02
JU
79932012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7994
967b2b64
VS
7995 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7996 actual implementation. Specifically, clarify that the grub menu will
7997 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7998 passed.
34274d02 7999
dcaaae9d
BH
80002012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8001
8002 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8003 of r0.
8004
7086ad52
VS
80052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 Remove unjustified hard dependency of normal.mod on gfxterm.
8008
8009 * include/grub/term.h (grub_term_output): New member fullscreen.
8010 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8011 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8012 (grub_gfxterm): Set .fullscreen.
8013 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8014 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8015
37ed2c9b
VS
80162012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8019 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8020 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8021
a4469c88
VS
80222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8025
4e461486
VS
80262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8029 a bad FS.
8030
aa78f5c4
VS
80312012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8034 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8035
197626b5
VS
80362012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8039 (grub_jfs_mount): Fill caseins.
8040 (grub_jfs_find_file): Respect caseins.
8041
8ad3f28c
VS
80422012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8045 through UTF-16.
8046
0c6c324e
VS
80472012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8050 New argument origpath. All users updated.
8051
c6666ba6
VS
80522012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8055 (read_attr): Ensure that we read start of possibly compressed block.
8056
e28e5fe5
VS
80572012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8060 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8061 All users updated.
8062
5fc23ab2
VS
80632012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8066 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8067 (dejavu.pf2): Replace with ...
8068 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8069 this.
8070
79dbc21c
VS
80712012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * util/grub.d/20_linux_xen.in: Add missing line.
8074
d2fcfb0c
VS
80752012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8078 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8079 (grub_utf16_to_utf8): Likewise.
8080
5560e9d6
VS
80812012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8084 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8085 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8086 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8087 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8088 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8089
80902012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8091
8092 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8093 a bad FS.
8094
5560e9d6 80952012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8096
8097 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8098 (grub_udf_read_symlink): Handle read_string failure.
8099
5eae3175
VS
81002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8103 comment.
8104
c1ad82db
VS
81052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Fix handling of UDF symlinks.
8108
8109 * grub-core/fs/udf.c (read_string): New argument outbuf.
8110 All users updated.
8111 (grub_ufs_read_symlink): Rename to ...
8112 (grub_udf_read_symlink): ... this. All users updated.
8113 Handle symlinks with more than one component.
8114
33eca6e0
VS
81152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8118 symlinks. Replace leading colon with a slash.
8119
57f4a70b
VS
81202012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8123 filename.
8124
38c8ee20
VS
81252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8128 match in inner node.
8129
2e57f28f
VS
81302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8133 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8134 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8135 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8136 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8137 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8138 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8139 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8140 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8141
fe8c2f11
VS
81422012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Use grub-probe and not cmp to check that disk is empty.
8145
8146 * util/grub-install.in: Use grub-probe for zero-check.
8147 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8148 (probe): Handle PRINT_ZERO_CHECK.
8149 (argp_parser): Handle -t zero_check.
8150
81512012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8152
8153 Flush block cache on adding disk to device map.
8154
8155 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8156 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8157 adding.
8158 (read_device_map): Likewise.
8159 (open_device): Flush on opening.
8160
690434e8
VS
81612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8164 (handle_symlink): Fix off-by-one error.
8165 Canonicalize the target.
8166 (grub_cpio_dir): Canonicalize the name.
8167 Fix memory leak.
8168 Set directory.
8169 (grub_cpio_open): Canonicalize the name.
8170
742d2be6
VS
81712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8174 handling.
8175
3244fe96
VS
81762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8179 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8180
8aeb1837
VS
81812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8184 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8185 All users updated.
8aeb1837 8186
9133fd05
VS
81872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8190 counterpart.
8191
6d521c5b
VS
81922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 Fix UFS1 big file support.
8195
8196 * grub-core/fs/ufs.c (INODE): Removed.
8197 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8198 64-bit.
8199 (INODE_MODE): Simplify.
8200 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8201 (grub_ufs_lookup_symlink): Don't use INODE.
8202
21b82e17
VS
82032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8206
8207 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8208 (grub_minix_data): Replace log_block_size with block_size.
8209 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8210 (grub_minix_mount): Fill block_size.
8211
82122012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8213
8214 * configure.ac: Bump to beta5.
8215
f417ed04
VS
82162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 Fix wrapped HFS+ handling.
8219
8220 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8221 blocks_start. All users updated.
8222 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8223 wrapping offset.
8224 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8225
607d282b
VS
82262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 Fix long symlinks on reiserfs.
8229
8230 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8231 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8232 (grub_reiserfs_iterate_dir): Save size for non-directories.
8233 (grub_reiserfs_open): Don't reread stat block as we already know the
8234 size.
8235 (grub_reiserfs_read): Split into...
8236 (grub_reiserfs_read_real): ... and ...
8237 (grub_reiserfs_read): ...this.
8238
ae16024d
VS
82392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 Fix non-indexed JFS.
8242
8243 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8244 (grub_jfs_data): New field namecomponentlen.
8245 (grub_jfs_mount): Fill namecomponentlen.
8246 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8247
eea1e26e
VS
82482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8251 * tests/grub_script_echo1.in: Add tests.
8252
df760f77
VS
82532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * util/grub-install.in: Ignore empty devicetree directory.
8256
5efb817d
B
82572012-05-08 Bean <bean123ch@gmail.com>
8258
8259 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8260 All users updated.
8261 (free_rsm): Free header as well.
8262 (free_old_fragments): Fix memory leak.
8263 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8264 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8265 (destroy_pq): Likewise.
8266 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8267
668ea6d2
VS
82682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8271 resulting hash as a precaution.
8272
1739b1fe
VS
82732012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8276 '_' in variable names.
8277 * grub-core/net/net.c (grub_net_network_level_interface_register):
8278 Likewise.
8279
6ae485aa
VS
82802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Fix AFFS with non-512B blocks.
8283
8284 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8285 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8286 (grub_affs_data): Replace blocksize with log_blocksize.
8287 (grub_affs_read_block): Fix non-512B blocks.
8288 (grub_affs_read_symlink): Likewise.
8289 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8290 (grub_affs_read): Fix non-512B blocks.
8291 (grub_affs_label): Likewise.
8292 (grub_affs_mtime): Likewise.
8293 (grub_affs_mount): Fix block detection routine.
8294
d20fab84
VS
82952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 Add filesystem mtime to AFFS.
8298
8299 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8300 (aftime2ctime): New function.
8301 (grub_affs_dir): Use aftime2ctime.
8302 (grub_affs_label): Fix return value.
8303 (grub_affs_mtime): New function.
8304 (grub_affs_fs): Add mtime.
8305
e87b10f5
VS
83062012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8309 UTF-8.
8310
7dceec9b
VS
83112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8314 UTF-8.
8315
2f48221f
VS
83162012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8319
dacd85cf
VS
83202012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8323 flags.
8324 (FLAGS_CASE_SENSITIVE): New enum value.
8325 (cache_entry): New struct.
8326 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8327 cache_size and cache.
8328 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8329 Add log_blocksize and fshelp_flags.
8330 (grub_sfs_read_extent): Handle non-512 blocks.
8331 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8332 (grub_sfs_read_file): Handle non-512 blocks.
8333 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8334 fshelp_flags.
8335 (grub_sfs_read_symlink): Handle non-512 blocks.
8336 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8337 (grub_sfs_dir): Free cache.
8338 (grub_sfs_close): Likewise.
8339
24e9a854
VS
83402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8343 filesystems.
8344
62ace64d
VS
83452012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8348
83b2e89c
VS
83492012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8352
75ccaea3
VS
83532012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8356 (grub_sfs_read_extent): Likewise.
8357 (grub_sfs_read_block): Likewise.
8358 (grub_sfs_mount): Likewise.
8359 (grub_sfs_iterate_dir): Likewise.
8360 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8361 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8362
1b8463f2
VS
83632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Fix errors on compressed NTFS with 512B clusters.
8366
8367 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8368 types.
8369 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8370 not 0.
8371 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8372 Relax check for inline extents.
8373 (ntfscomp): Return correct -1 on error and not 0.
8374
4f8e368f
VS
83752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * util/grub-install.in: Fix handling of prefix containing spaces.
8378
6f5d5ee8
VS
83792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8382 (grub_squash_read_data): Fix offset byte-swapping.
8383
ce41ab7a
VS
83842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8387 per common usage and preffered in several parts of code.
8388 (grub_memcmp): Likewise.
8389 (grub_strncmp): Likewise.
8390 * include/grub/misc.h (grub_strcasecmp): Likewise.
8391 (grub_strncasecmp): Likewise.
8392 * Makefile.util.def (cmp_test): New test.
8393 (grub_script_strcmp): Likewise.
8394 * tests/cmp_unit_test.c: New file.
8395 * tests/grub_script_strcmp.in: Likewise.
8396 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8397
49717bf4
VS
83982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * include/grub/pci.h: Move enums into no-asm part.
8401
0a308f64
VS
84022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8405
1796965f
ST
84062012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8407
8408 * util/getroot.c (find_hurd_root_device): Try to make error message
8409 and comments to translators clearer.
8410
4e9b2819
VS
84112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8414
076aeb50
VS
84152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8418 btrfs.
8419
19424d94
VS
84202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * docs/grub.cfg: Update.
8423
ebb73076
VS
84242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * docs/grub.texi (PXE): Remove not present variables.
8427
9a1b669c
VS
84282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/net/net.c (defserver_set_env): New function.
8431 (defserver_get_env): Likewise.
8432 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8433
d38bf7d3
VS
84342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8437 entries.
8438
84392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8440
8441 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8442 * grub-core/kern/emu/hostdisk.c: Likewise.
8443
e5e4ca48
ST
84442012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8445
8446 Handle hurd userspace partitions.
8447
8448 * util/getroot.c (find_hurd_root_device): New function.
8449 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8450
56bb5dd5
VS
84512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8454 names.
8455 Reported by: Bastian Blank.
8456
9e8bc27a
VS
84572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8460 crossing page boundary.
8461
aa01499d
VS
84622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 Fix B-tree search in BFS, especially in presence of non-ASCII
8465 characters.
8466
8467 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8468 (find_in_b_tree): Use standard bsearch + btree algorithm.
8469
57006035
VS
84702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8473 and so on.
8474
9d34bb85
MG
84752012-05-03 Matthew Garrett <mjg@redhat.com>
84762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Suspend broadcom cards in order to stop their DMA.
8479
8480 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8481 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8482 (pci): Don't build on x86 EFI.
8483 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8484 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8485 New function.
8486 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8487 stop_broadcom if running on EFI.
8488 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8489 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8490 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8491 (grub_pci_find_capability): New proto.
8492
01aab997
VS
84932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * docs/grub.texi: Remove dot from the extension as it apparently
8496 doesn't work with some makeinfo versions.
8497
fbd8dca6
VS
84982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8501 with GRUB expectance.
8502
dab797f4
VS
85032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8506
1516bfb4
VS
85072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8510 zero after directory block since last entry may be not 0-terminated if
8511 it ends on block boundary. Use continue instead of if spanning whole
8512 loop.
8513
a3a0eace
VS
85142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 Support 4K sectors UDF inline files.
8517
8518 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8519 (grub_udf_extended_file_entry): Likewise.
8520 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8521 All users updated.
8522 (get_fshelp_size): New function.
8523 (grub_udf_read_icb): Read whole block.
8524 (grub_udf_iterate_dir): Likewise.
8525 (grub_udf_dir): Likewise.
8526 (grub_udf_open): Likewise.
8527
c82f16c1
VS
85282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8531
59fd2aac
VS
85322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8535 inline symlinks in addition to workaround.
8536
3b4afb4d
VS
85372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8540
f45c794a
VS
85412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8544
f25cecbd
VS
85452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8548
bb9a34e8
VS
85492012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Fix reiserfs big seek times.
8552
8553 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8554 exact. All users updated.
8555 (grub_reiserfs_read): Use nearest btree search for seeking.
8556 Fix return value on error.
8557
dc478aea
VS
85582012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8561 entries.
8562 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8563 * docs/grub.texi: Update menuentry description.
8564
8db10f47
VS
85652012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8568 crash when embedding onto filesystem.
8569
bcb288ed
VS
85702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8573 name.
8574
a626fdd7
VS
85752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8578
b2f68477
VS
85792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8582 commit.
8583
ba15b2af
B
85842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
85852012-05-01 Bean <bean123ch@gmail.com>
8586
8587 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8588
a188012e
VS
85892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8592 Special behaviour for len = 0 to read whole file isn't used anywhere and
8593 can cause buffer ovewrflows in several places.
8594
f0a53ed2
VS
85952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8598
5ed554f0
VS
85992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 Handle RAIDZ on non-512B sectors.
8602
8603 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8604 max_children_ashift.
8605 (fill_vdev_info_real): Fill max_children_ashift.
8606 (read_device): Use max_children_ashift.
8607
ddc58357
VS
86082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8611
e3282399
VS
86122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8615 disk names.
8616 * docs/grub.texi: Update device.map parts.
8617
ee618bd4
VS
86182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 Don't scan into non-diskfilter devices having diskfilter names.
8621
8622 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8623 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8624 handling.
8625 (scan_disk_hook): New function.
8626
bdf88864
B
86272012-04-29 Bean <bean123ch@gmail.com>
8628
8629 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8630 allocation.
8631
32745f51
MK
86322012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8633
8634 * configure.ac: Detect starfield theme font path
8635 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8636
bc95c8c0
VS
86372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8640 geometry on serial consoles.
8641
147fbcab
VS
86422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8645 because of network consoles.
8646
0f42c889
VS
86472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8650 handling.
8651
4a3594c9
VS
86522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8655 falls on Q syndrom.
8656
5cb53879
VS
86572012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8660 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8661
b282dfe5
VS
86622012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8665 Allocate at lest 8192 for temporary buffer as required for lzo.
8666
daa59f47
VS
86672012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8670 to cluster_bits, since it's already added in.
8671 (grub_fat_read_data): Likewise.
8672
986748ce
VS
86732012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8676 as long as cluster size is multiple of 512 bytes.
8677
a20f6ad0
VS
86782012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * util/grub-mkrescue.in: Fix locale directory.
8681
385f9abb
VS
86822012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/kern/emu/hostdisk.c (map): Make static.
8685
1c557d30
B
86862012-04-23 Bean <bean123ch@gmail.com>
8687
8688 * util/grub-fstest.c (fstest): Add missing break.
8689
524b5d3a
ST
86902012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8691
8692 Fix hurd build.
8693
8694 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8695 not define nr variable.
fe4824e9 8696 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8697 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8698 grub_find_device): Do not define.
524b5d3a 8699
9a06490c
VS
87002012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 Fix kfreebsd compile and behaviour.
8703
8704 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8705 format-security.
8706 * util/getroot.c: Fix wait.h include.
8707 (grub_guess_root_devices): Error if grub_find_device fails.
8708 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8709 (grub_util_get_dev_abstraction): Likewise.
8710 (grub_util_pull_device): Likewise.
8711 (grub_util_get_grub_dev): Likewise.
8712 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8713
48143d96
VS
87142012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 Fix and unify wholedisk detection.
8717
8718 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8719 is_part. All users updated.
8720 (device_is_wholedisk): Removed.
8721 (grub_util_biosdisk_get_grub_dev): Use is_part.
8722
ebbd24f3
VS
87232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8726 mode.
8727
56f7aa1e
VS
87282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * configure.ac: Bump to beta4.
8731
9c815e01
VS
87322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8735 --fs-uuid --set UUID syntax.
8736
59e2651a
VS
87372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8740 disunification.
8741
54e03cfc
VS
87422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8745
81092a75
MK
87462012-04-18 Mads Kiilerich <mads@kiilerich.com>
8747
8748 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8749
f8315e14
MG
87502012-04-18 Mike Gilbert <floppym@gentoo.org>
8751
8752 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8753
1501ac21
B
87542012-04-18 Bean <bean123ch@gmail.com>
8755
8756 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8757 place.
8758
cb7f944e
VS
87592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8762 users updated.
8763 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8764 corresponding to GRUB partitions.
8765 (grub_util_biosdisk_write): Likewise.
8766
b72d44a1
VS
87672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 Scan mdraid before LVM.
8770
8771 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8772 (grub_diskfilter_register_front): ... this.
8773 (grub_diskfilter_register_back): New function.
8774 All users of grub_diskfilter_register updated.
8775
33d918b8
VS
87762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * util/grub-install.in: Fix an automatic target detection bug.
8779
c6ca973d
VS
87802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * util/grub-install.in: New option --efi-directory.
8783
b41be562
VS
87842012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8787 boot services if we have no other choice.
8788
87892012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8792 document it.
8793 * tests/util/grub-shell.in: Update to --directory.
8794
e0595a73
VS
87952012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8798
4ed80652
VS
87992012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8802 (grub_minix_read_file): Likewise.
8803 (grub_minix_read_inode): Likewise.
8804 (grub_minix_find_file): Likewise.
8805 (grub_minix_dir): Likewise.
8806
56008077
VS
88072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * util/grub-setup.c (setup): Fix partition handling and blocklist
8810 check.
8811
ee520775
VS
88122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8815 redundant buggy overlap check.
8816
16fc9293
VS
88172012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8820 and grub-mknetdir.
8821
9bab65c4
VS
88222012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8825 kh.loadflags on pre-2.00 kernels.
8826
3c491b47
VS
88272012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Terminate UNDI and PXE before launching the payload to avoid problems
8830 with DMA.
8831
8832 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8833 (grub_loader_flags): ... this. All users updated.
8834 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8835 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8836 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8837 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8838 function.
8839 (grub_pxe_restore): Likewise.
8840 (fini_hnd): New var.
8841 (GRUB_MOD_INIT): Register shutdown hook.
8842 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8843 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8844 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8845 (grub_loader_set): Rename second argument to flags.
8846
851ffada
VS
88472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8850 written bytes.
8851 (grub_get_num_of_utf8_bytes): New function.
8852 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8853 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8854 executing it.
8855 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8856 (grub_ucs4_to_utf8): Change return type.
8857
491c57a8
VS
88582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8861 warning.
851ffada
VS
8862 * grub-core/fs/bfs.c (hop_level): Likewise.
8863 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8864
756773df
VS
88652012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/lib/adler32.c: Recode due to license unclearness.
8868
fd556a96
VS
88692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8872 (test_header): Likewise.
8873
9f9d3f69
VS
88742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 Fix --help formatting.
8877
8878 * util/grub-mkconfig_lib.in (print_option_help): New function.
8879 (grub_fmt): Likewise.
8880 * util/grub-install.in: Use print_option_help and grub_fmt.
8881 * util/grub-kbdcomp.in: Likewise.
8882 * util/grub-mkconfig.in: Likewise.
8883 * util/grub-mknetdir.in: Likewise.
8884 * util/grub-mkrescue.in: Likewise.
8885 * util/grub-mkstandalone.in: Likewise.
8886 * util/grub-reboot.in: Likewise.
8887 * util/grub-set-default.in: Likewise.
8888 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8889
561ec77e
VS
88902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * linguas.sh: Remove autogenerated *.po.
8893
7ec2b021
VS
88942012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * po/README: Move language fetcing to ...
8897 * linguas.sh: ... here.
8898 * po/README: Point to linguas.sh.
8899
a88f3270
VS
89002012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * po/README: Exclude ko.po due to disclaimer problems.
8903
d61357ce
VS
89042012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8907 len = 0.
8908 (grub_gettext_translate_real): Handle 0th string.
8909 (grub_gettext_translate): Ensure that "" isn't translated.
8910
505e41dc
VS
89112012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8914 TRANSLATORS comment.
8915 (grub_diskfilter_print_partmap): Propagate changing of error into
8916 warning.
8917
e44092db
VS
89182012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8921 to uint64_t to prevent overflow.
8922 (grub_diskfilter_lv): Increase start_extent and extent_count
8923 to uint64_t to prevent overflow.
8924
9b83956a
VS
89252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * configure.ac: Increase version.
8928
da0d5b3f
VS
89292012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8932
8933 * po/Rules-translit: New file.
8934 * po/arabic.sed: Likewise.
8935 * po/cyrillic.sed: Likewise.
8936 * po/greek.sed: Likewise.
8937 * po/hebrew.sed: Likewise.
8938 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8939 * po/Makefile.in.in: Add extra_dist4.
8940
ac66b453
VS
89412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8944
8945 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8946 modify names. Introduce MODE_BIGENDIAN.
8947 * grub-core/fs/minix_be.c: New file.
8948 * grub-core/fs/minix2_be.c: Likewise
8949 * grub-core/fs/minix3_be.c: Likewise.
8950 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8951 minix3_be.
8952 * grub-core/Makefile.core.def (minix_be): New module.
8953 (minix2_be): Likewise.
8954 (minix3_be): Likewise.
8955
89562012-04-01 Felix <email@hamburg.de>
8957
8958 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8959 (devs): Add MBP 2011.
8960
0a2d5a82
VS
89612012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8964
d1625889
VS
89652012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/normal/cmdline.c (print_completion): New field
8968 prompt_len.
8969 (grub_cmdline_get): Handle width properly.
8970
6d36a236
VS
89712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8974
9576977e
VS
89752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8978 after 29th of February.
9576977e 8979
d73ff15d
VS
89802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 Fix exfat endianness handling.
8983
8984 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8985 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8986 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8987 Byte-swap utf16 when necessary.
8988 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8989
bbb39a45
AB
89902012-03-31 Anton Blanchard <anton@samba.org>
89912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 Fix btrfs endianness handling.
8994
8995 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8996 (lower_bound): Make root uint64_t. Use root in le.
8997 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8998 (find_path): Fix template key init.
8999 (grub_btrfs_dir): Fix mtime byteswap.
9000 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9001
354e0af7
VS
90022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9005 recursion_depth. Break infinite resursions. All users updated.
9006
4e75f21c
VS
90072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9010 after free.
9011 Reported by: Peter Jones.
9012
25581802
AB
90132012-03-31 Anton Blanchard <anton@samba.org>
9014
9015 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9016 8 bit values.
9017
08fbf92e
VS
90182012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/grub-install.in: Fix nvram call for PreP.
9021
5d1182a6
VS
90222012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9025 the error when some elements are missing into a warning.
9026
3f8cdd90
VS
90272012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9030
51006716
CW
90312012-03-28 Colin Watson <cjwatson@ubuntu.com>
9032
9033 * docs/grub.texi (Invoking grub-probe): New section.
9034 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9035
e1bd676b
VS
90362012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 Fix tab and wide character handling in editor and menu.
9039
9040 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9041 agglomerate control characters with combining marks.
9042 (bidi_line_wrap): Allow break on tab.
9043 (grub_unicode_get_comb_start): New function.
9044 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9045 and tab correctly.
9046 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9047 with a space.
9048 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9049 fixed_tab_size. All users updated.
9050 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9051 (grub_term_getcharwidth): Handle \t.
9052 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9053 and copy.
9054
22e6a774
VS
90552012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 Handle big-endian mdraid.
9058
9059 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9060 * grub-core/Makefile.core.def (mdraid09_be): New module.
9061 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9062 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9063 * grub-core/disk/mdraid_linux_be.c: New file.
9064
3c0eae66
VS
90652012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9068
b6cf74c9
VS
90692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9072 missing quotes which caused confusion among translators.
9073
83c93b9c
VS
90742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * util/grub-mkconfig_lib.in: Fix typo.
9077
ac6fd218
VS
90782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9081 spaces.
9082 * tests/grub_script_leading_whitespace.in: New file.
9083 * Makefile.util.def (grub_script_leading_whitespace): New test.
9084
ba287dd8
VS
90852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9088 to work.
9089
d2d58d0a
VS
90902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9093 starts with control character.
9094
0382d9bb
VS
90952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9098 overflow.
9099 (grub_gdb_outbuf): Likewise.
9100
d83ff9f9
VS
91012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9104 zero terminator. Fixes a crash.
9105
2282da4a
VS
91062012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9109 beyond 4 GiB.
9110 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9111 images independently of preffered adderss field.
9112
0ae4f0bd
VS
91132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9116 * grub-core/commands/regexp.c: Likewise.
9117 * grub-core/loader/i386/linux.c: Likewise.
9118 * grub-core/partmap/msdos.c: Likewise.
9119 * grub-core/script/execute.c: Likewise.
9120 * grub-core/term/gfxterm.c: Likewise.
9121
546fbe9b
VS
91222012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 Add variable parsing in $"..." and fix several mismatches with bash.
9125
9126 * Makefile.util.def (grub_script_gettext): New test.
9127 * grub-core/script/execute.c (parse_string): New function.
9128 (gettext_append): Likewise.
9129 (grub_script_arglist_to_argv): Use gettext_append.
9130 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9131 * tests/grub_script_gettext.in: New file.
9132
9fdb2d7b
VS
91332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 Fix handling of leading spaces in scripts.
9136
9137 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9138 spaces.
9139 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9140 other than skipping \r. All users updated.
9141 * tests/grub_script_echo1.in: Add space-related tests.
9142 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9143
1a1ac4f6
VS
91442012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9147
b63d89b6
VS
91482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * configure.ac: Bump up the version to beta2.
9151
17f38c0f
VS
91522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 Fix gettext reload bugs (e.g. inability to disable gettext
9155 once enabled).
9156
9157 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9158 main_context and secondary_context. All functions updated.
9159 (grub_gettext_translate): Rename to ...
9160 (grub_gettext_translate_real): ... this. Return NULL on failed
9161 translate.
9162 (grub_gettext_translate): Handle secondary context.
9163 (grub_gettext_delete_list): Close file and zero-out the context.
9164 (grub_mofile_open): Don't call grub_gettext_delete_list.
9165 Don't close file.
9166 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9167 if locale="" to avoid pointless error message.
9168 (grub_gettext_env_write_lang): Update lang even if load fails.
9169 Handle secondary context.
9170 (grub_gettext_reread_prefix): New function.
9171 (read_main): Likewise.
9172 (read_secondary): Likewise.
9173 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9174 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9175 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9176 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9177
8e56f870
VS
91782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * configure.ac: Decrease warning level to avoid spurious warnings and
9181 to be able to compile with GCC 4.2.
9182 * Makefile.util.def: Remove -Wno-error=logical-op.
9183
82f6d455
WB
91842012-03-10 William Bittner <william.bittner@gmail.com>
9185
9186 * util/import_unicode.py: Add missing brackets around string for
9187 python 3 support.
9188
1ecd61a4
VS
91892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Fix efi chainloader on network root.
9192
9193 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9194 network devices.
9195 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9196 New function.
9197
14361ee8
VS
91982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9201 unused show_text member.
9202 * docs/grub.texi: Document "text" property.
9203
922aabf3
VS
92042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9207 in dprintf.
9208
ec316771
VS
92092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Fix IMSM handling on Fedora.
9212
9213 * util/getroot.c (grub_util_is_imsm): New function.
9214 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9215
0f021838
VS
92162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * Makefile.am: Strip gold section.
9219 * conf/Makefile.common: Likewise.
9220 * gentpl.py: Likewise.
9221 * grub-core/Makefile.core.def: Likewise.
9222 * grub-core/genmod.sh.in: Likewise.
9223
1039c8eb
VS
92242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9227 * util/grub.d/20_linux_xen.in: Likewise.
9228 Based on Debian patch.
9229
6dd412cd
VS
92302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * util/grub.d/10_linux.in: Fix syntax error resulting in
9233 Richard Laager's patch.
9234 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9235
3fd8bae5
VS
92362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9239 dependencies.
9240
7eea1671
RL
92412012-03-10 Richard Laager <rlaager@wiktel.com>
9242
9243 * util/grub.d/10_linux.in: Fix ZFS root passing.
9244
e8e0566b
VS
92452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9248 * grub-core/commands/xnu_uuid.c: Likewise.
9249 * grub-core/loader/efi/appleloader.c: Likewise.
9250 * grub-core/script/execute.c: Likewise.
9251 * grub-core/script/main.c: Likewise.
9252 * util/grub-mkfont.c: Likewise.
9253
1acc5b1f
VS
92542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * util/grub-mkfont.c (options): Use more appropriate "select" that
9257 "set" for face index.
9258
35d70620
VS
92592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * util/grub-editenv.c (options): Gettextize command summaries.
9262
c9eb96b5
VS
92632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9266 "out of memory" error messagge.
9267
1f493136
VS
92682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9271 of diskfilter for diskfilter on diskfilter support.
9272
6d790129
VS
92732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9276
005f46c9
VS
92772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9280 themes/starfield.
9281
c8f778a0
VS
92822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9285
de1e64eb
VS
92862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9289
c6d54211
VS
92902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9293 of error message.
9294
dd390777
VS
92952012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9298
5fd1c522
VS
92992012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9302 message.
c6d54211 9303 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9304
fae01f6c
VS
93052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9308 Gettextize.
9309 * util/grub-mount.c (options): Likewise.
9310
292fdaff
VS
93112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9314 gettextize.
9315 * grub-core/commands/search_wrap.c (options): Likewise.
9316
ecdbae77
VS
93172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9320
52bfedfa
VS
93212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9324 size calculation.
9325 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9326 none is known.
9327
55b20e58
VS
93282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9331 "temporary" since it's used in identifier and is limited in space.
9332
fda9d101
VS
93332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * po/POTFILES.in: Regenerate. Include *.h since they contain
9336 translatable strings as well.
9337
6a0295e2
VS
93382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9341 byte-swap on big-endian.
9342 Reported by: Lennart Sorensen
9343
807fb77c
VS
93442012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9347 (allocate_pages): Improve dprintf.
9348 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9349 code32_start. Fill code32_start and kernel_alignment in params.
9350 (grub_cmd_initrd): Use prot_init_space.
9351
61ac50ba
VS
93522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9355
abdd26dd
VS
93562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * util/grub-install.in: Add missing dot at the end of sentence.
9359
6e69da9c
VS
93602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9363 * grub-core/commands/videotest.c: Likewise.
9364 * grub-core/loader/i386/linux.c: Likewise.
9365
4a929343
VS
93662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9369 sentence.
9370 Reported by: Milo Casagrande.
9371
bb51c6c6
VS
93722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9375 * grub-core/commands/gptsync.c: Likewise.
9376 * grub-core/commands/hashsum.c: Likewise.
9377 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9378 * grub-core/commands/legacycfg.c: Likewise.
9379 * grub-core/io/gzio.c: Likewise.
9380 * grub-core/net/net.c: Likewise.
9381 * grub-core/term/gfxterm.c: Likewise.
9382 * grub-core/term/terminfo.c: Likewise.
9383 * grub-core/tests/test_blockarg.c: Likewise.
9384 * grub-core/video/video.c: Likewise.
9385 * util/grub-install.in: Likewise.
9386 * util/grub-mkfont.c: Likewise.
9387
b2b149cb
VS
93882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9391
c7c080ad
VS
93922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9395 Reported by: David Prévot.
c7c080ad 9396
f2e243c0
VS
93972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9400 description.
9401
09963c76
VS
94022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub-script-check.c (main): Fix a syntax error message which was
9405 unclear.
9406
a50514a8
VS
94072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9410
4650daec
VS
94112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9414 messages.
9415
94162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9417
9418 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9419 without argument.
9420 * util/grub-mount.c (options): Likewise.
9421
bbc5a342
VS
94222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9425
ef292a87
VS
94262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/net/http.c: Add TRANSLATORS comments.
9429 * grub-core/normal/cmdline.c: Likewise.
9430 * grub-core/normal/misc.c: Likewise.
9431 * grub-core/partmap/msdos.c: Likewise.
9432 * grub-core/parttool/msdospart.c: Likewise.
9433 * grub-core/script/execute.c: Likewise.
9434 * grub-core/script/main.c: Likewise.
9435 * grub-core/term/terminfo.c: Likewise.
9436 * grub-core/video/bitmap.c: Likewise.
9437 * util/grub-install.in: Likewise.
9438 * util/grub-mkimage.c: Likewise.
9439 * util/grub-mklayout.c: Likewise.
9440 * util/grub-setup.c: Likewise.
9441
0fc19bd0
VS
94422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9445 with similar messages in grub-fstest.
9446
d95862ef
VS
94472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * util/grub-install.in: Unify "option requires an argument" message
9450 with similar messages in other files.
9451 * util/grub-mkconfig.in: Likewise.
9452
b7308f90
VS
94532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * util/grub-set-default.in: Replace printf with gettext_printf (the
9456 string in in question is already translated from grub-reboot)
9457
559dc587
VS
94582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * configure.ac: Bump up the version to beta1.
9461
1a11761f
VS
94622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9465 case when min_align = 0.
9466
24539abd
VS
94672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9470 and fix a case when line_start overflows.
9471
32bd735b
VS
94722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * util/grub-reboot.in (usage): Mention id posibility.
9475 * util/grub-set-default.in (usage): Likewise.
9476
1a2fd1e6
VS
94772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9480 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9481 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9482 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9483 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9484 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9485 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9486
90eeab76
VS
94872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/commands/menuentry.c (options): Remove
9490 GRUB_ARG_OPTION_REPEATABLE.
9491 Reported by: Andreas Vogel
9492
5ad1be82
AV
94932012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9494
9495 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9496
cb055286
HE
94972012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9498
9499 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9500 error.
9501
93b1cd79
VS
95022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 Use sort -V by the idea of Georgi Georgiev.
9505
9506 * util/grub-mkconfig_lib.in (version_sort): New function.
9507 (version_test_numeric): Use version_sort.
9508
0cdc126c
VS
95092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 Use submenus in grub-mkconfig.
9512
9513 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9514 * util/grub-mkconfig_lib.in (grub_quote): New function.
9515 (gettext_printf): Use gettext and not gettext_quoted to fix several
9516 messages.
9517 * util/grub.d/10_hurd.in: Use submenus.
9518 * util/grub.d/10_kfreebsd.in: Likewise.
9519 * util/grub.d/10_linux.in: Likewise.
9520 * util/grub.d/10_netbsd.in: Likewise.
9521 * util/grub.d/20_linux_xen.in: Likewise.
9522 * util/grub.d/30_os-prober.in: Likewise.
9523 * util/grub.d/10_illumos.in: Add missing quoting.
9524 * util/grub.d/10_windows.in: Likewise.
9525
d9bef9bc
VS
95262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 Fix menu title instability bug.
9529
9530 * grub-core/commands/menuentry.c (options): New option --id.
9531 (grub_normal_add_menu_entry): New argument id. All users updated.
9532 (grub_cmd_menuentry): Handle --id.
9533 (grub_menu_init): Accept unknown arguments.
9534 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9535 feature_menuentry_options.
9536 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9537 saved_entry.
9538 (get_entry_number): Match with id as well.
9539 * include/grub/menu.h (grub_menu_entry): New member id.
9540 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9541 * util/grub.d/00_header.in: Define menuentry_id_option.
9542 * util/grub.d/10_hurd.in: Define id.
9543 * util/grub.d/10_illumos.in: Likewise.
9544 * util/grub.d/10_kfreebsd.in: Likewise.
9545 * util/grub.d/10_linux.in: Likewise.
9546 * util/grub.d/10_netbsd.in: Likewise.
9547 * util/grub.d/10_windows.in: Likewise.
9548 * util/grub.d/20_linux_xen.in: Likewise.
9549 * util/grub.d/30_os-prober.in: Likewise.
9550
95512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9552
9553 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9554 "scope" with "body".
9555
7c8d0ce7
VS
95562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9559 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9560 prot_size and prot_file_size.
9561
49de079b
VS
95622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9565 All users updated. If easily=1 require raid-5/-6 to be full.
9566 (is_node_readable): Likewise.
9567 (scan_devices): Scan incomplete but readable LVs at the end.
9568 (grub_diskfilter_memberlist): Pull missing devices.
9569 (insert_array): Skip scanning until device is complete or scan is
9570 done otherwise.
9571 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9572 check.
9573 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9574 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9575
aff05d45
MG
95762012-03-03 Matthew Garrett <mjg@redhat.com>
95772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Avoid EFI boot services when loading Linux.
9580
9581 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9582 avoid_efi_bootservices. All users updated.
9583 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9584 argument avoid_efi_bootservices. All users updated.
9585 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9586 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9587 align, min_align, relocatable, prefered_address. All users updated.
9588 Allocate avoiding boot services if kernel is relocatable.
9589 (grub_cmd_linux): Check if kernel is relocatable.
9590 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9591 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9592 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9593 avoid_efi_boot_services.
9594 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9595 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9596 (linux_kernel_params): Likewise.
9597
3935dde2
MG
95982012-03-03 Matthew Garrett <mjg@redhat.com>
95992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 Use EDID on EFI.
9602
9603 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9604 datasize_out.
9605 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9606 modes. Set gop_handle.
9607 (grub_video_gop_get_edid): New function.
9608 (grub_gop_get_preferred_mode): Likewise.
9609 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9610 (grub_video_efi_gop_adapter): Set .get_edid.
9611 * include/grub/efi/edid.h: New file.
9612 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9613
32107ec0
VS
96142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * util/grub-install.in: Load efivars unconditionally.
9617
e70a2c50
VS
96182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * po/Rules-piglatin: Change suffix from .po-update-en to
9621 .po-update-en-piglatin.
9622
8f9cace1
VS
96232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 Add a pig farm.
9626
9627 * po/piglatin.sed: New file.
9628 * po/en@piglatin.header: Likewise.
9629 * po/Rules-piglatin: Likewise.
9630 * po/README: Add en@piglatin to autogenerated languages.
9631
8f95d002
VS
96322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9635 "Command for ...".
9636 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9637 "Check" since we don't check anything.
9638 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9639 is 64-bit one.
9640 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9641 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9642 (grub_md_sha512_real): Likewise.
9643
805a8dcc
VS
96442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/commands/gptsync.c: Fix typographic quoting.
9647 * grub-core/commands/ieee1275/suspend.c: Likewise.
9648 * grub-core/commands/parttool.c: Likewise.
9649 * grub-core/commands/search_wrap.c: Likewise.
9650 * grub-core/commands/videoinfo.c: Likewise.
9651 * grub-core/gfxmenu/gui_label.c: Likewise.
9652 * grub-core/hello/hello.c: Likewise.
9653 * grub-core/kern/emu/main.c: Likewise.
9654 * grub-core/net/net.c: Likewise.
9655 * grub-core/normal/menu.c: Likewise.
9656 * grub-core/normal/menu_text.c: Likewise.
9657 * grub-core/normal/misc.c: Likewise.
9658 * util/grub-editenv.c: Likewise.
9659 * util/grub-install.in: Likewise.
9660 * util/grub-kbdcomp.in: Likewise.
9661 * util/grub-mkconfig.in: Likewise.
9662 * util/grub-mknetdir.in: Likewise.
9663 * util/grub-mkrescue.in: Likewise.
9664 * util/grub-mkstandalone.in: Likewise.
9665 * util/grub-reboot.in: Likewise.
9666 * util/grub-set-default.in: Likewise.
9667 * util/grub-setup.c: Likewise.
9668 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9669
40211ab8
VS
96702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9673 * grub-core/commands/keystatus.c: Likewise.
9674 * grub-core/commands/loadenv.c: Likewise.
9675 * grub-core/commands/probe.c: Likewise.
9676 * grub-core/commands/regexp.c: Likewise.
9677 * grub-core/commands/true.c: Likewise.
9678 * grub-core/commands/videoinfo.c: Likewise.
9679 * grub-core/disk/cryptodisk.c: Likewise.
9680 * grub-core/disk/ldm.c: Likewise.
9681 * grub-core/disk/loopback.c: Likewise.
9682 * grub-core/disk/luks.c: Likewise.
9683 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9684 * grub-core/kern/disk.c: Likewise.
9685 * grub-core/kern/emu/hostdisk.c: Likewise.
9686
0c7d99c7
VS
96872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9690 * util/grub-install.in: Add missing quote in the comment.
9691
e7d2559b
VS
96922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9695 * grub-core/commands/lsmmap.c: Likewise.
9696 * grub-core/commands/minicmd.c: Likewise.
9697 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9698 * grub-core/commands/regexp.c: Likewise.
9699 * grub-core/gdb/gdb.c: Likewise.
9700 * grub-core/term/gfxterm.c: Likewise.
9701 * util/grub-mkconfig.in: Likewise.
9702 * util/grub-mkfont.c: Likewise.
9703 * util/grub-mklayout.c: Likewise.
9704 * util/grub-mknetdir.in: Likewise.
9705 * util/grub-mkrescue.in: Likewise.
9706 * util/grub.d/30_os-prober.in: Likewise.
9707
49ce9e50
VS
97082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9711 with "Direct color" and "Packed" with "Packed pixel".
9712 (grub_cmd_videoinfo): Simplify legend.
9713
e4b791fa
VS
97142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9717 absolutely unclear error message.
9718
fd1265cb
VS
97192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * util/grub-mkstandalone.in: Remove confusing leftover print.
9722
8822a8a0
VS
97232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9726 comments.
9727 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9728 (GRUB_MOD_INIT): Likewise.
9729 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9730 VGA mode.
9731 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9732 comments.
9733 * util/grub-install.in (usage): Likewise.
9734 Spell ID in whole letters.
9735 Add missing ending dot.
9736 Quote variables.
9737 * util/grub-reboot.in: Fix capitalisation.
9738 * util/grub-set-default.in: Likewise.
9739
937fd0cc
VS
97402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9743 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9744 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9745 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9746 Disable -Werror for -Wdeprecated-declarations.
9747 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9748 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9749 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9750 (grub_util_get_grub_dev): Make luks handling dependent on
9751 HAVE_DEVICE_MAPPER and not __linux__.
9752 (get_win32_path): Fix format security.
9753 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9754 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9755 Don't try grub_find_zpool_from_dir.
9756 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9757 #ifdef-out paresdir.
9758
1bab1ae3
VS
97592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * util/grub-pe2elf.c (usage): Add missing noreturn.
9762 (write_section_data): Rename name to shname to avoid shadowing.
9763 (write_symbol_table): Rename name to symname to avoid shadowing.
9764 Fix write_reloc_section call.
9765
ef023e42
VS
97662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9769 to ensure that it's after the last byte of .text.
9770
48afcb75
VS
97712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * util/ieee1275/ofpath.c (my_isdigit): New function.
9774 (trailing_digits): Use my_isdigit.
9775 (strip_trailing_digits): Likewise.
9776
88d51eff
VS
97772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9780 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9781
17edc2ba
VS
97822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/kern/i386/pc/startup.S: Define __start.
9785
ad5518d7
VS
97862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9789 strip already transforms he format.
9790
9e95e1bf
VS
97912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9794
9cc3ee5c
VS
97952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * util/grub-install.in: Add missing gettext init.
9798 * util/grub-kbdcomp.in: Likewise.
9799 * util/grub-mkconfig.in: Likewise.
9800 * util/grub-mknetdir.in: Likewise.
9801 * util/grub-mkrescue.in: Likewise.
9802 * util/grub-mkstandalone.in: Likewise.
9803 * util/grub-reboot.in: Likewise.
9804 * util/grub-set-default.in: Likewise.
9805 * util/grub.d/00_header.in: Likewise.
9806 * util/grub.d/10_hurd.in: Likewise.
9807 * util/grub.d/10_windows.in: Likewise.
9808 * util/grub.d/30_os-prober.in: Likewise.
9809 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9810
49e08a06
VS
98112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * po/Rules-swiss: Fix header comment.
9814
3809cb41
AV
98152012-02-29 Andreas Vogel <anvoit>
9816
9817 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9818 resulted in leak of arguments.
9819
fa6ec573
VS
98202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9823 reed_solomon_size const definition instead of computing it since
9824 Apple assembler doesn't support the later.
9825
22899b9c
VS
98262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * gentpl.py (kernel): Rewrite Apple part.
9829
a132afc3
VS
98302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9833
9d742bd4
VS
98342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9837 ELF section gap.
9838 (load_image): Likewise.
9839
f04a9a21
VS
98402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * configure.ac: Fix a typo in previous commit.
9843
46cf439c
VS
98442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 Don't add -Wl,-N on Apple platform.
9847
9848 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9849 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9850
c4c48c54
VS
98512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * grub-core/Makefile.core.def (lzma_decompress): Use
9854 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9855
31a12124
VS
98562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * grub-core/genmod.sh.in: Rewrite the Apple part.
9859
4f3aa1af
VS
98602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9863 comparison.
9864
7bd8b0c7
VS
98652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * acinclude.m4 (grub_CHECK_PIC): New test.
9868 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9869
97304d7c
VS
98702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9873 to avoid the warning.
9874
fb883812
VS
98752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9878 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9879 after. All users updated.
9880
a121c964
VS
98812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 Use the common size routine in hostfs so we can read disks as well.
9884
9885 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9886 (grub_util_get_fd_size): ... this. Return size in bytes.
9887 All users updated.
9888 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9889 grub_util_get_fd_size.
9890
c66d6410
VS
98912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9894 Add blocksize retrieval.
9895
dfc8aeb0
VS
98962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * configure.ac: Restore CFLAGS after efiemu check.
9899
403e25a5
VS
99002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9903 Apple bug.
9904
382775d1
VS
99052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9908
6fd4e6e4
VS
99092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9912 (grub_cmd_halt): Likewise.
9913
bea359d6
VS
99142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9917 for local arithmetics.
9918 Break %sp init into 2 instructions.
9919 Add 0 byte at the end.
9920
32eb6ee1
VS
99212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9924 before loops.
9925
e8377389
VS
99262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9929 for context.
9930
8cb17de7
VS
99312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/disk/ldm.c (make_vg): Init part.name.
9934 (grub_ldm_detect): Silence spurious warning.
9935 (grub_util_is_ldm): Likewise.
9936
595717e6
VS
99372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9940 sane value to avoid a spurious warning.
9941
c4b7e588
VS
99422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9945 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9946
59824957
VS
99472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9950 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9951
70115b99
VS
99522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9955 hardcoding the relevant info.
9956
56733740
VS
99572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9960 missing const qualifiers.
9961 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9962
43481481
VS
99632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * util/getroot.c [__APPLE__]: Add missing includes.
9966 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9967
3cb38f01
VS
99682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9971
d9dbf11e
VS
99722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9975 avoid conflicts.
9976
0c42a45d
VS
99772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9980
46c34eb0
VS
99812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9984 and grub_file_close call.
9985
99ce1597
VS
99862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Add LZSS Mach-O support (needed for new xnu kernelcache).
9989
9990 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9991 * grub-core/loader/lzss.c: New file.
9992 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9993 on Mach-O open failure.
9994 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9995 Don't free cmdsXX in uncompressedXX is set.
9996 (grub_macho_file): Init new fields.
9997 New argument is_64bit. All users updated.
9998 Handle compressed. Error out if no suitable architecture is found.
9999 Don't close file.
10000 (grub_macho_open): New argument is_64bit. All users updated.
10001 * grub-core/loader/macho32.c: Add defines for new fields.
10002 * grub-core/loader/macho64.c: Likewise.
10003 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10004 (grub_macho_parse): Handle compressed.
10005 Defer actual processing if compressed.
10006 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10007 "filename". All users updated.
10008 (grub_macho_size): New argument "filename". All users updated.
10009 (grub_macho_get_entry_point): Likewise.
10010 (grub_macho_load): Handle compressed.
10011 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10012 (GRUB_MACHO_LZSS_OFFSET): New define.
10013 (grub_decompress_lzss): New proto.
10014 * include/grub/machoload.h (grub_macho_file): New fields to handle
10015 compressed.
10016 (grub_macho_contains_macho64): Remove proto.
10017 (grub_macho_contains_macho32): Likewise.
10018 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10019
ebd17d6f
VS
100202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10023
2702b4e4
VS
100242012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 Fix make dist.
10027
10028 * Makefile.am (starfield_theme_files): New var.
10029 (starfield_DATA): Use starfield_theme_files.
10030 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10031 Add bootcheck-related files.
10032 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10033 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10034 and font_char_metrics.txt.
10035 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10036 (setjmp): Add lib/ia64/longjmp.S.
10037 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10038 * po/POTFILES.in: Regenerate.
10039 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10040 DISTFILES.common.extra1.
10041 * util/devicemap.c: Removed.
10042 * grub-core/lib/i386/relocator_backward.S: Likewise.
10043 * util/import_gcry.py: Remove unused files. Add extra_dist for
10044 ChangeLog.
10045
cf1adfdf
VS
100462012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10049 grub_gettext_delete_list before changing grub_gettext_max to avoid
10050 running out of array bounds.
10051
100522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10053
10054 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10055 grub_vga_text_init/grub_vga_text_fini.
10056
cf1adfdf 100572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10058
10059 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10060
541d92e9
VS
100612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * configure.ac: Bump to 2.00~beta0.
10064
7931dddf
VS
100652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10068 missing initialisation.
10069
f1b16fa3
VS
100702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10073
83ddae23
VS
100742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 Support v2 xnu boot arguments.
10077
10078 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10079 New argument fsbfreq_out.
10080 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10081 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10082 be used.
10083 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10084 darwin_version.
10085 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10086 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10087 (grub_xnu_boot_params): Rename to ...
10088 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10089 (grub_xnu_boot_params_v2): New struct.
10090
dc693fe6
VS
100912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10094 zeroing of CRC field before computing CRC.
10095
5a6e39c2
VS
100962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10099 Change order of allocations to decrease fragmentation.
10100
6c21f5d7
VS
101012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10104
cfe456dc
CW
101052012-02-27 Colin Watson <cjwatson@ubuntu.com>
10106
10107 Use write-combining MTRR to speed up video with buggy BIOSes.
10108
10109 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10110 (cpuid): New define.
10111 (rdmsr): Likewise.
10112 (wrmsr): Likewise.
10113 (mtrr_base): Likewise.
10114 (mtrr_mask): Likewise.
10115 (grub_vbe_enable_mtrr_entry): New function.
10116 (grub_vbe_enable_mtrr): Likewise.
10117 (grub_vbe_disable_mtrr): Likewise.
10118 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10119 control off to BIOS.
10120 (grub_video_vbe_init): Fill mtrr.
10121 (grub_video_vbe_fini): Disable mtrr.
10122 (grub_video_vbe_get_info_and_fini): Likewise.
10123 (grub_video_vbe_setup): Enable mtrr.
10124
e3c78337
CW
101252012-02-27 Colin Watson <cjwatson@ubuntu.com>
10126
10127 * include/grub/partition.h (grub_partition_map): Change prototype of
10128 embed to take a maximum value for nsectors.
10129 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10130 * include/grub/fs.h (grub_fs): Likewise.
10131 * grub-core/partmap/msdos.c (embed_signatures): New array.
10132 (pc_partition_map_embed): Check for and avoid sectors matching any
10133 of the signatures in embed_signatures, up to max_nsectors.
10134 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10135 returned sector map to max_nsectors.
10136 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10137 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10138 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10139 * util/grub-setup.c (setup): Allow for the embedding area being
10140 split into multiple blocklists. Tell dest_partmap->embed the
10141 maximum number of sectors we care about.
10142
101432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10146 Specify blocklist_install and reserver_first_sector for all fs.
10147 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10148 blocklists.
10149
984b973f
VS
101502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * util/grub-install.in: Clarify strings.
10153 Fix source dir check.
10154
f122e0d6
RL
101552012-02-27 Richard Laager <rlaager@wiktel.com>
10156
10157 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10158 "zfs" and "fuse.zfs" as synonyms.
10159
071114bb
VS
101602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * configure.ac: Put platform and target_cpu substitutions back since
10163 they are used for directories.
10164
817e6abc
RL
101652012-02-27 Richard Laager <rlaager@wiktel.com>
101662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10169 * util/grub.d/20_linux_xen.in: Likewise.
10170
897b7419
RL
101712012-02-27 Richard Laager <rlaager@wiktel.com>
10172
10173 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10174 with full paths.
10175
a414bd15
RL
101762012-02-27 Richard Laager <rlaager@wiktel.com>
10177
10178 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10179 unescape.
10180
30ac48c4
VS
101812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 Don't use insecure popen in getroot.
10184
10185 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10186 (exec_pipe): ... here.
10187 (find_root_devices_from_poolname): Use exec_pipe.
10188
53f13848
VS
101892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 Remove platform and target_cpu replacement.
10192
10193 * configure.ac: Remove platform and target_cpu substitutions.
10194 * tests/util/grub-shell.in: Use modinfo.
10195 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10196 explicitly.
10197
90cb2803
VS
101982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 Autodetect platform in grub-install but allow override.
10201
10202 * util/grub-install.in: Autodetect platform. Support --target and
10203 --directory. Read platform from modinfo.sh.
10204
b9136427
VS
102052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 Support btrfs multi-volume probe.
10208
10209 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10210 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10211 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10212 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10213 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10214 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10215 grub_find_root_devices_from_btrfs if on btrfs.
10216
c36e5cd1
VS
102172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 Remove any awareness of *.c util files about target.
10220
10221 * Makefile.util.def (grub-setup): Split to ...
10222 (grub-bios-setup): ... and this.
10223 (grub-sparc64-setup): ... and this.
10224 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10225 * docs/man/grub-setup.h2m: Split into ...
10226 * docs/man/grub-sparc64-setup.h2m: ... this.
10227 * docs/man/grub-bios-setup.h2m: ... and this.
10228 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10229 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10230 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10231 (grub_target_addr_t): Remove.
10232 (grub_target_size_t): Remove.
10233 (grub_target_ssize_t): Remove.
10234 * util/grub-install.in: Use new grub-*-setup.
10235 * util/grub-mkimagexx.c (Elf_Word): New define.
10236 (Elf_Half): Likewise.
10237 (Elf_Section): Likewise.
10238 (ELF_ST_TYPE): Likewise.
10239 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10240 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10241
584b2f8a
VS
102422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 Replace grub_target_addr with more appropriate types.
10245
10246 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10247 grub_target_addr with grub_addr.
10248 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10249 grub_target_addr with grub_port.
10250 (grub_cmd_write): Likewise.
10251 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10252 grub_target_addr with grub_addr.
10253 (grub_cmd_write): Likewise.
10254 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10255
5a0dc6fb
VS
102562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10259 const qualifier for vendor_guid.
10260
786aff6e
VS
102612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10264 const qualifier.
10265 (efiemu_memequal): Likewise.
10266 (find_variable): Likewise.
10267
49017b17
VS
102682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 Fix missing console prototype on qemu-mips.
10271
10272 * include/grub/mips/qemu_mips/console.h: New file.
10273
c5988629
MG
102742012-02-27 Matthew Garrett <mjg@redhat.com>
102752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10278 * include/grub/efi/efi.h: Likewise.
10279 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10280 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10281 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10282 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10283 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10284 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10285
e33f8d69
MG
102862012-02-27 Matthew Garrett <mjg@redhat.com>
10287
10288 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10289
fb312cd9
VS
102902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10293 error.
10294
7134247c
VS
102952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * configure.ac: Remove inappropriate use of program_transform_name
10298 on grubdir and bootdir but allow explicit specification of those
10299 variables.
10300
6a313124
VS
103012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub-mknetdir.in (grub_prefix): Removed.
10304 (subdir): Use @bootdirname@ and @grubdirname@.
10305
2311c5ca
VS
103062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10309
7d5d60f7
VS
103102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * po/POTFILES.in: Regenerated.
10313
8151bc82
VS
103142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 Remove improper use of program_transform_name on pkglibrootdir.
10317
10318 * configure.ac (pkglibrootdir): Removed.
10319 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10320 * util/grub-mkimage.c: Likewise.
10321
b4a6a533
VS
103222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10325 warning.
10326
668f304f
VS
103272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * util/grub-install.in: Use file identifier if no UUID is available
10330 or user explicitly prompted for it.
10331
665f2341
NP
103322012-02-27 Navdeep Parhar <nparhar@gmail.com>
10333
10334 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10335 (freebsd_get_zfs): New function.
10336 (grub_freebsd_boot): Pass zfs UUID.
10337 (grub_cmd_freebsd): Set zfs UUID.
10338
8151bc82 103392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10340
10341 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10342 pkglibrootdir.
10343
e4c498a1
MG
103442012-02-27 Mike Gilbert <floppym@gentoo.org>
10345
10346 Add configure flag to control libzfs integration.
10347
10348 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10349
1e9a9a3f
VS
103502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10353 device.
10354 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10355 small devices.
10356
036985b8
VS
103572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10360 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10361 be used on non-modules.
10362
10363 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10364 Rename to grub_boot_init.
10365 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10366 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10367 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10368 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10369 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10370 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10371 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10372 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10373 includes.
10374 (grub_machine_init): Remove empty inits.
10375 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10376 includes.
10377 (grub_machine_init): Remove empty inits.
10378 * grub-core/term/arc/console.c: Remove explicit proto.
10379 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10380 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10381 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10382 grub_at_keyboard_fini.
10383 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10384 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10385 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10386 grub_gfxterm_fini.
10387 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10388 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10389 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10390 grub_vgatext_fini.
10391 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10392 * grub-core/term/serial.c (GRUB_MOD_INIT)
10393 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10394 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10395 grub_serial_fini.
10396 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10397 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10398 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10399 grub_terminfo_fini.
10400 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10401 (GRUB_MOD_FINI): Likewise.
10402 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10403 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10404 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10405 grub_video_radeon_fuloong2e_fini.
10406 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10407 [LOONGSON]: Rename to grub_video_sis315pro_init.
10408 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10409 grub_video_sis315pro_fini.
10410 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10411 [LOONGSON]: Rename to grub_video_sm712_init.
10412 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10413 grub_video_sm712_fini.
10414 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10415 (grub_at_keyboard_fini): Likewise.
10416 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10417 Don't declare grub_{modname}_init.
10418 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10419 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10420 New proto.
10421 (grub_keylayouts_fini) [!EMU]: Likewise.
10422 * include/grub/serial.h (grub_serial_init) [!EMU]:
10423 New proto.
10424 (grub_serial_fini) [!EMU]: Likewise.
10425 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10426 New proto.
10427 (grub_terminfo_fini) [!EMU]: Likewise.
10428 * include/grub/video.h (grub_font_init) [!EMU]:
10429 New proto.
10430 (grub_font_fini) [!EMU]: Likewise.
10431 (grub_gfxterm_init) [!EMU]: Likewise.
10432 (grub_gfxterm_fini) [!EMU]: Likewise.
10433 (grub_video_sm712_init) [!EMU]: Likewise.
10434 (grub_video_sm712_fini) [!EMU]: Likewise.
10435 (grub_video_sis315pro_init) [!EMU]: Likewise.
10436 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10437 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10438 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10439
d5534665
VS
104402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 Make nand a prefix for nand devices.
10443
10444 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10445
10133b5f
VS
104462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10449 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10450
8e307a62
VS
104512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * include/grub/env.h (grub_env_find): Remove prototype.
10454 * grub-core/kern/env.c (grub_env_find): Make static.
10455 (grub_env_set): Remove useless set.
10456
a4c65f34
VS
104572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/kern/i386/realmode.S: Remove useless align.
10460
d87893d5
VS
104612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * include/grub/dl.h (grub_dl_load_file): Don't export.
10464
50159add
VS
104652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10468 grub_dprintf.
10469
b2582b84
VS
104702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10473 grub_errors.
10474 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10475 not reloading whole superblock but only the part which is really needed.
10476 Remove useless grub_errors.
10477 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10478 grub_errors.
10479
e2a83395
VS
104802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 Don't export grub_get_rtc.
10483
10484 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10485 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10486
e7d2a906
VS
104872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10490
6cf1363b
VS
104912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10494 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10495
eece3349
VS
104962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 Remove prio_list.
10499
10500 * include/grub/list.h (grub_prio_list): Removed.
10501 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10502 GRUB_COMMAND_PRIO_MASK.
10503 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10504 GRUB_COMMAND_FLAG_ACTIVE.
10505 (grub_prio_list_insert): Removed.
10506 (grub_prio_list_remove): Likewise.
10507 (GRUB_AS_PRIO_LIST): Likewise.
10508 (GRUB_AS_PRIO_LIST_P): Likewise.
10509 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10510 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10511 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10512 * grub-core/kern/command.c (grub_register_command_prio): Inline
10513 the prio_list code.
10514 (grub_unregister_command): Likewise.
10515
94f064b4
VS
105162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Fix interrupt mixup from previous commit.
10519
10520 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10521 (grub_realidt): New var.
10522 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10523 Load idt.
10524 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10525 New declaration.
10526 (grub_relocator16_boot): Set grub_relocator16_idt.
10527 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10528 (LOCAL(realidt)): ... this.
10529 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10530 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10531 (grub_realidt): New variable.
10532
27317084
VS
105332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10536 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10537 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10538 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10539 Gettextize.
10540 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10541 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10542 * po/POTFILES.in: Regenerate.
10543
47b40053
VS
105442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10547 errors.
10548
2b343101
VS
105492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10552 \0.
10553 (add_length): Likewise.
10554
ff27c3dd
LK
105552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
105562012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10557
10558 GDB serial and backtrace support.
10559
10560 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10561 (prot_to_real): Likewise.
10562 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10563 * grub-core/Makefile.core.def (backtrace): New module.
10564 (gdb): Likewise.
10565 * grub-core/gdb/cstub.c: New file.
10566 * grub-core/gdb/gdb.c: Likewise.
10567 * grub-core/gdb/i386/idt.c: Likewise.
10568 * grub-core/gdb/i386/machdep.S: Likewise.
10569 * grub-core/gdb/i386/signal.c: Likewise.
10570 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10571 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10572 * include/grub/backtrace.h: Likewise.
10573 * include/grub/gdb.h: Likewise.
10574 * include/grub/i386/gdb.h: Likewise.
10575
105762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10577
10578 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10579 New function.
10580 (add_length): Likewise.
10581 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10582 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10583 proto.
10584 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10585 __argp_get_display_len.
10586
ff27c3dd 105872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10588
10589 $"..." support in scripts.
10590
10591 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10592 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10593 * grub-core/script/yylex.l: Likewise.
10594 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10595 value.
10596
ff27c3dd 105972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10598
10599 * gentpl.py: Remove obsolete pkglib_DATA handling.
10600
ff27c3dd 106012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10602
10603 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10604 mailing list.
10605
10606 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10607 * util/grub-kbdcomp.in: Likewise.
10608 * util/grub-mkconfig.in: Likewise.
10609 * util/grub-mkconfig_lib.in: Likewise.
10610 * util/grub-mknetdir.in: Likewise.
10611 * util/grub-mkrescue.in: Likewise.
10612 * util/grub-mkstandalone.in: Likewise.
10613 * util/grub-reboot.in: Likewise.
10614 * util/grub-set-default.in: Likewise.
10615 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10616
ff27c3dd 106172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10618
10619 Remove GRUB_PREFIX.
10620
10621 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10622 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10623 used for backward compatibility.
10624
ff27c3dd 106252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10626
10627 Add new all_video module.
10628
10629 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10630 * grub-core/Makefile.core.def (all_video): New module.
10631 * grub-core/genmoddep.awk: Generate dependency of all_video from
10632 video.lst.
10633 * grub-core/lib/fake_module.c: New file.
10634 * grub-core/normal/main.c (features): Add feature_all_video_module.
10635 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10636 don't do explicit search again.
47454da5 10637 insmod all_video in load_video if available.
22c7ce85 10638
ff27c3dd 106392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10640
10641 Another round of string clarification and adding TRANSLATORS comments.
10642
ff27c3dd 106432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10644
10645 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10646
ff27c3dd 106472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10648
10649 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10650 to grub_ssize_t.
10651 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10652 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10653
ff27c3dd 106542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10655
10656 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10657 trailing newline implicitly. All users updated.
10658
ff27c3dd 106592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10660
10661 Implement serial on IEEE1275 and EFI.
10662
10663 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10664 on emu. Mention arc and emu as the only platforms without serial
10665 support.
10666 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10667 ieee1275 platforms.
10668 * grub-core/term/efi/serial.c: New file.
10669 * grub-core/term/ieee1275/serial.c: Likewise.
10670 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10671 specification if no ns8250 driver is available.
10672 (grub_cmd_serial): Likewise.
10673 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10674 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10675 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10676 (grub_efi_parity_type_t): New type.
10677 (grub_efi_stop_bits_t): Likewise.
10678 (grub_efi_serial_io_interface): New struct.
10679 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10680 available for all interfaces.
10681 Add EFI and IEEE1275 fields.
10682 (grub_ofserial_init): New proto.
10683 (grub_efiserial_init): Likeiwse.
10684 * util/grub.d/00_header.in: Don't check for the presence of serial
10685 module.
10686
ff27c3dd 106872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10688
10689 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10690 name as if it was an alias.
10691
114076ef
VS
106922012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/commands/lsacpi.c (options): Fix typo.
10695
6a656b0e
VS
106962012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 Convert grub-emu to argp.
10699
10700 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10701 emu.
10702 * util/argp_common.c: Rename to ...
10703 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10704 Add missing includes.
10705 * grub-core/kern/emu/main.c: Convert to argp.
10706 * po/POTFILES.in: Regenerate.
10707 * util/grub-install.in (usage): Make first letter lowcase in messages
10708 for uniformity.
10709 * util/grub-setup.c (options): Likewise.
10710
1e3f8ae8
VS
107112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10714 Put back accidently commented-out code.
10715
ed167a80
VS
107162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10719 loop check using Brent algorithm.
10720 (grub_hfsplus_btree_search): Likewise.
10721
6753c0ec
VS
107222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * util/grub-install.in: Fix usage of wrong device for PreP install.
10725
4e27343f
VS
107262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * conf/Makefile.common (CFLAGS_GNULIB): Add
10729 -Wno-unsafe-loop-optimizations.
10730 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10731 on tools.
10732 * grub-core/commands/legacycfg.c: Add pragma to skip
10733 -Wunsafe-loop-optimizations.
10734 (check_password_md5_real): Fix loop counter type.
10735 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10736 reading.
10737 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10738 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10739 loop condition.
10740 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10741 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10742 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10743 condition.
10744 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10745 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10746 avoid possible infinite loops.
10747 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10748 and -Wunsafe-loop-optimizations.
10749 * grub-core/script/yylex.l: Likewise.
10750 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10751 (print_glyphs): Avoid infinite loops.
10752 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10753
697f18b0
GS
107542012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10755
10756 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10757 to avoid infinite loop.
10758 (disp_acpi_rsdt_table): Likewise.
10759
274416e8
VS
107602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * grub-core/font/font.c (grub_font_load): Add support for default
10763 path for fonts ($prefix/fonts).
10764 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10765 for checking if string is a path.
10766 * grub-core/normal/main.c (features): Add feature_default_font_path.
10767 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10768 * util/grub.d/00_header.in: Use default directory if possible.
10769 * util/grub-install.in: Install unicode.pf2.
10770
b3e08622
VS
107712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10774 * po/Rules-swiss: New file.
10775 * po/swiss.sed: Likewise.
10776
fe42ce09
VS
107772012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/fs/btrfs.c (find_device): Fix typos.
10780 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10781 * util/grub-mkrelpath.c (argp_parser): Likewise.
10782 Reported by: Yuri Chornoivan.
10783
72f1d065
DO
107842012-02-23 Dalet Omega <daletomega@gmail.com>
10785
10786 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10787 for usual informative messages.
10788
c5884973
DO
107892012-02-23 Dalet Omega <daletomega@gmail.com>
10790
10791 Starfield theme.
10792
10793 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10794 * conf/Makefile.common: Define starfielddir.
10795 * configure.ac: Configure starfield.
10796 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10797 * themes/starfield/README: Likewise.
10798 * themes/starfield/blob_w.png: Likewise.
10799 * themes/starfield/boot_menu_c.png: Likewise.
10800 * themes/starfield/boot_menu_e.png: Likewise.
10801 * themes/starfield/boot_menu_n.png: Likewise.
10802 * themes/starfield/boot_menu_ne.png: Likewise.
10803 * themes/starfield/boot_menu_nw.png: Likewise.
10804 * themes/starfield/boot_menu_s.png: Likewise.
10805 * themes/starfield/boot_menu_se.png: Likewise.
10806 * themes/starfield/boot_menu_sw.png: Likewise.
10807 * themes/starfield/boot_menu_w.png: Likewise.
10808 * themes/starfield/slider_c.png: Likewise.
10809 * themes/starfield/slider_n.png: Likewise.
10810 * themes/starfield/slider_s.png: Likewise.
10811 * themes/starfield/src/blob_nw.xcf: Likewise.
10812 * themes/starfield/src/bootmenu/: Likewise.
10813 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10814 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10815 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10816 * themes/starfield/src/slider_c.xcf: Likewise.
10817 * themes/starfield/src/slider_n.xcf: Likewise.
10818 * themes/starfield/src/slider_s.xcf: Likewise.
10819 * themes/starfield/src/terminalbox/: Likewise.
10820 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10821 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10822 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10823 * themes/starfield/starfield.png: Likewise.
10824 * themes/starfield/terminal_box_c.png: Likewise.
10825 * themes/starfield/terminal_box_e.png: Likewise.
10826 * themes/starfield/terminal_box_n.png: Likewise.
10827 * themes/starfield/terminal_box_ne.png: Likewise.
10828 * themes/starfield/terminal_box_nw.png: Likewise.
10829 * themes/starfield/terminal_box_s.png: Likewise.
10830 * themes/starfield/terminal_box_se.png: Likewise.
10831 * themes/starfield/terminal_box_sw.png: Likewise.
10832 * themes/starfield/terminal_box_w.png: Likewise.
10833 * themes/starfield/theme.txt: Likewise.
10834
17d73325
VS
108352012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * util/grub.d/00_header.in: Add missing export theme.
10838
dbebaf92
VS
108392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10842 already included.
10843 Reported by: Eren D.
10844
3d68bffb
VS
108452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * conf/Makefile.common (grubdatadir): Removed.
10848 (Makefile.am): Move eveything grubdata to pkgdata.
10849
4b59234d
VS
108502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/commands/acpihalt.c (get_sleep_type):
10853 Remove unused variable.
10854
463dcadc
VS
108552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10858 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10859 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10860 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10861 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10862 i18n with gettext no-op.
10863 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10864 GRUB_ACPI_OPCODE_STRING_CONST.
10865 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10866 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10867
e5b90c82
VS
108682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * po/POTFILES.in: Regenerate.
10871
2a704ca9
VS
108722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10875 -Wno-error=missing-noreturn.
10876
84f9d341
VS
108772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10880 condition to avoid possibly infinite loops.
10881 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10882 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10883
d46683f9
VS
108842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10887 condition to avoid possibly infinite loops.
10888
c44866b2
VS
108892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10892 on show_error.
10893
96790539
VS
108942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10897
1ba7e295
VS
108982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10901
21ffe8f1
VS
109022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * util/bin2h.c (usage): Add missing attribute noreturn.
10905
0ccb6b3c
VS
109062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10909 if the size isn't divisible by 512.
10910
b00d7fb6
VS
109112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 Make list_push and list_remove functions rather than inline functions
10914 to decrease size and avoid aliasing violations.
10915
10916 * include/grub/list.h (grub_list_push): Move to ...
10917 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10918 * include/grub/list.h (grub_list_remove): Move to ...
10919 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10920
9d369087
VS
109212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10924 and -Wunused-result.
10925
af0250d9
VS
109262012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10929 Reported by: Seth Goldberg
10930
aad32b14
VS
109312012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10934
ac96441c
ST
109352012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10936
10937 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10938 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10939 command line.
10940 * docs/grub.texi (Simple configuration): Document
10941 GRUB_CMDLINE_GNUMACH.
10942
109432012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10944
10945 * conf/Makefile.common (platform_SCRIPTS): New variable.
10946 (platform_PROGRAMS): Likewise.
10947 * gentpl.py: Mark *,module and *.image for install.
10948 * grub-core/gdb_grub.in: Add a notice of expected environment.
10949 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10950 (gmodule.pl): Likewise.
10951
ac96441c 109522012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10953
10954 Replace grub_checkkey with grub_getkey_noblock.
10955
10956 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10957 (grub_getkey_noblock): ... this. All users updated.
10958
ac96441c 109592012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10960
10961 * grub-core/kern/emu/console.c: Move to ...
10962 * grub-core/term/emu/console.c: ...here.
10963 (grub_ncurses_getkey): Fix return value if no key is detected.
10964
e51b5666
VS
109652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10968 (grub_unit_test_fini): Likewise.
10969 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10970
109712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * include/grub/test.h (GRUB_UNIT_TEST)
10974
d9a62292
VS
109752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10978 Better error handling.
10979 (grub_script_return): Likewise.
10980 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10981
77c9182f
VS
109822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10985 rimplicit redifinition.
10986
edb13cf9
VS
109872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10990 GRUB.
10991
a9e9dc7c
VS
109922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10995 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10996 prompt here.
10997
b4ba8e02
VS
109982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11001 as GRUB_ERR_BUG. Don't malloc if no device is available.
11002
dded5540
VS
110032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11006 Mark calling with invalid term as GRUB_ERR_BUG.
11007
0cf69874
VS
110082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11011 packets rather than raising an error.
11012
59bfe502
VS
110132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11016 in if.
11017
db5fc596
VS
110182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11021 diagnostic to dprintf.
11022 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11023
e4b7f404
VS
110242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11027 device name.
11028
e7b02f9e
VS
110292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11032 (grub_ntfs_iterate_dir): Likewise.
11033
0331e102
VS
110342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 Efiemu stylistic fixes and gettext.
11037
11038 * grub-core/efiemu/i386/loadcore32.c
11039 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11040 * grub-core/efiemu/i386/loadcore64.c
11041 (grub_arch_efiemu_relocate_symbols64): Likewise.
11042 * grub-core/efiemu/i386/pc/cfgtables.c
11043 (grub_machine_efiemu_init_tables): Likewise.
11044 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11045 (grub_efiemu_loadcore_initXX): Add a filename argument.
11046 All users updated.
11047 Improved error message.
11048 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11049 Add a filename argument.
11050 All users updated.
11051 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11052 Reclassify double relocation as GRUB_ERR_BUG.
11053
306fc074
VS
110542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11057 handling.
11058
794d8ef2
VS
110592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11062 on partition.
11063
110642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11065
11066 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11067
794d8ef2 110682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11069
11070 Improve string. Gettextize.
11071
78dde88e
VS
110722012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11075 utils.
11076 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11077
4786a90f
VS
110782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11081 [GRUB_UTIL]: New function.
11082 (insert_array) [GRUB_UTIL]: Store partmaps.
11083 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11084 partmaps.
11085 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11086 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11087 (probe_abstraction): Print diskfilter and not raid.
11088 Reported by: Lennart Sorensen
11089
0b6225bd
VS
110902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11093 * util/grub-mkimagexx.c (MASK3): New define.
11094 (add_value_to_slot_20b): Use MASK3.
11095 (add_value_to_slot_21): Likewise.
11096 (relocate_addresses): Fix format specification.
11097 (load_image): Explicitly init symtab_section.
11098
b055f8f6
VS
110992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11102 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11103
b77c2fb7
VS
111042012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11107 on powerpc.
11108 Reported by: Lennart Sorensen
11109
e3ec28ab
VS
111102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * gentpl.py: Add missing license header.
11113 * docs/grub.texi: Update copyright year.
11114
c8d9ead6
GS
111152012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11116
11117 Source grub-mkconfig_lib from the build directory at build time.
11118 Suggested by: Vladimir Serbinenko.
11119
11120 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11121 * util/grub-install.in: Define pkgdatadir if not already set, and source
11122 grub-mkconfig_lib from there.
11123 * util/grub-kbdcomp.in: Likewise.
11124 * util/grub-mkconfig.in: Likewise.
11125 * util/grub-mknetdir.in: Likewise.
11126 * util/grub-mkrescue.in: Likewise.
11127 * util/grub-mkstandalone.in: Likewise.
11128 * util/grub-reboot.in: Likewise.
11129 * util/grub-set-default.in: Likewise.
11130 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11131
ebcecdf1
VS
111322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 Increase warning level.
11135
11136 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11137 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11138 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11139 (TARGET_CFLAGS): Likewise.
11140 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11141 * grub-core/Makefile.core.def (decompressor_xz): Add
11142 -Wno-unreachable-code.
11143 (normal): Add -Wno-redundant-decls.
11144 (xzio): Add -Wno-unreachable-code.
11145 (lzopio): Add -Wno-redundant-decls -Wno-error.
11146 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11147 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11148 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11149 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11150 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11151 * grub-core/kern/i386/coreboot/init.c: Add exception to
11152 -Wsuggest-attribute=noreturn.
11153 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11154 * grub-core/kern/ia64/dl_helper.c: Likewise.
11155 * grub-core/kern/mips/dl.c: Likewise.
11156 * grub-core/kern/sparc64/dl.c: Likewise.
11157 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11158 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11159 (memcmp): Likewise.
11160 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11161 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11162 * grub-core/loader/mips/linux.c: Likewise.
11163 * grub-core/loader/multiboot_elfxx.c: Likewise.
11164 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11165 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11166 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11167 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11168 fixme.
11169 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11170 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11171 Fix prototype.
11172
37bb97fe
VS
111732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11176 address.
11177
29a3550b
VS
111782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11181 Avoid improper use of strings.
11182 (grub_cmd_legacy_initrdnounzip): Likewise.
11183
dfdffd0d
VS
111842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11187 attribute.
11188 (grub_util_info): Likewise.
11189 (grub_util_error): Likewise.
11190
102fae4a
VS
111912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11194 * util/grub-fstest.c (fstest): Likewise.
11195
7e94d044
VS
111962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11199 (grub_md_sha512_real): Likewise.
11200 (grub_util_get_geli_uuid): Likewise.
11201 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11202 (grub_util_biosdisk_open): Fix format specification.
11203 Respect format security.
11204 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11205 (xrealloc): Likewise.
11206 (xasprintf): Likewise.
11207
5ebd9769
VS
112082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/import_gcry.py: Include grub/crypto.h in init.c.
11211
495fc8c1
VS
112122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11215 (generate_image): Make prefix a const char *.
11216 Fix format specifications. Respect format security.
11217 Avoid void * arithmetics.
11218 Avoid shadowing.
11219 (argp_parser): Remove unused variable. Respect format security.
11220 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11221 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11222 (count_funcs): Remove unused variable.
11223 (relocate_addresses): Fix format specification.
11224 Disable x86-64 with elf32. Remove unused variables.
11225 (add_fixup_entry): Avoid shadowing.
11226 (make_reloc_section): Fix format specification.
11227 Use assert.
11228 (locate_sections): Fix format specifications.
11229 (load_image): Avoid shadowing.
11230
043c2ea3
VS
112312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11234 Fix format specifications. Respect format security.
11235 Don't translate already translated grub_errmsg.
11236 (argp_parser): Remove unused variable
11237
3ec65a81
VS
112382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11241
a4d9fe4a
VS
112422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11245 (main): Likewise. Use xmalloc. Respect format security.
11246
15b81d49
VS
112472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11250 a const char *.
11251 (argp_parser): Remove unused variable.
11252
31731fc0
VS
112532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11256 (add_pixel): Make static.
11257 (add_font): Likewise.
11258 (write_string_section): Make name and str a const char *.
11259 (write_be16_section): Make name a const char *.
11260 (print_glyphs): Make static.
11261 (write_font_ascii_bitmap): Likewise.
11262 (write_font_width_spec): Likewise.
11263 (write_font_pf2): Likewise.
11264 (argp_parser): Remove unused variable.
11265 Respect format security.
11266 (main): Avoid shadowing. Respect format security.
11267
0809527b
VS
112682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * util/grub-editenv.c (argp_parser): Make static.
11271 (create_envblk_file): Use xmalloc.
11272 (open_envblk_file): Likewise.
11273 Resepect format security.
11274 (set_variables): Respect format security.
11275
45b0c8b7
VS
112762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * util/getroot.c (grub_find_device): Respect format security.
11279 (get_mdadm_uuid): Remove unused variable.
11280 (grub_util_pull_device): Dont call gettext on already translated
11281 grub_errmsg.
11282 (find_system_device): Remove unused variable.
11283 (grub_util_get_grub_dev): Likewise.
11284 (grub_make_system_path_relative_to_its_root): Respect format security.
11285
1b024b4e
VS
112862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * util/grub-fstest.c (execute_command): Make first argument
11289 a const char *.
11290 (read_file): Avoid shadowing.
11291 Reuse underlying error message if device open fails.
11292 (cmd_cmp): Respect format security.
11293 (root): Make const char *.
11294 (fstest): Remove args argument and use global copy.
11295 Respect format security.
11296 (argp_parser): Make static.
11297 (main): Make default_root const char *.
11298
5d1d4e28
VS
112992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * util/grub-mount.c (root): Make const char *.
11302 (execute_command): Make first argument a const char *.
11303 (fuse_init): Respect format security.
11304 (argp_parser): Make static. Remove unused variable.
11305 (main): Make default_root a const char *.
11306 Respect format security.
11307
36eb7379
VS
113082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * util/grub-probe.c (probe): Don't call gettext on already translated
11311 grub_errmsg.
11312 Remove unused variables.
11313 (argp_parser): Remove unused variable.
11314
76fb2ea9
VS
113152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * util/grub-script-check.c (argp_parser): Remove unused variable.
11318 (main): Rename read to curread to avoid shadowing.
11319
56c98584
VS
113202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * util/misc.c (grub_util_write_image_at): Fix format specification.
11323 (grub_util_write_image): Likewise.
11324 (grub_script_execute_argument_to_string): Removed (unused).
11325 (grub_script_execute_menuentry): Likewise.
11326 (grub_putchar): Likewise.
11327
164ebb48
VS
113282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11331 (FUNCTION) [GRUB_UTIL]: Likewise.
11332 (VARIABLE) [GRUB_UTIL]: Likewise.
11333
44318d61
VS
113342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11337 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11338
31a26002
VS
113392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11342 buffer.
11343
113442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11347 (LzmaEnc_SaveState): Removed (unused).
11348 (LzmaEnc_RestoreState): Likewise.
11349 (LzmaEnc_InitPriceTables): Made static.
11350 (LzmaEnc_Construct): Likewise.
11351 (LzmaEnc_FreeLits): Likewise.
11352 (LzmaEnc_Destruct): Likewise.
11353 (LzmaEnc_Init): Likewise.
11354 (LzmaEnc_InitPrices): Likewise.
11355 (LzmaEnc_Finish): Likewise.
11356 (LzmaEnc_PrepareForLzma2): Removed (unused).
11357 (LzmaEnc_MemPrepare): Likewise.
11358 (LzmaEnc_GetNumAvailableBytes): Likewise.
11359 (LzmaEnc_GetCurBuf): Likewise.
11360 (LzmaEnc_CodeOneMemBlock): Likewise.
11361
6fa67967
VS
113622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11365 (grub_util_ldm_embed): Likewise.
11366
9a7428e6
VS
113672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * util/grub-editenv.c (print_var): Rename name to varname to
11370 avoid shadowing.
11371 (main): Rename index to curindex to avoid shadowing.
31a26002 11372 Make filename a const char *.
9a7428e6 11373
4f96abd1
VS
113742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11377 to arg_getline to avoid shadowing.
11378
44d10dad
VS
113792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11382 disk_ to avoid shadowing.
11383
340ba63e
VS
113842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11387 curindex to avoid shadowing.
11388 Make static.
11389 (MatchFinder_GetNumAvailableBytes): Make static.
11390
22965bce
VS
113912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11394 avoid shadowing.
11395
7b5784d4
VS
113962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11399 argument from encrypt to do_encrypt to avoid shadowing.
11400
6f48ca01
VS
114012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11404 incorrect nesting of #if's.
11405
a4ea2dff
VS
114062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11409 checks which are always false on some platforms.
11410 (grub_cmd_lsacpi): Likewise.
11411 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11412 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11413 Likewise.
11414
def9fc1b
VS
114152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11416
11417 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11418 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11419
a67b2a04
VS
114202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11421
11422 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11423 re_dfa_t to avoid breaking alignment invariants.
11424 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11425 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11426
44c6828d
VS
114272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11430 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11431
bebe0dd0
VS
114322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11435 Fix declaration.
11436
a9cdb3cf
VS
114372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11440 conserve alignment invariants.
11441 (grub_ehci_ehcc_read16): Likewise.
11442 (grub_ehci_oper_read32): Likewise.
11443 (grub_ehci_oper_write32): Likewise.
11444 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11445 Conserve alignment invariants.
11446
ccc3b1b8
VS
114472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11450 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11451 declarations.
11452
987fbd95
VS
114532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11456 Remove unused variable.
11457
0df363f3
VS
114582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11461 Remove set in if.
11462
b2c0c4a6
VS
114632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * include/grub/net.h: Remove double declarations.
11466
690c531f
VS
114672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 Remove "payload" command in ia64 Linux loader since I couldn't
11470 find any evidence of it being used for anything.
11471 Replace "relocate" command with an environment variable
11472
11473 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11474 fields.
11475 (ia64_boot_payload): Removed.
11476 (last_payload): Likewise.
11477 (RELOCATE_OFF): Likewise.
11478 (RELOCATE_ON): Likewise.
11479 (RELOCATE_FORCE): Likewise.
11480 (relocate): Likewise.
11481 (free_pages): Don't free payloads.
11482 (grub_load_elf64): Use common error messages.
11483 Use "linux_relocate" variable.
11484 Increase the space after boot_params.
11485 (grub_cmd_payload): Removed.
11486 (grub_cmd_relocate): Likewise.
11487 (grub_cmd_fpswa): Improve messages.
11488 (cmd_payload): Removed.
11489 (cmd_relocate): Likewise.
11490 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11491 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11492
01783768
VS
114932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 Convert UHCI to DMA framework.
11496
11497 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11498 (grub_uhci_pci_iter): Fill new members
11499 (grub_alloc_td): Use P2V and V2P functions.
11500 (grub_free_queue): Likewise.
11501 (grub_alloc_qh): Likewise.
11502 (grub_uhci_setup_transfer): Likewise.
11503 (grub_uhci_check_transfer): Likewise.
11504
43206939
VS
115052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11508 Remove assignment in if while on it.
11509
571e140e
VS
115102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * util/grub-mkstandalone.in: Fix modules directory.
11513
a9d96eeb
VS
115142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11517 on i386-pc target.
11518 (argp_parser): Accept "auto" as compression specification.
11519
e4e37e8d
VS
115202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Fix `help' with unloaded modules.
11523
11524 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11525 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11526 (grub_dyncmd_dispatcher): Small stylistic fix.
11527 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11528 explicit help is requested.
11529
e1ea3ade
VS
115302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11533 Explicitly init restart while on it.
11534
27556881
VS
115352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11538 uninited variable.
11539
d65f6b36
VS
115402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * util/grub-mknetdir.in: Use . rather than source for POSIX
11543 compatibility.
11544
0a1e473c
VS
115452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11548
ce6647c8
VS
115492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11552 variable.
11553
66747894
VS
115542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11557 without quotes.
11558
71645f6e
VS
115592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11562
0e1c1f61
VS
115632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11566 iteration of partitions.
11567
9c4b5c13
VS
115682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 Improve gettext support. Stylistic fixes and error handling fixes while
11571 on it.
11572
215c90cb
VS
115732012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11576 part. Instead setup the correct stack in RM.
11577 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11578 for stack.
11579 * include/grub/i386/relocator_private.h: New file.
11580
b5c1f9bf
VS
115812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11584 argument.
11585 * util/grub-fstest.c (options): Add missing DEVICE part.
11586
b525fd83
VS
115872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Clarify and unify messages.
11590
11591 * grub-core/commands/hashsum.c (options): Unify messages.
11592 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11593 literal-only message as translatable.
11594 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11595 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11596 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11597 commands.
11598 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11599 key, not the key used to unlock. Clarify what it's used for.
11600 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11601 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11602 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11603 * util/grub-editenv.c (options): Unify "verbose" message.
11604 * util/grub-fstest.c (read_file): Unify error message.
11605 (fstest): Add quotes around commands.
11606 (options): Unify "verbose" message.
11607 * util/grub-install.in: Add quotes around variable name.
11608 * util/grub-kbdcomp.in: Unify error message.
11609 * util/grub-mkfont.c (main): Likewise.
11610 * util/grub-mkrescue.in: Likewise.
11611 * util/grub-mklayout.c (options): Unify "verbose" message.
11612 * util/grub-mkstandalone.in: Unify help and verbose messages.
11613 * util/grub-mount.c (options): Unify "verbose" message.
11614 * util/grub-probe.c (options): Likewise.
11615 * util/grub-script-check.c (options): Likewise.
11616 * util/grub-setup.c (setup): Unify no-terminator message.
11617 (options): Use DEVICE and not DEV.
11618 Unify "verbose" message.
11619 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11620
0ae70393
VS
116212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 Improve and unify messages.
11624
11625 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11626 name. All users updated.
11627 Print filename in error.
11628 (read_device_map): Print filename in error.
11629 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11630 (grub_util_get_os_disk): Likewise.
11631 (grub_util_biosdisk_get_grub_dev): Likewise.
11632 (grub_util_check_block_device): Likewise.
11633 (grub_util_check_char_device): Likewise.
11634 (grub_make_system_path_relative_to_its_root): Likewise.
11635 * util/grub-editenv.c (create_envblk_file): Likewise.
11636 (open_envblk_file): Likewise.
11637 (write_envblk): Likewise.
11638 * util/grub-fstest.c (cmd_cp): Likewise.
11639 (cmd_cat): Likewise.
11640 (cmd_cmp): Likewise.
11641 * util/grub-menulst2cfg.c (main): Likewise.
11642 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11643 (write_font_width_spec): Likewise.
11644 (write_font_pf2): Likewise.
11645 * util/grub-mkimage.c (generate_image): New argument outname.
11646 All users updated.
11647 Remove unreacheable message.
11648 (options): Unify messages.
11649 (help_filter): Likewise.
11650 * util/grub-mklayout.c (usage): Removed (unused).
11651 (main): Print filename in error.
11652 * util/grub-mkrescue.in: Fix wrong quoting.
11653 * util/grub-setup.c (setup): Print filename in error.
11654 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11655 (check_sas): Likewise.
11656 * util/misc.c (grub_util_get_fp_size): Removed.
11657 (grub_util_get_image_size): Print filename in error.
11658 (grub_util_read_at): Removed.
11659 (grub_util_read_image): Print filename in error.
11660 (grub_util_load_image): Likewise.
11661 (grub_util_write_image_at): New argument filename. All users updated.
11662 Print filename in error.
11663 (grub_util_write_image): New argument filename. All users updated.
11664 Print filename in error.
11665 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11666 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11667
0a96117d
VS
116682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * grub-core/Makefile.core.def (pxechain): New module.
11671 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11672 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11673 function.
11674 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11675 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11676
aca002f7
VS
116772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11680 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11681 * include/grub/err.h (grub_error_saved): New struct.
11682 (grub_errmsg): Make array size explicit.
11683 * include/grub/misc.h (grub_error_save): New function.
11684 (grub_error_load): Likewise.
11685 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11686 (grub_error_push): Update `errno' member name.
11687 (grub_error_pop): Likewise
11688 * grub-core/net/tftp.c (tftp_data): New member save_err.
11689 (tftp_receive): Save error.
11690 (tftp_open): Restore error.
11691
a51dab13
VS
116922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11695 to real mode down to execute A20-related code in protected mode as
11696 intended.
11697
eb6e6649
GS
116982012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11699
11700 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11701 NULL when the argument `level' has an unexpected value.
11702
92cd0f6e
VS
117032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 Move platform-dependent files from $prefix to $prefix/$platform.
11706
11707 * config.h.in (GRUB_TARGET_CPU): New definition.
11708 (GRUB_PLATFORM): Likewise.
11709 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11710 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11711 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11712 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11713 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11714 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11715 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11716 * grub-core/normal/term.c (read_terminal_list): Likewise.
11717 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11718 $prefix/locale.
11719 (grub_gettext_init_ext): Likewise.
11720 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11721 grub_platform.
11722 * util/grub-install.in: Update directories.
11723 * util/grub-mknetdir.in: Likewise.
11724 * util/grub-mkrescue.in: Likewise.
11725
db606889
VS
117262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11729 grub_error framework. All users updated.
11730
c39992a4
VS
117312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11734 lists (by always binsearching), improve caching (cache strings
11735 used for binsearch, not only results), improve
11736 maintainability (by using more structured binary search) and correct
11737 error handling.
11738
1e5ec32f
VS
117392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/script/execute.c (grub_script_return): Fix warning.
11742
ac576cde
VS
117432012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * grub-core/script/execute.c (grub_script_return): Fix potential
11746 NULL-dereference.
11747 Reported by: Jim Meyering.
11748
498453f6
VS
117492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * po/POTFILES.in: Regenerate.
11752 * util/grub-install.in: Gettextize the strings missed in first pass.
11753
8be63f2e
VS
117542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * Makefile.util.def (grub-mkdevicemap): Removed.
11757 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11758 * include/grub/util/deviceiter.h: Removed.
11759 * util/deviceiter.c: Likewise.
11760 * util/getroot.c (grub_util_get_os_disk): New function.
11761 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11762 replacement for EFI.
11763 * util/grub-mkdevicemap.c: Removed.
11764 * util/grub-probe.c (probe): Handle PRINT_DISK.
11765 (argp_parser): Handle -t disk.
11766
8e1e4e39
VS
117672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * util/grub-mkfont.c: Migrate to argp.
11770 * util/grub-mklayout.c: Likewise.
11771 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11772 * util/grub-mkrelpath.c: Likewise.
11773 * util/grub-probe.c: Likewise.
11774 * util/grub-script-check.c: Likewise.
11775
4459819a
VS
117762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/grub-reboot.in: Add missing datarootdir.
11779 Add missing newline.
11780 * util/grub-set-default.in: Add missing datarootdir.
11781 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11782 * util/grub-mkrescue.in: Likewise.
11783
f65741c7
VS
117842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11787
c1a33466
VS
117882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * util/grub-kbdcomp.in: Add decent help and gettextize.
11791 * docs/man/grub-kbdcomp.h2m: New file.
11792
c76899a0
VS
117932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 Migrate grub-mkimage.c to argp.
11796
11797 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11798 (grub-setup): Likewise.
11799 * util/grub-setup.c (print_version): Move to ...
11800 * util/argp_common.c (print_version): ... here.
11801 * util/grub-setup.c (argp_program_version_hook): Move to ...
11802 * util/argp_common.c (argp_program_version_hook): ... here.
11803 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11804 safety.
11805 * util/grub-mkimage.c (main): Migrate to argp.
11806
57db0757
VS
118072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * util/grub-mkrescue.in: Use same message as
11810 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11811 for better translations.
11812
18534ad9
VS
118132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11816 options with generic grub-mkrescue.in with the goal of future
11817 merge.
11818
c84ba308
VS
118192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * grub-core/kern/mm.c: Add missing include of i18n.h
11822 * grub-core/lib/relocator.c: Likewise.
11823
347998c2
VS
118242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11827 error.
11828 (allocate_pages): Check return value.
11829 Replace fatal with error.
11830 (grub_linux_boot): Replace printf with dprintf.
11831 Check find_mmap_size return value.
11832 Replace fatal with error.
11833 Don't call grub_machine_fini.
11834 (grub_load_elf64): Replace printf with dprintf.
11835 (grub_cmd_linux): Likewise.
11836 (grub_cmd_initrd): Likewise.
11837 (grub_cmd_payload): Likewise.
11838
c779226e
VS
118392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11842 message.
11843 * grub-core/video/radeon_fuloong2e.c
11844 (grub_video_radeon_fuloong2e_setup): Likewise.
11845 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11846 * grub-core/video/video.c (grub_video_set_mode): Don't override
11847 standard out of memory message.
11848
dc87d45a
GS
118492012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11850
11851 NetBSD disk wedge support.
11852
11853 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11854 [__NetBSD__]: Handle NetBSD disk wedges.
11855 * util/getroot.c (convert_system_partition_to_system_disk)
11856 [__NetBSD__]: Likewise.
11857
055f856f
MW
118582012-02-03 Mark Wooding <mdw@distorted.org.uk>
11859
11860 * util/grub-mkconfig.in: Use umask rather than chmod to create
11861 grub.cfg.new to avoid insecure grub.cfg.
11862
4a9f8346
VS
118632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/commands/ls.c: Gettextize.
11866 * grub-core/commands/setpci.c: Likewise.
11867 * grub-core/commands/videotest.c: Likewise.
11868 * grub-core/disk/geli.c: Likewise.
11869 * grub-core/kern/mm.c: Likewise.
11870 * grub-core/lib/relocator.c: Likewise.
11871 * grub-core/loader/efi/appleloader.c: Likewise.
11872 * grub-core/loader/i386/xnu.c: Likewise.
11873 * grub-core/loader/ia64/efi/linux.c: Likewise.
11874 * grub-core/loader/xnu.c: Likewise.
11875 * grub-core/net/dns.c: Likewise.
11876 * grub-core/net/net.c: Likewise.
11877 * grub-core/script/lexer.c: Likewise.
11878 * grub-core/script/parser.y: Likewise.
11879 * grub-core/script/yylex.l: Likewise.
11880 * util/getroot.c: Likewise.
11881 * util/grub-setup.c: Likewise.
11882
a646a366
VS
118832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11886 number.
11887
54e2be26
VS
118882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11891
f7c71e68
VS
118922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11895 macro.
11896 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11897 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11898
a32d5c71
VS
118992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11902 * util/grub-install.in: Gettextize.
11903 * util/grub-mkconfig.in: Likewise.
11904 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11905 if not available.
11906 (grub_warn): Gettextize.
11907 * util/grub-mknetdir.in: Gettextize.
11908 * util/grub-mkrescue.in: Likewise.
11909 * util/grub-mkstandalone.in: Likewise.
11910 * util/grub-reboot.in: Likewise.
11911 * util/grub-set-default.in: Likewise.
11912 * util/grub.d/00_header.in: Likewise.
11913 * util/grub.d/10_hurd.in: Likewise.
11914 * util/grub.d/10_kfreebsd.in: Likewise.
11915 * util/grub.d/10_linux.in: Likewise.
11916 * util/grub.d/10_netbsd.in: Likewise.
11917 * util/grub.d/10_windows.in: Likewise.
11918 * util/grub.d/20_linux_xen.in: Likewise.
11919 * util/grub.d/30_os-prober.in: Likewise.
11920 * po/POTFILES-shell.in: Regenerate.
11921
69edd81a
RL
119222012-02-03 Richard Laager <rlaager@wiktel.com>
11923
11924 * util/grub-mkimage.c (main): Fix format-security warning.
11925 * util/grub-mkrelpath.c (main): Likewise.
11926 * util/grub-probe.c (main): Likewise.
11927
65f08dbf
RL
119282012-02-03 Richard Laager <rlaager@wiktel.com>
11929
11930 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11931 failure.
11932 Put back lost PRINT_DRIVE.
11933
e9084abe
RL
119342012-02-03 Richard Laager <rlaager@wiktel.com>
11935
11936 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11937 (grub_guess_root_devices): Replace strlen with sizeof.
11938 Avoid crash.
11939 (find_root_devices_from_poolname): Remove unused variable.
11940 Handle raidzN.
11941
cf5f7ee7
VS
119422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Support install on multi-device filesystems.
11945
11946 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11947 (grub_guess_root_devices): ...this. Return char **. All users updated.
11948 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11949 Removed.
11950 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11951 (find_root_devices_from_poolname): ... here.
11952 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11953 Support zfs-fuse.
11954 (grub_guess_root_device): Rename to ...
11955 (grub_guess_root_devices): ... this. Return char **. All users updated.
11956 * util/grub-install.in: Handle multi-device filesystems.
11957 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11958 argument. All users updated.
11959 Handle multi-device filesystems.
11960 Use 'delim' as separator.
11961 Remove device check to allow filesystems on file.
11962 (main): Support -0 argument. Handle multi-device.
11963 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11964 Fix a cross-device check while on it.
11965 (arguments): Remove root_dev.
11966 (argp_parser): Remove -r.
11967 (main): Remove root_dev.
11968
2f53a9ed
VS
119692012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11972
17e1d934
VS
119732012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11976 symbol.
11977 Reported by: NODA, Kai <nodakai>.
11978
d3e3fab5
VS
119792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 Fix ehci on amd64.
11982
11983 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11984 pointers.
11985 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11986 (grub_ehci_setup_qh): Likewise.
11987 (grub_ehci_find_qh): Likewise.
11988 (grub_ehci_transaction): Likewise.
11989 (grub_ehci_setup_transfer): Likewise.
11990 (grub_ehci_check_transfer): Likewise.
11991 (grub_ehci_portstatus): Likewise.
11992 (grub_ehci_detect_dev): Likewise.
11993 (grub_ehci_transfer_controller_data): New field td_last_phys.
11994 (grub_ehci_setup_transfer): Fill td_last_phys.
11995 (grub_ehci_check_transfer): Use td_last_phys.
11996
3008675b
SG
119972012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11998
11999 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12000 if no submenu is present.
12001
fc9b5652
AN
120022012-02-01 Aleš Nesrsta <starous@volny.cz>
12003
12004 CBI support.
12005
12006 * include/grub/usb.h (grub_usbms_protocol_t): New values
12007 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12008 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12009 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12010 (grub_usbms_dev): Add subclass, protocol and intrpt.
12011 Remove in_maxsz and out_maxsz.
12012 (grub_usbms_reset): Rename to ...
12013 (grub_usbms_bo_reset): .. this.
12014 (grub_usbms_cbi_cmd): New function.
12015 (grub_usbms_cbi_reset): Likewise.
12016 (grub_usbms_reset): Likewise.
12017 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12018 (grub_usbms_transfer): Rename to ...
12019 (grub_usbms_transfer_bo): ... this.
12020 (grub_usbms_transfer_cbi): Likewise.
12021 (grub_usbms_transfer): Likewise.
12022
a2b81d53
AN
120232012-02-01 Aleš Nesrsta <starous@volny.cz>
120242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12027 the support for the CS5536 modification thereos and few bugfixes.
12028
12029 * grub-core/Makefile.core.def (ehci): New module.
12030 * grub-core/bus/usb/ehci.c: New file.
12031 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12032 port and hubaddr. All users updated.
12033 Save port and hubaddr into dev structure.
12034 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12035 define.
12036 * include/grub/pci.h (grub_dma_phys2virt): New function.
12037 (grub_dma_virt2phys): Likewise.
12038 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12039
b1d51f02
VS
120402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12043 check as some mkfs implementations omit it.
12044
fc694106
VS
120452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12048
6c0920e3
VS
120492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12052 Add new member volname2.
12053 (grub_jfs_label): Use volname2 if available.
12054
d1a46f9a
VS
120552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12058 over last_mounted as seen in image generated by mkfs.nilfs2.
12059 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12060
dec8ed14
VS
120612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12064 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12065 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12066
7397c69b
VS
120672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12070 over the sector.
12071
b3fe42ad
VS
120722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12075 subvolume name (by removing a bogus and useless check).
12076
10476bb0
VS
120772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12080 sizeof while on it.
12081
9c08ad87
VS
120822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12085 (grub_scsi_read_capacity10): ... this.
12086 (grub_scsi_read_capacity16): New function.
12087 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12088 0xffffffff.
12089 Fix off-by-one error.
12090 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12091 64-bit unsigned.
12092 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12093 (grub_scsi_read_capacity10): ... this.
12094 (grub_scsi_read_capacity_data): Rename to ...
12095 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12096 (grub_scsi_read_capacity16): New struct.
12097 (grub_scsi_read_capacity16_data): Likewise.
12098 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12099 grub_scsi_cmd_read_capacity10.
12100 New command grub_scsi_cmd_read_capacity16.
12101
bc8d0f45
VS
121022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 SCSI >2TiB support.
12105
12106 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12107 (grub_scsi_write16): Likewise.
12108 (grub_scsi_read): Use read16 when necessary.
12109 (grub_scsi_write): Likewise.
12110 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12111 (grub_scsi_write16): Likewise.
12112 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12113
cc774926
VS
121142012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 SCSI write support (for usbms mainly).
12117
12118 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12119 a const pointer.
12120 (grub_scsi_write): Implement.
12121 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12122
67639fd7
VS
121232012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12126 variable.
12127
9079d3ed
VS
121282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12131
c6a6f204
VS
121322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * po/POTFILES.in: Regenerate.
12135
ecbf8cd1
VS
121362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12139 with grub_printf to avoid unnecessary fatal failure.
12140
0b3b3b38
VS
121412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12144 (INT_MAX): Likewise.
12145 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12146 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12147 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12148 (strcpy): Likewise.
12149 (strstr): Likewise.
12150 (strchr): Likewise.
12151 (strncpy): Likewise.
12152 (strcat): Likewise.
12153 (strncat): Likewise.
12154 (strcoll): Likewise.
12155 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12156 (GRUB_INT_MAX): Likewise.
12157
db7337a3
VS
121582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12161 unexpected error.
12162 (optimize_utf8): Likewise.
12163 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12164
f37c87e1
VS
121652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * grub-core/boot/i386/pc/lnxboot.S: Use
12168 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12169 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12170 location.
12171 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12172 definition.
12173 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12174
63fe43f3
VS
121752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12178 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12179 now to avoid double free.
12180 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12181 hostdisk.
12182 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12183 * util/grub-probe.c (escape_of_path): Always return a new copy.
12184 (print_full_name): Escape path.
12185 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12186 Fix hints on abstractions.
12187
ebe2c961
VS
121882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12191 Don't add "root" line if no compatibility hont is available.
12192 Suggested by: Seth Goldberg.
12193
2b5336a2
VS
121942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12197 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12198 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12199 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12200
74310bd8
VS
122012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12204
c30582ba
VS
122052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * util/grub-pe2elf.c (ehdr): Make static.
12208 (shdr): Likewise.
12209 (num_sections): Likewise.
12210 (offset): Likewise.
12211
5f47782c
VS
122122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 Eliminate ofpath limits and possible overflows.
12215
12216 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12217 (OF_PATH_MAX): Removed.
12218 (MAX_DISK_CAT): New const.
12219 (find_obppath): Use allocated rather than preallocated buffer.
12220 Return result. Argument of_path removed. All users updated.
12221 Add missing fdstat.
12222 (xrealpath): New function.
12223 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12224 Allocate rather than use preallocated buffer. All users updated.
12225 (__of_path_common): Use allocated rather than preallocatecd buffer.
12226 Return result. Argument of_path removed. All users updated.
12227 (vendor_is_ATA): Read only needed part form the file.
12228 (check_sas): Allocate depending on contents rather than fixed.
12229 (main) [STANDALONE]: Handle NULL result.
12230
f990cbf9
VS
122312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12234
9c6e84b8
VS
122352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Cryptodisk write support.
12238
12239 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12240 (grub_cryptodisk_decrypt): Moved logic to ...
12241 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12242 (grub_cryptodisk_write): Implement.
12243 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12244 (grub_util_fd_write): ... this. Make global.
12245 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12246
87cf9744
VS
122472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * include/grub/list.h (grub_list_remove): Don't crash if element is
12250 removed twice.
12251
ca8c0baf
VS
122522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Rename ofconsole to console.
12255
12256 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12257 as sysnonym to console.
12258 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12259 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12260 Rename grub_ofconsole_ to grub_console_. All users updated
12261 (grub_console_term_output): Rename "ofconsole" to "console".
12262 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12263 as "console".
12264
64c8b8f6
VS
122652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12268 handling.
12269 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12270 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12271 GRUB_DISK_DEVICE_FILE_ID.
12272
f6c434d5
VS
122732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12276 and improve performance.
12277
5858b42d
VS
122782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12281 missing ieee1275/ prefix on whole disk.
12282
4ed3c26b
VS
122832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12286 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12287
df71143e
VS
122882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12291
076e7c0f
VS
122922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 Merge common RAID and LVM logic to an abstract diskfilter.
12295 Add LDM support using the same framework.
12296
12297 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12298 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12299 (libgrubmods): Remove grub-core/disk/raid.c and
12300 grub-core/partmap/gpt.c.
12301 * grub-core/Makefile.core.def (ldm): New module.
12302 (raid): Renamed to diskfilter. All users updated.
12303 * grub-core/disk/raid.c: Moved to ...
12304 * grub-core/disk/diskfilter.c: ... here.
12305 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12306 (lv_num): New var.
12307 (find_array): Renamed to ...
12308 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12309 (grub_is_array_readable): Renamed to ...
12310 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12311 (insert_array): New argument id.
12312 (is_node_readable): New function.
12313 (scan_device): Rename to ...
12314 (scan_disk): .. this. Restrict to one disk.
12315 (scan_devices): New function.
12316 (grub_diskfilter_iterate): Support multi-LV.
12317 Skip invisible and nameless LVs.
12318 (grub_diskfilter_memberlist): Support multi-LV.
12319 (grub_diskfilter_read_node): New function.
12320 (grub_raid_read): Most of logic moved to ...
12321 (read_segment): ... here
12322 (read_lv): New function.
12323 (grub_diskfilter_get_vg_by_uuid): New function.
12324 (grub_diskfilter_make_raid): Likewise.
12325 * grub-core/disk/ldm.c: New file.
12326 * grub-core/disk/lvm.c (vg_list): Removed.
12327 (lv_count): Likewise.
12328 (scan_depth): Likewise.
12329 (is_lv_readable): Likewise.
12330 (grub_lvm_getvalue): Advance pointer past the number.
12331 (find_lv): Removed.
12332 (do_lvm_scan): Refactored into ...
12333 (grub_lvm_detect): ... this. Support raid.
12334 (grub_lvm_iterate): Removed.
12335 (grub_lvm_memberlist): Likewise.
12336 (grub_lvm_open): Likewise.
12337 (grub_lvm_close): Likewise.
12338 (read_lv): Likewise.
12339 (read_node): Likewise.
12340 (is_node_readable): Likewise.
12341 (is_lv_readable): Likewise.
12342 (grub_lvm_read): Likewise.
12343 (grub_lvm_write): Likewise.
12344 (grub_lvm_dev): Use diskfilter
12345 (GRUB_MOD_INIT): Likewise.
12346 (GRUB_MOD_FINI): Likewise.
12347 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12348 new interface.
12349 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12350 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12351 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12352 grub_diskfilter_read_node.
12353 Fix a bug with xor.
12354 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12355 grub_diskfilter_read_node.
12356 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12357 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12358 (grub_disk_dev_iterate): Move from here...
12359 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12360 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12361 Make global.
12362 (grub_hostdisk_find_partition_start): Likewise.
12363 (grub_hostdisk_os_dev_to_grub_drive): New function.
12364 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12365 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12366 * util/getroot.c (make_device_name): ... here.
12367 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12368 Move to ...
12369 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12370 * grub-core/kern/emu/hostdisk.c
12371 (convert_system_partition_to_system_disk): Move to ...
12372 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12373 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12374 * util/getroot.c (device_is_wholedisk): ... here.
12375 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12376 * util/getroot.c (find_system_device): ... here.
12377 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12378 Move to ...
12379 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12381 Move to ...
12382 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12383 Handle LDM.
12384 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12385 Move to ...
12386 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12387 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12388 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12389 DISKFILTER.
12390 * include/grub/raid.h: Renamed to ...
12391 * include/grub/diskfilter.h: ... this.
12392 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12393 (GRUB_RAID_LAYOUT_*): Make into array.
12394 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12395 (grub_diskfilter_vg): New struct.
12396 (grub_diskfilter_pv_id): Likewise.
12397 (grub_raid_member): Removed.
12398 (grub_raid_array): Likewise.
12399 (grub_diskfilter_pv): New struct.
12400 (grub_diskfilter_lv): Likewise.
12401 (grub_diskfilter_segment): Likewise.
12402 (grub_diskfilter_node): Likewise.
12403 (grub_diskfilter_get_vg_by_uuid): New proto.
12404 (grub_raid_register): Inline.
12405 (grub_diskfilter_unregister): Likewise.
12406 (grub_diskfilter_make_raid): New proto.
12407 (grub_diskfilter_vg_register): Likewise.
12408 (grub_diskfilter_read_node): Likewise.
12409 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12410 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12411 (grub_util_is_ldm): Likewise.
12412 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12413 (grub_hostdisk_find_partition_start): Likewise.
12414 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12415 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12416 New definition.
12417 (grub_gpt_partition_map_iterate): New proto.
12418 * include/grub/lvm.h (grub_lvm_vg): Removed.
12419 (grub_lvm_pv): Likewise.
12420 (grub_lvm_lv): Likewise.
12421 (grub_lvm_segment): Likewise.
12422 (grub_lvm_node): Likewise.
12423 * util/getroot.c [...]
12424 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12425 (probe_abstraction): Likewise.
12426 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12427 (main): Remove dead logic.
12428
8a7f9b9c
VS
124292012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 Simplify root device discover and don't fail when trying to open
12432 incorrect devices.
12433
12434 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12435 function.
12436 (get_diskname_from_path): Likewise.
12437 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12438 of iterating.
12439
30545b85
VS
124402012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12443
28ea58cf
VS
124442012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12447 pastthe end.
12448
692dabca
VS
124492012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * util/grub-install.in: Add missing \.
12452 Reported by: gentoofan
12453
f6e4ea70
VS
124542012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12457 (direct_read): Use correct compressed size.
12458 (grub_squash_read_data): Likewise.
12459
124602012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12461
12462 * docs/grub.texi (Platform limitations): New section.
12463 (Platform-specific operations): Likewise.
12464 * docs/grub-dev.texi (Porting): Likewise.
12465
76261110
VS
124662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 IEEE1275 disk write support.
12469
12470 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12471 const void *.
12472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12473 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12474 and seek loginc to ...
12475 (grub_ofdisk_prepare): ... here.
12476 (grub_ofdisk_write): Implement.
12477
fc36d603
VS
124782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 ARC disk write support.
12481
12482 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12483 (reopen): New argument writable. All users updated.
12484 Handle required access mode.
12485 (grub_arcdisk_write): Implement.
12486 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12487 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12488
e06c2e7a
VS
124892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12492 (read_sblock): Don't attempt to read superblocks outside the disk size.
12493
ff447958
VS
124942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12497 first superblock to find the second one when possible.
12498
9e88df39
VS
124992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * util/grub-install.in: Fix an ARC bug.
12502 Print a warning if no platform-specific setup is available.
12503
bb26e4ff
VS
125042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 Use static allocation rather than scratch pointer in reed_solomon.
12507 It decreases its size significantly and avoids a variable in .text.
12508
12509 * grub-core/lib/reed_solomon.c (scratch): Removed.
12510 (chosenstat): New const or static array.
12511 (sigma): Likewise.
12512 (errpot): Likewise.
12513 (errpos): Likewise.
12514 (sy): Likewise.
12515 (mstat): Likewise.
12516 (errvals): Likewise.
12517 (eqstat): Likewise.
12518 (pol_evaluate): Replace x with log_x argument. All users updated.
12519 (syndroms): Removed.
12520 (gauss_solve): Use statically allocated arrays.
12521 (rs_recover): Likewise.
12522 Calculate syndroms directly.
12523 (decode_block): Use statically allocated arrays.
12524 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12525 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12526
2e13ede5
VS
125272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 Eliminate fixed limit on reed solomon decoder length.
12530
12531 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12532 rather than hardcoding the address.
12533 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12534 no_reed_solomon_length.
12535 Move gate_a20 to no-reed-solomon part.
12536 Don't force a particular size of no reed-solomon part.
12537 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12538 Removed.
12539 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12540 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12541
f8a9ab12
VS
125422012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/commands/wildcard.c (match_files): Handle filenames
12545 without explicit device.
12546 (wildcard_expand): Don't add explicit device if not already present.
12547 * tests/grub_script_echo1.in: Add a new expansion test.
12548
87edb894
VS
125492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Replace single-linked with double-linked lists. It results in more
12552 compact and more efficient code.
12553
12554 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12555 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12556 (grub_list_remove): Moved from here ...
12557 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12558 (grub_prio_list_insert): Set prev.
12559 * include/grub/list.h (grub_list): Add prev. All users updated.
12560
48b391e9
VS
125612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 Handle newer autotools. Add some missing quotes while on it.
12564
12565 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12566 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12567 (pkgdata_DATA): ... here.
12568 * Makefile.util.def (update-grub_lib): Removed.
12569 * conf/Makefile.common (pkglib_DATA): Removed.
12570 (pkglib_SCRIPTS): Likewise.
12571 (pkgdata_DATA): New variable.
12572 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12573 needed.
12574 Add missing quotes.
12575 Remove unused variable while on it.
12576 * tests/util/grub-shell.in: Likewise.
12577 * util/grub-install.in: Likewise.
12578 * util/grub-mkconfig.in: Likewise.
12579 * util/grub-mknetdir.in: Likewise.
12580 * util/grub-mkrescue.in: Likewise.
12581 * util/grub-mkstandalone.in: Likewise.
12582 * util/grub.d/00_header.in: Likewise.
12583 * util/grub.d/10_hurd.in: Likewise.
12584 * util/grub.d/10_illumos.in: Likewise.
12585 * util/grub.d/10_kfreebsd.in: Likewise.
12586 * util/grub.d/10_linux.in: Likewise.
12587 * util/grub.d/10_netbsd.in: Likewise.
12588 * util/grub.d/10_windows.in: Likewise.
12589 * util/grub.d/20_linux_xen.in: Likewise.
12590 * util/grub.d/30_os-prober.in: Likewise.
12591 * util/update-grub_lib.in: Removed.
12592
125932012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12594
12595 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12596 a workaround for intel problem.
12597
66832792
PRP
125982012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
125992012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
126002012-01-23 pfsmorigo
12601
12602 * util/grub-install.in: Support dd'in into PreP partition.
12603 * util/grub-probe.c (probe): Support discovering partition type.
12604 (main): Support -t msdos_parttype.
12605
7816a17e
VS
126062012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12609 infinite recursion using counter.
12610 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12611 init to skip it if the magic check fails.
12612 (dec_stream_header): Init s->crc32.
12613
8f9d3a8c
ZB
126142012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
126152012-01-22 Zachary Bedell <pendorbound@gmail.com>
126162012-01-22 Richard Laager <rlaager@wiktel.com>
12617
12618 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12619 All users updated.
12620 (find_bestub): Determine correct size.
12621 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12622 (scan_disk): Align the size down.
12623 Call check pool before find_bestub to have ashift.
12624
b055dd32
VS
126252012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12628 dprintf in no-malloc zone.
12629
d779e9bd
ML
126302012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12631
12632 * configure.ac: Add back in test for limits.h.
12633
b508af69
VS
126342012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 Support 4K-sector NTFS.
12637
12638 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12639 (grub_ntfs_data): Remove blocksize.
12640 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12641 Remove data argument. All users updated.
12642
dad9c8b5
VS
126432012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12646 being in .text to avoid dprel references.
12647 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12648 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12649 (grub_arch_highmemsize): Likewise.
12650 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12651 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12652 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12653
d43a777e
VS
126542012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12657
12658 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12659 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12660
34e4208f
VS
126612012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12664 GRUB_UTIL.
12665 (grub_set_datetime_cmos): Likewise.
12666
3ec0fc1c
VS
126672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 Make XZ compression parameters dependent on target and not host CPU.
12670
12671 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12672 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12673
22489834
VS
126742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12677 set but not used variable.
12678
8502fbca
VS
126792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12682 created when no uuid support is compiled into mkfs.reiser.
12683
76df2068
VS
126842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12687 (utf8_to_macroman): Do the opposite.
12688 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12689
64e3f8f6
VS
126902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * configure.ac: Refise build qemu_mips w/o unifont.
12693
9c271078
VS
126942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 Eliminate grub_min/grub_max prone to overflow usage.
12697
12698 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12699 (poll_nonroot_hub): Likewise.
12700 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12701 (grub_affs_label): Likewise.
12702 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12703 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12704 (grub_hfs_label): Likewise.
12705 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12706 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12707 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12708 (zap_leaf_array_get): Likewise.
12709 (dnode_get_path): Likewise.
12710 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12711 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12712 * grub-core/script/execute.c (grub_script_break): Likewise.
12713 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12714 grub_max.
12715 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12716 * include/grub/misc.h (grub_min): Removed.
12717 (grub_max): Likewise.
12718
80662dbc
VS
127192012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12720
12721 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12722 direct.inode = 0.
12723
e6da1467
VS
127242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12727
b1ac4cb1
VS
127282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12731
b4bf7c3b
VS
127322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12735 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12736
8ee1101a
VS
127372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12740 rather than a hack for grub_strncasemap.
12741
127422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 Support multiple initrds
12745 Note: part of this was accidently committed in r3739.
12746
12747 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12748 initrd.
12749 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12750 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12751 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12752 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12753 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12754
4d1e2bc9
VS
127552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12758 disks with unknown size.
12759 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12760
75b49ebe
VS
127612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 Remove defines pertaining to arbitrary limits not affecting GRUB
12764 anymore.
12765
12766 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12767 (EXT2_MAX_SYMLINKCNT): Likewise.
12768 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12769 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12770 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12771 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12772 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12773 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12774 (DN_MAX_OBJECT_SHIFT): Likewise.
12775 (DN_MAX_OFFSET_SHIFT): Likewise.
12776 (DN_MAX_OBJECT): Likewise.
12777 (DNODES_PER_LEVEL_SHIFT): Likewise.
12778 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12779 (SPA_MAXBLOCKSIZE): Likewise.
12780 (SPA_BLOCKSIZES): Likewise.
12781 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12782 (MZAP_MAX_BLKSZ): Likewise.
12783
74a1dce7
VS
127842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12787 handle NULL appropriately.
12788 Remove MIN.
12789
30c7d3ce
VS
127902012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 Fix efiemu.
12793
12794 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12795 cpu/types.h.
12796 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12797 * configure.ac: Fix efiemu check.
12798
3c76ea0c
VS
127992012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12802 grub_probe.
12803 Reported by: adamwill
12804
7e532280
SG
128052012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12806
12807 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12808
30492374
VS
128092012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Fix handling of wide characters in gfxterm.
12812
12813 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12814 (clear_char): Likewise.
12815 (paint_char): Skip code == NULL chars.
12816 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12817
e70cb72f
VS
128182012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/normal/charset.c: Move comment to right place.
12821
5c827cf9
VS
128222012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12825 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12826 (grub_affs_mount): Revert the correct version checking.
12827
53603892
VS
128282012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * docs/grub.texi (Unicode): Mention several other unsupported features.
12831
ff094b9b
VS
128322011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12835 case statements as compile-time one.
12836 (direct_read): Prevent spurious warnings.
12837 (grub_squash_read_data): Likewise.
12838
c029da8a
VS
128392011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 Various squash4 fixes and LZO and XZ support.
12842
12843 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12844 Add xzembed source files.
12845 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12846 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12847 (grub_squash_inode): New subtype long_dir.
12848 (SQUASH_TYPE_LONG_DIR): New inode type.
12849 (COMPRESSION): New enum.
12850 (XZBUFSIZ): New const.
12851 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12852 (read_chunk): Use data->decompress.
12853 (zlib_decompress): New function.
12854 (lzo_decompress): Likewise.
12855 (xz_decompress): Likewise.
12856 (squash_mount): Set new data fields.
12857 (grub_squash_iterate_dir): Handle long dir.
12858 (squash_unmount): Free xzdec and xzbuf.
12859 (grub_squash_open): Check ino type.
12860 (direct_read): Stylistic fixes. Use data->decompress.
12861 (grub_squash_read_data): Likewise.
12862 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12863 (get_byte): Likewise.
12864 (grub_zlib_disk_read): Removed.
12865 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12866 (GRUB_POSIX_BOOL_DEFINED): New define.
12867 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12868 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12869 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12870 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12871
7a45a539
VS
128722011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 Don't override more informative errors.
12875
12876 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12877 * grub-core/font/font.c (open_section): Likewise.
12878 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12879 filename. Don't override errors.
12880 (grub_cmd_openbsd_ramdisk): Don't override errors.
12881 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12882 (grub_cmd_initrd): Likewise.
12883 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12884 (grub_cmd_initrd): Likewise.
12885 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12886 (grub_cmd_linux): Likewise.
12887 (grub_cmd_initrd): Likewise.
12888 (grub_cmd_payload): Likewise.
12889 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12890 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12891 (grub_cmd_module): Likewise.
12892 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12893 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12894 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12895 (grub_cmd_xnu_mkext): Likewise.
12896 (grub_cmd_xnu_ramdisk): Likewise.
12897 (grub_xnu_check_os_bundle_required): Likewise.
12898 (grub_xnu_load_kext_from_dir): Likewise.
12899 (grub_cmd_xnu_kextdir): Likewise.
12900 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12901
b2d004db
VS
129022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12905 as 1024 in block size field. Found on one of my test images.
12906 Small optimisation while on it.
12907
ec000eac
VS
129082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12911 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12912 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12913 performance fixes while on it.
12914 (grub_sfs_close): Fix memory leak while on it.
12915 (grub_sfs_label): Convert Latin1 to UTF-8.
12916
f50e1165
VS
129172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12920 space to avoid overflows.
12921 (grub_hfs_label): Convert from macroman to UTF-8.
12922
2ae254de
VS
129232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12926
0108f491
VS
129272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12930
f45f5f89
VS
129312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * unicode: Import Unicode 6.0 data.
12934
4d8c4765
VS
129352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12936
63fa8ef9
VS
12937 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12938 outside of range.
12939
129402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12943
12944 * include/grub/charset.h (grub_getend): New function.
12945 * grub-core/script/function.c (grub_script_function_find): Use
12946 grub_getend.
12947 * grub-core/normal/completion.c (add_completion): Likewise.
12948
f3cb4a4e
VS
129492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12952 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12953 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12954 (GRUB_UNICODE_TAG_END): Likewise.
12955 (GRUB_UNICODE_LAST_VALID): Likewise.
12956
5da8dbc5
VS
129572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12960 len and make it smaller. All users updated.
12961 * util/import_unicode.py: Put length and not end character.
12962 Check length.
12963
8569f13d
VS
129642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Make better Unicode-compliant and unify some UTF-8 code pathes.
12967
12968 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12969 valid character.
12970 (grub_is_valid_utf8): Use grub_utf8_process.
12971 Check resulting code range.
12972 (grub_utf8_to_ucs4): Use grub_utf8_process.
12973 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12974 valid character.
12975
cc4fddf5
VS
129762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12979
bbc47747
VS
129802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * docs/grub.texi (Filesystems): Mention AFS.
12983
f63d6bf4
VS
129842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * docs/grub.texi (Filesystems): Clarify restrictions.
12987 (Regexp): Mention non-Unicode regexp behaviour.
12988 (Other): Mention non-Unicode matching behaviour.
12989
74bbf0db
VS
129902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12991
f63d6bf4 12992 Make HFS implementation use MacRoman.
74bbf0db
VS
12993
12994 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12995 (macroman): New const array.
12996 (macroman_to_utf8): New function.
12997 (utf8_to_macroman): Likewise.
12998 (grub_hfs_find_dir): Use utf8_to_macroman.
12999 (grub_hfs_dir): Use macroman_to_utf8.
13000 Set case_insensitive.
13001
4ea0316e
VS
130022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13005
d3c13cbd
VS
130062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 Integrate hints into autogeneration scripts.
13009
13010 * docs/grub.texi (Filesystems): Add a hostdisk example.
13011 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13012 (grub-probe): Add ofpath.
13013 * gentpl.py: Remove group nosparc64.
13014 * grub-core/commands/search.c (cache_entry): New struct.
13015 (cache): New var.
13016 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13017 * grub-core/commands/search_wrap.c (options): Add platform-specific
13018 hint options.
13019 (grub_cmd_search): Handle platform-specific hints.
13020 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13021 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13022 (grub_util_biosdisk_data): Likewise.
13023 (grub_util_biosdisk_open): Set device_map.
13024 (read_device_map): Handle "" as indication of no map.
13025 Set device_map.
13026 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13027 (grub_util_biosdisk_get_compatibility_hint): New function.
13028 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13029 * include/grub/emu/hostdisk.h
13030 (grub_util_biosdisk_get_compatibility_hint): New proto.
13031 * util/grub-install.in: Don't call grub-mkdevicemap.
13032 Add platform-specific hint to load.cfg.
13033 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13035 hints. Set root preliminary to compatibility hint, not to OS name.
13036 * util/grub-probe.c (PRINT_*): Add hints.
13037 (print): Make static.
13038 (escape_of_path): New function.
13039 (guess_bios_drive): Likewise.
13040 (guess_efi_drive): Likewise.
13041 (guess_baremetal_drive): Likewise.
13042 (print_full_name): Likewise.
13043 (probe): Handle hints.
13044 (main): Likewise.
13045 * util/ieee1275/devicemap.c: Removed.
13046 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13047 updated.
13048 (grub_util_devname_to_ofpath): Return NULL on failure.
13049
13050 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13051 resource leak.
13052 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13053
13054 * po/POTFILES.in: Regenerated.
13055
13056 Allow purely long options
13057
13058 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13059 (SHORT_ARG_USAGE): Likewise.
13060 (grub_arg_show_help): Compare opt with help_options.
13061 (parse_option): Receive opt as argument. If makes big simplificatons.
13062 All users updated
13063
00ce2df3
VS
130642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13067 Restructure to avoid warning.
13068
e77e325f
VS
130692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * util/grub-install.in: Account for possible escaped comma in device
13072 name.
13073
165099ea
VS
130742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13077 channel.
13078
ce4a999d
VS
130792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13082 allocation and zero-setting.
13083 (grub_ieee1275_get_devname): Check that alias is complete.
13084
379586ad
VS
130852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13088 unaligned segments.
13089
9197b0ad
VS
130902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13093 prefix.
13094 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13095 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13096 Add ieee1275 prefix.
13097
edddb7f9
VS
130982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * docs/grub.texi (Filesystems): Update.
13101
a1a8b1b9
VS
131022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Support odc, newc and bigendian cpio formats.
13105
13106 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13107 * grub-core/Makefile.core.def (newc): New module.
13108 (odc): Likewise.
13109 (cpio_be): Likewise.
13110 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13111 (MAGIC): Likewise.
13112 (MAGIC2): Likewise.
13113 (head) [MODE_ODC]: Adapt for the format.
13114 (head) [MODE_NEWC]: Likewise.
13115 (head) [!MODE_*]: Write fields of interest as arrays.
13116 (MAGIC_USTAR): Removed.
13117 (read_number) [MODE_NEWC]: Change to hex.
13118 (read_number) [!MODE_*]: Parse binary arrays.
13119 (grub_cpio_find_file): Factor out the code for better structure and
13120 always use read_number.
13121 (grub_cpio_mount): Use MAGIC and MAGIC2.
13122 (grub_cpio_dir): Exit on first hook non-0 return.
13123 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13124 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13125 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13126 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13127 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13128 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13129 * grub-core/fs/newc.c: New file.
13130 * grub-core/fs/odc.c: Likewise.
13131 * grub-core/fs/cpio_be.c: Likewise.
13132
58eba9ee
VS
131332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 Fix handling of tar numbers occupying the whole field.
13136
13137 * grub-core/fs/cpio.c (read_number): New function.
13138 (grub_cpio_find_file): Use read_number instead of strtoull.
13139
a54a0e12
VS
131402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13143 occupying the whole field size.
13144
a6120aca
LA
131452011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13146
13147 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13148
a93964ce
VS
131492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13152
3ea1ca46
SG
131532011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13154
13155 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13156 TARGET_IMG_LDFLAGS.
13157
b87f7ef2
VS
131582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13161 (mountinfo_entry): Increase the field size to take escaping into
13162 account.
13163 (find_root_device_from_libzfs): Add one byte to size of strings for
13164 security.
13165
62092395
VS
131662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13169 an assert.
13170 * util/grub-setup.c (setup): Likewise.
13171
1f0b1a77
VS
131722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13175 _LzmaDecodeA.
13176
8eba9997
VS
131772011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 * docs/grub.texi (Internationalisation): New section.
13180
dd0c91e9
VS
131812011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * docs/grub.texi (Loopback booting): New section.
13184
131852011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13186
13187 * util/grub-mkstandalone.in: Fix minor typo errors.
13188
198e150a
VS
131892011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13192
13193 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13194 net/icmp.c and net/icmp6.c.
13195 (http): New module.
13196 (priority_queue): Likewise.
13197 * grub-core/io/bufio.c: Rewritten.
13198 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13199 TYPE_WITH_CONFIGFILE_OPTION.
13200 (legacy_commands): Add bootp and dhcp.
13201 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13202 (grub_legacy_parse): Likewise.
13203 * grub-core/lib/priority_queue.c: New file.
13204 * grub-core/net/arp.c: Add missing license header.
13205 (arp_find_entry): Removed.
13206 (arp_find_entry): Likewise.
13207 (grub_net_arp_resolve): Rename to ...
13208 (grub_net_arp_send_request): ...this.
13209 (grub_net_arp_receive): New card argument.
13210 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13211 Set router and DNS server.
13212 (grub_net_configure_by_dhcp_ack): Handle routing information.
13213 (grub_cmd_bootp): Set checksum.
13214 (grub_bootp_init): Remove net_dhcp.
13215 * grub-core/net/dns.c: New file.
13216 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13217 completion.
13218 (get_card_packet): Handle allocation.
13219 (grub_efinet_findcards): Set mtu.
13220 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13221 (get_card_packet): Handle allocation.
13222 (emucard): Set mtu.
13223 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13224 (GRUB_MOD_INIT): Set mtu.
13225 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13226 mtu.
13227 (get_card_packet): Handle allocation.
13228 (grub_ofnet_findcards): Set mtu.
13229 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13230 assert.
13231 (grub_net_recv_ethernet_packet): Handle IPv6.
13232 * grub-core/net/http.c: New file.
13233 * grub-core/net/icmp.c: Likewise.
13234 * grub-core/net/icmp6.c: Likewise.
13235 * grub-core/net/ip.c (ip6addr): New type.
13236 (ip6hdr): Likewise.
13237 (reassemble): Likewise.
13238 (cmp): New function.
13239 (reassembles): New variable.
13240 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13241 (id): New variable.
13242 (send_fragmented): New function.
13243 (grub_net_send_ip_packet): Rename to ...
13244 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13245 Handle non-UDP.
13246 (grub_net_recv_ip_packets): Rename to ...
13247 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13248 (free_rsm): New function.
13249 (free_old_fragments): Likewise.
13250 (grub_net_recv_ip4_packets): New function.
13251 (grub_net_send_ip6_packet): Likewise.
13252 (grub_net_send_ip_packet): Likewise.
13253 (grub_net_recv_ip6_packets): Likewise.
13254 (grub_net_recv_ip_packets): Likewise.
13255 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13256 (LINK_LAYER_CACHE_SIZE): New const.
13257 (link_layer_find_entry): New function.
13258 (grub_net_link_layer_add_address): Likewise.
13259 (grub_net_link_layer_resolve_check): Likewise.
13260 (grub_net_link_layer_resolve): Likewise.
13261 (grub_net_ipv6_get_slaac): Likewise.
13262 (grub_net_ipv6_get_link_local): Likewise.
13263 (grub_cmd_ipv6_autoconf): Likewise.
13264 (parse_ip): Handle one number representation.
13265 (parse_ip6): New functoion.
13266 (match_net): Handle IPv6.
13267 (grub_net_resolve_address): Handle IPv6 and DNS.
13268 (grub_net_resolve_net_address): Handle IPv6.
13269 (route_cmp): New function.
13270 (grub_net_route_address): Find best route.
13271 (grub_net_addr_to_str): Handle IPv6.
13272 (grub_net_addr_cmp): New function.
13273 (grub_net_add_addr): Register local route.
13274 (print_net_address): Handle net address.
13275 (grub_net_poll_cards): Retransmit TCP.
13276 (grub_net_poll_cards_idle_real): Likewise.
13277 (have_ahead): New function.
13278 (grub_net_seek_real): Use underlying seek.
13279 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13280 * grub-core/net/tcp.c: New file.
13281 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13282 (cmp): New function.
13283 (ack): Likewise.
13284 (tftp_receive): Handle unordered input.
13285 (destroy_pq): New function.
13286 (tftp_close): Close pq.
13287 * grub-core/net/udp.c: Put missing license header.
13288 (grub_net_udp_socket): New function.
13289 (udp_socket_register): Likewise.
13290 (grub_net_udp_close): Likewise.
13291 (grub_net_recv_udp_packet): Check checksum.
13292 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13293 * include/grub/misc.h (grub_memchr): New function.
13294 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13295 (grub_net_card_driver): Return buf in recv.
13296 (grub_net_slaac_mac_list): New struct.
13297 (grub_network_level_protocol_id): Add ipv6.
13298 (grub_net_network_level_addr): Likewise.
13299 (grub_net_network_level_net_addr): Likewise.
13300 (grub_net_app_protocol): Add seek.
13301 (grub_net_socket): Removed.
13302 (grub_net_sockets): Likewise.
13303 (grub_net_socket_register): Likewise.
13304 (grub_net_socket_unregister): Likewise.
13305 (FOR_NET_SOCKETS): Likewise.
13306 (grub_net_add_addr): Add const.
13307 (GRUB_NET_BOOTP_*): New enum.
13308 (grub_net_addr_cmp): New proto.
13309 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13310 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13311 (grub_net_hwaddr_to_str): NEw proto.
13312 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13313 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13314 (grub_dns_init): New proto.
13315 (grub_dns_fini): Likewise.
13316 (grub_net_tcp_retransmit): Likewise.
13317 (grub_net_link_layer_add_address): Likewise.
13318 (grub_net_link_layer_resolve_check): Likewise.
13319 (grub_net_link_layer_resolve): Likewise.
13320 (grub_net_dns_lookup): Likewise.
13321 (grub_net_add_dns_server): Likewise.
13322 (grub_net_remove_dns_server): Likewise.
13323 (GRUB_NET_TRIES): New const.
13324 (GRUB_NET_INTERVAL): Likewise.
13325 * include/grub/net/arp.h: Mostly rewritten.
13326 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13327 * include/grub/net/ip.h: Mostly rewritten.
13328 * include/grub/net/netbuff.h: Indent.
13329 * include/grub/net/tcp.h: New file.
13330 * include/grub/net/udp.h: Mostly rewritten.
13331 * include/grub/priority_queue.h: New file.
13332 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13333 (grub_swap_bytes64_compile_time): Likewise.
13334 (grub_cpu_to_be16_compile_time): Likewise.
13335 (grub_cpu_to_be32_compile_time): Likewise.
13336 (grub_cpu_to_be64_compile_time): Likewise.
13337 (grub_be_to_cpu64_compile_time): Likewise.
13338
215c1800
VS
133392011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13342 UINT_TO_PTR with cast.
13343
c17e546c
VS
133442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13347 don't use them.
13348
ff6b18b6
VS
133492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13352 already there.
13353
70ffcc93
VS
133542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13357 confusing ipxe.
13358
e5f4d260
VS
133592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13362 Add missing const attribute.
13363 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13364 Likewise.
13365 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13366 Likewise.
13367
8e54b4b7
VS
133682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13371 misaligned access.
13372 (serpent_setkey): Likewise.
13373 (serpent_encrypt_internal): Likewise.
13374 (serpent_decrypt_internal): Likewise.
13375 (serpent_encrypt): Don't put an alignment-increasing cast.
13376 (serpent_decrypt): Likewise.
13377 (serpent_test): Likewise.
13378
813c0a2b
VS
133792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13382
f2b60fbd
VS
133832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13386
13387 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13388 grub_addr_t casts.
13389 (PTR_TO_UINT64): Likewise.
13390 (PTR_TO_UINT32): Likewise.
13391
5ef5c511
VS
133922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13395 because of stack.
13396 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13397 limit.
13398
c476e6df
VS
133992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13402 text_width > available width a bit more gracefully.
13403
384ad7cc
VS
134042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13407 current address calculation.
13408
96f8caf8
VS
134092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13412 stack.
13413 (encode_block): Likewise.
13414
276b7a8b
VS
134152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13418 certainety.
13419
e3fd394a
VS
134202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13423 non-RS part to avoid RS messing with GDT.
13424 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13425 Increase to suit in realmode routines.
13426
134272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/kern/i386/realmode.S: Increase alignment.
13430 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13431
ee9c2e7a
VS
134322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13435 be deterministic.
13436 (syndroms): Compute 0 syndrom.
13437 (rs_recover): Use 0 syndrom.
13438
7a7f7cc9
VS
134392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13442
a14b16d1
VS
134432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13446 brackets.
13447
9f59e9fc
VS
134482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13449
ca1b552c
VS
13450 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13451 account.
13452 (get_top_pad): Likewise.
13453 (get_right_pad): Likewise.
13454 (get_bottom_pad): Likewise.
13455
134562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13459
e739d698
VS
134602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13463 attribute as the structure isn't guaranteed to be properly aligned.
13464 (grub_efi_pci_device_path): Likewise.
13465 (grub_efi_pccard_device_path): Likewise.
13466 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13467 specify the size of `memory_type'.
13468 (grub_efi_vendor_device_path): Likewise.
13469 (grub_efi_controller_device_path): Likewise.
13470 (grub_efi_acpi_device_path): Likewise.
13471 (grub_efi_expanded_acpi_device_path): Likewise.
13472 (grub_efi_atapi_device_path): Likewise.
13473 (grub_efi_scsi_device_path): Likewise.
13474 (grub_efi_fibre_channel_device_path): Likewise.
13475 (grub_efi_1394_device_path): Likewise.
13476 (grub_efi_usb_device_path): Likewise.
13477 (grub_efi_usb_class_device_path): Likewise.
13478 (grub_efi_i2o_device_path): Likewise.
13479 (grub_efi_mac_address_device_path): Likewise.
13480 (grub_efi_ipv4_device_path): Likewise.
13481 (grub_efi_ipv6_device_path): Likewise.
13482 (grub_efi_infiniband_device_path): Likewise.
13483 (grub_efi_uart_device_path): Likewise.
13484 (grub_efi_vendor_messaging_device_path): Likewise.
13485 (grub_efi_hard_drive_device_path): Likewise.
13486 (grub_efi_cdrom_device_path): Likewise.
13487 (grub_efi_vendor_media_device_path): Likewise.
13488 (grub_efi_file_path_device_path): Likewise.
13489 (grub_efi_protocol_device_path): Likewise.
13490 (grub_efi_piwg_device_path): Likewise.
13491 (grub_efi_bios_device_path): Likewise.
13492
cb8f88ea
VS
134932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13496 (grub_ucs4_to_utf8_alloc): Likewise.
13497 (grub_ucs4_to_utf8): Likewise.
13498 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13499 (grub_ucs4_to_utf8_alloc): Likewise.
13500
309e5352
VS
135012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 AFFS never uses unicode.
13504
13505 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13506 (grub_latin1_to_utf8): New inline function.
13507 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13508
e7987e1b
VS
135092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13512 overflow.
13513
efc2616e
VS
135142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13517 (grub_squash_dirent_header): Likewise.
13518 (read_chunk): Don't double swap.
13519 (grub_squash_iterate_dir): Fix swap sizes.
13520
3c349f5a
VS
135212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13524
b453412d
VS
135252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13528 (grub_hfs_iterate_dir): Likewise.
13529
12e9d4d1
VS
135302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 Fix video on platforms where unaligned access is forbidden.
13533 Make several optimisations while on it.
13534
13535 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13536 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13537 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13538 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13539 Disable.
13540 (grub_video_fbblit_replace_16bit_1bit):
13541 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13542 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13543 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13544 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13545 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13546 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13547 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13548 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13549 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13550 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13551 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13552 (grub_video_fbblit_replace_index_RGB888): Likewise.
13553 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13554 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13555 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13556 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13557 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13558 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13559 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13560 Disable.
13561 (grub_video_fbblit_blend_XXX565_1bit):
13562 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13563 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13564 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13565 void *.
13566 * grub-core/video/fb/video_fb.c (common_blitter)
13567 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13568 (grub_video_fb_create_render_target_from_pointer)
13569 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13570 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13571 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13572 definition.
13573 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13574
ace96609
VS
135752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13578 HH22 and HM10 relocations.
13579
fd261d73
VS
135802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13583
e59b7857
VS
135842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13587 allocation succeeded.
13588
9b4baaa4
VS
135892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13592 argument a u8 pointer. All users updated.
13593 Handle unaligned buffers.
13594
dc713193
VS
135952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13598 add_part to workaround compiler bug.
13599
30dd48c2
VS
136002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13603
0c6087a8
VS
136042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13607 Reserve alignment invariants.
13608 (grub_multiboot_load): Likewise.
13609 (retrieve_video_parameters): Likewise.
13610 (grub_multiboot_make_mbi): Likewise.
13611
c2e77777
VS
136122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13615 incorrect pointer.
13616
b70b6d11
VS
136172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13620 (grub_pata_pio_write): Likewise.
13621
02a2bf83
VS
136222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Add noreturn attributes and remove unreachable code.
13625
13626 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13627 code.
13628 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13629 code. Mark as noreturn.
13630 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13631 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13632 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13633 unreachable code.
13634 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13635 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13636 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13637 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13638 * include/grub/kernel.h (grub_main): Mark as noreturn.
13639 * include/grub/reader.h (grub_rescue_run): Likewise.
13640
2019d09e
VS
136412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13644 redundant declaration.
13645
d1c501ee
VS
136462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13649 redundant declaration.
13650 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13651
61664420
VS
136522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13655 to ensure alignment.
13656 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13657 alignment. Ensure tmp alignment.
13658 (grub_cmd_hdparm): Ensure buf alignment.
13659 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13660 to ensure alignment.
13661 (grub_ata_dumpinfo): Ensure text alignment.
13662 (grub_atapi_identify): Preserve alignment invariant.
13663 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13664
0d51ee20
VS
136652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13668 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13669 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13670 * include/grub/misc.h (grub_reboot)
13671 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13672 (grub_halt) [__mips__]: Likewise.
13673
753ef8c1
VS
136742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13677 Remove redundant declaration.
13678 (grub_mmap_get_post64): Likewise.
13679 (grub_mmap_get_upper): Likewise.
13680 (grub_mmap_get_lower): Likewise.
13681
85c85365
VS
136822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13685 uint32_t * to ensure alignment.
13686 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13687
a23f2cc4
VS
136882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13689
93018f64
VS
13690 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13691 uint16_t * to ensure alignment.
13692 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13693 alignment.
13694
136952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13698 to ensure alignment.
13699 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13700
58acccd6
VS
137012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13704 Handle unaligned pointers.
13705 (u32at): Likewise.
13706 (u64at): Likewise.
13707 (fixup): Use byte access instead of v16at.
13708 (find_attr): Fix imporper usage of v32at.
13709 (read_data): Likewise.
13710 (list_file): Handle byte-swapping and unaligned strings.
13711 (grub_ntfs_label): Likewise.
13712
9b05cad7
VS
137132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13716 as it's not necessarily aligned.
13717
b3950b84
VS
137182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13721 redundant declaration.
13722 (grub_serial_init): Likewise.
13723 (grub_terminfo_init): Likewise.
13724
fcd232b7
VS
137252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13728 function.
13729 (ZAP_HASH_IDX): Likewise.
13730 (ZAP_LEAF_HASH_SHIFT): Likewise.
13731 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13732 (LEAF_HASH): Likewise.
13733 (ZAP_LEAF_NUMCHUNKS): Likewise.
13734 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13735 alignment invariants. Return pointer. All users updated.
13736 (ZAP_LEAF_ENTRY): Make into inline function.
13737 (NBBY): Removed.
13738 (xor): LIkewise.
13739 (xor_out): Use grub_crypto_xor.
13740 (dnode_get_path): Use grub_get_unaligned.
13741 (nvlist_find_value): Likewise.
13742 (grub_zfs_nvlist_lookup_uint64): Likewise.
13743 (grub_zfs_nvlist_lookup_string): Likewise.
13744 (get_nvlist_size): Likewise.
13745 (grub_zfs_open): Likewise.
13746 (fill_fs_info): Likewise.
13747 (grub_zfs_dir): Likewise.
13748 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13749 alignment invariants.
13750 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13751 necessarily aligned.
13752
f138623a
VS
137532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13756
564840dc
VS
137572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13760 arithmetic to conserve alignment invariants.
13761
9b40df20
VS
137622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13765 redundant declaration.
13766 (grub_efiemu_mm_obtain_request): Likewise.
13767 (grub_efiemu_prepare): Likewise.
13768
d1c930f9
VS
137692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13772 to match types.
13773
4c5f3056
VS
137742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13777 case of aunaligned recptr.
13778 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13779 alignment.
13780 (grub_hfsplus_btree_search): Handle unaligned index.
13781
728cba91
VS
137822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13785 to get freetag and skip.
13786
eb561f31
VS
137872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13790 array.
13791 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13792 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13793
20993fbb
VS
137942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13797 name for checksum and fix allocation algorithm.
13798
1f313b94
VS
137992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * include/grub/types.h (grub_properly_aligned_t): New type.
13802 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13803 (grub_get_unaligned16): Add explicit casts.
13804 (grub_get_unaligned32): Likewise.
13805 (grub_get_unaligned64): Likewise.
13806 (grub_set_unaligned16): New function.
13807 (grub_set_unaligned32): Likewise.
13808
47ae27ec
VS
138092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13812
78c2cd1c
VS
138132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13816 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13817 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13818
53072f9b
VS
138192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13822 conditionals.
13823
055dc239
VS
138242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13827 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13828
496bd074
VS
138292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 Unify and improve RAID and crypto xor.
13832
13833 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13834 changed to grub_crypto_xor
13835 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13836 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13837 Use bigger types when possible.
13838
ef6e4335
VS
138392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/disk/raid.c (scan_devices): Fix condition.
13842
5d048bf2
VS
138432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13846 Make name a const ptr.
13847
ee533335
VS
138482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13851 first argument a const pointer.
13852 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13853 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13854 proto.
13855 (grub_children_iterate): Likewise.
13856 (grub_machine_mmap_iterate): Remove redundant declaration.
13857
cc8f3668
VS
138582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13861 (grub_cmd_acpi) [!x86]: Disable EBDA.
13862
c5fc563a
VS
138632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Enable UTF8 in gnulib regexp.
13866
13867 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13868 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13869 (isupper): Use grub_isupper.
13870 (isascii): New inline function.
13871 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13872 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13873 * grub-core/normal/charset.c (grub_utf8_process): New function.
13874 (grub_utf8_to_utf16): Use grub_utf8_process.
13875 (grub_encode_utf8_character): New function.
13876 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13877 * include/grub/charset.h (grub_utf8_process): New declaration.
13878 (grub_encode_utf8_character): Likewise.
13879 * include/grub/misc.h (grub_islower): New inline function.
13880 (grub_isupper): Likewise.
13881 (grub_strchrsub): Moved down to fix the definitions.
13882
0af2346f
VS
138832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13886 specification.
13887
74dbd244
VS
138882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * include/grub/loader.h (grub_loader_register_preboot_hook):
13891 Use struct preboot * and not void * for handle. All users updated.
13892 (grub_loader_unregister_preboot_hook): Likewise.
13893
1bc8f60d
VS
138942011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13897 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13898 UTF-16-BE. All users updated.
13899 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13900 (grub_hfsplus_iterate_dir): Likewise.
13901 (grub_hfsplus_label): Likewise.
13902
48d6e456
VS
139032011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13906
bf3a3857
VS
139072011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 Add missing const qualifiers.
13910
13911 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13912 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13913 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13914 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13915 (grub_lvm_check_flag): Likewise.
13916 * grub-core/efiemu/i386/coredetect.c
13917 (grub_efiemu_get_default_core_name): Likewise
13918 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13919 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13920 * grub-core/fs/ntfs.c (fixup): Likewise.
13921 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13922 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13923 (fzap_lookup): Likewise.
13924 (zap_lookup): Likewise.
13925 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13926 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13927 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13928 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13929 (grub_freebsd_add_meta_module): Likewise.
13930 (grub_cmd_freebsd_module): Likewise.
13931 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13932 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13933 (grub_xnu_writetree_get_size): Likewise.
13934 (grub_xnu_writetree_toheap_real): Likewise.
13935 (grub_xnu_find_key): Likewise.
13936 (grub_xnu_create_key): Likewise.
13937 (grub_xnu_create_value): Likewise.
13938 (grub_xnu_register_memory): Likewise.
13939 (grub_xnu_check_os_bundle_required): Likewise.
13940 (grub_xnu_scan_dir_for_kexts): Likewise.
13941 (grub_xnu_load_kext_from_dir): Likewise.
13942 * grub-core/normal/color.c (color_list): Likewise.
13943 * grub-core/normal/completion.c (current_word): Likewise.
13944 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13945 * grub-core/term/serial.c (grub_serial_find): Likewise.
13946 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13947 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13948 Likewise.
13949 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13950 (grub_freebsd_add_meta_module): Likewise.
13951 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13952 * include/grub/net.h (grub_net_card_driver): Likewise.
13953 (grub_net_card): Likewise.
13954 (grub_net_app_protocol): Likewise.
13955 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13956 * include/grub/serial.h (grub_serial_find): Likewise.
13957 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13958 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13959 (grub_xnu_create_value): Likewise.
13960 (grub_xnu_find_key): Likewise.
13961 (grub_xnu_scan_dir_for_kexts): Likewise.
13962 (grub_xnu_load_kext_from_dir): Likewise.
13963
13964 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13965 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13966 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13967 Moved from here ...
13968 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13969
112b4837
CW
139702011-11-28 Colin Watson <cjwatson@ubuntu.com>
13971
13972 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13973
49e891ac
VS
139742011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13977 (read_device): Fix size calculation.
13978
fd258e5c
RM
139792011-11-25 Robert Millan <rmh@gnu.org>
13980
13981 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13982 (find_root_device_from_libzfs): Add zpool output parser to be used
13983 as fallback when libzfs isn't available.
13984
78845dc2
SG
139852011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13986
13987 * po/Makefile.in.in: Add missing escape-continuation.
13988
adac5211
VS
139892011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13992
10b64f1c
VS
139932011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13996
bb416954
VS
139972011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14000
bdfe9eeb
VS
140012011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14004
581ffa8a
VS
140052011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/lib/adler32.c: Add missing license specification.
14008 * grub-core/lib/crc64.c: Likewise.
14009 * grub-core/loader/i386/pc/plan9.c: Likewise.
14010 * grub-core/partmap/plan.c: Likewise.
14011
2536cf64
LK
140122011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14013
14014 Add facility to debug GRUB with gdb under qemu.
14015
14016 * grub-core/gdb_grub.in: New file.
14017 * grub-core/gmodule.pl.in: Likewise.
14018 * grub-core/Makefile.core.def (gmodule.pl): New script.
14019 (gdb_grub): Likewise.
14020
bc108a4a
VS
140212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * util/grub-mount.c (argp_parser): Accept relative pathes.
14024 * util/grub-fstest.c (argp_parser): Likewise.
14025
111c1778
VS
140262011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 Plan9 support.
14029
14030 * Makefile.util.def (libgrubmods): Add
14031 grub-core/partmap/plan.c.
14032 * docs/grub.texi: Notice Plan9 support.
14033 * grub-core/Makefile.core.def (plan9): New module.
14034 (part_plan): Likewise.
14035 * grub-core/loader/i386/pc/plan9.c: New file.
14036 * grub-core/partmap/plan.c: Likewise.
14037 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14038 define.
14039 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14040 * include/grub/mm.h (grub_extend_alloc): New inline function.
14041
c30be3b6
VS
140422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 Make Reed-Solomon faster by using power of generator representation of
14045 GF(256)*.
14046
14047 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14048 (gf_double_t): Likewise.
14049 (gf_invert): Removed.
14050 (gf_powx): New array.
14051 (gf_powx_inv): Likewise.
14052 (scratch): Move higher.
14053 (gf_reduce): Removed.
14054 (gf_mul): Use powx.
14055 (gf_invert): Likewise.
14056 (init_inverts): Replaced with ...
14057 (init_powx): ...this. All users updated.
14058 (pol_evaluate): Replace multiplications with additions.
14059 (rs_encode): Likewise.
14060 (gauss_eliminate): Call gf_invert.
14061 (grub_reed_solomon_add_redundancy): Call init_powx.
14062 (grub_reed_solomon_recover): Call init_powx unconditionally.
14063
fa5aeffc
VS
140642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14067
a346b81c
VS
140682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14071 disk->partiton for safety.
14072
d89ee414
VS
140732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14076 Fix a memory leak.
14077 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14078
91ee7b6d
VS
140792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14082
91e5a33d
VS
140832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14086
9edd7be2
VS
140872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 Fix spaces handling in proc/self/mountinfo.
14090
14091 * util/getroot.c (unescape): New function.
14092 (grub_find_root_device_from_mountinfo): Use unescape.
14093
ba102053
VS
140942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 Support ZFS embedding.
14097
14098 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14099 (grub_zfs_fs): Register grub_zfs_embed.
14100
aa94b870
VS
141012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Fix MIPS compilation.
14104
14105 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14106 * include/grub/offsets.h: Rename decompressor fields from
14107 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14108 * util/grub-mkimage.c (image_targets): Use new names.
14109
5fbdac14
VS
141102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 Defer multiboot device parsing until we're in compressed part.
14113
14114 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14115 bsd_part. setdevice has fallen into disuse.
14116 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14117 (bsd_part): Likewise.
14118 (boot_dev): New variable.
14119 (multiboot_trampoline): Don't parse multiboot device.
14120 Pass multiboot device in %edx.
14121 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14122 grub_boot_device.
14123 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14124 Likewise.
14125 * grub-core/kern/i386/pc/startup.S: Save edx.
14126 (grub_boot_drive): Removed.
14127 (grub_install_dos_part): Likewise.
14128 (grub_install_bsd_part): Likewise.
14129 (grub_boot_device): New variable.
14130 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14131 (grub_install_bsd_part): Likewise.
14132 (grub_boot_drive): Likewise.
14133 (grub_boot_device): New variable.
14134 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14135 Removed.
14136 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14137 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14138 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14139 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14140 * util/grub-install.in: Remove redundant condition.
14141
691cbb58
VS
141422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 Fix bug introduced by previous commit.
14145
14146 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14147
60240b8b
VS
141482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 Use decompressors framework on i386-pc. It increases core size
14151 by 46 bytes but improves compatibility and maintainability.
14152
14153 * grub-core/Makefile.core.def (lzma_decompress): New image.
14154 (kernel): Add i386_pc_ldflags.
14155 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14156 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14157 to real_to_prot, prot_to_real and device info.
14158 * include/grub/offsets.h: Renamed decompressor offsets.
14159 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14160 (image_target_desc): Remove raw_size and rename decompressor fields.
14161 (compress_kernel): Handle lzma.
14162 (generate_image): Handle decompressors on i386-pc.
14163
e9d3421c
VS
141642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * configure.ac: Add -fno-asynchronous-unwind-tables.
14167
2b23074a
VS
141682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Move assembly code to C by using intwrap. It increases core size
14171 by 88 bytes but improves compatibility and maintainability.
14172
14173 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14174 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14175 ... here. Translated to C.
14176 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14177 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14178 ... here. Translated to C.
14179 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14180 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14181 ... here. Translated to C.
14182 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14183 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14184 ... here. Translated to C.
14185 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14186 * grub-core/term/i386/pc/console.c (grub_console_cls):
14187 ... here. Translated to C.
14188 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14189 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14190 ... here. Translated to C.
14191 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14192 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14193 Translated to C.
14194 * grub-core/term/i386/pc/console.c (int10_9): New function.
14195 (grub_console_putchar): Likewise.
14196 * include/grub/i386/pc/console.h: Removed the not anymore shared
14197 functions.
14198
678f4b67
VS
141992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 Move grub_chainloader_real_boot out of the kernel.
14202
14203 * grub-core/Makefile.am: Remove machine/loader.h.
14204 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14205 Removed.
14206 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14207 variable.
14208 (grub_relocator16_keep_a20_enabled): Likewise.
14209 (grub_relocator16_boot): Fill new variables.
14210 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14211 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14212 relocator.
14213 (grub_chainloader_unload): Likewise.
14214 (grub_chainloader_cmd): Likewise.
14215 * include/grub/i386/pc/loader.h: Removed.
14216 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14217 and esi. All initialisers updated.
14218
4626edf6
VS
142192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
142202011-11-12 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * Makefile.util.def (grub-mount): New util.
14223 * .bzrignore: Add grub-mount.
14224 * configure.ac: Check for fuse and enable grub-mount if available.
14225 * docs/man/grub-mount.h2m: New file.
14226 * util/grub-mount.c: Likewise.
14227
10f0117b
VS
142282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/commands/efi/fixvideo.c: Gettextize.
14231 * grub-core/commands/hashsum.c: Likewise.
14232 * grub-core/commands/i386/cmostest.c: Likewise.
14233 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14234 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14235 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14236 * grub-core/commands/lsmmap.c: Likewise.
14237 * grub-core/commands/menuentry.c: Likewise.
14238 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14239 * grub-core/commands/setpci.c: Likewise.
14240 * grub-core/loader/i386/bsd.c: Likewise.
14241 * grub-core/loader/i386/linux.c: Likewise.
14242 * util/getroot.c: Likewise.
14243 * util/grub-editenv.c: Likewise.
14244 * util/grub-fstest.c: Likewise.
14245 * util/grub-mkfont.c: Likewise.
14246 * util/grub-mkimage.c: Likewise.
14247 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14248 * util/grub-pe2elf.c: Likewise.
14249 * util/grub-probe.c: Likewise.
14250 * util/grub-setup.c: Likewise.
14251 * util/ieee1275/ofpath.c: Likewise.
14252 * util/misc.c: Likewise.
14253 * util/raid.c: Likewise.
14254
566f779b
RM
142552011-11-11 Robert Millan <rmh@gnu.org>
14256
14257 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14258 __attribute__((unused)) from `os_dev', which *is* being used.
14259
b50787de
VS
142602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14263 forgotten define.
14264 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14265 GRUB_IA64_DL_GOT_ALIGN.
14266 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14267 GRUB_IA64_DL_TRAMP_ALIGN.
14268
119d11c8
VS
142692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 Replace grub_fatal with normal errors in i386 linux loader.
14272
14273 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14274 (allocate_pages): Check find_efi_mmap_size return value.
14275 (grub_e820_add_region): Return error.
14276 (grub_linux_boot): Check mmap return value.
14277
6e0632e2
VS
142782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/commands/acpihalt.c: Gettextized.
14281 * grub-core/commands/cacheinfo.c: Likewise.
14282 * grub-core/commands/cmp.c: Likewise.
14283 * grub-core/commands/efi/loadbios.c: Likewise.
14284 * grub-core/commands/gptsync.c: Likewise.
14285 * grub-core/commands/ieee1275/suspend.c: Likewise.
14286 * grub-core/commands/legacycfg.c: Likewise.
14287 * grub-core/commands/memrw.c: Likewise.
14288 * grub-core/commands/minicmd.c: Likewise.
14289 * grub-core/commands/parttool.c: Likewise.
14290 * grub-core/commands/time.c: Likewise.
14291 * grub-core/commands/videoinfo.c: Likewise.
14292 * grub-core/disk/geli.c: Likewise.
14293 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14294 * grub-core/disk/luks.c: Likewise.
14295 * grub-core/disk/lvm.c: Likewise.
14296 * grub-core/font/font_cmd.c: Likewise.
14297 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14298 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14299 * grub-core/gfxmenu/view.c: Likewise.
14300 * grub-core/kern/emu/hostdisk.c: Likewise.
14301 * grub-core/kern/emu/main.c: Likewise.
14302 * grub-core/kern/emu/misc.c: Likewise.
14303 * grub-core/kern/emu/mm.c: Likewise.
14304 * grub-core/kern/mips/arc/init.c: Likewise.
14305 * grub-core/kern/mips/loongson/init.c: Likewise.
14306 * grub-core/kern/partition.c: Likewise.
14307 * grub-core/lib/i386/halt.c: Likewise.
14308 * grub-core/lib/mips/arc/reboot.c: Likewise.
14309 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14310 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14311 * grub-core/loader/i386/xnu.c: Likewise.
14312 * grub-core/loader/multiboot.c: Likewise.
14313 * grub-core/net/bootp.c: Likewise.
14314 * grub-core/net/net.c: Likewise.
14315 * grub-core/normal/term.c: Likewise.
14316 * grub-core/partmap/bsdlabel.c: Likewise.
14317 * grub-core/parttool/msdospart.c: Likewise.
14318 * grub-core/term/gfxterm.c: Likewise.
14319 * grub-core/term/terminfo.c: Likewise.
14320 * grub-core/video/i386/pc/vbe.c: Likewise.
14321 * util/grub-menulst2cfg.c: Likewise.
14322 * util/grub-mkdevicemap.c: Likewise.
14323 * util/grub-mklayout.c: Likewise.
14324 * util/grub-mkrelpath.c: Likewise.
14325 * util/grub-script-check.c: Likewise.
14326 * util/ieee1275/grub-ofpathname.c: Likewise.
14327 * util/resolve.c: Likewise.
14328
073aa7a9
VS
143292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 Support %1$d syntax.
14332
14333 * tests/printf_unit_test.c: New file.
14334 * Makefile.util.def (printf_test): New test.
14335 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14336
c76b5417
VS
143372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14340 fix.
14341
df067ad1
VS
143422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14345 dprintf.
14346 * grub-core/font/font.c (grub_font_load): Likewise.
14347
5b289bc5
VS
143482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * util/grub-macho2img.c: Add comment concerning gettext.
14351 * grub-core/lib/legacy_parse.c: Likewise.
14352
c1860f87
VS
143532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14356 (grub_xvasprintf): Likewise.
14357
d35d0d37
VS
143582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 Add const keyword to grub_env_get and gettextize week days.
14361
14362 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14363 (grub_read_hook_datetime): Return const char *.
14364 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14365 updated.
14366 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14367 Mark for gettext.
14368 (grub_get_weekday_name): Return const char *. Call gettext.
14369 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14370 char * and len as the argument. All users updated.
14371 (grub_script_argv_split_append): Receive const char *.
14372 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14373 * include/grub/env.h (grub_env_get): Likewise.
14374 (grub_env_read_hook_t): Return const char *.
14375 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14376 (grub_script_argv_split_append): Likewise.
14377
9aed8a71
VS
143782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14381
067fdf00
VS
143822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14385 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14386
a8bd9d39
VS
143872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14390 Fix prototype.
14391
f7ce5baf
VS
143922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 Fix mips compilation.
14395
14396 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14397 normal decoder.
14398 (hashes): Use in embed decoder as well (for sizes).
14399 (dec_stream_header): Fix embed decompressor logic.
14400 (dec_stream_footer): Likewise.
14401
9bb182f3
VS
144022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14405 an error and not a fatal on unrecognised relocation types.
14406
63a9e6f6
VS
144072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14410 Issue error rather than printf on unknown arguments.
14411
4c458569
VS
144122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14415 Make buf a const.
14416
e2d22baf
VS
144172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14420 Fix module name.
14421
53dc8590
VS
144222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14425 leftover debug printf.
14426
6c189294
VS
144272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14430
f7688369
VS
144312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14432
14433 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14434 A stylistic fix.
14435
11a775a3
VS
144362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14439
33f784e8
SL
144402011-11-10 Shea Levy <slevy@tieronedesign.com>
14441
14442 Allow all modules to perform serial IO
14443
14444 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14445 * include/grub/serial.h (grub_serial_port_configure): New inline
14446 function.
14447 (grub_serial_port_fetch): Likewise.
14448 (grub_serial_port_put): Likewise.
14449 (grub_serial_port_fini): Likewise.
14450 (grub_serial_find): New proto.
14451
f6276525
VS
144522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 Put symlink at the end of the node and fix a potential
14455 memory corruption.
14456
14457 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14458 Make symlink into an array.
14459 (set_rockridge): Set have_symlink and alloc_dirents.
14460 (grub_iso9660_read_symlink): Use new layout.
14461 (grub_iso9660_iterate_dir): Fix memory corruption.
14462 Use new layout.
14463 (grub_iso9660_dir): Set have_symlink.
14464 (grub_iso9660_open): Likewise.
14465
c3591189
VS
144662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 Remove local keyword.
14469
14470 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14471 (version_test_gt): Likewise.
14472 (version_find_latest): Likewise.
14473 (gettext_printf): Likewise.
14474 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14475
cb544caa
VS
144762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14479
45bd824d
VS
144802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Fix ZFS memory and resource leaks.
14483
14484 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14485 All users updated.
14486 Free type on exit.
14487 (fill_vdev_info): New parameter inserted. All users updated.
14488 (check_pool_label): Likewise.
14489 (scan_disk): Likewise.
14490 (scan_devices): Close non-inserted disks.
14491 (fzap_iterate): Free l.
14492 (unmount_device): Free children descripto memory.
14493
ad9a2f44
VS
144942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14497 argument (access out of bounds).
14498
6b68db81
VS
144992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14502 >= 6 drives.
14503
28840fda
VS
145042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14507 Fix declaration.
14508
8a5a3a5b
VS
145092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 Fix several memory leaks.
14512
14513 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14514 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14515 (grub_cpio_dir): Likewise.
14516 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14517 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14518 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14519 (grub_romfs_label): Likewise.
14520 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14521 (squash_unmount): New function.
14522 (grub_squash_dir): Fix memory leak.
14523 (grub_squash_open): Likewise.
14524 (grub_squash_read): Likewise.
14525 (grub_squash_mtime): Likewise.
14526 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14527 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14528 * util/grub-fstest.c (fstest): Likewise.
14529
57b01250
VS
145302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14533 avoid accessing beyond the array.
14534
19e81ba7
VS
145352011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14538
52b656c0
VS
145392011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 Several AFFS fixes.
14542
14543 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14544 (GRUB_AFFS_FLAG_FFS): Removed.
14545 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14546 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14547 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14548 (grub_fshelp_node): Make block 32-bit.
14549 Add block_cache and last_block_cache.
14550 (grub_affs_read_block): Fill and use block cache.
14551 (grub_affs_read_file): Removed.
14552 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14553 boot block.
14554 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14555 safety.
14556 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14557 space.
14558 (grub_affs_close): Free block cache.
14559 (grub_affs_read): Use grub_fshelp_read_file directly.
14560
438a746a
VS
145612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14564 with no error set.
14565
49a45021
VS
145662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14569 used variable.
14570 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14571 Likewise.
14572
3ae17eb8
VS
145732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14576
14577 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14578 byteswap when needed.
14579
27610c38
VS
145802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 Fix FreeBSD compilation.
14583
14584 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14585 to avoid circular dependency.
14586 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14587 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14588 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14589
4a19b601
VS
145902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 Fix ZFS crypto error types.
14593
14594 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14595 (grub_gcm_decrypt): Likewise.
14596 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14597 from PBKDF2.
14598
958ee221
VS
145992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 Illumos support.
14602
14603 * Makefile.util.def (10_illumos): New script.
14604 * configure.ac: Set COND_HOST_ILLUMOS.
14605 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14606 Support Illumos calls.
14607 (find_partition_start) [__sun__]: Likewise.
14608 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14609 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14610 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14611 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14612 device.
14613 * util/grub-probe.c (probe) [__sun__]: Do character check.
14614 * util/grub.d/10_illumos.in: New file.
14615
cac14fb6
VS
146162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Support escaped commas in hostdisk.
14619
14620 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14621 (find_grub_drive): Use unescape_cmp.
14622 (make_device_name): Escape commas.
14623
78e08dc3
VS
146242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14627
9f421dd1
VS
146282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14631 variable.
14632
ed64e9e2
VS
146332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 Support trampoline jumps on powerpc.
14636
14637 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14638 __ia64__ path.
14639 (grub_dl_load_segments): Set mod->sz.
14640 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14641 segments.
14642 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14643 (jump): Likewise.
14644 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14645 function.
14646 (trampoline): New struct.
14647 (trampoline_template): New const.
14648 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14649 * include/grub/dl.h (grub_dl): Add sz element.
14650 [__powerpc__]: Follow __ia64__.
14651 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14652 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14653 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14654 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14655
3084ede4
VS
146562011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 ZFS crypto support.
14659
14660 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14661 * grub-core/Makefile.core.def (zfscrypt): New module.
14662 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14663 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14664 it. All users updated.
14665 (grub_zfs_decrypt): New var.
14666 (grub_zfs_load_key): Likewise.
14667 (zio_checksum_functions): Add SHA256+MAC.
14668 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14669 (zio_read): Handle encrypted blocks.
14670 (zap_verify): Remove incorrect check.
14671 (fzap_iterate): Handle non-standard fzap.
14672 (zap_iterate): Likewise.
14673 (zap_iterate_u64): New function.
14674 (dnode_get_fullpath): Load keys.
14675 * grub-core/fs/zfs/zfscrypt.c: New file.
14676 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14677 (grub_crypto_ecb_encrypt): Make input const.
14678 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14679 (grub_crypto_ecb_encrypt): Make input const.
14680 (GRUB_CIPHER_AES): New macro.
14681 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14682 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14683 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14684 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14685 prefix. All users updated.
14686 (grub_zfs_add_key): New proto.
14687 (grub_zfs_decrypt): Likewise.
14688 (grub_zfs_load_key): Likewise.
14689 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14690 * util/grub-fstest.c (options): Add -K option.
14691 (argp_parser): Likewise.
14692
b632b404
VS
146932011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 Support zle compression on ZFS.
14696
14697 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14698 (decomp_table): Add zle.
14699 * include/grub/zfs/zio.h (zio_compress): Add zle.
14700
c7ba4f69
VS
147012011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 Support BtrFS embedding.
14704
14705 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14706 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14707 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14708 * util/grub-setup.c (setup): Use fs embedding if available.
14709 Add additional sanity check.
14710
455377d9
VS
147112011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * util/grub-install.in: Fix condition for config_opt.
14714
c2fd16ca
VS
147152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 Support third redundancy strip on raidz3.
14718
14719 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14720 Return error on singularity. All users updated.
14721 (read_device): Don't stop on 3rd failure on raidz3.
14722
8622923b
VS
147232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 Support case-insensitive ZFS subvolumes.
14726
14727 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14728 All users updated.
14729 (zap_hash): Likewise.
14730 (name_cmp): New function.
14731 (zap_leaf_array_equal): New parameter case_insensitive.
14732 All users updated.
14733 (zap_leaf_lookup): Likewise.
14734 (fzap_lookup): Likewise.
14735 (zap_lookup): Likewise.
14736 (dnode_get_path): New parameter case_insensitive. Retrieve case
14737 sensitiviness of a volume. All users updated.
14738 (dnode_get_fullpath): New parameter case_insensitive.
14739 All users updated.
14740 (grub_zfs_dir): Set info.case_insensitiveness.
14741
95f2e860
VS
147422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Support second redundancy strip on raidz(2,3).
14745
14746 * grub-core/fs/zfs/zfs.c (powx): New array.
14747 (powx_inv): Likewise.
14748 (poly): New const.
14749 (xor_out): New function.
14750 (gf_mul): Likewise.
14751 (recovery): Likewise.
14752 (read_device): Use second redundancy strip.
14753
11ee4389
VS
147542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 Use a power of generator representation of GF(256) multiplication group
14757 to save space time and complexity.
14758
14759 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14760 (raid6_table2): Likewise.
14761 (powx): New array.
14762 (powx_inv): Likewise.
14763 (poly): New const.
14764 (grub_raid_block_mul): Replace with ...
14765 (grub_raid_block_mulx): ...this.
14766 (grub_raid6_init_table): Rewritten.
14767 (grub_raid6_recover): Use power of generator representation.
14768
09e2763f
VS
147692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14772 for the right device.
14773
8bec9a28
VS
147742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14777 expected by grub-mkimage and it's more clear since there is no implicit
14778 padding.
14779
dbd3a32e
VS
147802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14783 disk.
14784 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14785
182c872a
PMH
147862011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14787
14788 * util/grub-mkrescue.in: Fix handling xorriso option.
14789
1e51cabd
VS
147902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14793 NULL.
14794
9cc3581d 147952011-11-03 crocket <crockabiscuit@gmail.com>
14796
14797 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14798
158dc1ea
VS
147992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 XZ CRC64 and SHA256 support.
14802
14803 * Makefile.util.def (libgrubmods): Add crc64.c.
14804 * grub-core/Makefile.core.def (crc64): New module.
14805 * grub-core/lib/crc64.c: New file.
14806 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14807 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14808 Fix the type.
14809 (MAX_HASH_SIZE): New define.
14810 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14811 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14812 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14813 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14814 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14815 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14816 Handle non-crc32 hashes.
14817 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14818 (dec_stream_header): Handle non-crc32 hashes.
14819 (dec_stream_footer): Likewise.
14820 (dec_block_header): Likewise.
14821 (dec_main): Likewise.
14822 (xz_dec_init): Likewise.
14823 (xz_dec_reset): Likewise.
14824 (xz_dec_end): Likewise.
14825 * util/import_gcry.py: Add CRC64 line.
14826
9d9b3d2f
VS
148272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14830 as well.
14831
7d0ac931
VS
148322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 Make reiserfs label retrieval similar to other *_label functions.
14835
14836 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14837 (REISERFS_MAX_LABEL_LENGTH): Removed.
14838 (REISERFS_LABEL_OFFSET): Likewise.
14839 (grub_reiserfs_label): Rewritten.
14840
148412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14844 field.
14845
cf5ba824
VS
148462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14849
17744004
VS
148502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14853 drive failure on both raidz and raidz2.
14854
aca5aefc
VS
148552011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Fix RAIDZ(2) for >= 5 devices.
14858
14859 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14860 asize argument. All users updated.
14861
ce8ca56e
VS
148622011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 Fix RAIDZ(2).
14865
14866 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14867 (fill_vdev_info_real): Set ashift.
14868 (read_device): Rewrite RAIDZ part based on reverse engineering.
14869
7c01e783
VS
148702011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14873 don't report potentially unavialiable fields in debug output.
14874 (find_path): Fix double-free and memory leak.
14875
ce109e84
VS
148762011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Read label on UFS1.
14879
14880 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14881 (grub_ufs_fs): Always set .label.
14882
87661123
VS
148832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 Use shifts in UFS.
14886
14887 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14888 (grub_ufs_data): New field log2_blksz.
14889 (grub_ufs_read_file): Use shifts.
14890 (grub_ufs_mount): Check block size and logarithm it.
14891
46bc1dc2
VS
148922011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14895 long symlinks.
14896
19ee2987
VS
148972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 Handle symlinks and long names on tar and cpio.
14900
14901 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14902 (ATTR_FILE): Likewise.
14903 (ATTR_DIR): Likewise.
14904 (ATTR_LNK): Likewise.
14905 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14906 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14907 L and K entries.
14908 (grub_cpio_mount): Zero-fill data.
14909 (handle_symlink): New function.
46bc1dc2
VS
14910 (grub_cpio_dir): Handle symlinks.
14911 (grub_cpio_open): Likewise.
14912 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14913
c83a08d8
VS
149142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Fix iso9660 filename limitations and fix memory leaks.
14917
14918 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14919 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14920
45cdd3ea
VS
149212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 Fix JFS file name length limitations.
14924
14925 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14926 (grub_jfs_diropen): Fix maximum filename length.
14927 (grub_jfs_getent): Fix filename length.
14928 (grub_jfs_lookup_symlink): Fix size checks.
14929
94ef05c2
VS
149302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14933 string.
14934
785ab8c7
VS
149352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14936
eb0b6b45
VS
14937 Leverage BFS implementation to read AFS.
14938
14939 * Makefile.util.def (libgrubmods): Add afs.c.
14940 * grub-core/Makefile.core.def (afs): New module
14941 * grub-core/fs/afs.c: New file.
14942 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14943
149442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14947
c4a1628f
VS
149482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * grub-core/fs/bfs.c: Run indent.
14951
5825b379
VS
149522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 BFS implementation based on the specification.
14955
14956 * grub-core/fs/bfs.c: New file.
14957 * Makefile.util.def (libgrubmods): Add bfs.c.
14958 * grub-core/Makefile.core.def (bfs): New module.
14959
42b2a706
VS
149602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * util/grub-fstest.c (cmd_cp): Clarify error message.
14963 (cmd_cmp): Likewise.
14964
61b99bfc
YB
149652011-10-30 Yves Blusseau <blusseau@zetam.org>
14966
14967 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14968 and befs_be.
14969
faba3d16
VS
149702011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 Remove afs and befs because of copyright problem.
14973
14974 * grub-core/fs/afs.c: Removed.
14975 * grub-core/fs/afs_be.c: Removed.
14976 * grub-core/fs/befs.c: Removed.
14977 * grub-core/fs/befs_be.c: Removed.
14978 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14979 * grub-core/Makefile.core.def (afs): Removed.
14980 (afs_be): Likewise.
14981 (befs): Likewise.
14982 (befs_be): Likewise.
14983
c39224b0
VS
149842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 Prefer rockridge over Joliet.
14987
14988 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14989 to ...
14990 (set_rockridge): ... here.
14991 (grub_iso9660_mount): Check rockridge on the primary label when
14992 discovering. Ignore Joliet if Rockridge is present.
14993
e551115a
VS
149942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 Use shifts in nilfs2.
14997
14998 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14999 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15000 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15001 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15002 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15003 (grub_nilfs2_entries_per_block): Replaced with ...
15004 (grub_nilfs2_log_entries_per_block_log): ... this.
15005 (grub_nilfs2_blocks_per_group): Replaced with ...
15006 (grub_nilfs2_blocks_per_group_log): ... this.
15007 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15008 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15009 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15010 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15011 (grub_nilfs2_palloc_entry_offset): Replaced ...
15012 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15013 (grub_nilfs2_dat_translate): Use shifts.
15014 (grub_nilfs2_read_inode): Likewise.
15015 (GRUB_MOD_INIT): Ensure that logs are correct.
15016
564dd58c
VS
150172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 Use shifts in minix filesystem.
15020
15021 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15022 (GRUB_MINIX_ZONE2SECT): Likewise.
15023 (grub_minix_data): Replace block_size with log_block_size.
15024 (grub_minix_read_file): Use shifts.
15025 (grub_minix_mount): Check block size and take a logarithm.
15026
ed9ba06d
VS
150272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 Use shifts in squash4.
15030
15031 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15032 (squash_mount): Check block size and take logarithm.
15033 (direct_read): Use shifts.
15034
ad03fe76
VS
150352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 Correct befs block counting logic.
15038
15039 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15040 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15041 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15042 (grub_afs_read_inode): Use block_shift.
15043 (RANGE_SHIFT): New definition.
15044 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15045 unexpected conditions, use shifts and appropriate types.
15046 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15047
6563f63d
VS
150482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/disk/raid.c (scan_devices): Check partition.
15051 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15052
5b1ae25f
VS
150532011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Support BFS (befs) UUID.
15056
15057 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15058 (grub_afs_small_data_element_header): New struct.
15059 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15060 (grub_afs_read_attribute) [MODE_BFS]: New function.
15061 (grub_afs_iterate_dir): Allocate for complete inode.
15062 (grub_afs_mount): Likewise.
15063 (grub_afs_uuid) [MODE_BFS]: New function.
15064 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15065
f8d82408
VS
150662011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15069 (zfs_unmount): Fix memory leak.
15070
5773fb64
VS
150712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 Support NTFS reparse points.
15074
15075 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15076 (symlink_descriptor): New struct.
15077 (grub_ntfs_read_symlink): New function.
15078 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15079 (grub_ntfs_open): Likewise.
15080
91c3fdde
VS
150812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15084
3be82e10
VS
150852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 fstest xnu_uuid subcommand.
15088
15089 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15090 grub-core/commands/xnu_uuid.c.
15091 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15092 (fstest): Handle xnu_uuid.
15093 (options): Document xnu_uuid.
15094 (argp_parser): Parse xnu_uuid.
15095
8e32442e
VS
150962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15099 -l argument. Add newline at the end if printing.
15100 (GRUB_MOD_INIT): Document -l.
15101
52a05075
VS
151022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15105
1869edb5
VS
151062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 ZFS multi-device and version 33 support.
15109
15110 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15111 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15112 (grub_zfs_data): Add multidev-ice-related fields.
15113 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15114 (dva_get_offset): Make dva const.
15115 (zfs_fetch_nvlist): New function.
15116 (fill_vdev_info_real): Likewise.
15117 (fill_vdev_info): Likewise.
15118 (check_pool_label): Likewise.
15119 (scan_disk): Likewise.
15120 (scan_devices): Likewise.
15121 (read_device): Likewise.
15122 (read_dva): Likewise.
15123 (zio_read_gang): Use read_dva.
15124 (zio_read_data): Likewise.
15125 (zap_leaf_lookup): Add missing endian conversion.
15126 (zap_verify): Add missing endian conversion. All users updated.
15127 (fzap_lookup): Likewise.
15128 (fzap_iterate): Likewise.
15129 (dnode_get_path): Handle SA bonus.
15130 (nvlist_find_value): Make input const. All users updated.
15131 (unmount_device): New function.
15132 (zfs_unmount): Use unmount_device.
15133 (zfs_mount): Use scan_disk.
15134 (zfs_mtime): New function.
15135 (grub_zfs_open): Handle system attributes.
15136 (fill_fs_info): Likewise.
15137 (grub_zfs_dir): Likewise.
15138 (grub_zfs_fs): Add mtime.
15139 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15140 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15141 (SA_MTIME_OFFSET): Likewise.
15142 (SA_SYMLINK_OFFSET): Likewise.
15143 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15144 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15145 (fstest): Support zfsinfo.
15146 (argp_parser): Likewise.
15147
186b4028
VS
151482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15151 error.
15152
151532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15154
15155 ZFS fixes.
15156
15157 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15158 sharing the same block. Iterate over correct number of indices.
15159 (dnode_get_path): Handle symlinks correctly.
15160
c0584900
VS
151612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15164
67e2bd71
VS
151652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 Read label on HFS+.
15168
15169 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15170 (grub_hfsplus_btree_search): Fix types.
15171 (grub_hfsplus_label): Implement.
15172
e9cc6b7b
VS
151732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15176
19832ddb
VS
151772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15180
66b40850
VS
151812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 Fix symlink handling on iso9660.
15184
15185 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15186 All users updated.
15187 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15188 (grub_iso9660_read_symlink): Moved most of code ...
15189 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15190
db821363
VS
151912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15194 Use union to avoid breaking strict-aliasing rules.
15195
e1211949
VS
151962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 Support multi-extent iso files.
15199
15200 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15201 Add node.
15202 (grub_fshelp_node): Revamp. All users updated.
15203 (FLAG_*): New enum.
15204 (read_node): New function.
15205 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15206 All users updated.
15207 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15208 (get_node_size): New function.
15209 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15210 entries.
15211 Fix memory leak on . and ..
15212 (grub_iso9660_read): Use read_node.
15213 (grub_iso9660_close): Free node.
15214
d4888031
VS
152152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 Fix tar 4G limit and handle paths containing dot.
15218
15219 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15220 (canonicalize): New function.
15221 (grub_cpio_find_file): Use canonicalize. Store offs in
15222 grub_disk_addr_t.
15223 (grub_cpio_dir): Use grub_disk_addr_t.
15224 (grub_cpio_open): Likewise.
15225
9f12e664
VS
152262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15229
15230 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15231 unused flags.
15232 (grub_squash_inode): Add long_file and block_size.
15233 (grub_squash_cache_inode): New struct.
15234 (grub_squash_dirent): Make types into enum.
15235 (SQUASH_TYPE_LONG_REGULAR): New type.
15236 (grub_squash_frag_desc): Add field size.
15237 (SQUASH_BLOCK_FLAGS): New enum.
15238 (grub_squash_data): Use grub_squash_cache_inode.
15239 (grub_fshelp_node): Make ino_chunk 64-bit.
15240 (read_chunk): Minor argument change. All users updated.
15241 (squash_mount): Use correct le_to_cpu.
15242 (grub_squash_open): Handle LONG_REGULAR.
15243 (direct_read): New function.
15244 (grub_squash_read_data): Handle blocks correctly.
15245
9f326fba
VS
152462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15249
f4d9b64b
VS
152502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15253
5bbd28b8
VS
152542011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 Fix 2G limit on ZFS.
15257
15258 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15259 types.
15260 (uberblock_verify): Likewise.
15261 (dmu_read): Likewise.
15262 (grub_zfs_read): Likewise. Remove invalid cast.
15263
68c72069
VS
152642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15267 (grub_jfs_blkno): Fix incorrect shift.
15268 (grub_jfs_read_file): Use more appropriate types.
15269
6e536dc8
VS
152702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Support triple indirect on minix2 and minix3.
15273
15274 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15275 Declare triple_indir_zone.
15276 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15277 indirect.
15278
e0864e7a
VS
152792011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 Minix FS fixes.
15282
15283 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15284 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15285 Rename ctime to mtime. All users updated.
15286 (grub_minix_get_file_block): Fix types and double indirect computations.
15287
89481cab
VS
152882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15291 if no label is found.
15292 (grub_fat_iterate_dir): Fix file size type.
15293 (grub_fat_iterate_dir): Likewise.
15294
f646e143
VS
152952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15298 save some space.
15299 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15300 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15301
534d769e
VS
153022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15305
e084ba18
VS
153062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * util/import_gcry.py: Accept space between # and include.
15309
3471ecdf
VS
153102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15313
124df5f6
VS
153142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15317
15318 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15319 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15320 yylex_strncpy.
15321 * grub-core/script/yylex.l: Add fine-grained #pragma.
15322
4defb8d5
VS
153232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15326 New inline function.
15327 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15328 Likewise.
15329 (memset) [GRUB_UTIL]: Likewise.
15330 (memcmp) [GRUB_UTIL]: Likewise.
15331
4e94ae65
VS
153322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15333
15334 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15335 inline function rather than a define.
15336
18c575e5
VS
153372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 * util/grub-setup.c: Add missing include.
15340
f8bc22a8
VS
153412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * util/ieee1275/grub-ofpathname.c: Add missing include.
15344
3ce69fc9
VS
153452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15348 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15349 Likewise.
15350
d1e293bb
VS
153512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15354 grub_memcmp usage.
15355
7a5c54a4
VS
153562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * util/grub-install.in: Add datarootdir as per automake manual
15359 suggestion.
15360 * util/grub-mknetdir.in: Likewise.
15361
153622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15363
15364 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15365 suggestion.
15366 * util/grub.d/10_kfreebsd.in: Likewise.
15367 * util/grub.d/10_linux.in: Likewise.
15368 * util/grub.d/10_netbsd.in: Likewise.
15369 * util/grub.d/10_windows.in: Likewise.
15370 * util/grub.d/20_linux_xen.in: Likewise.
15371
766f7d08
VS
153722011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 Remove redundant grub_kernel_image_size.
15375
15376 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15377 _edata and _start.
15378 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15379 the small code. It moves it only by few bytes but simplifies the code.
15380 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15381 _start.
15382 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15383 (grub_kernel_image_size): Removed.
15384 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15385 (grub_kernel_image_size): Removed.
15386 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15387 compiled with Apple toolchain.
15388 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15389 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15390 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15391 (grub_total_module_size): Likewise.
15392 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15393 Removed.
15394 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15395 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15396 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15397 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15398 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15399 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15400 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15401 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15402 Removed.
15403 (grub_total_module_size): Removed.
15404 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15405 (image_targets): Likewise.
15406 Set .compressed_size to no field on sparc.
15407 (generate_image): Remove kernel_image_size handling.
15408
fcf1d672
SJ
154092011-10-19 Szymon Janc <szymon@janc.net.pl>
15410
15411 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15412 NULL pointer dereference.
15413
de9c615e
VS
154142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15417 done with a dedicated section.
15418
15419 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15420 Ensure the correct position of boot_path.
15421 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15422 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15423 other fields.
15424 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15425 * include/grub/boot.h: Removed. All references removed.
15426 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15427 Removed.
15428 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15429
e55599dc
VS
154302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15433 name.
15434
36dd20ad
VS
154352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15438
f8f72eb8
VS
154392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15442 Don't add the bogus brackets.
15443
a374751b
VS
154442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 ExFAT support.
15447
15448 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15449 * grub-core/Makefile.core.def (exfat): New module.
15450 * grub-core/fs/exfat.c: New file.
15451 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15452 (GRUB_FAT_ATTR_*): Make into an enum.
15453 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15454 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15455 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15456 (GRUB_FAT_MAXFILE): Removed.
15457 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15458 (grub_current_fat_bpb_t): New type.
15459 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15460 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15461 (grub_fat_dir_node_t): New type.
15462 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15463 (fat_log2) [MODE_EXFAT]: Removed.
15464 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15465 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15466 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15467 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15468 (grub_fat_label) [MODE_EXFAT]: New function.
15469 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15470 reserved_first_sector to 0.
15471
544c2487
VS
154722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 Move grub_reboot out of the kernel.
15475
15476 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15477 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15478 * grub-core/lib/efi/reboot.c: ... here.
15479 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15480 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15481 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15482 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15483 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15484 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15485 * grub-core/lib/ieee1275/reboot.c: ... here.
15486 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15487 * grub-core/lib/mips/arc/reboot.c: ... here.
15488 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15489 * grub-core/lib/mips/loongson/reboot.c: ...here.
15490 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15491 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15492 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15493 * include/grub/i386/reboot.h: New file.
15494 * include/grub/mips/loongson/ec.h: Fix includes.
15495 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15496 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15497 * grub-core/lib/i386/reboot.c: New file.
15498
a97501d2
VS
154992011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 Make grub_prefix into module to fix the arbitrary limit and save
15502 some space.
15503
15504 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15505 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15506 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15507 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15508 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15509 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15510 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15511 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15512 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15513 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15514 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15515 * include/grub/ia64/efi/kernel.h: Removed.
15516 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15517 (grub_prefix): Removed.
15518 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15519 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15520 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15521 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15522 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15523 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15524 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15525 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15526 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15527 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15528 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15529 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15530 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15531 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15532 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15533 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15534 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15535 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15536 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15537 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15538 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15539 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15540 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15541 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15542 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15543 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15544 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15545 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15546 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15547 from module.
15548 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15549 prefix_end.
15550 (image_targets): Likewise.
15551 (generate_image): Put prefix as a module.
15552
39705fad
VS
155532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 Replace grub_module_iterate with FOR_MODULES.
15556
15557 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15558 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15559 (grub_efi_modules_addr): ...this.
15560 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15561 (grub_efi_init): Set grub_modbase.
15562 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15563 (grub_modbase): New variable.
15564 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15565 (grub_modbase): New variable.
15566 (grub_machine_init): Set grub_modbase.
15567 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15568 (grub_modbase): New variable.
15569 (grub_machine_init): Set grub_modbase.
15570 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15571 (grub_modbase): New variable.
15572 (grub_machine_init): Set grub_modbase.
15573 * grub-core/kern/main.c (grub_module_iterate): Remove.
15574 (grub_modules_get_end): Use grub_modbase.
15575 (grub_load_modules): Use FOR_MODULES.
15576 (grub_load_config): Likewise.
15577 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15578 (grub_modbase): New variable.
15579 (grub_machine_init): Set grub_modbase.
15580 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15581 (grub_modbase): New variable.
15582 (grub_machine_init): Set grub_modbase.
15583 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15584 Removed.
15585 (grub_modbase): New variable.
15586 (grub_machine_init): Set grub_modbase.
15587 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15588 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15589 (grub_module_iterate): Likewise.
15590 (grub_modbase): New variable declaration.
15591 (FOR_MODULES): New macro.
15592
2afb7f6c
VS
155932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15596 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15597
366e34fa
VS
155982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 Fix few obvious type discrepancies.
15601
15602 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15603 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15604 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15605 variable.
15606 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15607 and connected types.
15608 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15609 offset.
15610 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15611 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15612 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15613 and connected types.
15614
177b960e
VS
156152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 Fix python 3.x incompatibilities.
15618
15619 * gentpl.py: Put brackets around print strings.
15620 * util/import_gcry.py: Open explicitly as utf-8.
15621 Use in instead of has_key.
15622
3b619ae1
VS
156232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15626 (GRUB_XFS_INO_AGBITS): Make into inline function.
15627 (GRUB_XFS_INO_INOINAG): Likewise.
15628 (GRUB_XFS_INO_AG): Likewise.
15629 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15630 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15631 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15632 (GRUB_XFS_EXTENT_SIZE): Likewise.
15633 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15634 (GRUB_XFS_NEXT_DIRENT): Likewise.
15635 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15636 (grub_xfs_read_file): Fix offset type.
15637
8bcebcb8
RM
156382011-10-15 Robert Millan <rmh@gnu.org>
15639
15640 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15641
0017e5ef
RM
156422011-10-15 Robert Millan <rmh@gnu.org>
15643
15644 Fix build problem on FreeBSD and GNU/kFreeBSD.
15645
15646 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15647
d8919552
VS
156482011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15651
15652 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15653 types.
15654 (grub_hfsplus_btree_recoffset): Likewise.
15655 (grub_hfsplus_btree_recptr): Likewise.
15656 (grub_hfsplus_find_block): Likewise.
15657 (grub_hfsplus_btree_search): Likewise.
15658 (grub_hfsplus_read_block): Likewise.
15659 (grub_hfsplus_read_file): Likewise.
15660 (grub_hfsplus_mount): Likewise.
15661 (grub_hfsplus_btree_iterate_node): Likewise.
15662 (grub_hfsplus_btree_search): Likewise.
15663 (grub_hfsplus_iterate_dir): Likewise.
15664 (grub_hfsplus_read): A small code simplification.
15665
c81296b6
VS
156662011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * grub-core/kern/emu/hostdisk.c
15669 (convert_system_partition_to_system_disk): Don't assume that children
15670 of mapper nodes are mapper nodes.
15671
0eb8ffb1
VS
156722011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15675 * include/grub/misc.h (grub_isxdigit): New function.
15676 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15677 switched to grub_isxdigit.
15678 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15679 number starting with a letter.
15680
a98f4a08
RM
156812011-10-09 Robert Millan <rmh@gnu.org>
15682
15683 LVM support for FreeBSD and GNU/kFreeBSD.
15684
15685 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15686 GNU/kFreeBSD.
15687 (LVM_DEV_MAPPER_STRING): Move from here ...
15688 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15689 * util/getroot.c: Include `<grub/util/lvm.h>'.
15690 (grub_util_get_dev_abstraction): Enable
15691 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15692 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15693 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15694 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15695 support it.
15696 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15697 GNU/kFreeBSD.
15698 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15699 when LVM abstraction is required for ${GRUB_DEVICE}.
15700
050e8e90
SJ
157012011-10-06 Szymon Janc <szymon@janc.net.pl>
15702
15703 Add support for LZO compression in GRUB:
15704 - import of minilzo library,
15705 - LZO decompression for btrfs,
15706 - lzop files decompression.
15707
15708 * grub-core/io/lzopio.c: New file.
15709 * grub-core/lib/adler32.c: Likewise.
15710 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15711 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15712 * grub-core/lib/minilzo/minilzo.c: Likewise.
15713 * grub-core/lib/minilzo/minilzo.h: Likewise.
15714 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15715 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15716 grub-core/lib/minilzo/minilzo.c to common.
15717 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15718 cflags in cppflags.
15719 * grub-core/Makefile.core.def (btrfs): Likewise.
15720 * grub-core/Makefile.core.def (lzopio): New module.
15721 (adler32): Likewise.
15722 * grub-core/fs/btrfs.c: Include minilzo.h.
15723 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15724 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15725 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15726 (grub_btrfs_lzo_decompress): New function.
15727 (grub_btrfs_extent_read): Add support for LZO compression type.
15728 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15729 (GRUB_USHRT_MAX): Likewise.
15730 (GRUB_UINT_MAX): Likewise.
15731 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15732 (UINT_MAX): Likewise.
15733 (CHAR_BIT): Likewise.
15734 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15735 grub-core/lib/posix_wrap/limits.h
15736 (UCHAR_MAX): Likewise.
15737 * include/grub/file.h (grub_file_filter_id): New compression filter
15738 GRUB_FILE_FILTER_LZOPIO.
15739 * include/grub/file.h (grub_file_filter_id): Set
15740 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15741 * include/grub/types.h (grub_get_unaligned16): New function.
15742 (grub_get_unaligned32): Likewise.
15743 (grub_get_unaligned64): Likewise.
15744 * util/import_gcry.py (cryptolist): Add adler32.
15745
0eb8ffb1
VS
157462011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15749 in perspective decreases the complexity of build system and fixes
15750 compilation right now.
15751
ce79cc99 157522011-10-01 Ales Nesrsta <starous@volny.cz>
15753
15754 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15755 (fixed problem related to using UHCI with coreboot).
15756
8667a314
BC
157572011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15758
15759 * gentpl.py: Use Autogen macros so that the output template file
15760 (Makefile.tpl) size is reduced.
15761
fc5efcc0
MK
157622011-09-29 Mads Kiilerich <mads@kiilerich.com>
15763
15764 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15765 extra_dist.
15766
d1ab689d
ML
157672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15768
15769 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15770 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15771
c05de032
ML
157722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15773
15774 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15775 _fullpath.
15776
cca7ccd8
ML
157772011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15778
15779 Remove extra declaration of sleep for mingw32.
15780
15781 * util/misc.c (sleep) [__MINGW32__]: Removed.
15782 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15783
e0b0dc83
GS
157842011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15785
15786 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15787 type and packname.
15788 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15789 Resurrected.
15790 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15791 (grub_netbsd_btinfo_bootwedge): New struct.
15792 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15793 New function.
15794 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15795
91a1a164
TH
157962011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15797
15798 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15799 loader.
15800
2ded951e
AB
158012011-09-28 Andreas Born <futur.andy@googlemail.com>
15802
15803 Fix incorrect identifiers in bash-completion.
15804
15805 * util/bash-completion.d/grub-completion.bash.in
15806 (_grub_mkpasswd-pbkdf2): Rename to ...
15807 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15808 (_grub_script-check): Rename to ...
15809 (_grub_script_check): ... this. All users updated.
15810
69915030
VS
158112011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15814 Return 0 if disk isn't biosdisk.
15815
20fd15f9
GS
158162011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15817
15818 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15819 on NetBSD.
15820 * Makefile.util.def (grub-fstest): Likewise.
15821
1a7d7db9
GS
158222011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15823
15824 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15825 Get sector size from disk label.
15826
2221ab6c
CW
158272011-09-05 Colin Watson <cjwatson@ubuntu.com>
15828
15829 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15830 */README* as well as README*.
15831 Reported by: Axel Beckert.
15832
ca51c4a0
VS
158332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15836 case of less than 256 MiB of RAM.
15837
ab80f326
VS
158382011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * grub-core/commands/wildcard.c (make_regex): Handle @.
15841
4155e697
VS
158422011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15845
ab178c08
SJ
158462011-08-21 Szymon Janc <szymon@janc.net.pl>
15847
15848 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15849 AC_LANG_CONFTEST macros.
15850
7dc3c686
SJ
158512011-08-20 Szymon Janc <szymon@janc.net.pl>
15852
15853 Add grub-fstest option to uncompress data for commands.
15854
15855 * util/grub-fstest.c (uncompress): New var.
15856 (options): New option -u.
15857
fe8d4a7b
SJ
158582011-08-20 Szymon Janc <szymon@janc.net.pl>
15859
15860 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15861 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15862
a5219af1
SJ
158632011-08-20 Szymon Janc <szymon@janc.net.pl>
15864
15865 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15866 file type was not recognized correctly (not gzip or corrupted).
15867
f87abff5
VS
158682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15871 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15872
d94497ea
VS
158732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15876 loongson.
15877 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15878 video_radeon_fuloong2e.
15879 * grub-core/video/radeon_fuloong2e.c: New file.
15880 * include/grub/video.h (grub_video_id_t): Add new ID
15881 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15882
0d1fd011
VS
158832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15886 define.
15887 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15888 that PRID matches the detected subplatform and reset the subplatform
15889 if it doesn't.
15890
84beb0ee
VS
158912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15894
1227c133
VS
158952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Fix PCI iterating on functions >= 4.
15898
15899 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15900 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15901 Removed.
15902 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15903 (grub_pci_read): Fix bitmask.
15904 (grub_pci_read_word): Likewise.
15905 (grub_pci_read_byte): Likewise.
15906 (grub_pci_write): Likewise.
15907 (grub_pci_write_word): Likewise.
15908 (grub_pci_write_byte): Likewise.
15909
9594c689
VS
159102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15913 can still be specified in TARGET_CFLAGS)
15914
14a2562c
VS
159152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15918
15919 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15920 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15921 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15922 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15923 (FULOONG): Rename to ...
15924 (FULOONG2F): ... this. All users updated.
15925 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15926 (machtype_fuloong2f_str): ... this.
15927 (machtype_fuloong2e_str): New string.
15928 Check for machtype_fuloong2e_str.
15929 * grub-core/loader/mips/linux.c (loongson_machtypes)
15930 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15931 * grub-core/term/serial.c (loongson_defserial)
15932 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15933 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15934 loongson_defserial.
15935 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15936 Rename to ...
15937 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15938 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15939 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15940 to IMAGE_FULOONG2F_FLASH. All users updated.
15941 (image_targets): Rename images.
15942 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15943
b526cbb6
SJ
159442011-08-19 Szymon Janc <szymon@janc.net.pl>
15945
15946 Make enable of disk cache statistics code configurable.
15947
15948 * configure.ac: --enable-cache-stats added.
15949 * config.h.in (DISK_CACHE_STATS): New define.
15950 * grub-core/Makefile.core.def (cacheinfo): New command.
15951 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15952 * grub-core/commands/cacheinfo.c: New file.
15953 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15954 moved to cacheinfo.c.
15955 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15956 debug code.
15957 * include/grub/disk.h: Likewise.
15958
fb739ccd
SJ
159592011-08-19 Szymon Janc <szymon@janc.net.pl>
15960
15961 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15962 * grub-core/Makefile.am: Likewise.
15963
2bba8cfd
VS
159642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15967 non-zero pull.
15968
43526629
VS
159692011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15972 All users updated.
15973 (grub_jfs_lookup_symlink): Use correct starting inode.
15974
5c144cc8
VS
159752011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * util/grub-setup.c (main): Add missing gcry initialisation.
15978
b1257f65
VS
159792011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 Don't accept text modes on EFI when booting Linux.
15982
15983 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15984 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15985
828bc390
ML
159862011-08-15 Mario Limonciello <mario_limonciello@dell.com>
159872011-08-15 Colin Watson <cjwatson@ubuntu.com>
15988
15989 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15990 use of "/path/.." as in grub-install for EFI as well as handling
15991 symlinks correctly.
15992 Fixes Debian bug #637768.
15993
5f60ccac
CW
159942011-08-15 Colin Watson <cjwatson@ubuntu.com>
15995
15996 * util/grub-probe.c: Remove duplicate #include.
15997
6dc212f9
RM
159982011-08-10 Robert Millan <rmh@gnu.org>
15999
16000 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16001
16002 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16003 function.
16004 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16005 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16006
66816d85
RM
160072011-08-03 Robert Millan <rmh@gnu.org>
16008
16009 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16010 la_array as packed.
16011 Reported by: Zachary Bedell
16012
20168fca
CW
160132011-07-26 Colin Watson <cjwatson@ubuntu.com>
16014
16015 * configure.ac: The Loongson port requires grub-mkfont due to its
16016 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16017 be built.
16018
303b6246
CW
160192011-07-26 Colin Watson <cjwatson@ubuntu.com>
16020
16021 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16022 processing arguments (otherwise help2man fails when GRUB has not yet
16023 been installed).
16024
6795300e
VS
160252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16026
41aa28ea
VS
16027 New script grub-mkstandalone.
16028
16029 * Makefile.util.def (grub-mkstandalone): New script.
16030 * docs/man/grub-mkstandalone.h2m: New file.
16031 * util/grub-mkstandalone.in: Likewise.
16032
160332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 Support ATA disks with 4K sectors.
6795300e
VS
16036
16037 * include/grub/ata.h (grub_ata): New member log_sector_size.
16038 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16039 (grub_ata_identify): Read sector size.
16040 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16041
92227597
VS
160422011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * util/grub-install.in: Don't use uhci outside of x86.
16045
c77069f5
VS
160462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * util/grub-mkrescue.in: Add missing quotes.
16049
160502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16051
16052 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16053 dereference.
16054
583168a2
VS
160552011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16058
6be1c01f
VS
160592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * include/grub/video.h: add missing EXPORT_FUND on
16062 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16063
a1167439
VS
160642011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * include/grub/mips/kernel.h: Fix define conflict.
16067
bf66054f
VS
160682011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16071 all four ways.
16072
8fc4fa45
CW
160732011-07-21 Colin Watson <cjwatson@ubuntu.com>
16074
16075 Preferred resolution detection for VBE.
16076
16077 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16078 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16079 the Flat Panel extension, in line with the X.org VESA driver.
16080 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16081 New function.
16082 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16083 (grub_vbe_bios_read_edid): Likewise.
16084 (grub_vbe_get_preferred_mode): Likewise.
16085 (grub_video_vbe_setup): When the mode is "auto", try to get the
16086 preferred mode from VBE, and use the largest mode that is no larger
16087 than the preferred mode (some BIOSes expose a preferred mode that is
16088 not in their mode list!). If this fails, fall back to 640x480 as a
16089 safe conservative choice.
16090 (grub_video_vbe_get_edid): New function.
16091 (grub_video_vbe_adapter): Add get_edid.
16092 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16093 (struct grub_video_adapter): Add get_edid.
16094 (grub_video_edid_checksum): Add prototype.
16095 (grub_video_edid_preferred_mode): Likewise.
16096 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16097 structure.
16098
16099 * grub-core/commands/videoinfo.c (print_edid): New function.
16100 (grub_cmd_videoinfo): Print EDID if available.
16101
16102 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16103 is more appropriate on a wider range of platforms than 640x480.
16104 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16105 documentation.
16106
ca5572a9
VS
161072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16110
e4bcf625
VS
161112011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * po/POTFILES.in: Regenerate.
16114
c4edd548
VS
161152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16118 incorrect memory usage.
16119
16a2bab0
VS
161202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * util/grub-install.in: Source grub-mkconfig_lib.
16123
2e418de6
VS
161242011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Remove getroot.c from core on emu platform.
16127
16128 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16129 kern/emu/raid.c.
16130 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16131 useless.
16132 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16133 * util/getroot.c (get_win32_path): ... here.
16134 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16135 * util/getroot.c (fini_libzfs): ... here.
16136 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16137 * util/getroot.c (grub_get_libzfs_handle): ... here.
16138 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16139 Moved from here...
16140 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16141 * grub-core/kern/emu/misc.c
16142 (grub_make_system_path_relative_to_its_root): Moved from here...
16143 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16144 * grub-core/kern/emu/getroot.c: Moved from here ...
16145 * util/getroot.c: ... here. All users updated.
16146 * grub-core/kern/emu/raid.c: Moved from here ...
16147 * util/raid.c: ... here. All users updated.
16148
def9832a
VS
161492011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * po/POTFILES.in: Regenerate.
16152
cd8fe79a
VS
161532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 Fix compilation on GNU/Linux.
16156
16157 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16158 Disable geli.
16159 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16160 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16161 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16162
a251b719
VS
161632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
161642011-07-07 Michael Gorven <michael@gorven.za.net>
161652011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16166
16167 LUKS and GELI support.
16168
16169 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16170 grub-core/disk/luks.c, grub-core/disk/geli.c,
16171 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16172 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16173 grub-core/lib/arg.c.
16174 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16175 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16176 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16177 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16178 (grub-bin2h): Add libgcry.a.
16179 (grub-mkimage): Likewise.
16180 (grub-mkrelpath): Likewise.
16181 (grub-script-check): Likewise.
16182 (grub-editenv): Likewise.
16183 (grub-mkpasswd-pbkdf2): Likewise.
16184 (grub-pe2elf): Likewise.
16185 (grub-fstest): Likewise.
16186 (grub-mkfont): Likewise.
16187 (grub-mkdevicemap): Likewise.
16188 (grub-probe): Likewise.
16189 (grub-ofpath): Likewise.
16190 (grub-mklayout): Likewise.
16191 (example_unit_test): Likewise.
16192 (grub-menulst2cfg): Likewise.
16193 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16194 * grub-core/Makefile.core.def (cryptodisk): New module.
16195 (luks): Likewise.
16196 (geli): Likewise.
16197 * grub-core/disk/AFSplitter.c: New file.
16198 * grub-core/disk/cryptodisk.c: Likewise.
16199 * grub-core/disk/geli.c: Likewise.
16200 * grub-core/disk/luks.c: Likewise.
16201 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16202 grub_util_is_lvm.
16203 (grub_util_get_dm_abstraction): New function.
16204 (grub_util_follow_gpart_up): Likewise.
16205 (grub_util_get_geom_abstraction): Likewise.
16206 (grub_util_get_dev_abstraction): Use new functions.
16207 (grub_util_pull_device): Pull GELI and LUKS.
16208 (grub_util_get_grub_dev): Handle LUKS and GELI.
16209 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16210 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16211 (follow_geom_up): Removed.
16212 (grub_util_fd_seek): New function.
16213 (open_device): Use grub_util_fd_seek.
16214 (nread): Rename to ..
16215 (grub_util_fd_read): ... this. All users updated.
16216 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16217 (grub_crypto_cbc_decrypt): Likewise.
16218 (grub_crypto_hmac_write): Likewise.
16219 (grub_crypto_hmac_buffer): Likewise.
16220 (grub_password_get): Extend to util.
16221 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16222 New member modname.
16223 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16224 * include/grub/cryptodisk.h: New file.
16225 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16226 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16227 LUKS and GELI.
16228 (grub_util_follow_gpart_up): New proto.
16229 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16230 (grub_util_fd_read): Likewise.
16231 (grub_cryptodisk_cheat_mount): Likewise.
16232 (grub_util_cryptodisk_print_uuid): Likewise.
16233 (grub_util_get_fd_sectors): Likewise.
16234 * util/grub-fstest.c (mount_crypt): New var.
16235 (fstest): Mount crypto if requested.
16236 (options): New option -C.
16237 (argp_parser): Parse -C.
16238 (main): Init and fini gcry.
16239 * util/grub-install.in: Support cryptodisk install.
16240 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16241 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16242 cryptodisk.
16243 (prepare_grub_to_access_device): Likewise.
16244 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16245 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16246 (probe_cryptodisk_uuid): New function.
16247 (probe_abstraction): Likewise.
16248 (probe): Use new functions.
16249 * util/import_gcry.py: Create Makefile.utilgcry.def.
16250 Add modname member.
16251
9bfdcbbc
VS
162522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 Lazy device scanning.
16255
16256 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16257 (grub-setup): Remove util/raid.c.
16258 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16259 * grub-core/disk/lvm.c (scan_depth): New variable.
16260 (grub_lvm_iterate): Rescan if necessary.
16261 (find_lv): New function based on grub_lvm_open.
16262 (grub_lvm_open): Use find_lv. Rescan on error.
16263 (is_node_readable): New function.
16264 (is_lv_readable): Likewise.
16265 (grub_lvm_scan_device): Skip already found disks.
16266 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16267 Stop if searched device is found and readable.
16268 * grub-core/disk/raid.c (inscnt): New variable.
16269 (scan_depth): Likewise.
16270 (scan_devices): New function based on grub_raid_register. Abort if
16271 looked for device is found.
16272 (grub_raid_iterate): Rescan if needed.
16273 (find_array): NEw function based on -grub_raid_open.
16274 (grub_raid_open): Use find_array and rescan.
16275 (insert_array): Set became_readable_at.
16276 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16277 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16278 New function.
16279 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16280 (grub_util_pull_device): New function.
16281 (grub_util_get_grub_dev): Call grub_util_pull_device.
16282 * util/raid.c: Moved to ..
16283 * grub-core/kern/emu/raid.c: ... here.
16284 (grub_util_raid_getmembers): New parameter "bootable".
16285 All users updated. Support 1.x.
16286 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16287 All users updated.
16288 * include/grub/disk.h (grub_disk_pull_t): New enum.
16289 (grub_disk_dev): Change iterate prototype.
16290 All users updated.
16291 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16292 New proto.
16293 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16294 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16295 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16296 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16297 All users updated.
16298 * include/grub/util/raid.h: Removed.
16299
1c358e59
VS
163002011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * po/POTFILES.in: Regenerate.
16303
abee94ed
VS
163042011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 Unify sparc init with other ieee1275.
16307
16308 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16309 instead of kern/sparc64/ieee1275/init.c.
16310 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16311 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16312 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16313 grub/machine/kernel.h.
16314 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16315 (grub_claim_heap) [__sparc__]: Use sparc version.
16316 (grub_machine_init): Moved args parsing to
16317 (grub_parse_cmdline): ...this.
16318 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16319 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16320 New definition.
16321 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16322
16323 Move BOOTP to separate file.
16324
16325 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16326 * grub-core/net/net.c: Move all BOOTP functions to
16327 * grub-core/net/bootp.c: ... here.
16328
16329 Use frame interface on PXE.
16330
16331 * grub-core/Makefile.core.def (pxecmd): Removed.
16332 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16333 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16334 * grub-core/i386/pc/pxe.c: Moved from here ...
16335 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16336 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16337 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16338
16339 EFI network support.
16340
16341 * grub-core/Makefile.core.def (efinet): New module.
16342 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16343 here...
16344 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16345 All users updated.
16346 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16347 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16348 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16349 * grub-core/net/drivers/efi/efinet.c: New file.
16350 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16351 (grub_efi_net_config): New extern var.
16352
16353 Various cleanups and bugfixes.
16354
16355 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16356 error.
16357 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16358 disk declared as partition.
16359 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16360 leak on failure.
16361 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16362 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16363 (grub_debug_zalloc): Likewise.
16364 (grub_debug_realloc): Likewise.
16365 (grub_debug_memalign): Likewise.
16366 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16367 Check that target is IPv4.
16368 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16369 local-mac-address as fallback.
16370 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16371 memory leak.
16372 * grub-core/net/ip.c (ipchksum): Rename to ...
16373 (grub_net_ip_chksum): ... this. All users updated.
16374 (grub_net_recv_ip_packets): Special handling for DHCP.
16375 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16376
16377 Unify prefix handling
16378
16379 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16380 (grub_machine_get_bootlocation): ... this.
16381 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16382 (grub_machine_get_bootlocation): ... this.
16383 (grub_prefix): New variable.
16384 (prefix): Removed.
16385 (root_dev): New variable.
16386 (dir): Likewise.
16387 (main): Use new variables.
16388 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16389 Revamped into ...
16390 (grub_machine_get_bootlocation): ... this.
16391 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16392 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16393 (grub_machine_get_bootlocation): ... this.
16394 (grub_machine_set_prefix): Removed.
16395 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16396 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16397 Revamped into ...
16398 (grub_machine_get_bootlocation): ... this.
16399 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16400 (grub_set_prefix_and_root): ... this. All users updated.
16401 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16402 Revamped into ...
16403 (grub_machine_get_bootlocation): ... this.
16404 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16405 (grub_machine_get_bootlocation): New proto.
16406 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16407
16408 Less intrusive and more reliable seek on network implementation.
16409
16410 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16411 (grub_file_seek): Don't call grub_file_net_seek.
16412 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16413 (grub_net_fs_read_real): .. this.
16414 (grub_net_seek_real): Use net->offset.
16415 (grub_net_fs_read): Seek if necessary.
16416
16417 Unify IEEE1275 netwotk config with the other platforms.
16418
16419 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16420 New variable.
16421 (grub_machine_get_bootlocation): Support network.
16422 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16423 Support type and device parsing.
16424 (grub_ieee1275_get_device_type): New function.
16425 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16426 into ...
16427 (grub_ieee1275_net_config_real): ... this.
16428 (grub_ofnet_probecards): Removed.
16429 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16430 * include/grub/ieee1275/ofnet.h: Removed.
16431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16432 extern var.
16433 (grub_ieee1275_get_device_type): New function.
16434
16435 Unify network device closing across platforms and make more robust.
16436
16437 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16438 grub_grubnet_fini.
16439 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16440 already.
16441 * grub-core/net/net.c (grub_net_network_level_interface_register):
16442 Update num_ifaces.
16443 (grub_net_card_unregister): Close all interfaces.
16444 (receive_packets): Don't poll if no iterfaces are registered.
16445 Open if necessary.
16446 (grub_net_fini_hw): New function.
16447 (grub_net_restore_hw): Likewise.
16448 (fini_hnd): New variable.
16449 (GRUB_MOD_INIT): Register preboot hook.
16450 (GRUB_MOD_FINI): Run and unregister preboot hook.
16451
16452 Poll network cards when idle.
16453
16454 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16455 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16456 * grub-core/net/net.c (receive_packets): Save last poll time.
16457 (grub_net_poll_cards_idle_real): New function.
16458 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16459 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16460 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16461
16462 Rename ofnet interfaces.
16463
16464 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16465 (grub_ofnet_findcards): Use ofnet_%s names.
16466
16467 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16468
16469 Cleanup socket opening.
16470
16471 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16472 (grub_net_fs_close): Likewise.
16473 (grub_net_fs_read_real): Use eof member.
16474 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16475 (+grub_net_udp_close): New inline function.
16476
16477 * include/grub/net/tftp.h: Moved to the top of ...
16478 * grub-core/net/tftp.c: ... here.
16479 * include/grub/net/ip.h: Moved mostly to the top of ...
16480 * grub-core/net/ip.c: ... here.
16481 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16482 * grub-core/net/ethernet.c: ... here.
16483
16484 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16485
16486 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16487 FS name.
16488
16489 * include/grub/net/ip.h (ipv4_ini): Removed.
16490 (ipv4_fini): Likewise.
16491
16492 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16493 (grub_net_send_ip_packets): Likewise.
16494
cf1337aa
VS
164952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16498 grub_read_cmos prototype.
16499
93c06ff9
VS
165002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 VGA text support in qemu-mips
16503
16504 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16505 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16506 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16507 text.
16508 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16509 * grub-core/kern/vga_init.c: ... this.
16510 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16511 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16512 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16513 Adjust.
16514 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16515 GRUB_MACHINE_PCI_IO_BASE.
16516
748ccabe
VS
165172011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 MIPS qemu flash support.
16520
16521 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16522 magic.
16523 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16524 (grub_machine_init): Probe memory if its size isn't known.
16525 * util/grub-mkimage.c (image_targets): Add flash targets.
16526 (generate_image): Handle flash targets.
16527
d7345994
VS
165282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 MIPS qemu at_keyboard support.
16531
16532 * gentpl.py (videoinkernel): Add qemu-mips.
16533 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16534 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16535 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16536 modules.
16537 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16538 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16539 * grub-core/term/serial.c (grub_serial_register)
16540 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16541
a07a81b3
VS
165422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 CMOS support on sparc.
16545
16546 * gentpl.py (cmos): Add powerpc and sparc.
16547 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16548 powerpc and sparc.
16549 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16550 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16551 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16552 grub_set_datetime_cmos.
16553 * grub-core/lib/ieee1275/cmos.c: New file.
16554 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16555 (find_rtc): Set no_ieee1275_rtc on error.
16556 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16557 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16558 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16559 fail. Move value to argument. All users updated
16560 (grub_cmos_write): Likewise.
16561 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16562 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16563 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16564 grub_get_datetime_cmos and grub_set_datetime_cmos.
16565
77546584
GS
165662011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16567
16568 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16569 sourcing grub-mkconfig_lib.
16570 * util/update-grub_lib.in: Likewise.
16571 * util/grub.d/00_header.in: Likewise.
16572 * util/grub.d/10_hurd.in: Likewise.
16573 * util/grub.d/10_kfreebsd.in: Likewise.
16574 * util/grub.d/10_linux.in: Likewise.
16575 * util/grub.d/10_netbsd.in: Likewise.
16576 * util/grub.d/10_windows.in: Likewise.
16577 * util/grub.d/20_linux_xen.in: Likewise.
16578 * util/grub.d/30_os-prober.in: Likewise.
16579
54894791
CW
165802011-06-28 Colin Watson <cjwatson@ubuntu.com>
16581
16582 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16583 default_bg_color rather than black.
16584 (grub_gfxterm_fullscreen): Likewise.
16585 (grub_gfxterm_background_color_cmd): Save new background color in
16586 default_bg_color.
16587
8d5d8444
VS
165882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16591
5afeb5bd
VS
165922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16595 mismerge.
16596
ba7df45e
VS
165972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 Chainloading on coreboot support.
16600
16601 * grub-core/Makefile.core.def (chain): Add coreboot.
16602 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16603
d0b526b2
VS
166042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16607 if it happens.
16608
5ff1d945
VS
166092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 Implement time command.
16612
16613 * grub-core/Makefile.core.def (time): New module.
16614 * grub-core/commands/time.c: New file.
16615 * grub-core/script/parser.y: Remove "time" keyword.
16616 * grub-core/script/yylex.l: Likewise.
16617
5ebaad7e
VS
166182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16621
bdea3798
VS
166222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16625 when handling leftovers.
16626
b28c5655
VS
166272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16630 so that help2man doesn't fail.
16631
b6f945dc
VS
166322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16635 type in pointers on sparc64.
16636 (get_card_packet): Likewise.
16637
f9b75e8a
CW
166382011-06-27 Colin Watson <cjwatson@ubuntu.com>
16639
16640 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16641 with `*'.
16642 (grub_cmd_videoinfo): Fetch current video mode.
16643
1e3d9b86
VS
166442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16647 because of underlying system restrictions.
16648
efff4b1c
VS
166492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16652 necessary.
16653
9fc9ce37
VS
166542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 Coreboot video support.
16657
16658 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16659 (vbe): Likewise.
16660 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16661 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16662 here ...
16663 * grub-core/kern/i386/int.S: ... here.
16664 * grub-core/video/i386/pc/vbe.c: Updated includes.
16665 * grub-core/video/i386/pc/vga.c: Likewise.
16666 * include/grub/i386/coreboot/memory.h
16667 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16668 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16669 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16670 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16671 Disable interrupts.
16672 * include/grub/i386/pc/vga.h: Removed. All users updated.
16673
41bec7fe
VS
166742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16677 definitions for dprintf.
16678 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16679
ca80309d
VS
166802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16681
16682 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16683 prototype.
16684 (get_card_packet): Likewise.
16685
9e322ce8
YB
166862011-06-26 Yves Blusseau <blusseau@zetam.org>
16687
16688 Display the path of the file when file is not found
16689
16690 * grub-core/fs/fat.c: Display the filename when file is not found.
16691 * grub-core/fs/fshelp.c: Likewise.
16692 * grub-core/fs/hfs.c: Likewise.
16693 * grub-core/fs/jfs.c: Likewise.
16694 * grub-core/fs/minix.c: Likewise.
16695 * grub-core/fs/ufs.c: Likewise.
16696 * grub-core/fs/btrfs.c: Likewise.
16697 * grub-core/commands/i386/pc/play.c: Likewise.
16698
cbf597af
SJ
166992011-06-26 Szymon Janc <szymon@janc.net.pl>
16700
16701 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16702 pointer checks before calling grub_free().
16703 * grub-core/commands/wildcard.c (match_devices): Likewise.
16704 * grub-core/commands/wildcard.c (match_files): Likewise.
16705 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16706 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16707 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16708 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16709 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16710 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16711 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16712 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16713 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16714
6295b32f
P
167152011-06-25 Patrick <p55@mailinator.com>
16716
16717 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16718
77c0840b
VS
167192011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16722 (grub_pxe_send): Likewise.
16723 (GRUB_MOD_INIT): Fix types.
16724
40ea05de
SJ
167252011-06-24 Szymon Janc <szymon@janc.net.pl>
16726
16727 * grub-core/io/xzio.c: Fix code style issues
16728
90162423
MRA
167292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
167302011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16731
16732 Network infrastructure.
16733 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16734
16735 * include/grub/net/arp.h: New file.
90162423
MRA
16736 * include/grub/net/device.h: Likewise.
16737 * include/grub/net/ethernet.h: Likewise.
16738 * include/grub/net/ip.h: Likewise.
16739 * include/grub/net/netbuff.h: Likewise.
16740 * include/grub/net/tftp.h: Likewise.
16741 * include/grub/net/udp.h: Likewise.
16742 * include/grub/ieee1275/ofnet.h: Likewise.
16743 * include/grub/emu/export.h: Likewise.
16744 * include/grub/net.h: Likewise.
16745 * grub-core/net/arp.c: Likewise.
16746 * grub-core/net/ethernet.c: Likewise.
16747 * grub-core/net/ip.c: Likewise.
16748 * grub-core/net/udp.c: Likewise.
16749 * grub-core/net/tftp.c: Likewise.
16750 * grub-core/net/netbuff.c: Likewise.
16751 * grub-core/net/net.c: Likewise.
16752 * grub-core/net/drivers/emu/emunet.c: Likewise.
16753 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16754 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16755 export.h.
16756 * grub-core/Makefile.core.def (net): New module.
16757 (tftp): Likewise.
16758 (ofnet): Likewise.
16759 (emunet): Likewise.
16760 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16761 network protocols.
16762 * grub-core/kern/device.c (grub_net_open) : New variable.
16763 (grub_device_open): Handle network device.
16764 (grub_device_close): Likewise.
16765 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16766 (grub_grubnet_fini): Likewise.
16767 (grub_file_seek): Seek in network device.
16768 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16769 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16770 network root.
16771 (grub_machine_fini): Call grub_grubnet_fini.
16772 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16773 network.
16774 (grub_ieee1275_get_aliasdevname): New function.
16775 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16776 Add unofficial Solaris network info.
16777 (grub_multiboot_make_mbi): Likewise.
16778 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16779 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16780 * include/grub/device.h (grub_fs): Removed.
16781 * include/grub/err.h (grub_err_t): Add network-related values.
16782 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16783 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16784 (grub_ieee1275_get_aliasdevname): New proto.
16785 * include/grub/net.h: Rewritten.
423a1849 16786
031f22a0
VS
167872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16790 names.
16791
4388ca72
VS
167922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16795 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16796 it truncates the output.
16797 Reported by: Ximin Luo.
16798
98e2f506
VS
167992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16802
2a5e94d8
VS
168032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16806 partmap before abstraction.
16807
535c1910
AK
168082011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16809
16810 * util/grub-mkconfig_lib.in: Add missing quotes.
16811
bc09e1a2
VS
168122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16815 old method if mountinfo would return /dev/root and /dev/root doesn't
16816 exist.
16817
290766fb
VS
168182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16819
16820 ZFS zlib support
16821
16822 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16823 (decomp_table): Add zlib entries.
16824 (zio_read): USe 8 bits for compression function rather than 3.
16825 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16826
168272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * grub-core/disk/ahci.c: Add missing license statements.
16830 * grub-core/fs/romfs.c: Likewise.
16831 * grub-core/lib/ia64/setjmp.S: Likewise.
16832 * grub-core/loader/i386/pc/freedos.c: Likewise.
16833 * grub-core/loader/ia64/efi/linux.c: Likewise.
16834 * grub-core/video/colors.c: Likewise.
16835 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16836
5ab3f48a
VS
168372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 AHCI support.
16840
16841 * grub-core/Makefile.core.def (ata_pthru): Removed.
16842 (ahci): New module.
16843 (pata): Likewise.
16844 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16845 on unload.
16846 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16847 readwrite.
16848 (grub_hdparm_do_check_powermode_cmd): Likewise.
16849 (grub_hdparm_do_smart_cmd): Likewise.
16850 (grub_hdparm_set_val_cmd): Likewise.
16851 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16852 * grub-core/disk/ahci.c: New file.
16853 * grub-core/disk/ata.c: Factor out the low-level part into ...
16854 * grub-core/disk/pata.c: ... here.
16855 * grub-core/disk/ata_pthru.c: Contents moved to ...
16856 * grub-core/disk/pata.c: ... here.
16857 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16858 (grub_scsi_iterate): Use grub_scsi_names.
16859 (grub_scsi_open): Likewise.
16860 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16861 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16862 (grub_ata_regs_t): New struct.
16863 (grub_disk_ata_pass_through_parms): Likewise.
16864 (grub_ata_device): Renamed to ...
16865 (grub_ata): ... this.
16866 (grub_ata_dev): New struct.
16867 Removed all low-level inline functions.
16868 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16869 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16870 iterate hooks and open. All users updated.
16871 * util/grub-install.in: Handle AHCI disk module.
16872
c31dc5f5
SJ
168732011-06-23 Szymon Janc <szymon@janc.net.pl>
16874
16875 Add support for DRI and RSTn markers in JPEG files.
16876
16877 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16878 (JPEG_MARKER_RST0): Likewise.
16879 (JPEG_MARKER_RST1): Likewise.
16880 (JPEG_MARKER_RST2): Likewise.
16881 (JPEG_MARKER_RST3): Likewise.
16882 (JPEG_MARKER_RST4): Likewise.
16883 (JPEG_MARKER_RST5): Likewise.
16884 (JPEG_MARKER_RST6): Likewise.
16885 (JPEG_MARKER_RST7): Likewise.
16886 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16887 (grub_jpeg_decode_dri): New function.
16888 (grub_jpeg_decode_sos): Move image data related part into
16889 grub_jpeg_decode_data function.
16890 (grub_jpeg_decode_data): New function.
16891 (grub_jpeg_reset): New function.
16892 (grub_jpeg_decode_jpeg): Handle new markers.
16893
fe12fd5b
VS
168942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * util/ieee1275/ofpath.c (check_sas): Close fd.
16897 (main): Free of_path.
16898 Reported by: David Volgyes <dvolgyes>.
16899
03147f46
VS
169002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16903 Reported by: David Volgyes <dvolgyes>.
16904
cad3237f
VS
169052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16908 file after stat.
16909 Reported by: David Volgyes <dvolgyes>.
16910
13548d26
VS
169112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16914
16915 Reported by: David Volgyes <dvolgyes>.
16916
e061a1b5
VS
169172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16920 Prevent memory leak.
16921
1abe47dc
VS
169222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16925 (main): Close file.
e061a1b5 16926 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16927
fbc62666
VS
169282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16931 to continue if allocation is failed.
16932
16933 Reported by: David Volgyes <dvolgyes>.
16934
e98c83e9
DV
169352011-06-23 David Volgyes <dvolgyes>
16936
16937 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16938 dereference.
16939
a199a8cd
VS
169402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 Fix spurious warning.
16943
16944 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16945 (acorn_partition_map_find): Use .bin member.
16946
e2d1dba0
VS
169472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16950 /dev/root as a valid device.
16951
8a5d6919
JM
169522011-06-23 Jim Meyering <meyering@redhat.com>
16953
e2d1dba0
VS
16954 Avoid NULL deref in grub_device_open.
16955
8a5d6919
JM
16956 * grub-core/kern/device.c (grub_device_open): Don't dereference
16957 a NULL pointer upon failed grub_env_get.
16958
f7db6f4a
VS
169592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 Support non-512B sectors and agglomerate reads.
16962
16963 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16964 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16965 (disk_io_guid): Removed.
16966 (make_devices): Locate solely by BlockIO.
16967 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16968 (grub_efidisk_read): Use read_blocks.
16969 (grub_efidisk_write): Use write_blocks.
16970 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16971 log_sector_size.
16972 (get_safe_sectors): Handle non-512B sectors.
16973 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16974 sectors.
16975 (grub_biosdisk_write): Handle non-512B sectors.
16976 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16977 (grub_scsi_read): Remove special non-512B block handling (now handled
16978 one level up).
16979 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16980 and do sanity checks.
16981 (grub_disk_adjust_range): Handle non-512B sectors.
16982 (transform_sector): New function.
16983 (grub_disk_read_small): Likewise.
16984 (grub_disk_read): Rewritten.
16985 (grub_disk_write): Handle non-512B sectors.
16986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16987 log_sector_size.
16988 (open_device): Use log_sector_size.
16989 (grub_util_biosdisk_read): Likewise.
16990 (grub_util_biosdisk_write): Likewise.
16991 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16992 non-512B sectors.
16993 (pc_partition_map_embed): Likewise.
16994 * include/grub/disk.h (grub_disk): New field log_sector_size.
16995 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16996 (GRUB_DISK_CACHE_BITS): Increased to 6.
16997 * util/grub-fstest.c (fstest): New command testload.
16998 (argp_parser): Likewise.
16999
881ac815
RM
170002011-06-16 Robert Millan <rmh@gnu.org>
17001
17002 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17003 `ata' driver on kernel of FreeBSD 9.
17004
17005 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17006 (get_ataraid_disk_name): New functions.
17007 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17008 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17009 get_ataraid_disk_name() and get_ada_disk_name().
17010
1e9aef7d
CW
170112011-06-13 Colin Watson <cjwatson@ubuntu.com>
17012
17013 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17014 input format.
17015
351c7c8a
CW
170162011-05-29 Colin Watson <cjwatson@ubuntu.com>
17017
17018 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17019 `ftp.gnu.org' for `alpha.gnu.org'.
17020
6b4e6430
CW
170212011-05-27 Colin Watson <cjwatson@ubuntu.com>
17022
17023 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17024 partitions under /dev/disk/by-id/.
17025
c64db050
CW
170262011-05-27 Colin Watson <cjwatson@ubuntu.com>
17027
17028 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17029 after ten consecutive open failures. Scanning all the way up to
17030 10000 is excessive and can cause serious performance problems in
17031 some configurations.
17032 Fixes Ubuntu bug #787461.
17033
245f4aba
VS
170342011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17037 opening new one.
17038
f767c929
VS
170392011-05-21 Colin Watson <cjwatson@ubuntu.com>
170402011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Don't stat devices unless we have to.
17043
17044 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17045 dir == /dev/mapper.
17046 (grub_guess_root_device): Use already known os_dev if possible.
17047 * grub-core/kern/emu/hostdisk.c
17048 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17049 if device is known to be a dm one.
17050
f35fa3a6
CW
170512011-05-20 Colin Watson <cjwatson@ubuntu.com>
17052
17053 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17054 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17055 Reported by: Pawel Tecza.
17056
9a79fcf2
VS
170572011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17060 (lsefisystab): Likewise.
17061 (lssal): Likewise.
17062 (lsefimmap): Likewise.
17063 (hdparm): Enable on qemu-mips.
17064 (setjmp): Add ia64 nodist.
17065 (serial): Simplify tags.
17066
63e3eea9
CW
170672011-05-18 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * Makefile.util.def (grub-ofpathname): Install manual page.
17070
09728256
CW
170712011-05-18 Colin Watson <cjwatson@ubuntu.com>
17072
17073 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17074
8b63a142
CW
170752011-05-18 Colin Watson <cjwatson@ubuntu.com>
17076
17077 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17078
e775d8ed
VS
170792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17082 into dprintf.
17083
bf947d36
VS
170842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 Use full 64-bit division.
17087
17088 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17089 (grub_divmod64): ... this.
17090 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17091 version.
17092
b84f26c5
CW
170932011-05-18 Colin Watson <cjwatson@ubuntu.com>
17094
17095 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17096 `source'.
17097
5626056f
CW
170982011-05-18 Colin Watson <cjwatson@ubuntu.com>
17099
17100 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17101 to avoid accidents when debugging with 'sh -x'.
17102 * grub-core/gensyminfo.sh.in: Likewise.
17103 * tests/example_scripted_test.in: Likewise.
17104 * tests/grub_cmd_regexp.in: Likewise.
17105 * tests/grub_script_blanklines.in: Likewise.
17106 * tests/grub_script_dollar.in: Likewise.
17107 * tests/grub_script_expansion.in: Likewise.
17108 * tests/grub_script_final_semicolon.in: Likewise.
17109 * tests/partmap_test.in: Likewise.
17110 * tests/util/grub-shell-tester.in: Likewise.
17111 * tests/util/grub-shell.in: Likewise.
17112
e2965f4a
CW
171132011-05-18 Colin Watson <cjwatson@ubuntu.com>
17114
17115 Move gfxmenu color handling to video, so that gfxterm can use it
17116 too.
17117
17118 * grub-core/gfxmenu/named_colors.c: Move to ...
17119 * grub-core/video/colors.c: ... here. Rename
17120 grub_gui_get_named_color to grub_video_get_named_color.
17121 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17122 * grub-core/video/colors.c (my_isxdigit): ... here.
17123 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17124 Move to ...
17125 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17126 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17127 to ...
17128 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17129
17130 * include/grub/gui.h (grub_gui_color_t): Move to ...
17131 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17132 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17133 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17134 * include/grub/gui.h (grub_gui_map_color): Move to ...
17135 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17136 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17137 to ...
17138 * include/grub/video.h (grub_video_get_named_color): ... here.
17139 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17140 * include/grub/video.h (grub_video_parse_color): ... here.
17141
17142 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17143 video/colors.c.
17144 (gfxmenu): Remove gfxmenu/named_colors.c.
17145 (video) [videomodules]: Add video/colors.c.
17146
17147 Add a background_color command.
17148
17149 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17150 function.
17151 (GRUB_MOD_INIT): Register background_color command.
17152 (GRUB_MOD_FINI): Unregister background_color command.
17153 (redraw_screen_rect): Allow blend/replace of text layer to be
17154 controlled independently from whether there is a background bitmap.
17155 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17156 changing bitmap.
17157
1e4b4390
VS
171582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17159
26618ff0
VS
17160 Patch BPB in ntldr and chainloader --bpb.
17161
1e4b4390
VS
17162 * grub-core/fs/fat.c: Include grub/fat.h.
17163 (grub_fat_bpb): Moved to ...
17164 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17165 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17166 grub/ntfs.h.
17167 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17168 Moved from here...
17169 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17170 here.
17171 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17172 New function.
17173 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17174 (GRUB_MOD_INIT): Show --bpb.
17175 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17176 * grub-core/normal/main.c (features): New variable.
17177 (GRUB_MOD_INIT): Set feature_* variables.
17178 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17179 proto.
17180 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17181
cf02731e
VS
171822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17185 for cleanness.
17186
e3a1073f
VS
171872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 FreeDOS direct loading support.
17190
17191 * docs/grub.texi (Supported OS): Add FreeDOS.
17192 * grub-core/Makefile.core.def (freedos): New module.
17193 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17194 variable.
17195 (grub_relocator16_boot): Handle %ebx.
17196 * grub-core/lib/i386/relocator16.S: Likewise.
17197 * grub-core/loader/i386/pc/freedos.c: New file.
17198
05caa461
VS
171992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 Long Linux command line support.
17202
17203 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17204 (maximal_cmdline_size): New variable.
17205 (allocate_pages): Use maximal_cmdline_size.
17206 (grub_cmd_linux): Set and use maximal_cmdline_size.
17207 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17208 (allocate_pages): Use maximal_cmdline_size.
17209 (grub_cmd_linux): Set and use maximal_cmdline_size.
17210 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17211 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17212 and cmdline_size.
17213
a2491e23
VS
172142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
172152011-05-18 Colin Watson <cjwatson@ubuntu.com>
17216
17217 Improve devmapper support
17218
17219 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17220 (grub_util_is_lvm): New function.
17221 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17222 than lvm if not dmraid.
17223 Handle mapped md nodes.
17224 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17225 (grub_util_device_is_mapped): ... this. Make always available. All users
17226 updated.
17227 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17228 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17229 dmraid nodes.
17230 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17231
6ad6223e
VS
172322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17233
17234 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17235
17236 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17237 * grub-core/modinfo.sh.in: New file.
17238 * grub-core/Makefile.core.def (modinfo.sh): New script.
17239 * util/grub-mknetdir.in: Use modinfo.sh.
17240 * util/grub-mkrescue.in: Likewise.
17241
543a8f6e
VS
172422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17245 Fix potential usage of Elf32 instead of Elf64 when compiling on
17246 32-bit architecture. Add endianness macros while on it.
17247
4959e111
VS
172482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 Use mipsel- rather than mips- in directories involving mipsel ports to
17251 allow both endiannesses coexist.
17252
17253 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17254 mips. All conditions adjusted.
17255 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17256 variable.
17257 * util/grub-install.in: Adjust conditions to take renaming into account.
17258 * util/grub-mkimage.c (image_targets): Likewise. New target
17259 mips-qemu_mips-elf for bigendian mips.
17260
35341bbc
VS
172612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Avoid unnecessary copying on MIPS.
17264
17265 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17266 early if src == dest.
17267 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17268 compression is none.
17269
b772baed
VS
172702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 Reduce memory footprint on SGI by putting modules before the kernel
17273 as opposed to after.
17274
17275 * grub-core/Makefile.core.def (kernel): Increase linking address.
17276 (none_decompress): Likewise.
17277 (xz_decompress): Likewise.
17278 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17279 address.
17280 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17281 layout change.
17282 (grub_arch_modules_addr): New function.
17283 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17284 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17285 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17286 here.
17287 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17288 (grub_total_modules_size): ... this. Make global.
17289 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17290 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17291 New definition.
17292 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17293 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17294 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17295 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17296 * util/grub-mkimage.c (image_target_desc): New flag
17297 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17298 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17299 (generate_image): Handle images with modules before kernel.
17300
566a1917
VS
173012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 Prevent potential loss of memory map by overwrite on qemu-mips.
17304
17305 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17306 Save ram size in $s4.
17307 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17308 All users changed to grub_arch_memsize.
17309 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17310 Loongson.
17311 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17312 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17313 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17314 external variable.
17315
5d420cd9
CW
173162011-05-17 Colin Watson <cjwatson@ubuntu.com>
17317
17318 * .bzrignore: Remove grub-dumpbios.
17319
d064b830
CW
173202011-05-17 Colin Watson <cjwatson@ubuntu.com>
17321
17322 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17323 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17324 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17325 existing options which append).
17326 * docs/grub.texi (Simple configuration): Document new options.
17327 Reported by: Ian Jackson. Fixes Debian bug #617538.
17328
3ca2b466
CW
173292011-05-17 Colin Watson <cjwatson@ubuntu.com>
17330
17331 * util/grub-fstest.c (cmd_cat): New function.
17332 (fstest): Handle CMD_CAT.
17333 (options): Add cat.
17334 (argp_parser): Handle cat.
17335
24c9143a
CW
173362011-05-17 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * Makefile.util.def (grub-bin2h): Don't install.
17339 * docs/man/grub-bin2h.h2m: Remove.
17340
90f7ac19
VS
173412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17344 place.
17345
8d4a5178
VS
173462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 Reenable qemu-mips port.
17349
17350 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17351 Fix small arc bug while on it.
17352 * gentpl.py: Handle qemu_mips.
17353 * grub-core/Makefile.am: Likewise.
17354 * grub-core/Makefile.core.def: Likewise.
17355 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17356 inappropriate includes.
17357 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17358 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17359 * grub-core/kern/main.c (grub_modules_get_end)
17360 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17361 * grub-core/kern/mips/qemu-mips: Moved to ..
17362 * grub-core/kern/mips/qemu_mips: ... this.
17363 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17364 (grub_machine_init): Call terminfo_init and serial_init.
17365 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17366 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17367 New variable.
17368 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17369 parameter passing.
17370 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17371 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17372 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17373 * include/grub/mips/qemu_mips/cmos.h: New file.
17374 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17375 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17376 Removed.
17377 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17378 Use correct mips-style address.
17379 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17380 (GRUB_TICKS_PER_SECOND): Removed.
17381 (grub_get_rtc): Likewise.
17382 (grub_cpu_idle): Likewise.
17383 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17384 New definition.
17385 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17386 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17387 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17388 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17389 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17390 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17391 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17392 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17393
400b9371
VS
173942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 SGI ARCS port.
17397
17398 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17399 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17400 platforms.
17401 * configure.ac: New target mips-arc.
17402 * gentpl.py: Likewise.
17403 * grub-core/Makefile.am: Likewise.
17404 * grub-core/Makefile.core.def: Likewise.
17405 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17406 (none_decompress): Likewise.
17407 (lsdev): New module.
17408 (datetime): Use lib/arc/datetime.c on ARC.
17409 (part_dvh): New module.
17410 * grub-core/commands/arc/lsdev.c: New file.
17411 * grub-core/disk/arc/arcdisk.c: Likewise.
17412 * grub-core/kern/mips/arc/init.c: Likewise.
17413 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17414 aligned addresses.
17415 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17416 support.
17417 (grub_arch_dl_relocate_symbols): Likewise.
17418 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17419 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17420 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17421 platforms.
17422 * grub-core/lib/arc/datetime.c: New file.
17423 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17424 pci.h on non-loongson.
17425 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17426 (grub_linux_boot): Set unused registers to 0.
17427 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17428 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17429 * grub-core/mmap/mips/uppermem.c: ...here.
17430 * grub-core/partmap/dvh.c: New file.
17431 * grub-core/term/arc/console.c: Likewise.
17432 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17433 (grub_terminfo_set_current): Add terminal "arc".
17434 (grub_terminfo_readkey): Support ARC sequences.
17435 * include/grub/arc/arc.h: New file.
17436 * include/grub/arc/console.h: Likewise.
17437 * include/grub/disk.h (grub_disk_dev_id): Add
17438 GRUB_DISK_DEVICE_ARCDISK_ID.
17439 * include/grub/mips/arc/kernel.h: New file.
17440 * include/grub/mips/arc/memory.h: Likewise.
17441 * include/grub/mips/arc/time.h: Likewise.
17442 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17443 * include/grub/mips/kernel.h (grub_halt): ... here.
17444 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17445 here...
17446 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17447 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17448 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17449 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17450 proto.
17451 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17452 from here ...
17453 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17454 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17455 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17456 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17457 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17458 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17459 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17460 (grub_phys_addr_t): Moved from here ...
17461 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17462 (grub_vtop): Moved from here ...
17463 * include/grub/mips/memory.h (grub_vtop): ... here.
17464 (grub_map_memory): Moved from here ...
17465 * include/grub/mips/memory.h (grub_map_memory): ... here.
17466 (grub_unmap_memory): Moved from here ...
17467 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17468 (grub_machine_mmap_iterate): Moved from here ...
17469 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17470 (grub_mmap_get_lower): Moved from here ...
17471 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17472 (grub_mmap_get_upper): Moved from here ...
17473 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17474 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17475 here ...
17476 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17477 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17478 here ...
17479 * include/grub/mips/time.h (grub_get_rtc): ... here.
17480 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17481 here ...
17482 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17483 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17484 here ...
17485 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17486 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17487 definition.
17488 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17489 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17490 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17491 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17492 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17493 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17494 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17495 (GRUB_MACHINE_LINK_ADDR): Likewise.
17496 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17497 to 6.
17498 * util/grub-install.in: Run dvhtool on ARC.
17499 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17500 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17501
c8ecc840
VS
175022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17505 blocks.
17506
153a4b55
VS
175072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17510 after enabling port.
17511
ff44d107
VS
175122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 Skip incorrect USB devices.
17515
17516 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17517 configcnt == 0.
17518 * include/grub/usb.h (grub_usb_err_t): New enum value
17519 GRUB_USB_ERR_BADDEVICE.
17520
638dbe4f
VS
175212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 Fuloong video init support.
17524
17525 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17526 well.
17527 (grub_vga_read_arx): New function.
17528 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17529 definition.
17530 (framebuffer): New members io, mmioptr and mmiobase.
17531 (read_sis_cmd): New function.
17532 (write_sis_cmd): Likewise.
17533 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17534 rather than 640x400.
17535 * grub-core/video/sis315_init.c: New file.
17536
c3fc520c
VS
175372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17540 non-loongson.
17541 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17542 to grub_dl_register_symbol.
17543
67b1e5c9
VS
175442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 Fix compilation errors.
17547
17548 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17549 potentially unused.
17550 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17551 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17552 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17553 to loongson machines.
17554
b756f75f
VS
175552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 Several FS mtime support.
17558
17559 * grub-core/fs/affs.c (grub_affs_time): New struct.
17560 (grub_affs_file): New field mtime.
17561 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17562 type. Removed 'size'. New field 'di'. All users updated.
17563 (grub_affs_mount): Simplify checsum checking.
17564 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17565 (grub_affs_dir): Handle mtime.
17566 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17567 (grub_cpio_dir): Likewise.
17568 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17569 (grub_hfs_filerec): New field mtime.
17570 (grub_hfs_dir): Handle mtime.
17571 (grub_hfs_mtime): New function.
17572 (grub_hfs_fs): Register grub_hfs_mtime.
17573 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17574 (grub_iso9660_dir): New field mtime.
17575 (grub_fshelp_node): New field dirent.
17576 (iso9660_to_unixtime): New function.
17577 (iso9660_to_unixtime2): Likewise.
17578 (grub_iso9660_read_symlink): Use node->dirent.
17579 (grub_iso9660_iterate_dir): Likewise.
17580 (grub_iso9660_dir): Set mtime.
17581 (grub_iso9660_mtime): New function.
17582 (grub_iso9660_fs): Register grub_iso9660_mtime.
17583 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17584 (grub_jfs_inode): New fields atime, ctime and mtime.
17585 (grub_jfs_dir): Set mtime.
17586 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17587 * grub-core/fs/ntfs.c (list_file): Set mtime.
17588 (grub_ntfs_dir): Likewise.
17589 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17590 (grub_reiserfs_iterate_dir): Set mtime.
17591 (grub_reiserfs_dir): Likewise.
17592 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17593 (grub_fshelp_node): Likewise.
17594 (grub_sfs_iterate_dir): Set mtime.
17595 (grub_sfs_dir): Likewise.
17596 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17597 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17598 (grub_xfs_inode): New fields atime, mtime, ctime.
17599 (grub_xfs_dir): Set mtime.
17600 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17601 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17602 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17603
17604 Support UDF symlinks.
17605
17606 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17607 (grub_ufs_read_symlink): New function. All users updated.
17608
17609 Check amiga partmap checksum.
17610
17611 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17612 (grub_amiga_partition): Likewise.
17613 (amiga_partition_map_checksum): New function.
17614 (amiga_partition_map_iterate): Check checksum.
17615
5470225d
VS
176162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 ROMFS support.
17619
17620 * Makefile.util.def (libgrubmods.a): Add romfs.
17621 * grub-core/Makefile.core.def (romfs): New module.
17622 * grub-core/fs/romfs.c: New file.
17623
d4680a35
VS
176242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 Squashfs v4 support.
17627
17628 * Makefile.util.def (libgrubmods.a): Add squash4.
17629 * grub-core/Makefile.core.def (squash4): New module.
17630 * grub-core/fs/squash4.c: New file.
17631 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17632 disk_input_start, disk_input.
17633 (get_byte): Handle disk_input.
17634 (grub_zlib_disk_read): New function.
17635 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17636
bcb18e74
FZ
176372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
176382011-05-15 Feiran Zheng <famcool@gmail.com>
17639
17640 * Makefile.util.def (libgrubmods.a): Add minix3.
17641 * grub-core/Makefile.core.def (minix3): New module.
17642 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17643 (GRUB_MINIX_BSIZE): Removed.
17644 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17645 (grub_minix_ino_t): New type.
17646 (grub_minix_le_to_cpu_ino): New macro.
17647 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17648 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17649 (grub_minix_data): New field block_size.
17650 (grub_minix_read_file): Handle 64-bit correctly.
17651 * grub-core/fs/minix3.c: New file.
17652
32297d5f
TG
176532011-05-15 Tristan Gingold <gingold@free.fr>
176542011-05-15 Robert Millan <rmh.grub@aybabtu.com>
176552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 IA64 support.
17658
17659 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17660 * configure.ac: Add ia64-efi target.
17661 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17662 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17663 * gentpl.py: Add ia64_efi platform.
17664 Rename x86_efi to efi and Add ia64-efi. All users updated.
17665 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17666 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17667 Remove kern/generic/rtc_get_time_ms.c on EFI.
17668 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17669 kern/ia64/dl_helper.c on ia64-efi.
17670 Add kern/emu/cache.c on emu.
17671 (linux): Use on loader/ia64/efi/linux.c on ia64.
17672 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17673 whether symbol is a function.
17674 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17675 (grub_symbol): New field 'isfunc'.
17676 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17677 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17678 (grub_dl_load_segments): Place all sections into the same region.
17679 [__ia64__]: Create trampolines and got.
17680 [GRUB_MACHINE_EMU]: Call mprotect.
17681 (grub_dl_resolve_symbols): Resolve symbol type as well.
17682 [__ia64__]: Create function descriptors.
17683 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17684 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17685 (grub_get_rtc): New function.
17686 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17687 * grub-core/kern/emu/cache.S: Renamed to ...
17688 * grub-core/kern/emu/cache_s.S: ... this.
17689 [__ia64__]: Add a nop.
17690 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17691 [__ia64__]: New function.
17692 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17693 * grub-core/kern/ia64/dl.c: New file.
17694 * grub-core/kern/ia64/dl_helper.c: Likewise.
17695 * grub-core/kern/ia64/efi/init.c: New file.
17696 * grub-core/kern/ia64/efi/startup.S: Likewise.
17697 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17698 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17699 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17700 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17701 * grub-core/loader/ia64/efi/linux.c: New file.
17702 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17703 (GRUB_MOD_DEP): Likewise.
17704 (grub_dl) [__ia64__]: New fields got and tramp.
17705 (grub_dl): New field 'base'.
17706 (grub_dl_register_symbol): New argument isfunc. All users updated.
17707 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17708 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17709 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17710 (grub_ia64_dl_get_tramp_got_size): New proto.
17711 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17712 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17713 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17714 * include/grub/efi/api.h: Skip call wrappers on ia64.
17715 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17716 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17717 * include/grub/elf.h (ELF_ST_INFO): New definition.
17718 * include/grub/ia64/efi/kernel.h: New file.
17719 * include/grub/ia64/efi/memory.h: Likewise.
17720 * include/grub/ia64/efi/time.h: Likewise.
17721 * include/grub/ia64/kernel.h: Likewise.
17722 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17723 * include/grub/ia64/time.h: New file.
17724 * include/grub/ia64/types.h: Likewise.
17725 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17726 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17727 New protos.
17728 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17729 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17730 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17731 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17732 All users updated.
17733 (EFI64_HEADER_SIZE): New definition. All users updated.
17734 (image_targets): Add ia64-efi.
17735 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17736 jumpers_addr. All users updated.
17737 Create function descriptors.
17738 (count_funcs): New function.
17739 (unaligned_uint32): New struct.
17740 (MASK20): New definition.
17741 (MASK19): Likewise.
17742 (MASKF21): Likewise.
17743 (add_value_to_slot_20b): New function.
17744 (add_value_to_slot_21_real): Likewise.
17745 (add_value_to_slot_21): Likewise.
17746 (ia64_kernel_trampoline): New struct.
17747 (nopm): New variable.
17748 (jump): Likewise.
17749 (make_trampoline): New function.
17750 (relocate_addresses): Handle ia64.
17751 (make_reloc_section): Likewise.
17752 (load_image): Likewise.
17753
983b414d
VS
177542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17757 warning. Move variables before code while on it.
17758
5d063cdc
VS
177592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 Fuloong support.
17762
17763 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17764 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17765 * grub-core/boot/mips/loongson/fuloong.S: New file.
17766 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17767 Explicitly init CS5536.
17768 [FULOONG]: Don't use serial until CS5536 is available.
17769 Set GPIO based on dumps.
17770 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17771 [FULOONG]: Handle GPIO and memory controller differences.
17772 Parse machine type in $a2.
17773 * grub-core/boot/mips/startup_raw.S: Determine and save the
17774 architecture.
17775 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17776 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17777 init on architecture type.
17778 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17779 SIS315E. Don't init at_keyboard on fuloong.
17780 (grub_halt): Support Fuloong.
17781 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17782 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17783 (loongson_machtypes): New array.
17784 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17785 type.
17786 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17787 config. All users updated. Handle CS5536 serial.
17788 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17789 default port on machine type. Register serial as inactive.
17790 * grub-core/video/sis315pro.c: New file.
17791 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17792 definition.
17793 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17794 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17795 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17796 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17797 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17798 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17799 to ...
17800 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17801 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17802 definition.
17803 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17804 (grub_arch_machine): New extern var.
17805 * include/grub/mips/loongson/serial.h
17806 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17807 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17808 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17809 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17810 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17811 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17812 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17813 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17814 * include/grub/term.h (grub_term_register_input_inactive): New inline
17815 function.
17816 (grub_term_register_output_inactive): Likewise.
17817 * include/grub/video.h (grub_video_driver_id): New value
17818 GRUB_VIDEO_DRIVER_SIS315PRO.
17819 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17820 New field "names". All users updated.
17821 New field value IMAGE_FULOONG_FLASH.
17822 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17823
6ada82d1
JU
178242011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17825
17826 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17827 and add some clarification.
17828
90c571a4
VS
178292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17832 platforms if kernel is compressed.
17833
de04eecf
VS
178342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17837 unused modules since currently referrence counter isn't reliable and
17838 there isn't much memory to recover there anyway.
17839
57688121
VS
178402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17843 rather than resetting it to allow modules to reference themselves
17844 in init.
17845
3d2c7e35
VS
178462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17849 counter on dependencies since grub_dl_unref already handles this.
17850
b25db218
VS
178512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17854 on error if not already done.
17855
25a45338
VS
178562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Fix few potential memory misusage.
17859
17860 * grub-core/font/font.c (load_font_index): Don't free char_index to
17861 avoid double free.
b25db218
VS
17862 (grub_font_load): Zero-fill font at alloc for safety.
17863 Close file on error.
17864 (free_font): Free bmp_idx.
25a45338 17865
0cac83df
VS
178662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 * docs/grub.texi (Installation): Fix several outdated claims.
17869
2217a143
VS
178702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 Handle module_license on windows.
17873
17874 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17875 sections shifted.
17876 (insert_string): Make argument const char * instead of char *.
17877 (write_section_data): Handle long section names.
17878 Handle module_license.
17879
d4de6b01
VS
178802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17883 handle class-free menuentries.
17884 (grub_normal_add_menu_entry): Add a check to be sure.
17885
4c2a3b43
VS
178862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17889 PgUp and PgDown.
17890
85c6210f
VS
178912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * configure.ac: Bump version to 1.99.
17894
36084912
VS
178952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 Give ATA device a bit more time on first try in order to allow disks
17898 to spin up.
17899
17900 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17901 if dev->present is 1. Reset dev->present on failure.
17902 (grub_ata_device_initialize): Set dev->present to 1.
17903 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17904 (grub_ata_device): New member 'present'.
17905
bda0e219
VS
179062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * util/grub-mkimage.c (generate_image): Update hash.
17909
19e1c41b
VS
179102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 Flush caches on DMA memory.
17913
17914 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17915 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17916 (grub_dma_free): Likewise.
17917 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17918
91bbcc0c
VS
179192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17922 to avoid asm treating ld and sd as macros.
17923
60ddfad3
VS
179242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17927 decompressor.
17928
a298aa04
VS
179292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17932 grub_decompress_core since later would fail if grub_decompress_core
17933 is too far.
17934
9b44feca
VS
179352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17938 R_MIPS_JALR since it's used by newer compiler.
17939
56dbe7b4
VS
179402011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17943
52856af2
VS
179442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17947 file_path to 0 for surety.
17948 (grub_chainloader_boot): Set exit_data to NULL.
17949 Unset the loader once done.
17950 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17951
9c9bfc6d
VS
179522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17955 unknown key into a dprintf.
17956
dd94a3df
VS
179572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17960 on first non-existant partition.
17961
fa68d99c
VS
179622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17965 openning fails.
17966 Reported by: Mark Korenberg.
17967
157effb7
VS
179682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17971 overflow.
17972
ea75312f
VS
179732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17976 before closing to ensure that it will be readable by grub-setup.
17977
072b5d31
VS
179782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17981 (devpath_1): Use MAKE_PIWG_PATH.
17982 (devpath_2): Likewise.
17983 (devpath_3): Likewise.
17984 (devpath_4): Likewise.
17985 (devpath_5): Likewise.
17986 (devpath_6): Likewise.
17987
17988 The appleldr.mod was checked that to be binary identical to previous
17989 version.
17990
7fae0051
Z
179912011-05-05 Zach <mikezackles>
17992
17993 Support 2010 Macbooks.
17994
17995 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17996 (devs): Add devpath_6.
17997
7c515bee
VS
179982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17999
18000 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18001 /dev/random. /dev/urandom is good enough for our purposes (salting).
18002
ed660bd8
VS
180032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18004
18005 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18006
ee5614b7
VS
180072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18010 hexadecimal.
18011
664889a6
VS
180122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18015 and not 0 on failure.
18016
bd405bbc
CW
180172011-05-03 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18020 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18021 disk; otherwise grub_fs_probe will not fall back to the next
18022 filesystem.
18023 (grub_pxefs_open): Likewise, for consistency.
18024 Reported and tested by: Ezekiel Grave.
18025
4ebff753
CW
180262011-05-03 Colin Watson <cjwatson@ubuntu.com>
18027
18028 * tests/partmap_test.in: Don't hardcode path to parted.
18029 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18030
8f942553
CW
180312011-05-01 Colin Watson <cjwatson@ubuntu.com>
18032
18033 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18034 of `ls' to find out which devices are available.
18035
3c62402d
VS
180362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18039 than source address for efi mmap buffer.
18040
723f63f2
VS
180412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18044 wrong action on non-detecting the magic.
18045
68797f92
VS
180462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18049 already supplied by another part of the module (fixes compilation on
18050 FreeBSD).
18051
6be8715d
VS
180522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18055 match the one used by mdadm.
18056
e91dba5b
CW
180572011-04-21 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * po/README: Add instructions for creating po/LINGUAS.
18060
c85140b3
CW
180612011-04-21 Colin Watson <cjwatson@ubuntu.com>
18062
18063 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18064 #551428.
18065
18066 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18067 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18068 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18069 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18070 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18071 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18072 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18073 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18074 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18075 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18076 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18077 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18078 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18079 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18080 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18081 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18082 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18083 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18084 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18085 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18086 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18087 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18088
92051871
CW
180892011-04-21 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * grub-core/kern/emu/getroot.c
18092 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18093 test that was incorrectly reintroduced in r3214.
18094 Reported by: Ian Dall. Fixes Savannah bug #33133.
18095
b13f79a4
CW
180962011-04-21 Colin Watson <cjwatson@ubuntu.com>
18097
18098 Fix stack pointer handling in 16-bit relocator.
18099
18100 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18101 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18102 Fixes Ubuntu bug #683904.
18103
9b710a88
VS
181042011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * configure.ac: Bump version to 1.99~rc2.
18107
d97e7b59
VS
181082011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18111 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18112 * grub-core/lib/x86_64/setjmp.S: Likewise.
18113 * grub-core/lib/mips/setjmp.S: Likewise.
18114 * grub-core/lib/powerpc/setjmp.S: Likewise.
18115 * grub-core/lib/sparc64/setjmp.S: Likewise.
18116
0624551c
VS
181172011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18120 * grub-core/lib/efi/datetime.c: Likewise.
18121
e8f28d4c
VS
181222011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18125 New function.
18126 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18127 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18128 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18129
bba79a15
VS
181302011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18133 bitmap.
18134 (grub_gfxterm_term_init): Likewise.
18135
abc474ef
VS
181362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 Take into account the decorations the computing menu entry width.
18139
18140 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18141 (grub_gfxmenu_create_box): Register get_border_width.
18142 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18143 if available.
18144 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18145 get_border_width.
18146
e74b3947
EP
181472011-04-18 Endres Puschner <code@e7p.de>
18148
18149 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18150 Don't skip first class.
18151
34faa595
VS
181522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18155 chunks.
18156 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18157
93a777e3
VS
181582011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 Complete 64-bit division support.
18161
18162 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18163 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18164 * include/grub/misc.h (grub_divmod64): Rename to ...
18165 (grub_divmod64_full): ... this.
18166 (grub_divmod64): New inline function.
18167
a5102d94
VS
181682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18171
f3fb7b36
VS
181722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18175 performing the necessary test.
18176
9ac718b0
VS
181772011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18180 (kfreebsd.elf): Likewise.
18181 (pc-chainloader.elf): Likewise.
18182 (ntldr.elf): Likewise.
18183
50d2cc5a
VS
181842011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 Identify RAID by its UUID rather than (guessed) name.
18187
18188 * grub-core/disk/raid.c (ascii2hex): New function.
18189 (grub_raid_open): Accept mduuid/%s specification.
18190 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18191 (get_mdadm_uuid): ... this.
18192 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18193
e03f7bea
VS
181942011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18197 to negative size.
18198
e74c3112
CW
181992011-04-13 Colin Watson <cjwatson@ubuntu.com>
18200
18201 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18202 btrfs subvolume.
18203 * util/grub.d/20_linux_xen.in: Likewise.
18204
78fa584f
CW
182052011-04-13 Colin Watson <cjwatson@ubuntu.com>
18206
18207 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18208 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18209
18210 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18211 Build a list of relevant visible mounts using the mnt_id and
18212 parent_mnt_id fields, and then scan that list at the end.
18213
9d5f8162
CW
182142011-04-12 Colin Watson <cjwatson@ubuntu.com>
18215
18216 * docs/grub.texi (normal): New section.
18217 (normal_exit): New section.
18218 (Embedded configuration): Add reference to normal.
18219 (GRUB only offers a rescue shell): Likewise.
18220 * docs/grub-dev.texi (Error Handling): Fix typo.
18221
09a9d66f
CW
182222011-04-12 Colin Watson <cjwatson@ubuntu.com>
18223
18224 * NEWS: Drop obsolete entry about probe-only btrfs support.
18225
0c676933
CW
182262011-04-12 Colin Watson <cjwatson@ubuntu.com>
18227
18228 * util/import_gcry.py: Fix typo.
18229
ec9f5e0d
VS
182302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * NEWS: Add btrfs support.
18233
fe6b2cba
VS
182342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
182352011-04-11 Colin Watson <cjwatson@ubuntu.com>
18236
18237 BtrFS support. Written by me (Vladimir) with important bugfixes and
18238 even more important testing by Colin.
18239
18240 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18241 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18242 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18243 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18244 mem_input_off and mem_input. All users updated to accept in-RAM input.
18245 (gzio_seek): New function.
18246 (test_zlib_header): Likewise.
18247 (grub_gzio_read): Likewise.
18248 (grub_zlib_decompress): Likewise.
18249 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18250 Accept partial and non-virtual mounts.
18251 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18252 avoid receiving /dev/dm-X as device.
18253 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18254 Handle bind and partial mounts.
18255 * grub-core/lib/crc.c: New file.
18256 * include/grub/deflate.h: Likewise.
18257 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18258 proto.
18259 * include/grub/lib/crc.h: New file.
18260
e745cf0c
VS
182612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 Implement automatic module license checking according to new GNU
18264 guidelines.
18265
18266 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18267 (grub_dl_load_core): Use grub_dl_check_license.
18268 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18269 (GRUB_MOD_LICENSE): Likewise.
18270 (GRUB_MOD_DUAL_LICENSE): Likewise.
18271 All modules updated.
18272
2a9bc016
CW
182732011-04-11 Colin Watson <cjwatson@ubuntu.com>
18274
18275 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18276 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18277 loaders.
18278 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18279
8a3bc88e
VS
182802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18281
18282 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18283
af869a4a
VS
182842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18287 failed.
18288
9ee8d94f
VS
182892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18292 parenthesis in the middle of the filename.
18293
b01abe3e
VS
182942011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18297 rather than trying to put initrd way too high.
18298 Reported by: Ryan Lortie <desrt@desrt.ca>
18299
335bda1e
VS
183002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18303 improperly removed string.
18304
5ca1a64d
VS
183052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18308 is_disk.
18309 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18310 (open_device) Likewise.
18311 (grub_util_biosdisk_close): Likewise.
d8ce9995 18312 Reported by: Mark Korenberg.
5ca1a64d 18313
cbac5b1e
AK
183142011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18315
18316 * util/grub-mkconfig_lib.in: Add missing quotes.
18317
088cdb65
CW
183182011-04-10 Colin Watson <cjwatson@ubuntu.com>
18319
18320 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18321 is NULL.
18322
8b8a81fa
VS
183232011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 Dynamically count the number of lines for the lower banner.
18326
18327 * grub-core/normal/menu_entry.c (per_term_screen): New member
18328 num_entries.
18329 (print_down): Use num_entries.
18330 (update_screen): Likewise.
18331 (grub_menu_entry_run): Set num_entries.
18332 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18333 num_entries.
18334 (grub_print_message_indented): Move real part to ...
18335 (grub_print_message_indented_real): ... here. Additional argument
18336 dry_run.
18337 (draw_border): Additional argument num_entries.
18338 (print_message): Additional argument dry_run.
18339 (print_entries): Receive menu viewer data.
18340 (grub_menu_init_page): New argment num_entries.
18341 (menu_text_set_chosen_entry): Use num_entries.
18342 (grub_menu_try_text): Likewise.
18343 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18344 All users updated.
18345 (grub_ucs4_count_lines): New function.
18346 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18347 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18348 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18349 (grub_term_border_height): Likewise.
18350 (grub_term_num_entries): Likewise.
18351
277f955b
VS
183522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18355 Remove now unused string.
18356
536ce85a
CW
183572011-04-09 Colin Watson <cjwatson@ubuntu.com>
18358
18359 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18360 build system.
18361 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18362
18363 (Comment): Fix typo.
18364 (Getting started): General copy-editing.
18365 (Typical Development Experience): Likewise.
18366 (Error Handling): Likewise.
18367 (Video API): Likewise.
18368
2cf09e32
CW
183692011-04-09 Colin Watson <cjwatson@ubuntu.com>
18370
18371 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18372 throughout.
18373
1ec652f4
VS
183742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18377 directory.
18378
2c583728
CW
183792011-04-08 Colin Watson <cjwatson@ubuntu.com>
18380
18381 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18382 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18383 "development".
18384
d7a565e9
VS
183852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18388 grub_strcpy since the lines aren't necessarily 0-terminated.
18389
7c2e4909
VS
183902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18393 root on legacy.
18394
34c09785
VS
183952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18398 (GRUB_MOD_INIT): DEVICE isn't optional.
18399
6a6f8058
VS
184002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18403 word on new line if it's too long anyway. Fixes a hang.
18404
2e335e90
VS
184052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18408 const.
18409 * util/grub-setup.c (main): Reuse md device name if available.
18410 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18411 not GRUB name as argument.
18412 Based on patch by: Florian Wagner <fwagner>.
18413
10a7a867
VS
184142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18415
18416 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18417 Place mbi on low memory for better compatibility.
18418
7a3d6cd9
VS
184192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18422
18dd6b47
VS
184232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
184242011-04-08 Colin Watson <cjwatson@ubuntu.com>
18425
18426 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18427 * conf/Makefile.common: Likewise.
18dd6b47 18428
3c0e3f14
VS
184292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18430
f7148863
VS
18431 * grub-core/normal/menu.c: Add missing include.
18432
184332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18436
6d1fa41f
MZ
184372011-04-08 Martin Zuther <mzuther@mzuther.de>
18438
18439 * util/grub-mkconfig.in: Ignore emacsen backup.
18440
478182a8
VS
184412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18444 on open.
18445 (grub_util_biosdisk_close): Likewise.
18446
72a89a54
VS
184472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18450 const attribute and use grub_isdigit.
18451
b5ebecfa
A
184522011-04-06 Andrey <dev_null@ukr.net>
18453
18454 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18455 gcc warning.
18456
7755f66e
VS
184572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18460 useful grub_dprintf's.
18461
461121ff
VS
184622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18465
2a961775
VS
184662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18469
adf594cc
VS
184702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 Output errors if theme loading failed.
18473
18474 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18475 grub_gfxterm_fullscreen on error paths to ...
18476 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18477 theme loading error.
18478
665900a3
VS
184792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18482 space for older compilers.
18483 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18484
a562b479
VS
184852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18486
18487 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18488 and report them as not RAID members since they are useless for GRUB.
18489 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18490
850e9373
VS
184912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 Increase LVM implementation robustness in order not to crash on
18494 configurations like pvmove. Previously code assumed that in some places
18495 only lvs or only pvs are used whereas it seems that they are used
18496 interchangeably.
18497
18498 * grub-core/disk/lvm.c (read_node): New function.
18499 (read_lv): Use read_node.
18500 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18501 Match volumes only at the end when all lvs are found. Take both
18502 pvs (first) and lvs (second) into account.
18503 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18504 mirror_* into node_*. All users updated.
18505 (grub_lvm_stripe): Merge this ...
18506 (grub_lvm_mirror): ... and this ...
18507 (grub_lvm_node): ... into this. All users updated.
18508
6f332153
VS
185092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18512 of function to allow further scanning for LVMs.
18513
829ea451
VS
185142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18517 on failed seek as it breaks open fd reusage.
18518
09ceb9a5
VS
185192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * util/grub-install.in: Add a recommendation to use --recheck before
18522 reporting bugs.
18523
67e11623
VS
185242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18527 are obtained.
18528
caee5efd
VS
185292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 GRUB developper manual based on existing Internals section and
18532 contributions by the various authors with active copyright assignment.
18533
18534 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18535 * docs/font_char_metrics.png: New file.
18536 * docs/font_char_metrics.txt: Likewise.
18537 * docs/grub-dev.texi: Likewise.
18538 * docs/grub.texi (Internals): Move from here ...
18539 * docs/grub-dev.texi: ... here.
18540
2cccc747
CW
185412011-04-01 Colin Watson <cjwatson@ubuntu.com>
18542
18543 Store the loopback device as data on loopback grub_disk structures,
18544 rather than the file it points to. This fixes use of freed memory
18545 if an existing loopback device is replaced.
18546
18547 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18548 disk->data, not dev->file.
18549 (grub_loopback_read): Adjust file assignment to match.
18550 Fixes Ubuntu bug #742967.
18551
186ae367
CW
185522011-04-01 Colin Watson <cjwatson@ubuntu.com>
18553
18554 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18555 when replacing an existing device.
18556
cfed2ad0
VS
185572011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18560 memory corruptions.
18561
18562 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18563 unsigned.
18564 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18565 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18566 (grub_jfs_read_inode): Likewise.
18567 (grub_jfs_opendir): Likewise. Remove now useless casts.
18568 (grub_jfs_getent): Likewise.
18569 Make ino a grub_uint32_t rather than int.
18570 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18571 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18572 division and module with bit operations.
18573 (grub_jfs_find_file): Make ino a grub_uint32_t.
18574 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18575
05d2ed32
CW
185762011-04-01 Colin Watson <cjwatson@ubuntu.com>
18577
18578 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18579 warning. (This was in fact always initialised before use, but GCC
18580 wasn't smart enough to prove that.)
18581 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18582
91dc6073
VS
185832011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18584
18585 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18586 stack alignment.
18587 (efi_wrap_1): Likewise.
18588 (efi_wrap_2): Likewise.
18589 (efi_wrap_3): Likewise.
18590 (efi_wrap_4): Likewise.
18591 (efi_wrap_5): Likewise.
18592 (efi_wrap_6): Likewise.
18593 (efi_wrap_10): Likewise.
18594 Based on information by: Red Hat/Peter Jones.
18595
a8afc1d1
CW
185962011-03-31 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18599 set-but-not-used variable.
18600
a826cc7d
CW
186012011-03-31 Colin Watson <cjwatson@ubuntu.com>
18602
18603 * docs/grub.texi (Simple configuration): Be more explicit about
18604 GRUB_DEFAULT, and add an example.
18605 Reported by: Leslie Rhorer.
18606
875b67ba
CW
186072011-03-30 Colin Watson <cjwatson@ubuntu.com>
18608
18609 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18610 shell".
18611
fd7cd914
AS
186122011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18613
18614 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18615 * util/grub.d/20_linux_xen.in: Likewise.
18616
090b1b6a
VS
186172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * util/grub.d/10_linux.in: Try alternative config filenames where
18620 we parse config file.
18621 * util/grub.d/20_linux_xen.in: Likewise.
18622
baad885c
AS
186232011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18624
18625 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18626 * util/grub.d/20_linux_xen.in: Likewise.
18627
241e41f5
VS
186282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * grub-core/disk/raid.c (insert_array): Add few potentially
18631 useful grub_util_info.
18632 (grub_raid_register): Likewise.
18633
56445fb2
VS
186342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18637 Preserve partition number in mdadm code path.
18638
c871b1c6
VS
186392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18642 few potentially useful grub_util_info.
18643
5e631b4f
CW
186442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18647
2d5d0333
CW
186482011-03-30 Colin Watson <cjwatson@ubuntu.com>
18649
18650 * docs/grub.texi (default): Use @example rather than nested
18651 itemized lists to avoid breaking gendocs.
18652
3d7ed04e
CW
186532011-03-30 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * docs/grub.texi (Future): Update.
18656
abf04200 186572011-03-30 Colin Watson <cjwatson@ubuntu.com>
18658
18659 * docs/grub.texi (Environment): New chapter.
18660 (Changes from GRUB Legacy): Link to "Environment block" section for
18661 details of limitations.
18662 (Simple configuration): Likewise. Link to documentation of gfxmode
18663 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18664 respectively.
18665 (Shell-like scripting): Note that normal variables are stored in the
18666 environment.
18667 (gettext): Link to documentation of lang and locale_dir.
18668 (list_env): New section.
18669 (load_env): New section.
18670 (save_env): New section.
18671
18672 (Reporting bugs): Fix typo.
18673
e1ad0edd
VS
186742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18677 the example.
18678
5d803174
VS
186792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/term/at_keyboard.c (set_scancodes)
18682 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18683
2a2da1d0
CW
186842011-03-30 Colin Watson <cjwatson@ubuntu.com>
18685
18686 * docs/grub.texi (Menu-specific commands): Remove some semantics
18687 that were true in GRUB Legacy but not in GRUB 2.
18688 (submenu): New section.
18689 (false): New section.
18690 (read): New section.
18691 (true): New section.
18692
a7527639
CW
186932011-03-30 Colin Watson <cjwatson@ubuntu.com>
18694
18695 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18696
186972011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18698
18699 * docs/grub.texi (Simple configuration): Explain some of the
18700 current limitations of grub-mkconfig.
8a748df2 18701 Reported by: Leslie Rhorer.
e30af029 18702
fc858482
VS
187032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 Old macs search for boot.efi rather than for bootia32.efi.
18706
18707 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18708 * util/grub-mkrescue.in: Likewise.
18709 Suggested by: Peter Jones.
18710
e1eb511d
VS
187112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18714
70e75364
VS
187152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18716
18717 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18718 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18719 (grub_lvm_mirror): New struct.
18720 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18721 (grub_lvm_iterate): Iterate only visible volumes.
18722 (grub_lvm_read): Factor out to ..
18723 (read_lv): ... this. Support mirrors.
18724 (grub_lvm_read): New wrapper function.
18725 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18726 stripped or mirrored.
18727
fc18f6a3
VS
187282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18731
5c650f4c
CW
187322011-03-29 Colin Watson <cjwatson@ubuntu.com>
18733
18734 * docs/grub.texi (loopback): New section.
18735
61d7156b
CW
187362011-03-29 Colin Watson <cjwatson@ubuntu.com>
18737
18738 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18739 removed -p option.
18740
994b8264
CW
187412011-03-29 Colin Watson <cjwatson@ubuntu.com>
18742
18743 * docs/grub.texi (BIOS installation): New section, partly based on
18744 previous text in other sections.
18745 (Installing GRUB using grub-install): Replace BIOS discussion with a
18746 cross-reference.
18747 (Images): Likewise.
18748
9e4d19e0
VS
187492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18752 [HAVE_DIOCGDINFO]: Add safety checks.
18753
a307c0b2
VS
187542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18757 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18758
b4db4f39
CW
187592011-03-29 Colin Watson <cjwatson@ubuntu.com>
18760
18761 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18762 real_sb->size is zero (e.g. RAID-0), get the disk size from
18763 real_sb->data_size instead.
18764 Fixes Ubuntu bug #743136.
18765
35e5f84c
VS
187662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18769 printf clauses for printing size and start.
18770
d2e29d81
VS
187712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18774 Reported and tested by: Timothy Nikkel.
18775
ed5587af
VS
187762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18779 (dirty_region_add_real): ... this.
18780 (dirty_region_add): Don't discard margin refresh when performing
18781 scheduled repaint.
18782
a1dc717c
VS
187832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * grub-core/lib/relocator.c (allocate_regstart)
18786 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18787 terminals are capabple of malloc-free operation.
18788 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18789 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18790
9f3677d3
VS
187912011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18792
18793 * util/grub-setup.c: Copy the partition table zone if floppy support
18794 is disabled, even if no partition table is found.
18795
18796 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18797 during POST if an invalid partition table is contained in the PBR
18798 of the active partition when GRUB is installed to a partition.
18799
24148725
CW
188002011-03-28 Colin Watson <cjwatson@debian.org>
18801
18802 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18803 comment.
18804
f329eda7
CW
188052011-03-28 Colin Watson <cjwatson@debian.org>
18806
18807 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18808 to be specific about what kind of RAID device we're scanning for.
18809
c482ad98
SG
188102011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18811
18812 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18813 return freed string.
18814
5ee04984
VS
188152011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18818
f4727da9
VS
188192011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 Use libgeom on FreeBSD to detect partitions.
18822
18823 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18824 (grub-mkrelpath): Likewise.
18825 (grub-script-check): Likewise.
18826 (grub-editenv): Likewise.
18827 (grub-mkpasswd-pbkdf2): Likewise.
18828 (grub-fstest): Likewise.
18829 (grub-mkfont): Likewise.
18830 (grub-mkdevicemap): Likewise.
18831 (grub-probe): Likewise.
18832 (grub-setup): Likewise.
18833 (grub-ofpathname): Likewise.
18834 (grub-mklayout): Likewise.
18835 (example_unit_test): Likewise.
18836 (grub-menulst2cfg): Likewise.
18837 * grub-core/Makefile.core.def (grub-emu): Likewise.
18838 (grub-emu-lite): Likewise.
18839 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18840 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18841 define HAVE_DIOCGDINFO.
18842 (follow_geom_up) [FreeBSD]: New function.
18843 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18844 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18845 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18846 unconditionally of HAVE_DIOCGDINFO.
18847
82fe6c75
VS
188482011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 Fix FreeBSD compilation problem.
18851
18852 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18853 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18854
4c6c9431
CW
188552011-03-24 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18858 Switch back to page zero before loading a kernel, since some kernel
18859 drivers expect that.
18860 Thanks to: Felix Kuehling.
18861
c7064d94
VS
188622011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18865 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18866 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18867
3f71cded
VS
188682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18871 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18872
ef6de21a
VS
188732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18876 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18877 malloc is disabled.
18878
8bc66a2c
VS
188792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18882 for modules headers when counting the needed allocation size.
18883
5657722c
VS
188842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18887 if no ASCII character is found to prevent crash.
18888
41a85f55
AK
188892011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18890
18891 * grub-core/video/bitmap.c (match_extension): Ignore case.
18892
59e1e5f1
VS
188932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18896
bd4d051a
VS
188972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18898
18899 * grub-core/script/parser.y: Declare "time" as valid argument.
18900
bae7fcc1
PJ
189012011-03-23 Peter Jones <pjones@redhat.com>
18902
18903 Fix incorrect assert failure reporting.
18904
18905 * grub-core/tests/example_functional_test.c (example_test): Add
18906 a failure comment.
18907 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18908 (failure_start): ...this. Check that malloc succeeded.
18909 Don't call xvasprintf. Return failure struct.
18910 (failure_append_vtext): New function.
18911 (failure_append_text): Likewise.
18912 (add_failure): Likewise.
18913 (grub_test_assert_helper): Likewise.
18914 * include/grub/test.h (grub_test_assert_helper): New declaration.
18915 (grub_test_assert): Macro rewritten.
18916
537dc9be
VS
189172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18920
fa3e01bf
VS
189212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18924
b1d28404
VS
189252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18928 into GRUB-style one.
18929
2e3e2e09
VS
189302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18933 error and not grub_errno.
18934 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18935
ed57e557
VS
189362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18939 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18940
d1611f01
VS
189412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/efiemu/i386/pc/cfgtables.c
18944 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18945 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18946 (grub_xnu_unlock): Likewise.
18947 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18948
7d4e39d6
VS
189492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18952 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18953 * grub-core/commands/hashsum.c (aliases): Likewise.
18954 * grub-core/commands/setpci.c (pci_registers): Likewise.
18955 * grub-core/disk/usbms.c (attach_hook): Likewise.
18956 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18957 (zio_checksum_table): Likewise.
18958 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18959 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18960 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18961 * grub-core/lib/relocator.c (leftovers): Likewise.
18962 (extra_blocks): Likewise.
18963 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18964 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18965 (modules_last): Likewise.
18966 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18967 (devices): Likewise.
18968 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18969 (modules_last): Likewise.
18970 * grub-core/normal/auth.c (users): Likewise.
18971 * grub-core/normal/context.c (initial_menu): Likewise.
18972 (current_menu): Likewise.
18973 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18974 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18975 (grub_serial_terminfo_input_template): Likewise.
18976 (grub_serial_terminfo_output_template): Likewise.
18977 (grub_serial_terminfo_input): Likewise.
18978 (grub_serial_terminfo_output): Likewise.
18979 (registered): Likewise.
18980 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18981
40fc4659
VS
189822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18985 grub_video_mode_type_t.
18986 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18987 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18988 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18989
2da48d28
VS
189902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * util/grub-install.in: Correct the x86-64 name as x86_64.
18993
9b43bf39
CW
189942011-03-11 Colin Watson <cjwatson@ubuntu.com>
18995
18996 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18997 initial chunk read from the kernel always includes GRUB's multiboot
18998 header, which is now outside the first sector.
18999
be1a7ce0
CW
190002011-03-09 Colin Watson <cjwatson@ubuntu.com>
19001
19002 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19003 cached mmap_size, so that this works correctly when called multiple
19004 times.
19005 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19006
83a3c48d
CW
190072011-03-09 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * docs/grub.texi (Simple configuration): Tidy up formatting.
19010
57d75699
SJ
190112011-03-07 Szymon Janc <szymon@janc.net.pl>
19012
19013 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19014 Set-but-not-used variable removed.
19015
028501a0
VS
190162011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 Workaround yet another IEEE1275 bug.
19019
19020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19021 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19022 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19023 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19024 is set.
19025 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19026 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19027
d998657d
VS
190282011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19029
19030 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19031 error.
19032
fee7cdd4
CW
190332011-02-11 Colin Watson <cjwatson@ubuntu.com>
19034
19035 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19036 empty, since in that case we can only generate either nothing or a
19037 syntactically invalid configuration file.
19038 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19039
97286eb5
CW
190402011-02-09 Colin Watson <cjwatson@ubuntu.com>
19041
19042 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19043 (Making a GRUB bootable CD-ROM): Likewise.
19044 (Invoking grub-mkrescue): New section.
19045 Reported by: Yann Dirson. Fixes Debian bug #612585.
19046
22b28eb3
CW
190472011-02-09 Colin Watson <cjwatson@ubuntu.com>
19048
19049 * util/grub-install.in: Remove unnecessary brackets from tr
19050 arguments.
19051 * util/grub.d/10_hurd.in: Likewise.
19052 * util/grub.d/10_kfreebsd.in: Likewise.
19053 * util/grub.d/10_linux.in: Likewise.
19054 * util/grub.d/20_linux_xen.in: Likewise.
19055 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19056
7e735e43
CW
190572011-02-08 Colin Watson <cjwatson@ubuntu.com>
19058
19059 * include/grub/file.h (not_easly_seekable): Rename to ...
19060 (not_easily_seekable): ... this. Update all users.
19061
800f1881
CW
190622011-01-28 Colin Watson <cjwatson@ubuntu.com>
19063
19064 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19065 grub-mkrescue.
19066
3281d3d6
VS
190672011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * util/grub-mkimage.c (generate_image): Refuse to create the images
19070 bigger than the actual flash (512K) in Loongson machines. 512K is also
19071 the biggest chip supported by them.
19072
3533413c
VS
190732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19076
73ae4f4f
VS
190772011-01-22 Anthony DeRobertis <anthony@derobert.net>
19078
19079 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19080 super_offset field.
19081
37f4f608
VS
190822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * util/grub-install.in: Ignore install device on platforms
19085 where it doesn't make sense. Always use UUIDs except on pc, efi and
19086 sparc64.
19087 Reported by: Daniel Kahn Gillmor.
19088
03a4ccb5
VS
190892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19092
ffc8f4d8
VS
190932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19096 (iterate_real): Don't rely on partition being non-NULL.
19097
80f23be7
VS
190982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19101 supported platforms. Put a compile time assert for this rather than
19102 generate a warning with 32-bit shift.
19103
5d4f4dd5
VS
191042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19107 logical expression more readable.
19108
e489601a
VS
191092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19112 even if some elements have a name.
19113 Reported by: Alexander GQ Gerasiov.
19114
96e0a6ea
CW
191152011-01-22 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19118 path unreadable if `grub-probe -t abstraction' fails, for example if
19119 memberlist fails on an LVM volume group.
19120 Reported by: Darius Jahandarie.
19121
81431e2b
CW
191222011-01-22 Colin Watson <cjwatson@ubuntu.com>
19123
19124 * docs/grub.texi (Simple configuration): Document
19125 GRUB_PRELOAD_MODULES.
19126
5e79d66a
CW
191272011-01-17 Colin Watson <cjwatson@ubuntu.com>
19128
19129 * .bzrignore: Remove nonexistent grub-pbkdf2.
19130
646ada34
VS
191312011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * configure.ac: Bump version to 1.99~rc1.
19134
04360337
VS
191352011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19138 for safety.
19139
46c9db88
VS
191402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19143 module.
19144
191452011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19146
19147 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19148
4fbf1852
VS
191492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19152 diskdevid.
19153
f1632d4d
VS
191542011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 Fix compilation on cygwin.
19157
19158 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19159 -R .drectve on cygwin.
19160 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19161 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19162 (COND_CYGWIN): New condition.
19163 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19164 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19165 not @TARGET_OBJ2ELF@.
19166 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19167 type to determine whether aux is to be used.
19168
0b5e127b
VS
191692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19172 realpath'ed device string.
19173 Handle floppy (somewhat).
19174 Issue error in unknown case rather than garbage.
19175 Reported by: Axel Beckert.
19176
173b71e9
VS
191772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * util/grub.d/00_header.in (load_video): Handle the case when no video
19180 drivers available.
19181 Thanks to: Axel Beckert.
19182
f8f479db
VS
191832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19186 variable. Fixes problem on big endian platforms.
19187
8fc0a245
VS
191882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19191 It doesn't work well there.
19192
b8494fbe
VS
191932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19196 warning.
19197 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19198 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19199 counter.
19200
b44a558c
VS
192012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 Use alias->path rather than buggy "canon".
19204
19205 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19206 (ofdisk_hash_add): New argument curcan. All users updated.
19207
51fa856c
CW
192082011-01-11 Colin Watson <cjwatson@ubuntu.com>
19209
19210 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19211
9da068a5
VS
192122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19215 loadmask before doing any calculations. Use correct type for offset.
19216 (grub_linux_load64): Likewise.
19217
86205c94
CW
192182011-01-11 Colin Watson <cjwatson@ubuntu.com>
19219
19220 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19221 with NULL.
19222 (console_grub_equivalences_unshift): Likewise.
19223 Reported by: Daniel Dehennin.
19224
4531a206
VS
192252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19228 (set_env_limn_ro): Likewise.
19229 (GRUB_MOD_INIT): Likewise.
19230 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19231 ARRAY_SIZE while on it.
19232 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19233 * grub-core/normal/context.c (grub_env_export): Move from here ...
19234 * grub-core/kern/env.c (grub_env_export): ... here.
19235 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19236 prefix.
19237 * grub-core/kern/main.c (grub_main): Export root and prefix.
19238 * include/grub/env.h (grub_env_export): Export.
19239 Reported by: Seth Goldberg.
19240
45146057
VS
192412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19244 Take into account space used by ELF sections and multiboot palette.
19245 Reported by: Grégoire Sutre.
19246
f093110b
VS
192472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 * BUGS: New file.
19250
3395fe52
VS
192512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 Pass more appropriate video id to Linux.
19254
19255 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19256 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19257 fill have_vga.
19258 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19259 shift params->lfb_size.
19260 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19261
c2fa6cbb
VS
192622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19265
b3ff6ff0
VS
192662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19269 separator and pass bootpath/devid even if only one of them is available.
19270 Reported by: Seth Goldberg.
19271
ae67942e
VS
192722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19275 implementations bug on them.
19276
19277 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19278 memory.
19279 (filter_memory_map): Likewise.
19280
d570097a
VS
192812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19284 Reported by: nebuchadnezzar.
19285
a508e776
VS
192862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19287
19288 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19289 Reported by: nebuchadnezzar.
19290
dcb883b1
VS
192912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19292
19293 Submenu default support.
19294
19295 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19296 auto_boot. All users updated.
19297 Declared static.
19298 Handle chosen and default with submenus.
19299 (grub_menu_execute_with_fallback): Declared static.
19300 Don't notify failure if autobooted. Upper level does it.
19301 (menuentry_eq): New function.
19302 (get_entry_number): Use menuentry_eq.
19303 (show_menu): New parameter "autobooted". All users updated.
19304 (grub_show_menu): Likewise.
19305 * include/grub/normal.h (grub_show_menu): Likewise.
19306 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19307 (grub_menu_execute_with_fallback): Likewise.
19308
6fef99b4
VS
193092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 * util/grub-mklayout.c (usage): Update help text.
19312
47a77af5
VS
193132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19316
ce6bb3ee
VS
193172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * util/grub-menulst2cfg.c (main): Trim the line.
19320
db87be2a
VS
193212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19324 (grub_machine_init): Don't check amount of low memory as reportedly
19325 INT 12h can be broken and if low memory is too low we wouldn't have
19326 gotten into grub_machine_init anyway.
19327
c49849cc
VS
193282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19331 (grub_machine_mmap_iterate): Take low memory into account
19332
b1969b30
VS
193332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19336 badfs.
19337 Reported by: TiCPU.
19338
cf0eaf13
VS
193392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19342 members errors.
19343
1f060f39
GS
193442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19345
19346 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19347 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19348
a21e5672
GS
193492011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19350
19351 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19352 openbsd and netbsd types being in part_bsd module.
19353
c88172fa
VS
193542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19357 (_FILE_OFFSET_BITS): Likewise.
19358 Reported by: Seth Goldberg.
19359
53798c4b
GS
193602011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19361
19362 * configure.ac: Check for libdevmapper header.
19363
e7121b69
VS
193642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19367 avoid aliasing.
19368 (fzap_lookup): Likewise.
19369 (dnode_get): Likewise.
19370 (make_mdn): Likewise.
19371 (zfs_mount): Likewise.
19372 (fzap_iterate): Use temporary pointer to avoid aliasing.
19373 (grub_zfs_read): Likewise.
19374 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19375 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19376 pointers to avoid aliasing.
19377 (grub_cmd_xnu_kernel64): Likewise.
19378 (grub_xnu_load_driver): Likewise.
19379
fc836af9
VS
193802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19383 aliasing warning.
19384 (grub_cmd_terminal_output): Likewise.
19385 Reported and tested by: Grégoire Sutre.
19386
f9f37648
VS
193872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19390 warning.
19391 Reported and tested by: Grégoire Sutre.
19392
ec1dfd63
VS
193932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * configure.ac: Do CPU substitution even if it's specified explicitly.
19396 Reported and tested by: Alain Greppin.
19397
9462775a
VS
193982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19401 Reported and tested by: Alain Greppin.
19402
0fd48e35
VS
194032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 Satisfy some bison versions need for inttypes.h.
19406
19407 * grub-core/lib/posix_wrap/inttypes.h: New file.
19408 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19409 (int16_t): Likewise.
19410 (int32_t): Likewise.
19411 (int64_t): Likewise.
19412 Reported and tested by: Alain Greppin.
19413
43f1bc83
VS
194142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19417 Silence spurious warning.
19418 Reported and tested by: Alain Greppin.
19419
64d1f041
SJ
194202011-01-07 Szymon Janc <szymon@janc.net.pl>
19421
19422 * docs/grub.texi (Support automatic decompression): Update with xz
19423 decompression support.
19424
25953e10
SJ
194252011-01-07 Szymon Janc <szymon@janc.net.pl>
19426
19427 Improve loaders' kernel command line handling.
19428
19429 * grub-core/lib/cmdline.c: New file.
19430 * include/grub/lib/cmdline.h: Likewise.
19431 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19432 grub_create_loader_cmdline to create kernel command line.
19433 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19434 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19435 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19436 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19437 (linux): Add lib/cmdline.c on common.
19438
e72d259f
VS
194392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19442 inopos might be unaligned.
19443
c0cf26da
VS
194442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19447 endian transformations.
19448 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19449 Based on report by: Doug Nazar.
19450
0ca09e6c
DN
194512011-01-07 Doug Nazar <nazard.michi@gmail.com>
19452
19453 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19454 array->members[i].start_sector.
19455 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19456
014b6806
VS
194572011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19460 Reported and tested by: Grégoire Sutre.
19461
415502c2
CW
194622011-01-06 Colin Watson <cjwatson@ubuntu.com>
19463
19464 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19465 avoid causing test failures by clearing the screen.
19466
71b6a2b7
CW
194672011-01-06 Colin Watson <cjwatson@ubuntu.com>
19468
19469 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19470 Fix prefix check to handle the case where dir ends with a slash
19471 (most significantly, "/" itself).
19472 Reported by: Michael Vogt.
19473
b3f8d28a
VS
194742011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 Run terminfo_cls on initing terminfo output to clear the screen and
19477 move the cursor to (0,0).
19478
19479 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19480 Call grub_terminfo_output_init.
19481 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19482 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19483 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19484
4c3e4f37
VS
194852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19488 only when needed.
19489
488f71f1
VS
194902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19493 CTRL.
19494
18a38098
VS
194952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 The E820 type 5 is BADRAM, not EXEC_CODE.
19498
19499 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19500 (GRUB_E820_BADRAM): New define.
19501 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19502 into reserved. Propagate BADRAM.
19503 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19504 (GRUB_E820_BADRAM): New define.
19505
9eae2084
VS
195062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19509 Ignore the memory post-4G.
19510 (grub_relocator_firmware_alloc_region): Additional debug statement.
19511
ebc71d28
VS
195122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19515 names.
19516 Reported by: David Pravec.
19517
446fa400
VS
195182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19521 BIOSes.
19522
a0159f37
VS
195232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19526 Prevent overflow.
19527 (grub_reed_solomon_recover): Likewise.
19528
e5146ca1
VS
195292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19530
19531 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19532
195332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19534
19535 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19536 variable.
19537
5b1bdf12
CW
195382011-01-04 Colin Watson <cjwatson@ubuntu.com>
19539
19540 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19541 descriptions of extract_legacy_entries_source and
19542 extract_legacy_entries_configfile.
19543 Reported by: Seung Soo, Ha.
19544
99d925aa
CW
195452011-01-03 Colin Watson <cjwatson@ubuntu.com>
19546
19547 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19548 on devices that do not implement function 0.
19549
4af0504b
DV
195502011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19551
19552 * grub-core/fs/hfsplus.c: Make parent unsigned.
19553 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19554 overflows.
19555 (grub_hfsplus_cmp_extkey): Likewise
19556
469ee10a
VS
195572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * util/grub-install.in: Correctly use bootloader_id and not
19560 GRUB_DISTRIBUTOR on efibootmgr line.
19561
323a8e9c
VS
195622011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19565
1b394975
IC
195662010-12-31 Ian Campbell <ijc@hellion.org.uk>
19567
19568 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19569 Xen and reorder menu item wording to make it clearer that this entry
19570 will launch Xen. Print separate messages when loading Xen and
19571 Linux.
19572
275bff5f
VS
195732010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19576 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19577 loop in case of incorrect amiga partmap.
19578
307806cb
VS
195792010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19582 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19583 Reported by:EHeM.
19584
b12b923e
VS
195852010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19586
19587 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19588 spurious warning.
19589 Reported by: crocket
19590
14b48a19
VS
195912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19594 Preload EFIemu.
19595 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19596
693db2df
VS
195972010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19600 is loaded
19601 (grub_cmd_xnu_kextdir): Likewise.
19602 (grub_cmd_xnu_splash): Likewise.
19603
c7638645
VS
196042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 Avoid using Reed-Solomon with 0 redundancy.
19607
19608 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19609 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19610 or 0 redundancy.
19611 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19612 (grub_reed_solomon_recover): Likewise.
19613
25dd4780
VS
196142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Don't use disk subsystem in freebsd_boot.
19617
19618 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19619 (freebsd_biosdev): Likewise.
19620 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19621 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19622
0b2db943
VS
196232010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 Handling of files of unknown size is currently limited. They can't be
19626 used e.g. for initrd or modules. Moreover gzip handling of not
19627 easily seekable files is buggy. Disable unknown file size for now. May
19628 be inefficient but works.
19629
19630 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19631 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19632
5c408d0f
MP
196332010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19634
19635 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19636 floppy probe.
19637
190a011a
JD
196382010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19639
19640 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19641
022d01b8
SL
196422010-12-25 Shea Levy <shlevy>
19643
19644 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19645
c4855fdc
VS
196462010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19649 Windows Server 2008.
19650 Reported by: Devin Giddings.
19651
0354b867
VS
196522010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19655 writing an error message because of async power management.
19656 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19657 (grub_reboot): Likewise.
19658
ab66c69f
JU
196592010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19660
19661 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19662 keep unit tests from failing when they shouldn't.
19663
1426ef35
CW
196642010-12-21 Colin Watson <cjwatson@ubuntu.com>
19665
19666 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19667 previous patch increased the size of the RS code by 20 bytes (at
19668 least with gcc-4.4), so increase this by 20 bytes to match.
19669 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19670
20641b6b
CW
196712010-12-21 Colin Watson <cjwatson@ubuntu.com>
19672
19673 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19674 scratch area. Make sure to initialise chosen in standalone mode as
19675 well as non-standalone.
19676 Reported by: Robert Hooker and Andy Whitcroft.
19677 Tested by: Andy Whitcroft.
19678
d060ad60
CW
196792010-12-21 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19682 constructing a new unescaped string and passing it to grub_xputs in
19683 one go, rather than passing characters to grub_printf one at a time.
19684
b889cfad
CW
196852010-12-21 Colin Watson <cjwatson@ubuntu.com>
19686
19687 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19688 initialising utf16.
19689
4e01b6c8
CW
196902010-12-21 Colin Watson <cjwatson@ubuntu.com>
19691
19692 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19693 comment. Add an extra layer of quotation, requiring the output of
19694 this function to be used in a printf format string.
19695 (gettext_printf): New function.
19696 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19697 Extract translatable strings from here-documents and use a temporary
19698 variable instead, so that xgettext can find them.
19699 * util/grub.d/10_kfreebsd.in: Likewise.
19700 * util/grub.d/10_linux.in: Likewise.
19701 * util/grub.d/20_linux_xen.in: Likewise.
19702
19703 * po/grub.d.sed: New file.
19704 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19705 arguments. Set c-format flags on all strings extracted from
19706 util/grub.d/ (xgettext refuses to include these itself for strings
19707 it extracted from a shell file, but these really are c-format).
19708
5318fe98
VS
197092010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19712 Avoid next pointing to nowhere.
19713
6c85b743
VS
197142010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19717 rather than assuming than rootblock is exactly in the middle.
19718 (grub_affs_label): Likewise.
19719
a2a08a35
VS
197202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19721
19722 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19723 reserved_first_sector to 0.
19724 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19725 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19726 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19727
7059d1ec
VS
197282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 Fix handling of UTF-16 UDF labels.
19731
19732 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19733 (read_string): .. here.
19734 (grub_udf_label): Use read_string.
19735
30aff4cb
BC
197362010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19737
19738 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19739 editor under argument scope.
19740 Reported by: Jordan Uggla
19741
5cf86f4b
VS
197422010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19745
32570200
CW
197462010-12-18 Colin Watson <cjwatson@ubuntu.com>
19747
19748 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19749 line, and other keys scroll an entire page (previous handling was
19750 for \r and \n to scroll a page and other keys to scroll two lines).
19751
e1dffcf2
VS
197522010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19753
19754 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19755 Set ptrdest to correct get_physical_target_address rather than
19756 incorrect get_virtual_current_address.
19757
b04298cf 197582010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19759
19760 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19761 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19762
5367ecd3
CW
197632010-12-10 Colin Watson <cjwatson@ubuntu.com>
19764
19765 * .bzrignore: Ignore grub-core/rs_decoder.S.
19766
1fb430f8
CW
197672010-12-10 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19770 .mo/.mo.gz opening sequence to ...
19771 (grub_mofile_open_lang): ... here.
19772 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19773 * util/grub.d/00_header.in (grub_lang): Include country part of
19774 locale.
19775 Reported by: Mario Limonciello.
19776
a94a6671
RM
197772010-12-09 Robert Millan <rmh@gnu.org>
19778
19779 * NEWS: Document addition of ZFS support.
19780
24b7938b
CW
197812010-12-04 Colin Watson <cjwatson@ubuntu.com>
19782
19783 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19784 rather than `/ 2', as the latter requires -Wa,--divide which would
19785 require bumping our minimum binutils version.
19786
bddc3ef6
BC
197872010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19788
19789 * util/grub-script-check.c (main): Print script line number on
19790 error.
19791
bf78d5b2
RM
197922010-12-01 Robert Millan <rmh@gnu.org>
19793
19794 * grub-core/fs/zfs/zfs.c: New file.
19795 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19796 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19797 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19798 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19799
19800 * include/grub/zfs/dmu.h: Likewise.
19801 * include/grub/zfs/dmu_objset.h: Likewise.
19802 * include/grub/zfs/dnode.h: Likewise.
19803 * include/grub/zfs/dsl_dataset.h: Likewise.
19804 * include/grub/zfs/dsl_dir.h: Likewise.
19805 * include/grub/zfs/sa_impl.h: Likewise.
19806 * include/grub/zfs/spa.h: Likewise.
19807 * include/grub/zfs/uberblock_impl.h: Likewise.
19808 * include/grub/zfs/vdev_impl.h: Likewise.
19809 * include/grub/zfs/zap_impl.h: Likewise.
19810 * include/grub/zfs/zap_leaf.h: Likewise.
19811 * include/grub/zfs/zfs.h: Likewise.
19812 * include/grub/zfs/zfs_acl.h: Likewise.
19813 * include/grub/zfs/zfs_znode.h: Likewise.
19814 * include/grub/zfs/zil.h: Likewise.
19815 * include/grub/zfs/zio.h: Likewise.
19816 * include/grub/zfs/zio_checksum.h: Likewise.
19817
19818 * Makefile.util.def: Build ZFS into libgrubmods.
19819 * grub-core/Makefile.core.def: Build zfs.mod.
19820
3f0f3831
SJ
198212010-11-30 Szymon Janc <szymon@janc.net.pl>
19822
19823 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19824 variable.
19825 * grub-core/commands/wildcard.c (match_files): Likewise.
19826
3a4253b2
RM
198272010-11-30 Robert Millan <rmh@gnu.org>
19828
19829 * grub-core/loader/i386/bsd.c
19830 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19831 whether kernel is loaded using grub_loader_is_loaded(), rather
19832 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19833 certain error conditions.
19834
8c317b27
RM
198352010-11-30 Robert Millan <rmh@gnu.org>
19836
c5c9cd3e
RM
19837 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19838 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19839
49d3ab46
VS
198402010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 Avoid using tricks for initialising endian variables.
19843
19844 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19845 Make const.
19846 (GRUB_MOD_INIT): Don't byte-swap.
19847 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19848 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19849 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19850 (grub_swap_bytes32_compile_time): Likewise.
19851 (grub_cpu_to_le32_compile_time): Likewise.
19852 (grub_cpu_to_le16_compile_time): Likewise.
19853
f420a804
VS
198542010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19855
19856 * util/grub-setup.c (setup): Stop recommending --force. People who
19857 understand the dangers of blocklists are able to find this option
19858 anyway and the ones who don't shouldn't use it anyway.
19859
4e7db17b
RM
198602010-11-26 Robert Millan <rmh@gnu.org>
19861
19862 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19863 Update all users.
19864
9be57a0d
CW
198652010-11-26 Colin Watson <cjwatson@ubuntu.com>
19866
19867 Fix LVM-on-RAID probing.
19868
19869 * util/grub-probe.c (probe): Remember which disk was detected as
19870 RAID (perhaps an LVM physical volume). Use that disk's raidname
19871 rather than that of the top-level disk.
19872
2c7859b3 198732010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19874
d7647bb6
BC
19875 Fix cmdline argument quotes for setparams command of menuentry
19876 definitions.
7e623b0d
BC
19877
19878 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19879 quotes for arguments.
f866fe80 19880 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19881 grub_strchrsub function instead.
f866fe80 19882
7955bea0 19883 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19884
74f72a64
CW
198852010-11-24 Colin Watson <cjwatson@ubuntu.com>
19886
19887 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19888 effort by skipping "." and ".." entries up-front.
19889 Suggested by: Michael Lazarev.
19890
5a407278
CW
198912010-11-24 Colin Watson <cjwatson@ubuntu.com>
19892
19893 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19894 ldflags to ldadd, to fix link line ordering.
19895 (none_decompress): Likewise.
19896
3030d8ec
CW
198972010-11-24 Colin Watson <cjwatson@ubuntu.com>
19898
19899 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19900 platforms.
19901 (grub-emu-lite): Remove kern/emu/cache.S.
19902
b7fbac12
CW
199032010-11-23 Colin Watson <cjwatson@ubuntu.com>
19904
19905 * util/deviceiter.c (compare_devices): If the by-id link for a
19906 device couldn't be resolved, fall back to sorting by the by-id link
19907 rather than segfaulting.
19908 Reported and tested by: Daniel Mierswa.
19909
5225f328
CW
199102010-11-23 Colin Watson <cjwatson@ubuntu.com>
19911
19912 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19913 ldflags, to fix link line ordering.
19914
038b3ce8
CW
199152010-11-23 Colin Watson <cjwatson@ubuntu.com>
19916
19917 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19918 linkers are picky about this.
19919
bf16e98e
CW
199202010-11-23 Colin Watson <cjwatson@ubuntu.com>
19921
19922 * grub-core/Makefile.am (command.lst): Adjust sed expression
19923 ordering so that extended and priority commands aren't treated as
19924 ordinary commands.
19925
7242bab6
CW
199262010-11-23 Colin Watson <cjwatson@ubuntu.com>
19927
19928 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19929 Remove byte-swapping function calls, which are not valid in
19930 structure initialisers.
19931 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19932 non-const.
19933 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19934 grub_gpt_partition_type_bios_boot.
19935
14e8b279
CW
199362010-11-22 Colin Watson <cjwatson@ubuntu.com>
19937
19938 Fix test program build on GNU/kFreeBSD.
19939
19940 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19941 $(LIBNVPAIR)' library dependencies.
19942
e6f63338 199432010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19944
19945 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19946
cf8ffc38
CW
199472010-11-22 Colin Watson <cjwatson@ubuntu.com>
19948
19949 * util/grub-install.in: Remove excessive quoting that broke
19950 installations to RAID devices.
19951
7f8b0fd7
VS
199522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19953
19954 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19955 bootloader version instead of 0.
19956
dfd240b1
VS
199572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19960 warning.
19961
7b61e609
VS
199622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19965 retrieve the metadat sector if size isn't known.
19966 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19967
9dfe92d0
RM
199682010-11-18 Robert Millan <rmh@gnu.org>
19969
19970 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19971 with grub_memcmp().
19972
41cc919e
VS
199732010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19976 arrow.
19977 Reported by: Jordan Uggla.
19978
1afcc914
VS
199792010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 Make better UTF compliant.
19982
19983 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19984 sequences as incorrect.
19985 (grub_is_valid_utf8): Likewise.
19986 (grub_utf8_to_ucs4): Likewise.
19987 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19988 (grub_ucs4_to_utf8_alloc): Likewise.
19989 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19990
f1808884
VS
199912010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 Make legacy_source behave like source.
19994
19995 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19996 grub_show_menu.
19997 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19998
24ec575b
CW
199992010-11-16 Colin Watson <cjwatson@debian.org>
20000
20001 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20002 (-Wunused implies -Wunused-parameter, but not vice versa).
20003
72b7c7aa
CW
200042010-11-16 Colin Watson <cjwatson@ubuntu.com>
20005
20006 * configure.ac: Make error messages less confusing by testing for
20007 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20008 accepted, but produces a diagnostic if something else is wrong).
20009
e98937aa
VS
200102010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20013 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20014 (now unused).
20015 (grub_keyboard_controller_init)
20016 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20017 read the initial state since controller isn't inited yet.
20018
f6bbabc3
VS
200192010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20022 allocate_regbeg may need to create new chunk header.
20023
22e7dbb2
VS
200242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 Fix quoting in legacy parser.
20027
20028 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20029 single quotes.
20030 (grub_legacy_parse): Likewise.
20031 Reported by: Jordan Uggla.
20032 Tested by: Jordan Uggla.
20033
03f80960
VS
200342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 Don't add -lgcc on i386 and x86_64.
20037
20038 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20039 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20040 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20041
779dc15b
VS
200422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * configure.ac: Add -Wno-trampolines when supported.
20045
d20a3b37
MV
200462010-11-14 Modestas Vainius <modax@debian.org>
20047
20048 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20049 fakeraid.
20050
e5360933
GC
200512010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20052
20053 Add generic logical block size support for UDF.
20054
20055 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20056 (GRUB_UDF_BLKSZ): Removed.
20057 (struct grub_udf_data): New field "lbshift" to hold the logical block
20058 size of the file system in log2 format. All users updated.
20059 (sblocklist): Change type to unsigned.
20060 (grub_udf_mount): Change type of "sblklist" to unsigned.
20061 Move AVDP search before VRS recognition, because the latter requires
20062 knowledge of the logical block size, which is detected during the
20063 former.
20064 Detect and validate logical block size during AVDP search, adding
20065 support for block sizes 512, 1024 and 4096.
20066 Make VRS recognition independent of block size.
20067
cb0229c5
GC
200682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20069
20070 Properly handle deleted files on UDF.
20071
20072 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20073 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20074 set.
20075
406858a8
GC
200762010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20077
20078 Support reading files larger than 2 GiB.
20079
20080 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20081 "offset" to grub_off_t.
20082 (grub_udf_read_file): Likewise for parameter "pos".
20083
130da6a7
VS
200842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20085
20086 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20087 unavailable.
20088 (Simple configuration): Refer to Changes from GRUB Legacy about
20089 save_env availability.
20090
65e93f6b
VS
200912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 * util/grub-install.in: Ignore empty partition table detection
20094 instead of trying to include part_ module.
20095
1fd08bf1
VS
200962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20099 LVM on RAID support.
20100
de1a024f
VS
201012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 Properly define WORDS_BIGENDIAN in wrapped environments.
20104
20105 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20106 definition.
20107 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20108
20109 Reported by: Manoel Rebelo Abranches.
20110 Tested by: Manoel Rebelo Abranches.
20111
bc5dd0b9
VS
201122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * util/grub-mkconfig.in: Fix quoting.
20115
58c184be
VS
201162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 Support big ext2 files.
20119
20120 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20121 (grub_ext2_read_block): Support triple indirect blocks.
20122 (grub_ext2_read_file): Use 64-bit types and read size_high.
20123 (grub_ext2_open): Read size_high.
20124 Reported by: Ximin Luo.
20125 Tested by: Manoel Rebelo Abranches.
20126
5f0c02b3
VS
201272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * util/grub-install.in: Handle filenames containing spaces.
20130 Reported by: Jordan Uggla.
20131 Tested by: Jordan Uggla.
20132
4417aae6
VS
201332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * util/grub-mkconfig.in (grub_script_check): New variable.
20136 Use grub_script_check instead of grub-script-check.
20137 Reported by: Barry Jackson.
20138
7625a68e
VS
201392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 * docs/grub.texi (menu): Correct the order.
20142 Reported by: D. Hugh Redelmeier.
20143
10001ac5
VS
201442010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20147 jump.
20148
9c4cf53b
MRA
201492010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20150
10001ac5
VS
20151 * include/grub/elfload.h (grub_elf32_size): New parameter.
20152 All users updated.
9c4cf53b
MRA
20153 Return maximum segments alignment.
20154 (grub_elf64_size): Likewise.
20155 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20156 Return maximum segments alignment.
20157 (grub_elf64_size): Likewise.
20158 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20159 (grub_linux_claimmap_iterate): New function. Uses the
20160 "available" property in the "memory" node for memory allocation
20161 for kernel in the PowerPC loader.
9c4cf53b
MRA
20162 (grub_linux_load32): Correctly find linux entry point offset.
20163 (grub_linux_load64): Likewise.
20164
d2bf06bf
RM
201652010-11-07 Robert Millan <rmh@gnu.org>
20166
20167 On mips-yeeloong, build with -march=loongson2f when this flag is
20168 available (GCC >= 4.4).
20169 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20170 `-march=mips3'.
20171 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20172 or otherwise add -march=mips3.
20173
898c99a2
BC
201742010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20175
87220a68
BC
20176 Suppress shell expansion on echo '*' and echo "*" like cases.
20177 Reported by: Jordan Uggla.
898c99a2
BC
20178
20179 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20180 string arguments before shell expansion.
20181 * tests/grub_cmd_echo.in: New testcases.
20182
4f9b406a
RM
201832010-11-07 Robert Millan <rmh@gnu.org>
20184
20185 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20186 transition.
20187
80c6d25e
VS
201882010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20189
20190 * grub-core/kern/emu/hostdisk.c
20191 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20192
4a1a0153
VS
201932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20196 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20197 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20198
34706ddc
VS
201992010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20202
6972dea9
VS
202032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * util/grub-install.in: Replace useless recomendation to pass
20206 --modules with a recomendation to report a bug.
20207
9c693bd6
VS
202082010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 Properly register serial terminfo.
20211 Reported by: Jordan Uggla
20212
20213 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20214 const.
20215 (grub_serial_terminfo_output_template): Likewise.
20216 (grub_cmd_serial): Register "serial" with terminfo.
20217 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20218 grub_serial_terminfo_output.
20219
6c9e4c0c
RM
202202010-11-05 Robert Millan <rmh@gnu.org>
20221
20222 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20223 needed).
20224
b9b3839f
RM
202252010-11-05 Robert Millan <rmh@gnu.org>
20226
20227 On Yeeloong, pass machine type information to Linux.
20228
20229 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20230 (LOONGSON_MACHTYPE): New macro, set to
20231 "machtype=lemote-yeeloong-2f-8.9inches".
20232 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20233 additional argument to Linux.
20234
1a3aaff4
RM
202352010-11-04 Robert Millan <rmh@gnu.org>
20236
20237 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20238 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20239 (its SATA disks are detected as slaveless IDE master drives on
20240 kFreeBSD).
20241 Reported by Carsten Aulbert.
20242
a75f4f62
CW
202432010-11-02 Colin Watson <cjwatson@ubuntu.com>
20244
20245 * util/bin2h.c (main): Fix spelling error in generated output.
20246
33b4b0c6
GS
202472010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20248
20249 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20250
2b36fbf4
VS
202512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20254 vga= option is supplied.
20255
74aaf558
VS
202562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20259 * util/grub.d/10_kfreebsd.in: Likewise.
20260 * util/grub.d/10_linux.in: Likewise.
20261 * util/grub.d/20_linux_xen.in: Likewise.
20262
6428dec3
VS
202632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20266 argument as an argument to no-argument option.
20267
f8729d98
VS
202682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * util/grub.d/10_linux.in: Add missing load_video with explicit
20271 GRUB_GFXPAYLOAD_LINUX.
20272
89d68fa6
VS
202732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20276
3a1197cd
VS
202772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20280 elements with invlid index.
20281 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20282 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20283 members.
20284 * include/grub/raid.h (grub_raid_member): New struct.
20285 (grub_raid_array): Transform devices and start_sector into usage of
20286 grub_raid_member. All users updated
20287 (allocated_devs): New member.
20288
71574288
VS
202892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20292 is modified
20293
8d40ec65
BC
202942010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20295
20296 NetBSD build fix for getline function conflict from gnulib.
20297
20298 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20299 components that depend on gnulib headers.
20300 (libgrubmods.a): Renamed from earlier libgrub.a.
20301 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20302
95b9257e
VS
203032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20306 install rather than creating a broken install.
20307
26c53dc6
VS
203082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * util/grub-setup.c (argp): Remove misleading example of installing to
20311 a partition.
20312
4171b3c5
VS
203132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * util/grub-setup.c (setup): Clarify the error message.
20316
18568d18
VS
203172010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20320
4f6a2e21
VS
203212010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * grub-core/kern/emu/misc.c
20324 (grub_make_system_path_relative_to_its_root)
20325 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20326
203272010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20328
20329 * grub-core/kern/emu/misc.c
20330 (grub_make_system_path_relative_to_its_root): Revert r2882.
20331
e138c458
VS
203322010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20335 useless field head. All users updated.
20336 (free_subchunk): Correct handling of IN_REGION subchunk.
20337
0cbcdf0e
CW
203382010-10-22 Colin Watson <cjwatson@ubuntu.com>
20339
20340 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20341 (Supported kernels): Likewise.
20342
b65ea155
GS
203432010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20344
20345 Make mktemp invocations portable.
20346
20347 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20348 exit if mktemp fails.
20349 * tests/grub_script_blockarg.in: Likewise.
20350 * tests/partmap_test.in: Likewise.
20351 * tests/util/grub-shell-tester.in: Likewise.
20352 * tests/util/grub-shell.in: Likewise.
20353 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20354 * Makefile.am: Likewise, and chain shell commands with `&&'
20355 instead of ';'.
20356 * util/grub-mkrescue.in: Use the same explicit template as above, and
20357 exit if mktemp fails.
20358
05f43cdd
BC
203592010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20360
20361 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20362 Linux kernel, reported by Dennis Schridde.
20363
800e6a9b
SJ
203642010-10-17 Szymon Janc <szymon@janc.net.pl>
20365
20366 * grub-core/normal/auth.c (grub_auth_check_authentication):
20367 Set-but-not-used variable removed.
20368
d82df574
VS
203692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20372 32-bit linux protocol.
20373
7bced458
VS
203742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20377 cursor shape for sanity.
20378
5b027690
VS
203792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 * docs/grub.texi (Installation): Document buggy BIOS install.
20382
ba5f65cf
VS
203832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20384
20385 * docs/grub.texi (Installation): Indent.
20386
fdf2ec9c
VS
203872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20388
20389 * util/grub-setup.c (setup): New parameter allow_floppy.
20390 (arguments): New member allow_floppy.
20391 (argp_parser): Handle --allow-floppy.
20392 (main): Pass allow_floppy.
20393 * util/grub-install.in: New option --allow-floppy passed though to
20394 grub-setup.
20395
861dfd4c
VS
203962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * util/grub-install.in: Handle partitionless disks.
20399
f77a8c24
VS
204002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * util/grub-setup.c (setup): Don't clean blocklists before readability
20403 verfification.
20404
27d9ee32
VS
204052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * docs/grub.texi (Installation): Document embedding zone. Remove
20408 obsolete grub-install example.
20409
6bdda8f8
SJ
204102010-10-16 Szymon Janc <szymon@janc.net.pl>
20411
20412 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20413 Set-but-not-used variable ifdef'ed.
20414 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20415 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20416 variable removed.
20417 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20418 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20419 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20420 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20421 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20422 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20423 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20424 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20425 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20426 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20427 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20428 Likewise.
20429
e19b016b
VS
204302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20433 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20434 enum value.
20435
6c8d3002
VS
204362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20439 synonym to _S5_. Needed for some DSDTs.
20440
c32b51c9
VS
204412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 Userspace ACPI parser debugging.
20444
20445 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20446 headers and add relevant defines. Don't include standard headers.
20447 (main) [GRUB_DSDT_TEST]: New function.
20448 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20449 Don't declare functions.
20450
fbfbeb39
VS
204512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 Remove dead grub_efi_mm_fini.
20454
20455 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20456 (ALLOCATED_PAGES_SIZE): Likewise.
20457 (MAX_ALLOCATED_PAGES): Likewise.
20458 (allocated_pages): Likewise.
20459 (grub_efi_allocate_pages): Don't record allocated pages.
20460 (grub_efi_free_pages): Likewise.
20461 (grub_efi_mm_init): Likewise.
20462 (grub_efi_mm_fini): Removed.
20463
65f7ed7c
VS
204642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20467 (grub_efi_mm_init): Take into account the memory map size increase.
20468
24977b44
VS
204692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20472 (serial_hw_put): Wait based on real time rather than port reads. Don't
20473 roken ports.
20474 * include/grub/serial.h (grub_serial_port): New field broken.
20475
1eb01cd2
RM
204762010-10-16 Robert Millan <rmh@gnu.org>
20477
20478 * grub-core/kern/emu/misc.c
20479 (grub_make_system_path_relative_to_its_root): Fix premature return
20480 when processing non-root ZFS filesystems.
5f8b440b 20481 Reported by Sergio Talens-Oliag.
1eb01cd2 20482
2d5fed60
RM
204832010-10-15 Robert Millan <rmh@gnu.org>
20484
20485 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20486 guarantee compressed ones are processed first.
20487
d0f4c1ea
VS
204882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20491 grub_efiemu_autocore.
20492
d87c681f
VS
204932010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20496 rather than 0x1b.
20497 (grub_console_getkey): Use correct jae opcode rather than ja.
20498
219b3564
RM
204992010-10-12 Robert Millan <rmh@gnu.org>
20500
20501 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20502 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20503 variable. All references updated.
20504
20505 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20506
20c6bb7e
VS
205072010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 Correctly distinguish mdraid flavours.
20510
20511 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20512 (insert_array): New argument raid.
20513 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20514 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20515 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20516
74baff84
VS
205172010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20520 handling of special keys.
20521
3ef068df 205222010-10-02 Aleš Nesrsta <starous@volny.cz>
20523
c7980ad9
VS
20524 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20525 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20526
a9455194 205272010-10-02 Aleš Nesrsta <starous@volny.cz>
20528
c7980ad9
VS
20529 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20530 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20531 users updated.
a9455194 20532 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20533 Use right endpoint when querying descriptor.
a9455194 20534
441cfe65
VS
205352010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 Clear out 0x80 color bit on EFI.
20538 Tested by: decoder
20539 Reported by: decoder and meta tech.
20540
20541 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20542 (grub_console_setcolorstate): Clear out 0x80 bit.
20543 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20544 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20545 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20546
bf26bcc4
VS
205472010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20550 Set to "auto".
20551
6e3c515d
VS
205522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20553
20554 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20555 mo_file after freeing.
20556
e6d983ba
VS
205572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20560
74ccb5b5
VS
205612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20564 flags.
20565
17821956
VS
205662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20569 usage.
20570
ee74fa48
VS
205712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20574
20575 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20576 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20577 and terminfo.h when needed.
20578 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20579 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20580 (terminfo): Enable only on terminfokernel.
20581 (extcmd): Likewise.
20582 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20583 * include/grub/lib/arg.h: Likewise.
20584 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20585 incorrect usage of ->.
20586
aa438e68
VS
205872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20590 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20591
57994012
VS
205922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Fix coreboot compilation.
20595
20596 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20597 Take VBE info into account even if only text is supported.
20598 (fill_vbe_info): Take into account the case when only VGA text
20599 is supported.
20600 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20601 on coreboot, multiboot and qemu.
20602
2a406611
VS
206032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20606 debug messages.
20607 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20608
d33613fc
VS
206092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20612 parameters.
20613
44a1b432
VS
206142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20617 if they were BSD-style.
20618
edde54e6
VS
206192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * grub-core/boot/i386/pc/lnxboot.S: Replace
20622 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20623 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20624
b65830fa
VS
206252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 Write embedding zone using Reed-Solomon.
20628
20629 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20630 * grub-core/Makefile.am (rs_decoder.S): New target.
20631 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20632 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20633 (multiboot): Move to RS part.
20634 (post_reed_solomon): New label.
20635 (grub_boot_drive): Move to non-RS part since it's modified in memory
20636 on boot.
20637 Include rs_decoder.S.
20638 * grub-core/lib/reed_solomon.c: New file.
20639 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20640 New definition.
20641 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20642 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20643 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20644 * include/grub/partition.h (grub_partition_map): Change prototype of
20645 embed to allow returning additional sectors.
20646 * include/grub/reed_solomon.h: New file.
20647 * util/grub-setup.c (setup): Handle Reed-Solomon.
20648
0b4b227f
CW
206492010-09-28 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20652 i386 and x86-64 definedness tests.
20653
f772623b
YB
206542010-09-27 Yves Blusseau <blusseau@zetam.org>
20655
20656 Fix generation of kernel_syms.lst
20657
20658 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20659 ASM_PREFIX
20660
8e57a6ca
RM
206612010-09-26 Robert Millan <rmh@gnu.org>
20662
20663 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20664
20665 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20666 the pool is an array of devices, iterate through it and return the
20667 first device that passes a stat() test (instead of blindly returning
20668 the first one).
20669
f9130836
RM
206702010-09-26 Robert Millan <rmh@gnu.org>
20671
20672 Build fixes for GNU/kFreeBSD.
20673
20674 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20675 to programs that require ZFS conversion.
20676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20677 kernels that don't have FLOPPY_MAJOR.
20678
96510faf
BC
206792010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20680
20681 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20682
449333eb
BC
206832010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20684
20685 Fix grub-emu build.
20686
20687 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20688 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20689 mdraid09 and mdraid1x.
20690
e1fd1939
CW
206912010-09-24 Colin Watson <cjwatson@ubuntu.com>
20692
20693 Re-enable grub-extras.
20694
20695 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20696 avoid confusing Automake. Run autogen only twice, once for the top
20697 level and once for grub-core. Add Makefile.util.def and
20698 Makefile.core.def from extra modules to the appropriate autogen
20699 invocations. If Makefile.common exists in an extra module, include
20700 it in both Makefile.util.am and grub-core/Makefile.core.am;
20701 similarly, include any Makefile.util.common file in Makefile.util.am
20702 and any Makefile.core.common file in grub-core/Makefile.core.am.
20703 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20704 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20705 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20706 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20707
20708 * gentpl.py (gvar_add): Turn GVARS into a set.
20709 (global_variable_initializers): Sort global variables on output.
20710 (vars_init): New function.
20711 (first_time): Likewise.
20712 (library): Ensure that non-global variable initialisations are
20713 emitted before the first time we emit code for a library block.
20714 Append to variables rather than setting them. Only emit
20715 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20716 each conditional path.
20717 (program): installdir() emits an Autogen macro, so must be passed to
20718 var_add rather than gvar_add.
20719 (data): Likewise.
20720 (script): Likewise.
20721 (rules): New function, centralising handling for different target
20722 types. Set up Guile association lists for first_time and vars_init,
20723 and send most output to a diversion so that variable initialisations
20724 can be emitted first.
20725 (module_rules): Use new rules function.
20726 (kernel_rules): Likewise.
20727 (image_rules): Likewise.
20728 (library_rules): Likewise.
20729 (program_rules): Likewise.
20730 (script_rules): Likewise.
20731 (data_rules): Likewise.
20732
20733 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20734
20735 * .bzrignore: Add contrib and grub-core/contrib. Remove
20736 grub-core/Makefile.gcry.am.
20737
1d12cf29
YB
207382010-09-24 Yves Blusseau <blusseau@zetam.org>
20739
20740 * grub-core/lib/LzFind.c: Add missing include.
20741 * grub-core/lib/LzmaEnc.c: Likewise.
20742 * grub-core/script/lexer.c: Likewise.
20743 * grub-core/script/yylex.l: Likewise.
20744 * util/grub-macho2img.c: Likewise.
20745 * util/grub-menulst2cfg.c: Likewise.
20746 * util/grub-mklayout.c: Likewise.
20747 * util/grub-mkpasswd-pbkdf2.c
20748 * util/grub-mkrelpath.c: Likewise.
20749 * util/resolve.c: Likewise.
20750
dd363028
BC
207512010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20752
20753 * Makefile.util.def (example_unit_test): Add
20754 grub-core/gnulib/libgnu.a.
20755
f5a109e2
GS
207562010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20757
20758 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20759
6d0fa83c
VS
207602010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 Support xz compression on yeeloong.
20763
20764 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20765 * configure.ac: Check for LZMA.
20766 * grub-core/Makefile.core.def (xz_decompress): New target.
20767 (none_decompress): Likewise.
20768 * grub-core/boot/decompressor/minilib.c: New file.
20769 * grub-core/boot/decompressor/none.c: Likewise.
20770 * grub-core/boot/decompressor/xz.c: Likewise.
20771 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20772 * grub-core/kern/mips/cache_flush.S: Likewise.
20773 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20774 * grub-core/kern/mips/startup.S: Move first stage to ...
20775 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20776 nomacro.
20777 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20778 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20779 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20780 Allocate statically.
20781 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20782 Allocate statically or use scratch. Don't check CRC32.
20783 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20784 Allocate statically. Don't check CRC32.
20785 * include/grub/decompressor.h: New file.
20786 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20787 Removed.
20788 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20789 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20790 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20791 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20792 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20793 * util/grub-mkimage.c (grub_compression_t): New type.
20794 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20795 (image_target_desc): New field default_compression.
20796 (image_targets): Adjust yeeloong targets.
20797 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20798 (compress_kernel): New parameter comp.
20799 (generate_image): Likewise. Handle new compression case.
20800 (options): New option --compression
20801 (help): Likewise.
20802 (main): Handle new option.
20803
1b655af6
GS
208042010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20805
20806 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20807
8f03f0b5
CW
208082010-09-22 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20811 typo in __i386__ conditional.
20812
7835dfd3
VS
208132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20816 include.
20817
e255597e
VS
208182010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20819
6d0fa83c 20820 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20821
20822 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20823 new tags as supported.
20824 (acpiv2_size): New function.
20825 (grub_multiboot_get_mbi_size): Take new tags into account.
20826 (grub_multiboot_make_mbi): Add new tags.
20827 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20828
6cc14051 208292010-09-21 Aleš Nesrsta <starous@volny.cz>
20830
20831 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20832 Added missing configuration of USB device.
20833
df7769d8
CW
208342010-09-21 Colin Watson <cjwatson@ubuntu.com>
20835
20836 * grub-core/normal/menu_entry.c (run): Make sure we always return
20837 a value.
20838
b031012d
CW
208392010-09-21 Colin Watson <cjwatson@ubuntu.com>
20840
20841 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20842 NumberOfPages is UINT64 according to the UEFI specification, not
20843 UINTN. Fix printf format.
20844
174de8f3
CW
208452010-09-21 Colin Watson <cjwatson@ubuntu.com>
20846
20847 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20848 `err' to grub_usb_err_t.
20849 Reported and tested by: KESHAV P.R.
20850
d7dbe923
CW
208512010-09-21 Colin Watson <cjwatson@ubuntu.com>
20852
20853 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20854 tpart non-const, so that we can assign to it. (Since this is a
20855 typedef, the constness refers to the pointer rather than what it
20856 points to.)
20857
8d5e2af3
CW
208582010-09-21 Colin Watson <cjwatson@ubuntu.com>
20859
20860 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20861 $(top_srcdir)/grub-core/gnulib as well as
20862 $(top_builddir)/grub-core/gnulib.
20863 Reported by: KESHAV P.R.
20864
5c527783
CW
208652010-09-21 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * util/grub-install.in: Fix the bootloader ID option to be
20868 consistently --bootloader-id, not --bootloader_id.
20869 Reported by: KESHAV P.R.
20870
d309a16e
CW
208712010-09-21 Colin Watson <cjwatson@ubuntu.com>
20872
20873 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20874 check hash checksum." consistently translatable.
20875
b830cd16
YB
208762010-09-21 Yves Blusseau <blusseau@zetam.org>
20877
20878 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20879 $(top_builddir).
20880
c4fe27a8
CW
208812010-09-21 Colin Watson <cjwatson@ubuntu.com>
20882
20883 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20884 (GRUB_MOD_INIT): Register sha1sum command.
20885 (GRUB_MOD_FINI): Unregister sha1sum command.
20886
a4c1d277
YB
208872010-09-21 Yves Blusseau <blusseau@zetam.org>
20888
20889 Keep boot and grub directory names in sync with utils scripts
20890
20891 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20892 * config.h.in: Add previous macros.
20893 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20894 * util/grub-install.in: Use $bootdir and $grubdir variables.
20895
4eff79d2
CW
208962010-09-21 Colin Watson <cjwatson@ubuntu.com>
20897
20898 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20899 convert partition names to disk names if the new `convert' parameter
20900 is set.
20901 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20902 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20903 disk in its own right. This can happen with Xen disk images.
20904
934d7e44
YB
209052010-09-21 Yves Blusseau <blusseau@zetam.org>
20906
20907 * util/grub-editenv.c: Update strings to avoid warnings when generating
20908 grub.pot file.
20909 * util/grub-setup.c: Likewise.
934d7e44 20910
df3367cc
VS
209112010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 * configure.ac: Change version to 1.99~beta0.
20914
77a94e98
VS
209152010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20918 Add BADRAM.
20919 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20920 Likewise.
20921 * include/multiboot.h: Resynced with specification.
20922 * include/multiboot2.h: Likewise.
20923
269004c1
CW
209242010-09-21 Colin Watson <cjwatson@ubuntu.com>
20925
20926 Fix po directory handling.
20927
20928 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20929 * grub-core/gnulib/Makefile.am: Import gettext module.
20930 * m4/gnulib-cache.m4: Likewise.
20931 * m4/gnulib-comp.m4: Likewise.
20932 * m4/gettext.m4: New file, from gnulib.
20933 * m4/glibc2.m4: Likewise.
20934 * m4/iconv.m4: Likewise.
20935 * m4/intdiv0.m4: Likewise.
20936 * m4/intl.m4: Likewise.
20937 * m4/intldir.m4: Likewise.
20938 * m4/intlmacosx.m4: Likewise.
20939 * m4/intmax.m4: Likewise.
20940 * m4/inttypes-pri.m4: Likewise.
20941 * m4/lcmessage.m4: Likewise.
20942 * m4/lib-ld.m4: Likewise.
20943 * m4/lib-link.m4: Likewise.
20944 * m4/lib-prefix.m4: Likewise.
20945 * m4/lock.m4: Likewise.
20946 * m4/nls.m4: Likewise.
20947 * m4/po.m4: Likewise.
20948 * m4/printf-posix.m4: Likewise.
20949 * m4/progtest.m4: Likewise.
20950 * m4/threadlib.m4: Likewise.
20951 * m4/uintmax_t.m4: Likewise.
20952 * m4/visibility.m4: Likewise.
20953 * po/Makefile.am: Remove.
20954 * po/Makefile.in.in: New file, from gettext.
20955 ($(DOMAIN).pot-update): Support POTFILES-shell.
20956 * po/Makevars: New file.
20957 * po/POTFILES-shell: Rename to ...
20958 * po/POTFILES-shell.in: ... this. Update.
20959 * po/POTFILES: Rename to ...
20960 * po/POTFILES.in: ... this. Update.
20961 * po/Rules-quot: New file, from gettext.
20962 * po/boldquot.sed: Likewise.
20963 * po/en@boldquot.header: Likewise.
20964 * po/en@quot.header: Likewise.
20965 * po/insert-header.sin: Likewise.
20966 * po/quot.sed: Likewise.
20967 * po/remove-potcdate.sin: Likewise.
20968
3e0fa5d0
VS
209692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20970
20971 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20972
ade9bd66
VS
209732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 * util/grub.d/20_linux_xen.in: Use submenus.
20976
fc55cc4c
VS
209772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 Support submenus.
20980
20981 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20982 parameter submenu. All users updated.
20983 * grub-core/normal/main.c (free_menu): Rename to ...
20984 (grub_normal_free_menu): ... this. Made global.
20985 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20986 if requested.
20987 * grub-core/normal/menu_entry.c (screen): New field submenu.
20988 (make_screen): Set submenu.
20989 (run): Open new context if requested.
20990 * include/grub/menu.h (grub_menu_entry): New field submenu.
20991 * include/grub/normal.h (grub_normal_free_menu): New proto.
20992
600cedf7
VS
209932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 Menu entries extractor.
20996
20997 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20998 variants.
20999 (GRUB_MOD_INIT): Register new variants.
21000 (GRUB_MOD_FINI): Unregister new variants.
21001 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21002 into grub_cmd_legacy_source.
21003 (grub_cmd_legacy_source): Implement extractor variants.
21004 (GRUB_MOD_INIT): Register new variants.
21005 (GRUB_MOD_FINI): Unregister new variants.
21006 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21007 as an extractor.
21008 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21009 search as an extractor.
21010 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21011 test as an extractor.
21012 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21013 as an extractor.
21014 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21015 (grub_env_new_context): New function.
21016 (grub_env_context_open): Likewise.
21017 (grub_env_extractor_open): Likewise.
21018 (grub_env_extractor_close): Likewise.
21019 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21020 grub_extractor_level.
21021 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21022 * include/grub/env.h (grub_env_extractor_open): New proto.
21023 (grub_env_extractor_close): Likewise.
21024 * include/grub/normal.h (grub_extractor_level): New external variable.
21025
7bda3a87
VS
210262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 Make cutmem accept a region specification.
21029 Suggested by: Samuel Thibault
21030
21031 * grub-core/mmap/mmap.c (parsemem): New function.
21032 (grub_cmd_cutmem): Handle new arguments.
21033
2ea57f88
VS
210342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 New command cutmem.
21037
21038 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21039 (GRUB_MOD_INIT): Register new command.
21040 (GRUB_MOD_FINI): Unregister new command.
21041
74342e31
VS
210422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 Support some annoying BSD and Minix subpartitions.
21045
21046 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21047 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21048 Properly handle concatenation.
21049 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21050 * grub-core/normal/completion.c (iterate_partition): Likewise.
21051 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21052 contain partition. All users updated.
21053 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21054 struct.
21055 (grub_openbsdlabel_partition_map): Likewise.
21056 (bsdlabel_partition_map_iterate): Rename to ..
21057 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21058 (bsdlabel_partition_map_iterate): New function.
21059 (netopenbsdlabel_partition_map_iterate): Likewise.
21060 (netbsdlabel_partition_map_iterate): Likewise.
21061 (openbsdlabel_partition_map_iterate): Likewise.
21062 (GRUB_MOD_INIT): Register new partmaps.
21063 (GRUB_MOD_FINI): Unregister new partmaps.
21064 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21065 (grub_partition_msdos_iterate): ... this. All users updated.
21066 Don't support embedding other than in a minix partition.
21067 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21068 proto.
21069 * include/grub/partition.h (grub_partition): New field msdostype.
21070 * util/grub-install.in: Handle openbsd and netbsd types being in
21071 part_bsd module.
21072
1e8d555b
VS
210732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21076
21077 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21078 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21079 (mdraid09): ... this.
21080 (mdraid1x): New module.
21081 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21082 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21083
899d8af4
VS
210842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21087 vsprintf.
21088
40901acd
CW
210892010-09-20 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * grub-core/commands/efi/lsefimmap.c: Correct header.
21092 * NEWS: Update.
21093
dfe3b247
CW
210942010-09-20 Colin Watson <cjwatson@ubuntu.com>
21095
21096 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21097 as printf format strings; the translations might contain '%' which
21098 could cause a crash.
21099 (main): Likewise.
21100 * util/grub-fstest.c (argp_parser): Likewise.
21101 * util/grub-setup.c (argp_parser): Likewise.
21102 (main): Likewise.
21103
3286a4b4
VS
211042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 Use argp in grub-fstest.
21107
21108 * util/grub-fstest.c: Don't include getopt.h.
21109 Include argp.h.
21110 (root): New variable.
21111 (args_count): Likewise.
21112 (nparm): Likewise.
21113 (num_disks): Likewise.
21114 (images): Likewise.
21115 (cmd): Likewise.
21116 (debug_str): Likewise.
21117 (args): Likewise.
21118 (options): Transformed to argp.
21119 (usage): Removed.
21120 (main): Split argument parsing into ...
21121 (argp_parser): ... this. Changed to argp format.
21122 (argp): New variable.
21123 (main): Use argp_parse.
21124
3dccbe4b
TG
211252010-09-20 Tristan Gingold <gingold@free.fr>
211262010-09-20 Robert Millan <rmh.grub@aybabtu.com>
211272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * grub-core/commands/efi/lsefimmap.c: New file.
21130 * grub-core/Makefile.core.def (lsefimmap): New module.
21131 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21132
38c259a7
VS
211332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 Pause the execution (10s max) if any errors are displayed so the user
21136 has a chance to see them.
21137
21138 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21139 (grub_print_error): Increment grub_err_printed_errors.
21140 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21141 execution if any errors were displayed.
21142 (show_menu): Remove old code for pause.
21143 * grub-core/normal/menu_entry.c (run): Likewise.
21144 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21145 users updated.
21146 (grub_normal_get_char_counter): Likewise.
21147 * include/grub/err.h (grub_err_printed_errors): New external variable.
21148 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21149
f218b09c
VS
211502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 Support multiboot VBE info.
21153
21154 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21155 Take VBE info into account.
21156 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21157 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21158 Call fill_vbe_info when appropriate.
21159 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21160 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21161 as supported.
21162 (grub_multiboot_get_mbi_size): Take new tags into account.
21163 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21164 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21165 Call fill_vbe_tag when appropriate.
21166 (grub_multiboot_make_mbi): Properly align tags.
21167 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21168 function.
21169 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21170 proto.
21171 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21172
a9cc5438
VS
211732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 Suport manual terminal geometry specification.
21176
21177 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21178 Save state in grub_ofconsole_terminfo_output.
21179 (grub_ofconsole_term): Use grub_terminfo_getwh.
21180 (grub_ofconsole_getwh): Removed.
21181 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21182 (grub_serial_term): Use grub_terminfo_getwh.
21183 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21184 (options): New struct.
21185 (OPTION_*): New enum.
21186 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21187 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21188 width and height.
21189 (grub_terminfo_getwh): New proto.
21190 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21191
1a8fed20
VS
211922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 Handle legacy "terminal" command.
21195
21196 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21197 and FLAG_TERMINAL.
21198 (legacy_commands): Add terminal and title.
21199 (grub_legacy_parse): Handle terminal. Simplify title handling.
21200
41e9c57d
VS
212012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21204 parameters overflow.
21205
61c874c5
CW
212062010-09-20 Colin Watson <cjwatson@ubuntu.com>
21207
21208 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21209 widthspec.h.
21210
21211 * docs/grub.texi (Shell-like scripting): Document `!'.
21212 (Network): Simplify using new i386-pc-pxe format. Mention
21213 grub-mknetdir.
21214
21215 * NEWS: Update.
21216
943682b4
CW
212172010-09-20 Colin Watson <cjwatson@ubuntu.com>
21218
21219 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21220 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21221 when needed.
21222
6d3d698d
CW
212232010-09-20 Colin Watson <cjwatson@ubuntu.com>
21224
21225 * grub-core/commands/efi/lsefisystab.c: Correct header.
21226 * grub-core/commands/efi/lssal.c: Likewise.
21227 * grub-core/commands/testload.c: Likewise.
21228
c982589f
CW
212292010-09-20 Colin Watson <cjwatson@ubuntu.com>
21230
21231 * util/grub-mkrescue.in: Add explicit root argument to --set to
21232 prevent the UUID being interpreted as an argument to --set (matches
21233 previous change to prepare_grub_to_access_device).
21234
a63c31b6
CW
212352010-09-20 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21238 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21239 the verbosity of later #ifs.
21240 (find_partition_start): Define this function on FreeBSD too.
21241 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21242 function.
21243 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21244 on FreeBSD.
21245
6439b8ee
YB
212462010-09-20 Yves Blusseau <blusseau@zetam.org>
21247
21248 * util/grub-editenv.c: Use argp instead of getopt.
21249
c5930ec8
YB
212502010-09-20 Yves Blusseau <blusseau@zetam.org>
21251
21252 * util/grub-setup.c: Use argp instead of getopt.
21253
15c69261
YB
212542010-09-20 Yves Blusseau <blusseau@zetam.org>
21255
21256 Use gnulib-tool to create gnulib source files.
21257
21258 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21259 grub-core/gnulib directories
21260 * .bzignore: Add **/.deps and autogenerated gnulib files
21261 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21262 of gnulib macros, add grub-core/gnulib/Makefile
21263 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21264 include m4 directory to aclocal.
21265 * Makefile.util.def: Remove direct compilation of gnulib source files
21266 and use the new grub-core/gnulib/libgnu.a.
21267 * build-aux/config.rpath: move config.rpath from top directory to
21268 build-aux
21269 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21270 in gnulib headers
21271 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21272 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21273 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21274 header.
21275 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21276 string.
21277
e511c9f5
YB
212782010-09-20 Yves Blusseau <blusseau@zetam.org>
21279
21280 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21281 grub-core/genmod.sh and grub-core/gensyminfo.sh
21282
c2dede05
BC
212832010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21284
21285 Add a test for echo command options.
21286
21287 * tests/grub_cmd_echo.in: New test.
21288 * Makefile.util.def: Rules for new test.
21289
c55f5018
SJ
212902010-09-20 Szymon Janc <szymon@janc.net.pl>
21291
21292 Remove crc.mod and move crc command to hashsum.mod.
21293 Remove lib/crc.c - users updated to use gcrypt implementation.
21294
21295 * grub-core/commands/crc.c: Removed.
21296 * grub-core/Makefile.core.def (crc): Module removed.
21297 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21298 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21299 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21300 * grub-core/lib/crc.c: Removed.
21301 * include/grub/lib/crc.h: Removed.
21302 * Makefile.util.def (crc): Remove lib/crc.c
21303 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21304 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21305 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21306 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21307 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21308 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21309
e0337366
VS
213102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21313
742f9232
VS
213142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 Split config.h for util and core.
21317
21318 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21319 (ADDR32): Likewise.
21320 (DATA32): Likewise.
21321 (BSS_START_SYMBOL): Likewise.
21322 (END_SYMBOL): Likewise.
21323 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21324 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21325 * config.h.in: New file.
21326 * configure.ac: Use config-util.h as config define file.
21327 Rename MACHINE into GRUB_MACHINE. All users updated.
21328 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21329 updated.
21330 (NESTED_FUNC_ATTR): Likewise.
21331 Substitue new variables.
21332 (COND_HAVE_ASM_USCORE): New conditional.
21333 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21334 (kernel_syms.lst): Use ASM_PREFIX.
21335 * grub-core/kern/emu/console.c: Include config-util.h.
21336 * grub-core/kern/emu/misc.c: Likewise.
21337 * grub-core/kern/emu/mm.c: Likewise.
21338 * include/grub/emu/misc.h: Likewise.
21339 * include/grub/libgcc.h: Likewise.
21340
39feb0e8
VS
213412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21342
21343 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21344 constants usage.
21345 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21346 Fix GRUB_TERM_KEY_* constants usage.
21347 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21348
9af6dac3
VS
213492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21352 print pointer.
21353 * grub-core/bus/usb/uhci.c: Remove empty define.
21354 (grub_uhci_check_transfer): Add missing cast.
21355 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21356 print pointer.
21357 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21358 PRIuGRUB_SIZE.
21359 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21360
d6d94820
VS
213612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21362
21363 * grub-core/Makefile.core.def (legacycfg): Add
21364 lib/i386/pc/vesa_modes_table.c on emu.
21365
3572f2b6
BC
213662010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21367
21368 Reduce number of temporary files generated by build system.
21369
21370 * grub-core/gencmdlist.sh: Removed.
21371 * grub-core/genfslist.sh: Removed.
21372 * grub-core/genhandlerlist.sh: Removed.
21373 * grub-core/genmodsrc.sh: Removed.
21374 * grub-core/genpartmaplist.sh: Removed.
21375 * grub-core/genparttoollist.sh: Removed.
21376 * grub-core/gentermiinallist.sh: Removed.
21377 * grub-core/genvideolist.sh: Removed.
21378
21379 * grub-core/genmod.sh.in: New file.
21380 * grub-core/gensyminfo.sh.in: New file.
21381
21382 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21383 * conf/Makefile.extra-dist: Update with new files.
21384 * gentpl.py: Remove rules related to unnecessary temporary files.
21385 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21386 and und-* files.
21387 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21388 genmod.sh scripts.
21389 * grub-core/bus/usb/uhci.c: Remove empty #define.
21390 * grub-core/genmoddep.awk: Updated with new syminfo format.
21391 * util/bash-completion.d/Makefile.am: Add config.log to
21392 CLEANFILES.
21393
c836b030
YB
213942010-09-19 Yves Blusseau <blusseau@zetam.org>
21395
21396 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21397
2f4e8053
BC
213982010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21399
21400 * util/grub-mkconfig.in: Check the config script for syntax errors
21401 before saving.
21402
75831c34
CW
214032010-09-19 Colin Watson <cjwatson@ubuntu.com>
214042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21405
21406 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21407 platforms.
21408 * util/grub-install.in: Add EFI and IEEE1275 support.
21409 * util/i386/efi/grub-install.in: Removed.
21410 * util/ieee1275/grub-install.in: Likewise.
21411
eaf41b25
VS
214122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21415 (grub_cmd_cmosclean): Likewise.
21416 (GRUB_MOD_INIT): Register command cmosclean.
21417 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21418 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21419
1a9130dd
CPE
214202010-09-18 Carles Pina i Estany <carles@pina.cat>
214212010-09-18 Aleš Nesrsta <starous@volny.cz>
214222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 Add keyboard layouts support.
21425
21426 * Makefile.util.def (grub-mklayout): New file.
21427 (grub-kbdcomp): New script.
21428 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21429 Add keyboard_layouts.h.
21430 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21431 commands/boot.c on yeeloong.
21432 (keylayouts): New module.
21433 * grub-core/bus/usb/ohci.c
21434 * grub-core/bus/usb/uhci.c
21435 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21436 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21437 (attach_root_port): Likewise.
21438 (poll_nonroot_hub): Likewise.
21439 (grub_usb_poll_devices): Likewise.
21440 (detach_device): Close transfer.
21441 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21442 function.
21443 (grub_usb_bulk_setup_readwrite): Likewise.
21444 (grub_usb_bulk_finish_readwrite): Likewise.
21445 * grub-core/commands/keylayouts.c: New file.
21446 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21447 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21448 aliases.
21449 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21450 support scancode 2.
21451 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21452 * include/grub/keyboard_layouts.h: New file.
21453 * util/grub-mklayout.c: New file.
21454 * util/grub-kbdcomp.in: Likewise.
21455
a1d84a5e
VS
214562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 Unify memory types.
21459
21460 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21461 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21462 types.
21463 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21464 (grub_upper_mem): Likewise.
21465 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21466 * include/grub/memory.h (grub_memory_type_t): New enum.
21467 All users updated.
21468
9696382e
VS
214692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * grub-core/Makefile.core.def (lsapm): New module.
21472 * grub-core/commands/i386/pc/lsapm.c: New file.
21473 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21474 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21475 Likewise.
21476 * include/grub/i386/pc/apm.h: New file.
21477 * include/multiboot.h (multiboot_apm_info): New struct.
21478
214792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 GRUB-legacy configuration file support.
21482
21483 * Makefile.util.def (grub-menulst2cfg): New util.
21484 * docs/man/grub-menulst2cfg.h2m: New file.
21485 * grub-core/Makefile.core.def (legacycfg): New module.
21486 * grub-core/commands/legacycfg.c: New file.
21487 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21488 (grub_normal_add_menu_entry): ... this.
21489 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21490 (grub_normal_set_password): ...this.
21491 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21492 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21493 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21494 * grub-core/lib/legacy_parse.c: New file.
21495 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21496 * include/grub/i386/pc/vesa_modes_table.h: New file.
21497 * include/grub/legacy_parse.h: Likewise.
21498 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21499 * util/grub-menulst2cfg.c: New file.
21500
bf8d1338
CW
215012010-09-17 Colin Watson <cjwatson@ubuntu.com>
21502
21503 * grub-core/kern/emu/hostdisk.c
21504 (convert_system_partition_to_system_disk): Initialise node.
21505
9c0bad2e
CW
215062010-09-17 Colin Watson <cjwatson@ubuntu.com>
21507
21508 * grub-core/kern/emu/hostdisk.c
21509 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21510 leak.
21511 Reported and based on patch by: Modestas Vainius.
21512
a939d135
CW
215132010-09-17 Colin Watson <cjwatson@ubuntu.com>
21514
21515 Fix DM-RAID probing with recent versions of device-mapper udev
21516 rules.
21517
21518 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21519 canonicalise device paths under /dev/mapper/.
21520 (convert_system_partition_to_system_disk): Compare the
21521 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21522 path, since device nodes under /dev/mapper/ are often symlinks.
21523
0f7ee3c9
YB
215242010-09-17 Yves Blusseau <blusseau@zetam.org>
21525
21526 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21527
10854d0d
YB
215282010-09-16 Yves Blusseau <blusseau@zetam.org>
21529
21530 * configure.ac: Avoid some annoying error messages if freetype-config
21531 program is not found.
21532
108538d8
CW
215332010-09-16 Colin Watson <cjwatson@ubuntu.com>
21534
21535 Support RAID on virtio devices, and others.
21536
21537 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21538 Rename to ...
21539 [__MINGW32__] (grub_find_device): ... this.
21540 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21541 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21542 reasonable default if dir is NULL.
21543 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21544 ...
21545 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21546 (grub_guess_root_device): Update callers.
21547 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21548
21549 * util/raid.c (grub_util_getdiskname): Remove.
21550 (grub_util_raid_getmembers): Use grub_find_device rather than
21551 grub_util_getdiskname.
21552
e5bfc130
CW
215532010-09-16 Colin Watson <cjwatson@ubuntu.com>
21554
21555 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21556 needing to be compiled with serial support.
21557 (ls): Indicate that multiple files are accepted.
21558 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21559 indicate that multiple files are accepted.
21560
be458ae2
CW
215612010-09-16 Colin Watson <cjwatson@ubuntu.com>
21562
21563 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21564 libgrub_a_init.c, and util/bash-completion.d/grub.
21565
cb731b5e
VS
215662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * util/grub-setup.c (setup): Fix incorrect container semantics.
21569
35139e8a
VS
215702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21573 misusage.
21574 Reported by: J. Nick Terry
21575
e50fca4a
VS
215762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 Move embedding routines to partmap sources files.
21579
21580 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21581 [GRUB_UTIL]: New variable.
21582 (gpt_partition_map_iterate): Set part.parent.
21583 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21584 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21585 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21586 New function.
21587 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21588 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21589 (grub_partition_map) [GRUB_UTIL]: New field embed.
21590 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21591 (setup): Use ->embed.
21592
f00478b7
VS
215932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21596 function.
21597 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21598 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21599
2b94e3ff
YB
216002010-09-15 Yves Blusseau <blusseau@zetam.org>
21601
21602 Add function to get completions from usage.
21603
21604 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21605 completions from usage. Use LC_ALL=C to get options properly.
21606
2e04a006
VS
216072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 * grub-core/gnulib/basename-lgpl.c: Imported.
21610 * grub-core/gnulib/basename.c: Likewise.
21611 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21612 * grub-core/gnulib/dirname.c: Likewise.
21613 * grub-core/gnulib/dirname.h: Likewise.
21614 * grub-core/gnulib/stripslash.c: Likewise.
21615
5dcdf93a
VS
216162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * grub-core/gnulib/error.c: Resynced.
21619 * grub-core/gnulib/getopt.c: Likewise.
21620 * grub-core/gnulib/getopt_int.h: Likewise.
21621 * grub-core/gnulib/regex.h: Likewise.
21622 * grub-core/gnulib/regex_internal.c: Likewise.
21623 * grub-core/gnulib/regex_internal.h: Likewise.
21624
014f47b7
SJ
216252010-09-15 Szymon Janc <szymon@janc.net.pl>
21626
21627 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21628 CRC calculations and validity checks.
21629 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21630 calculations.
21631
dd521a4a
SJ
216322010-09-15 Szymon Janc <szymon@janc.net.pl>
21633
21634 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21635
79c4eeb9
VS
216362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 Fix incorrect echo options handling.
21639 Reported by: Yves Blusseau.
21640
21641 * include/grub/command.h (grub_command_flags_t): New flags
21642 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21643 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21644 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21645
ed80f7d5
VS
216462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21649 users updated.
21650 (GRUB_COMMAND_FLAG_MENU): Likewise.
21651 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21652 (GRUB_COMMAND_FLAG_TITLE): Removed.
21653 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21654 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21655 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21656 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21657 (grub_command_flags_t): New enum. All users updated.
21658
5fe7620a
SG
216592010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21660
21661 Fix solaris compilation.
21662
21663 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21664 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21665 (grub-emu-list): Likewise.
21666
545b752f
VS
216672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 Remove deprecated root command.
21670
21671 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21672 updated.
21673
6c1a338c
VS
216742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 * util/i386/pc/grub-setup.c: Merge this ...
21677 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21678 * util/grub-setup.c: ... into this.
21679 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21680 New struct.
21681
216822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21685 possible.
21686
d2ea4551
VS
216872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21688
21689 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21690 allocate p.
21691
3c3b5040
VS
216922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21695 explicit root argument to set to prevent UUID to be interpreted as
21696 argument to set.
21697
b71c3fae
VS
216982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21701
275433e6
VS
217022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21703
21704 Don't export grub_gate_a20.
21705
21706 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21707 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21708 to ...
21709 (grub_gate_a20): ... this. All users updated.
21710 * include/grub/i386/pc/init.h: Removed. All users updated.
21711
a5dbb1f1
VS
217122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 Create euro.pf2 which supports most European languages.
21715
21716 * Makefile.am (grubdata_DATA): Add euro.pf2.
21717 (euro.pf2): New target.
21718 (CLEANFILES): Add euro.pf2.
21719
62a747cb
VS
217202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21721
21722 * configure.ac: Disable emu-usb by default to prevent inadvertent
21723 device takeover.
21724
608e43b1
VS
217252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 Disable usbserial on grub-emu since our libusb code isn't good enough
21728 yet.
21729
21730 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21731 (usbserial_pl2303): Likewise.
21732 (usbserial_ftdi): Likewise.
21733
94564f81
VS
217342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * include/grub/disk.h (grub_disk): Remove has_partitions.
21737 All users updated.
21738 * disk/loopback.c (grub_loopback): Remove has_partitions.
21739 All users updated.
21740 (options): Remove partitions. All users updated.
21741 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21742 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21743 actual partition table is found.
21744
3352800b
VS
217452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 Remove readability checks (too many false negatives).
21748
21749 * util/grub-install.in: Remove readability checks.
21750 * util/grub-mkconfig.in: Likewise.
21751 * util/grub.d/10_hurd.in: Likewise.
21752 * util/grub.d/10_kfreebsd.in: Likewise.
21753 * util/grub.d/10_linux.in: Likewise.
21754 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21755 way.
21756
2419f17a
VS
217572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21758
21759 Enable acpi shutdown on all ACPI platforms.
21760
21761 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21762 on coreboo, multiboot and EFI.
21763 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21764 (grub_acpi_halt): Likewise.
21765 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21766 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21767 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21768 * grub-core/lib/i386/halt.c (grub_halt)
21769 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21770
0575c7c3
VS
217712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21774 context.
21775
54ac3cd1
VS
217762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21779 * grub-core/video/efi_uga.c: Likewise.
21780
b2a30ac5
VS
217812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21782
21783 Filter devaliases and never open same device twice.
21784
21785 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21786 (last_ihandle): Likewise.
21787 (ofdisk_hash_ent): New member shortest.
21788 (ofdisk_hash_add): Add canonical path too.
21789 (scan): New function.
21790 (grub_ofdisk_iterate): Iterate over hashed entries.
21791 (compute_dev_path): Don't add :0.
21792 (grub_ofdisk_open): Don't really open the disk.
21793 (grub_ofdisk_close): Avoid closing unrelated disk.
21794 (grub_ofdisk_read): Implement reopen logic.
21795 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21796 New function.
21797 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21798 New proto.
21799
fb53b340
VS
218002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 Fix sparc64.
21803
21804 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21805 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21806 right address. Add sparc64_ieee1275_ldflags.
21807 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21808 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21809 to grub_host_to_target_addr
21810 (load_image): Likewise.
21811
f452b040
VS
218122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * grub-core/normal/completion.c (complete_file): Handle device
21815 containing slash.
21816 Fix based on patch by Doug Nazar.
21817
9b5b2541
VS
218182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 grub-mknetdir script.
21821
21822 * Makefile.util.def (grub-mknetdir): New module.
21823 * tests/util/grub-shell.in: Support boot=net
21824 * util/grub-mknetdir.in: New file.
21825
9d2be652
VS
218262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21827
21828 videoinfo on non-vbe.
21829
21830 * grub-core/Makefile.core.def (vbeinfo): Removed.
21831 (vbetest): Removed.
21832 (videoinfo): New module.
21833 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21834 * grub-core/commands/i386/pc/vbetest.c: Removed.
21835 * grub-core/commands/videoinfo.c: New file.
21836 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21837 specification.
21838 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21839 as vbetest.
21840 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21841 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21842 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21843 mode_number. New parameter mode. All users updated.
21844 (grub_video_gop_iterate): New function.
21845 (grub_video_efi_gop): New member iterate.
21846 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21847 (grub_vbe_set_video_mode): Remove setting useless fields.
21848 (vbe2videoinfo): New function.
21849 (grub_video_vbe_iterate): Likewise.
21850 (grub_video_vbe_setup): Use vbe2videoinfo.
21851 (grub_video_vbe_print_adapter_specific_info): New function.
21852 (grub_video_vbe_adapter): New fields iterate and
21853 print_adapter_specific_info.
21854 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21855 All users updated.
21856 (grub_video_mode_info): New field mode_number.
21857 (grub_video_adapter): New fields iterate and
21858 print_adapter_specific_info.
21859
179503f5
TG
218602010-09-13 Tristan Gingold <gingold@free.fr>
218612010-09-13 Robert Millan <rmh.grub@aybabtu.com>
218622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * grub-core/commands/efi/lsefisystab.c: New file.
21865 * grub-core/commands/efi/lssal.c: Likewise.
21866 * grub-core/Makefile.core.def (lsacpi): New module.
21867 (lsefisystab): Likewise.
21868 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21869 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21870 (grub_efi_sal_system_table): New struct.
21871 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21872 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21873 (grub_efi_sal_system_table_platform_features): Likewise.
21874 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21875 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21876 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21877 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21878
cf9827de
VS
218792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 Support explicit user claim that a device is BIOS-visible.
21882
21883 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21884 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21885 * grub-core/kern/emu/hostdisk.c
21886 (convert_system_partition_to_system_disk): Support mdX.
21887 (find_system_device): New parameter add. All users updated.
21888 (grub_util_biosdisk_is_present): New function.
21889 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21890 proto.
21891
53f0eb1f
VS
218922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 Search hints support.
21895
21896 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21897 All users updated.
21898
b23ffd70
YB
218992010-09-13 Yves Blusseau <blusseau@zetam.org>
21900
21901 Bash completion script for util commands
21902
21903 * Makefile.am: Add util/bash-completion.d directory
21904 * configure.ac: Likewise.
21905 * util/bash-completion.d/Makefile.am: New file.
21906 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21907
d547dc28
VS
219082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21911 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21912 Reported by: Yves Blusseau.
21913
2fc8ccb9
VS
219142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21915
21916 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21917 partition size and offset.
21918
d8a84076
VS
219192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21920
21921 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21922
84fb3b3d
VS
219232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21926
768ec2e2
VS
219272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21930 (grub_xvasprintf): Likewise.
21931
4870900f
VS
219322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21933
21934 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21935
faca6bec
VS
219362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21939 args ending with NULL.
21940
219412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21942
21943 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21944 pointer.
21945
3c70f225
SJ
219462010-09-11 Szymon Janc <szymon@janc.net.pl>
21947
21948 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21949
4df7996d
VS
219502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 Shutdown using ACPI.
21953
21954 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21955 * grub-core/commands/acpihalt.c: New file.
21956 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21957 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21958 (grub_acpi_halt): New proto.
21959 (GRUB_ACPI_SLP_EN): New const.
21960 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21961 (GRUB_ACPI_OPCODE_*): New enum.
21962 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21963
126b4c32
TG
219642010-09-11 Tristan Gingold <gingold@free.fr>
219652010-09-11 Robert Millan <rmh.grub@aybabtu.com>
219662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21967
21968 * commands/lsacpi.c: New file.
21969 * grub-core/Makefile.core.def (lsacpi): New module.
21970 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21971 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21972 (grub_acpi_madt_entry_header): New struct.
21973 (grub_acpi_madt): Likewise.
21974 (grub_acpi_madt_entry_interrupt_override): Likewise.
21975 (grub_acpi_madt_entry_sapic): Likewise.
21976 (grub_acpi_madt_entry_lsapic): Likewise.
21977 (grub_acpi_madt_entry_platform_int_source): Likewise.
21978 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21979 (PRIuGRUB_UINT32_T): Likewise.
21980 (PRIxGRUB_UINT64_T): Likewise.
21981
1aa4fe88
VS
219822010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 Implement loading palette on ieee1275_fb.
21985
21986 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21987 (have_setcolors): Likewise.
21988 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21989 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21990 (grub_video_ieee1275_set_palette): Implement.
21991
25761e13
VS
219922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
219932010-09-11 Colin Watson <cjwatson@ubuntu.com>
21994
21995 * util/grub-install.in (grub_partition): New variable.
21996 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21997 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21998 Fixes a bug reported by Yves Blusseau.
21999
050abaea
VS
220002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 Fix emu on mipsel.
22003
22004 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22005 =grub_cpu_flush_cache on all mips and not only yeeloong.
22006 * configure.ac (COND_mips): New conditional.
22007 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22008 platforms.
22009 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22010 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22011 [GRUB_LINKER_HAVE_INIT]: New function.
22012 (grub_emu_post_init): Likewise.
22013 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22014 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22015 * include/grub/cache.h (_mips): Include mips/cache.h.
22016 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22017 LVM and RAID prototypes.
22018 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22019 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22020 function.
22021
5ed7d816
CW
220222010-09-10 Colin Watson <cjwatson@ubuntu.com>
22023
22024 * util/grub-install.in: Don't try to verify core.img until after
22025 running grub-mkimage to create it.
22026
90367e04
RM
220272010-09-10 Robert Millan <rmh@gnu.org>
22028
22029 * util/grub.d/10_hurd.in: Add misc readability checks.
22030 * util/grub.d/10_kfreebsd.in: Likewise.
22031 * util/grub.d/10_linux.in: Likewise.
22032
c452fa66
CW
220332010-09-10 Colin Watson <cjwatson@ubuntu.com>
22034
22035 * util/grub-install.in: ${imgext} won't be defined here until the
22036 install branch is merged. For the meantime, only verify core.img on
22037 i386-pc and sparc64-ieee1275 platforms.
22038
c38fe9f4
RM
220392010-09-10 Robert Millan <rmh@gnu.org>
22040
22041 Solaris support in grub_find_zpool_from_dir(). Thanks
22042 Seth Goldberg for referring to getextmntent() facility.
22043
22044 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22045 `sys/mkdev.h'.
22046 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22047 `<sys/mnttab.h>'.
22048 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22049 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22050 method for finding zpool name.
22051
905f7773
CW
220522010-09-10 Colin Watson <cjwatson@ubuntu.com>
22053
22054 grub-fstest needs the host and hostfs modules while other utilities
22055 actively require those modules to be absent, so grub-fstest needs
22056 its own initialisation and finalisation code.
22057
22058 * Makefile.am (grub_fstest.pp): New target.
22059 (grub_fstest_init.lst): Likewise.
22060 (grub_fstest_init.c): Likewise.
22061 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22062
fb90b546
RM
220632010-09-10 Robert Millan <rmh@gnu.org>
22064
22065 * configure.ac: Check for `struct statfs.f_fstypename' and
22066 `struct statfs.f_mntfromname'.
22067
22068 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22069 kFreeBSD-specific code.
22070
66d4bea5
RM
220712010-09-10 Robert Millan <rmh@gnu.org>
22072
22073 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22074 on ZFS. Now non-main filesystems are supported as / too.
22075
b6a690ee
CW
220762010-09-09 Colin Watson <cjwatson@ubuntu.com>
22077
22078 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22079 and grub-core/disk/host.c to ...
22080 (grub-fstest): ... here. Having the host disk implementation
22081 present confuses grub-probe and other utility programs.
22082
22083 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22084 when writing to a file, not when writing to stdout.
22085
8901b00c 220862010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22087
22088 * tests/partmap_test.in: New test for partitions.
22089 * Makefile.util.def: Rules for new test.
22090
7bf45fdd
RM
220912010-09-09 Robert Millan <rmh@gnu.org>
22092
22093 * util/grub-probe.c (probe): Fix a pair of unhandled error
22094 conditions.
22095
4dfbc574
RM
220962010-09-09 Robert Millan <rmh@gnu.org>
22097
22098 Basic Btrfs support (detection and UUID).
22099
22100 * grub-core/fs/btrfs.c: New file.
22101 * Makefile.util.def (library): Register btrfs.c.
22102 * grub-core/Makefile.core.def: Likewise.
22103
6b8e78ae
RM
221042010-09-08 Robert Millan <rmh@gnu.org>
22105
22106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22107 with (optional) parameters to specify device and relative path.
22108 * util/grub-install.in: Use is_path_readable_by_grub() to
22109 verify readability of a few critical files.
22110 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22111 verify readability of grub.cfg.new.
22112
27f21a8b
VS
221132010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 Split minix.mod into minix.mod and minix2.mod.
22116
22117 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22118 * grub-core/Makefile.core.def (minix2): New module.
22119 * grub-core/fs/minix.c: Use definitions instead of runtime version
22120 checking.
22121 * grub-core/fs/minix2.c: New file.
22122
c0e53ea5
YB
221232010-09-08 Yves Blusseau <blusseau@zetam.org>
22124
22125 Add new --boot-directory option to replace --root-directory
22126
22127 * util/grub-install.in: Add new --boot-directory option
22128 * util/grub-reboot.in: Likewise.
22129 * util/grub-set-default.in: Likewise.
22130
b9fe6ea2
YB
221312010-09-08 Yves Blusseau <blusseau@zetam.org>
22132
22133 * util/grub-mkconfig.in: Use new variable.
22134
d87aedff
YB
221352010-09-08 Yves Blusseau <blusseau@zetam.org>
22136
22137 * configure.ac: Define some useful variables.
22138
e55e8495
VS
221392010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22142 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22143 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22144 Use terminfo and don't use cursor-on/cursor-off unless it's known
22145 to work.
22146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22147 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22148
6fa6d675
CW
221492010-09-08 Colin Watson <cjwatson@ubuntu.com>
22150
22151 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22152 starts with "(,", fill the drive containing the loaded image in
22153 between those two characters, but expect that a full partition
22154 specification including partition map names will follow.
22155
92f2aef0
RM
221562010-09-08 Robert Millan <rmh@gnu.org>
22157
22158 * configure.ac: Remove `--enable-grub-fstest' option.
22159 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22160
22161 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22162 `grub-fstest' instead of `grub-probe' for readability verification.
22163 * util/grub-probe.c (probe): Remove readability verification kludge.
22164
99fd620d
RM
221652010-09-08 Robert Millan <rmh@gnu.org>
22166
22167 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22168 initializing `GRUB_FS'.
22169
058e30ac 221702010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22171
22172 Not command (!) support to GRUB script.
22173
22174 * tests/grub_script_not.in: New test.
22175 * Makefile.util.def: Rules for new test.
22176
22177 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22178 ! command as a special case.
22179 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22180
b61d05ed 221812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22182
058e30ac 22183 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22184 grub_free.
b61d05ed 22185
4d69c786 221862010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22187
22188 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22189
aa3119c4 221902010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22191
22192 * docs/grub.texi (Shell-like scripting): Documentation for break,
22193 continue, shift and return commands.
22194
db0f7e3d
VS
221952010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 Rename CD-ROM to cd on BIOS.
22198
22199 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22200 "cd".
22201 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22202
88b87c93
VS
222032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22206 * util/grub-probe.c (main): Likewise.
22207 * util/i386/pc/grub-setup.c (main): Likewise.
22208 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22209 Reported and debugged by: alexxy
22210
294f324d
VS
222112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22214 diagnostic info.
22215
d7ee3441
JS
222162010-09-05 Jo Shields <directhex@apebox.org>
22217
22218 * util/grub.d/30_os-prober.in: Add missing classes.
22219
d7e06c1f
VS
222202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * docs/grub.texi (Theme file format): Document new position format.
22223
fc157e53
VS
222242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22225
22226 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22227 a table. Use @code instead of @verbatim.
22228
506e9a1c
CB
222292010-09-05 Colin D Bennett <colin@gibibit.com>
22230
22231 Gfxmenu documentation.
22232
22233 * docs/grub.texi (Theme file format): New chapter.
22234
f0aff67c
SJ
222352010-09-05 Szymon Janc <szymon@janc.net.pl>
22236
22237 * grub-core/Makefile.core.def (xzio): New module.
22238 * grub-core/io/xzio.c: New file.
22239 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22240 * grub-core/lib/xzembed/xz_config.h: Likewise.
22241 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22242 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22243 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22244 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22245 * grub-core/lib/xzembed/xz_private.h: Likewise.
22246 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22247 * include/grub/file.h (grub_file_filter_id): New compression filter
22248 GRUB_FILE_FILTER_XZIO.
22249
82a85062
VS
222502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22253 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22254 size.
22255
3579415d
VS
222562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22259 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22260
5124ae6d
VS
222612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 Uncompressed checksum support.
22264
22265 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22266 (check_list): New parameter uncompress.
22267 (grub_cmd_hashsum): Handle --uncompress.
22268
9aadb3d1
VS
222692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Reintroduce testload.
22272
22273 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22274 from here ...
22275 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22276 (GRUB_MOD_INIT): New function.
22277 (GRUB_MOD_FINI): Likewise.
22278 * grub-core/Makefile.core.def (testload): New module.
22279
a17792c3
SJ
222802010-09-05 Szymon Janc <szymon@janc.net.pl>
22281
22282 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22283 (uint8_t): New type.
22284 (uint16_t): Likewise.
22285 (uint32_t): Likewise.
22286 (uint64_t): Likewise.
22287
b81e40a3
SJ
222882010-09-05 Szymon Janc <szymon@janc.net.pl>
22289
22290 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22291
fc2ef117
VS
222922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22295 Made static.
22296 (grub_gzfile_open): Removed. All users updated.
22297 (GRUB_MOD_INIT): New function.
22298 (GRUB_MOD_FINI): Likewise.
22299 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22300 (grub_file_filters_enabled): Likewise.
22301 (grub_file_open): Handle filters.
22302 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22303 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22304 * include/grub/file.h (grub_file_filter_id_t): New type.
22305 (grub_file_filter_t): Likewise.
22306 (grub_file_filters_all): New extern variable.
22307 (grub_file_filters_enabled): Likewise.
22308 (grub_file_filter_register): New inline function.
22309 (grub_file_filter_unregister): Likewise.
22310 (grub_file_filter_disable): Likewise.
22311 (grub_file_filter_disable_compression): Likewise.
22312 * include/grub/gzio.h: Removed.
22313
35ee15e0
BC
223142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22315
22316 Filename expansion support for wildcards in GRUB script.
22317
22318 * tests/grub_script_expansion.in: New test.
22319 * Makefile.util.def: Rule for new test.
22320
22321 * grub-core/commands/wildcard.c: New file, implements filename
22322 expansion support for GRUB script.
22323 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22324 * grub-core/script/argv.c: Cosmetic changes.
22325 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22326 Refactored to perform wildcard expansion on arguments.
22327 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22328 struct.
22329
22330 * tests/util/grub-shell.in: Fix quoting for read input.
22331
5f0c4aca
BC
223322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22333
22334 Support for updating environment variables with matched substrings
22335 of regexp.
22336
22337 * tests/grub_cmd_regexp.in: New test.
22338 * Makefile.util.def: Rule for new test.
22339
22340 * grub-core/commands/regexp.c: New option -s to update environment
22341 variables with regexp matches.
22342
3759a35f
SJ
223432010-09-04 Szymon Janc <szymon@janc.net.pl>
22344
22345 * include/grub/file.h (grub_file): New member not_easly_seekable.
22346 (grub_file_seekable): New inline function.
22347 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22348 easily seekable.
22349 (grub_gzio_open): Set not_easly_seekable.
22350 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22351 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22352
ed8c6dec
BC
223532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22354
22355 Support for options to appear multiple times on cmdline.
22356
22357 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22358 * grub-core/commands/extcmd.c: Support for repeatable option.
22359 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22360 repeatable option support.
22361
22362 Refactor menuentry into a regular command.
22363
22364 * grub-core/commands/menuentry.c: New file, menuentry command
22365 implementation.
22366 * grub-core/Makefile.core.def: Rule update for normal.mod.
22367 * grub-core/normal/main.c: Moved menuentry creation to
22368 grub-core/commands/menuentry.c.
22369 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22370 (grub_menu_execute_entry_real): Removed.
22371 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22372 function.
22373 (grub_script_execute_menuentry): Removed.
22374 * grub-core/script/parser.y (menuentry): Removed.
22375 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22376 * grub-core/script/yylex.l (menuentry): Removed.
22377 * include/grub/menu.h (grub_menu_init): New prototype.
22378 (grub_menu_fini): New prototype.
22379 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22380 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22381 (grub_script_execute_sourcecode): New prototype.
22382
dacd0cf0
BC
223832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22384
22385 "return" command for GRUB script functions.
22386
22387 * tests/grub_script_return.in: New test.
22388 * Makefile.util.def: Rules for new test.
22389
22390 * grub-core/script/execute.c (grub_script_return): New function.
22391 * grub-core/script/main.c: Register/unregister return commaond.
22392 * include/grub/script_sh.h (grub_script_return): New prototype.
22393
52e72f9d
BC
223942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22395
22396 "setparams" command to update positional parameters.
22397
22398 * tests/grub_script_setparams.in: New test.
22399 * Makefile.util.def: Rules for new test.
22400
22401 * grub-core/script/argv.c (grub_script_argv_make): New function.
22402 * grub-core/script/execute.c (replace_scope): New function.
22403 (grub_script_setparams): New function.
22404 * grub-core/script/lexer.c: Remove unused variables.
22405 * grub-core/script/main.c: Register/unregister setparams command.
22406 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22407 (grub_script_setparams): New prototype.
22408
25b60c91
BC
224092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22410
22411 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22412 grub_free order.
22413
37e7bf68
BC
224142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22415
22416 Support for passing block of commands as an argument to extcmds.
22417
22418 * Makefile.util.def: Rules for new test.
22419 * tests/grub_script_blockarg.in: New test.
22420 * grub-core/tests/test_blockarg.c: New file, block argument
22421 command used in the test.
22422
22423 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22424 (grub_register_extcmd_prio): New function prototype.
22425 (grub_extcmd_dispatcher): New function prototype.
22426 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22427 type.
22428 * include/grub/script_sh.h (struct grub_script): New members
22429 `children', `next_siblings' and `refcnt' for block arguments and
22430 reference counting.
22431 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22432 (grub_script_arg): New member `script' for block argument.
22433 (grub_script_argv): New member `script' for block argument.
22434 (grub_parser_param): New member `scripts' for block argument.
22435 (grub_script_mem_free): New extern function prototype.
22436 (grub_script_ref): New function prototype.
22437 (grub_script_unref): New function prototype.
22438
22439 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22440 extcmd form to support block arguments.
22441 * grub-core/script/argv.c: Block arguments support.
22442 * grub-core/script/execute.c: Likewise.
22443 * grub-core/script/lexer.c: Likewise.
22444 * grub-core/script/main.c: Likewise.
22445 * grub-core/script/script.c: Likewise.
22446 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22447 non-terminals.
22448
22449 * grub-core/commands/acpi.c: Update extcmd implementations with
22450 grub_extcmd_context_t.
22451 * grub-core/commands/cat.c: Likewise.
22452 * grub-core/commands/echo.c: Likewise.
22453 * grub-core/commands/extcmd.c: Likewise.
22454 * grub-core/commands/hashsum.c: Likewise.
22455 * grub-core/commands/hdparm.c: Likewise.
22456 * grub-core/commands/help.c: Likewise.
22457 * grub-core/commands/hexdump.c: Likewise.
22458 * grub-core/commands/i386/cpuid.c: Likewise.
22459 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22460 * grub-core/commands/i386/pc/halt.c: Likewise.
22461 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22462 * grub-core/commands/iorw.c: Likewise.
22463 * grub-core/commands/keystatus.c: Likewise.
22464 * grub-core/commands/loadenv.c: Likewise.
22465 * grub-core/commands/ls.c: Likewise.
22466 * grub-core/commands/lspci.c: Likewise.
22467 * grub-core/commands/memrw.c: Likewise.
22468 * grub-core/commands/probe.c: Likewise.
22469 * grub-core/commands/search_wrap.c: Likewise.
22470 * grub-core/commands/setpci.c: Likewise.
22471 * grub-core/commands/sleep.c: Likewise.
22472 * grub-core/disk/loopback.c: Likewise.
22473 * grub-core/hello/hello.c: Likewise.
22474 * grub-core/loader/i386/bsd.c: Likewise.
22475 * grub-core/loader/xnu.c: Likewise.
22476 * grub-core/term/gfxterm.c: Likewise.
22477 * grub-core/term/serial.c: Likewise.
22478 * grub-core/tests/lib/functional_test.c: Likewise.
22479
888d1500
BC
224802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22481
22482 Multi-line quoted strings support.
22483
22484 * grub-core/script/lexer.c (append_newline): Removed.
22485 (grub_script_lexer_yywrap): Refactored.
22486 (grub_script_lexer_init): Refactored.
22487 * grub-core/script/yylex.l (yywrap): New function.
22488 (grub_lexer_resplit): New function.
22489 (grub_lexer_unput): New function.
22490 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22491 and resplit.
22492 * tests/grub_script_echo1.in: Added few more testcases.
22493
dda060dd
VS
224942010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * grub-core/kern/misc.c: Don't add abort alias in utils.
22497 Reported by: echoline.
22498
6556eba9
BC
224992010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22500
22501 Add missing files into "make dist" tarball for other platforms.
22502
22503 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22504 * conf/Makefile.common (dist_noinst_DATA): New variable.
22505 * conf/Makefile.extra-dist: Added missing make dist files.
22506 * grub-core/Makefile.core.def: Likewise.
22507
c8e7bf5f
VS
225082010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 Compress grub_prefix.
22511
22512 * grub-core/boot/i386/pc/lnxboot.S: Use
22513 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22514 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22515 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22516 GRUB_MACHINE_PREFIX_END. All users updated.
22517 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22518 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22519 + 0x40.
22520 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22521 * util/grub-mkimage.c (image_target_desc): Change data_end to
22522 prefix_end. All users updated.
22523
a7c00cdb
VS
225242010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22527 value.
22528 (grub_openbsd_boot): Likewise.
22529 (grub_netbsd_boot): Likewise.
22530 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22531 (grub_xnu_boot): Likewise.
22532
9f915872
VS
225332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 * configure.ac: Clean LIBS variable after tests.
22536
efa1bee7
CW
225372010-09-02 Colin Watson <cjwatson@ubuntu.com>
22538
22539 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22540
61d720e5
VS
225412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22544 echo if libdevmapper will be used.
22545
ef8e0ec8
IT
225462010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22547
22548 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22549 constant for the same file.
22550
03e261d8
VS
225512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22554
c2a4eba6
CW
225552010-09-02 Colin Watson <cjwatson@ubuntu.com>
22556
22557 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22558 grub-core/*.pp.
22559
9056cbf3
CW
225602010-09-02 Colin Watson <cjwatson@ubuntu.com>
22561
22562 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22563 required by the boot protocol.
22564
22565 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22566 ebp and edi members.
22567 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22568 state.ebp and state.edi.
22569 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22570 %ebp and %edi according to grub_relocator32_ebp and
22571 grub_relocator32_edi respectively.
22572 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22573 and state.edi.
22574
529cc99a
VS
225752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 Add i386-pc-pxe image target.
22578
22579 * util/grub-mkimage.c (image_target_desc): New enum value
22580 IMAGE_I386_PC_PXE.
22581 (image_targets): New target i386-pc-pxe.
22582 (generate_image): Handle i386-pc-pxe image.
22583
9a093920
VS
225842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 Fix grub_pxe_scan.
22587
22588 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22589 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22590 All users updated.
22591 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22592 (grub_pxe_pxenv): Correct type.
22593
f9cefc4e
CW
225942010-09-01 Colin Watson <cjwatson@ubuntu.com>
22595
22596 * NEWS: Document most of the important changes since 1.98.
22597
4066f57f
CW
225982010-09-01 Colin Watson <cjwatson@ubuntu.com>
22599
22600 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22601 generated manual page) a little.
22602
da2891f9
CW
226032010-09-01 Colin Watson <cjwatson@ubuntu.com>
22604
22605 * docs/grub.texi: Add myself as an author.
22606
ad717fae
VS
226072010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22608
22609 * Makefile.util.def (libgrub.a): Add missing sunpc.
22610 Reported by: Seth Goldberg.
22611
eefe8abd
VS
226122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 Interrupt wrapping and code simplifications.
22615
9494ef9a
VS
22616 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22617 x86_noieee1275 which are functionaly equivalent in this case.
22618 (grub-install): Make source on each platform explicit. Enable on
22619 all noemu.
22620 * gentpl.py (x86_efi_pc): Removed group.
22621 (x86_noefi): Likewise.
22622 (i386_noefi): Likewise.
22623 (x86_noieee1275): Likewise.
22624 (i386_noieee1275): Likewise.
22625 (i386_noefi_noieee1275): Likewise.
22626 (i386_pc_qemu_coreboot): Likewise.
22627 (i386_coreboot_multiboot): Likewise.
22628 (i386_pc_coreboot_multiboot_qemu): Likewise.
22629 (x86_noefi_mips): Likewise.
22630 (noieee1275): Likewise.
22631 (ieee1275_mips): Likewise.
22632 (noemu_noieee1275): Likewise.
22633 (cmos): New group.
22634 (usb): Likewise.
22635 (videoinkernel): Likewise.
22636 (videomodules): Likewise.
eefe8abd 22637 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22638 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22639 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22640 include/grub/loader.h, include/grub/msdos_partition.h,
22641 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22642 include/grub/machine/console.h, include/grub/machine/vga.h,
22643 include/grub/machine/vbe.h, include/grub/machine/init.h,
22644 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22645 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22646 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22647 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22648 * grub-core/Makefile.core.def (kernel): Explicit the source for
22649 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22650 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22651 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22652 Use videoinkernel tag.
22653 (usb): Enable on all usb.
22654 (usbserial_common): Likewise.
22655 (usbserial_pl2303): Likewise.
22656 (usbserial_ftdi): Likewise.
22657 (uhci): Enable on all x86.
22658 (ohci): Enable on all pci.
22659 (cmostest): Enable on all CMOS.
22660 (acpi): Include commands/acpi.c on all platforms.
22661 (halt): Add relevant lib/*/halt.c.
22662 (hdparm): Enable on all pci.
22663 (lspci): Likewise.
22664 (usbtest): Enable on all usb.
22665 (ata): Enable on all pci.
22666 (ata_pthru): Likewise.
22667 (usbms): Enable on all usb.
22668 (usb_keyboard): Likewise.
22669 (font): Use tag videomodules.
22670 (bufio): Likewise.
22671 (datetime): Use tag cmos. Enable on all noemu.
22672 (mmap): Use tags common and x86.
22673 (gfxterm): Use tag videomodules.
22674 (bitmap): Likewise.
22675 (bitmap_scale): Likewise.
22676 (video_fb): Likewise.
22677 (video): Likewise.
22678 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22679 adjust padding accordingly. All users updated.
22680 (grub_ohci_transaction): Fix bad format specification.
22681 (GRUB_MOD_INIT): Add asserts for struct size.
22682 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22683 (grub_alloc_td): Likewise.
22684 (grub_free_queue): Likewise.
22685 (grub_uhci_transfer): Likewise.
22686 (grub_uhci_transaction): Fix bad format specification.
22687 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22688 (grub_usb_bulk_readwrite): Likewise.
22689 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22690 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22691 Made static.
22692 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22693 Made static.
22694 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22695 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22696 Transformed into C.
22697 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22698 Moved from here ...
22699 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22700 ... here. Transformed into C. Made static.
22701 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22702 Moved from here ...
22703 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22704 ... here. Transformed into C. Made static.
22705 * grub-core/kern/i386/pc/startup.S
22706 (grub_biosdisk_check_int13_extensions): Moved from here ...
22707 * grub-core/disk/i386/pc/biosdisk.c
22708 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22709 Made static.
22710 * grub-core/kern/i386/pc/startup.S
22711 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22712 * grub-core/disk/i386/pc/biosdisk.c
22713 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22714 Transformed into C. Made static.
22715 * grub-core/kern/i386/pc/startup.S
22716 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22717 * grub-core/disk/i386/pc/biosdisk.c
22718 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22719 Transformed into C. Made static.
22720 * grub-core/kern/i386/pc/startup.S
22721 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22722 * grub-core/disk/i386/pc/biosdisk.c
22723 (grub_biosdisk_get_diskinfo_standard): ... here.
22724 Transformed into C. Made static.
22725 * grub-core/kern/i386/pc/startup.S
22726 (grub_biosdisk_get_num_floppies): Moved from here ...
22727 * grub-core/disk/i386/pc/biosdisk.c
22728 (grub_biosdisk_get_num_floppies): ... here.
22729 Transformed into C. Made static.
22730 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22731 New function.
22732 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22733 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22734 Transformed into C. Made static.
22735 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22736 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22737 Transformed into C. Made static.
22738 * grub-core/kern/i386/ieee1275/init.c: Removed.
22739 * grub-core/kern/i386/misc.S: Likewise.
22740 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22741 Splitted from here ...
22742 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22743 Transformed into C. Made static. All users updated.
22744 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22745 Transformed into C. Made static. All users updated.
22746 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22747 Moved from here...
22748 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22749 Transformed into C. Made static. All users updated.
22750 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22751 Moved from here...
22752 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22753 Transformed into C. Made static. All users updated.
22754 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22755 Removed (replaced by C version).
22756 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22757 Moved from here...
22758 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22759 Transformed into C. Made static.
22760 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22761 Moved from here...
22762 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22763 ... here. Transformed into C.
22764 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22765 Moved from here...
22766 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22767 ... here. Transformed into C.
22768 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22769 Moved from here...
22770 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22771 ... here. Transformed into C. Made static.
22772 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22773 Moved from here...
22774 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22775 ... here. Transformed into C.
21ed554b
VS
22776 * grub-core/kern/i386/pc/startup.S
22777 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22778 * grub-core/video/i386/pc/vbe.c
22779 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22780 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22781 Moved from here...
22782 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22783 ... here. Transformed into C.
22784 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22785 Moved from here...
22786 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22787 ... here. Transformed into C.
22788 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22789 Moved from here...
22790 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22791 ... here. Transformed into C.
22792 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22793 Moved from here...
22794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22795 ... here. Transformed into C.
22796 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22797 Moved from here...
22798 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22799 ... here. Transformed into C. Made static.
22800 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22801 Moved from here...
22802 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22803 ... here. Transformed into C. Made static.
22804 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22805 Moved from here...
22806 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22807 ... here. Transformed into C. Made static.
22808 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22809 pxe_rm_entry as third argument.
22810 (grub_bios_interrupt): New function.
22811 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22812 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22813 of calling grub_stop.
22814 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22815 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22816 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22817 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22818 * grub-core/lib/i386/halt.c: Moved from here ...
22819 * grub-core/lib/i386/halt.c: ... here.
22820 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22821 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22822 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22823 grub_stop_floppy.
22824 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22825 * include/grub/i386/coreboot/init.h: Removed.
22826 * include/grub/i386/multiboot/init.h: Likewise.
22827 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22828 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22829 * include/grub/i386/pc/int.h: New file.
22830 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22831 (grub_pxe_scan): Removed.
22832 (grub_pxe_call): Update prototype.
22833 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22834 prototypes.
22835 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22836 * include/grub/i386/qemu/init.h: Removed.
22837 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22838 noreturn.
22839 (grub_halt): Likewise.
22840 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22841 (grub_reboot): Likewise.
22842 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22843 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22844 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22845
215dd471
RM
228462010-08-30 Robert Millan <rmh@gnu.org>
22847
22848 * NEWS: Document addition of ZFS support in `grub-install' and
22849 `grub-mkconfig'.
22850
ebd65b82
BC
228512010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22852
22853 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22854 dprintf output.
22855
11721d19
VS
228562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22857
22858 Remove leftover embedding of font objects.
22859
22860 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22861 * util/grub-install.in (font): Removed.
22862 * util/grub-mkimage.c (generate_image): Remove font support. All users
22863 updated.
22864
37837d4e
VS
228652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22866
22867 Remove leftover embedding of font objects.
22868
22869 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22870 * util/grub-install.in (font): Removed.
22871 * util/grub-mkimage.c (generate_image): Remove font support. All users
22872 updated.
22873
b4c1aae0
VS
228742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22875
22876 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22877 Reported by: Ian Turner
b4c1aae0 22878
8920a08d
VS
228792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22882 timeout to avoid indefinite boot stalling.
22883
f21db033
VS
228842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22887 (grub_env_write_color_highlight): Likewise.
22888
9a9de209
VS
228892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22890
22891 * grub-core/normal/term.c (print_more): Return to normal and not
22892 to standard state after printing "---MORE---".
22893
3dca01d7
VS
228942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22897 Mask out the bit 0x80 since it has other meaning that specifiing color.
22898
0b986c40
VS
228992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 New relocator. Allows for more kernel support and more straightforward
22902 loader writing.
22903
22904 * Makefile.am (BOOTTARGET): New variable.
22905 (QEMU32): Likewise.
22906 (linux.init.x86_64): New target.
22907 (linux.init.i386): Likewise.
22908 (multiboot.elf): Likewise.
22909 (kfreebsd.elf): Likewise.
22910 (kfreebsd.aout): Likewise.
22911 (pc-chainloader.elf): Likewise.
22912 (pc-chainloader.bin): Likewise.
22913 (ntldr.elf): Likewise.
22914 (ntldr.bin): Likewise.
22915 (multiboot2.elf): Likewise.
22916 (kfreebsd.init.x86_64): Likewise.
22917 (kfreebsd.init.i386): Likewise.
22918 (knetbsd.init.i386): Likewise.
22919 (kopenbsd.init.i386): Likewise.
22920 (knetbsd.init.x86_64): Likewise.
22921 (kopenbsd.init.x86_64): Likewise.
22922 (linux-initramfs.i386): Likewise.
22923 (linux-initramfs.x86_64): Likewise.
22924 (kfreebsd-mfsroot.i386.img): Likewise.
22925 (knetbsd.image.i386): Likewise.
22926 (kopenbsd.image.i386): Likewise.
22927 (kopenbsd.image.x86_64): Likewise.
22928 (knetbsd.miniroot-image.i386.img): Likewise.
22929 (kfreebsd-mfsroot.x86_64.img): Likewise.
22930 (knetbsd.image.x86_64): Likewise.
22931 (knetbsd.miniroot-image.x86_64.img): Likewise.
22932 (kfreebsd-mfsroot.i386.gz): Likewise.
22933 (bootcheck-kfreebsd-i386): Likewise.
22934 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22935 (bootcheck-kfreebsd-x86_64): Likewise.
22936 (knetbsd.miniroot-image.i386.gz): Likewise.
22937 (bootcheck-knetbsd-i386): Likewise.
22938 (bootcheck-kopenbsd-i386): Likewise.
22939 (bootcheck-kopenbsd-x86_64): Likewise.
22940 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22941 (bootcheck-knetbsd-x86_64): Likewise.
22942 (bootcheck-linux-i386): Likewise.
22943 (bootcheck-linux-x86_64): Likewise.
22944 (bootcheck-linux16-i386): Likewise.
22945 (bootcheck-linux16-x86_64): Likewise.
22946 (bootcheck-multiboot): Likewise.
22947 (bootcheck-multiboot2): Likewise.
22948 (bootcheck-kfreebsd-aout): Likewise.
22949 (bootcheck-pc-chainloader): Likewise.
22950 (bootcheck-ntldr): Likewise.
22951 (CLEANFILES): Add new targets.
22952 (BOOTCHECKS): New variable.
22953 (.PHONY): Add bootchecks.
22954 (SUCCESSFUL_BOOT_STRING): New variable.
22955 (BOOTCHECK_TIMEOUT): Likewise.
22956 (bootcheck): New target
22957 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22958 * configure.ac: Correct efiemu excuse.
22959 * docs/grub.texi (Supported kernels): New chapter.
22960 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22961 include/grub/mm_private.h. Simplify inclusion of
22962 include/grub/boot.h, include/grub/loader.h
22963 and include/grub/msdos_partition.h
22964 (KERNEL_HEADER_FILES) [i386_coreboot]:
22965 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22966 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22967 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22968 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22969 include/grub/machine/loader.h.
22970 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22971 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22972 extra_dist.
22973 (pci.mod): Enable on i386-multiboot.
22974 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22975 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22976 i386-qemu.
22977 (relocator.mod): Rewritten.
22978 (aout.mod): Enable on all x86.
22979 (bsd.mod): Likewise.
22980 (ntldr.mod): New module.
22981 (linux.mod): Use loader/i386/linux.c on all x86.
22982 (xnu.mod): Enable on all x86.
22983 (vga_text.mod): disable on EFI and QEMU.
22984 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22985 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22986 * grub-core/efiemu/loadcore.c: Likewise.
22987 * grub-core/efiemu/main.c: Likewise.
22988 (grub_efiemu_exit_boot_services): Removed.
22989 (grub_efiemu_finish_boot_services): Likewise.
22990 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22991 function.
22992 * grub-core/efiemu/i386/nocfgtables.c: New file.
22993 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22994 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22995 (grub_efi_finish_boot_services): Moved from here ...
22996 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22997 Fille finish memory map and related data.
22998 (finish_mmap_buf): New variable.
22999 (grub_efi_uintn_t finish_mmap_size): Likewise.
23000 (grub_efi_uintn_t finish_key): Likewise.
23001 (grub_efi_uintn_t finish_desc_size): Likewise.
23002 (grub_efi_uint32_t finish_desc_version): Likewise.
23003 (grub_efi_is_finished): Likewise.
23004 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23005 finished.
23006 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23007 (grub_elf64_phdr_iterate): Likewise.
23008 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23009 (grub_os_area_size): Likewise.
23010 (grub_machine_init): Don't reserve os area.
23011 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23012 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23013 * grub-core/kern/i386/loader.S: Removed.
23014 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23015 (grub_os_area_size): Likewise.
23016 (grub_machine_init): Don't reserve os area.
23017 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23018 Don't call grub_dl_unload_all.
23019 Don't include loader.S.
23020 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23021 Declare the memory after _end as available.
23022 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23023 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23024 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23025 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23026 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23027 * include/grub/mm_private.h (grub_mm_header): ... here.
23028 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23029 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23030 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23031 (grub_mm_region): ..here. Removed addr. Added pre_size.
23032 All users updated.
23033 * grub-core/kern/mm.c (base): Renamed to ...
23034 (grub_mm_base): ... this. Made global.
23035 (grub_real_malloc): Alloc from end of region.
23036 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23037 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23038 * grub-core/kern/powerpc/cache_flush.S: ... here.
23039 * grub-core/lib/efi/relocator.c: New file.
23040 * grub-core/lib/i386/relocator.c: Rewritten.
23041 * grub-core/lib/i386/relocator16.S: New file.
23042 * grub-core/lib/i386/relocator32.S: Likewise.
23043 * grub-core/lib/i386/relocator64.S: Likewise.
23044 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23045 * grub-core/lib/i386/relocator_common.S: New file.
23046 * grub-core/lib/ieee1275/relocator.c: Likewise.
23047 * grub-core/lib/mips/relocator.c: Rewritten.
23048 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23049 stylistic adjustments.
23050 * grub-core/lib/powerpc/relocator.c: New file.
23051 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23052 * grub-core/lib/relocator.c: Rewritten.
23053 * grub-core/lib/x86_64/relocator_asm.S: New file.
23054 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23055 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23056 (bsd_tag): New struct.
23057 (tags): New variable.
23058 (tags_last): Likewise.
23059 (netbsd_module): New struct.
23060 (netbsd_mods): New variable.
23061 (netbsd_mods_last): Likewise.
23062 (openbsd_opts): New parameter "serial".
23063 (OPENBSD_SERIAL_ARG): New definition.
23064 (netbsd_opts): New parameter "serial".
23065 (NETBSD_SERIAL_ARG): New definition.
23066 (grub_freebsd_add_meta): Reorganised into ...
23067 (grub_bsd_add_meta): ...this. All users updated.
23068 (grub_freebsd_add_mmap): Reorganised into ...
23069 (generate_e820_mmap): ...this...
23070 (grub_bsd_add_mmap): ...and this. All users updated.
23071 (grub_freebsd_list_modules): Use tags.
23072 (grub_netbsd_add_meta_module): New function.
23073 (grub_netbsd_list_modules): Likewise.
23074 (grub_freebsd_boot): Use relocator and finish EFI.
23075 (grub_openbsd_boot): Likewise.
23076 (grub_netbsd_setup_video): New function.
23077 (grub_netbsd_add_modules): Likewise.
23078 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23079 and finish EFI.
23080 (grub_bsd_unload): Unload tags.
23081 (grub_bsd_load_aout): Use relocator.
23082 (grub_bsd_elf32_size_hook): New function.
23083 (grub_bsd_elf32_hook): Use relocator.
23084 (grub_bsd_elf64_size_hook): New function.
23085 (grub_bsd_elf64_hook): Use relocator.
23086 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23087 (grub_bsd_load): Zero-out openbsd_ramdisk.
23088 (grub_bsd_load): Use relocator.
23089 (grub_cmd_openbsd): Support serial.
23090 (grub_cmd_netbsd): Support modules.
23091 (grub_cmd_freebsd_module): Use relocator.
23092 (grub_netbsd_module_load): New function.
23093 (grub_cmd_netbsd_module): Likewise.
23094 (grub_cmd_openbsd_ramdisk): Likewise.
23095 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23096 kopenbsd_ramdisk.
23097 (GRUB_MOD_FINI): Unregister new commands.
23098 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23099 (grub_freebsd_load_elfmodule_obj): Use relocator.
23100 (grub_freebsd_load_elfmodule): Likewise.
23101 (grub_freebsd_load_elf_meta): Likewise.
23102 (grub_netbsd_load_elf_meta): New function.
23103 (grub_openbsd_find_ramdisk): Likewise.
23104 * grub-core/loader/i386/bsd_helper.S: Removed.
23105 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23106 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23107 * grub-core/loader/i386/efi/linux.c: Likewise.
23108 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23109 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23110 (DEFAULT_VIDEO_MODE): Likewise.
23111 (real_mode_target): New variable.
23112 (prot_mode_target): Likewise.
23113 (initrd_mem_target): Likewise.
23114 (relocator): Likewise.
23115 (efi_mmap_buf): Likewise.
23116 (efi_mmap_size): Likewise.
23117 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23118 (free_pages): Use relocator.
23119 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23120 (grub_linux_setup_video): Return error.
23121 (grub_linux_trampoline_start): Removed.
23122 (grub_linux_trampoline_end): Likewise.
23123 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23124 andd video parameters depending on firmware.
23125 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23126 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23127 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23128 (grub_cmd_initrd): Use relocator.
23129 * grub-core/loader/i386/linux_trampoline.S: Removed.
23130 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23131 (elf_sec_entsize): Likewise.
23132 (elf_sec_shstrndx): Likewise.
23133 (elf_sections): Likewise.
23134 (grub_multiboot_load): Use relocator.
23135 (grub_multiboot_get_mbi_size): Account for sections.
23136 (grub_multiboot_make_mbi): Use relocator and support sections.
23137 (grub_multiboot_add_elfsyms): New function.
23138 (grub_multiboot_free_mbi): Free sections.
23139 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23140 (grub_linux_real_target): Likewise.
23141 (grub_linux_real_chunk): Likewise.
23142 (grub_linux16_prot_size): Likewise.
23143 (grub_linux16_boot): Use relocator.
23144 (grub_linux_unload): Unload relocator.
23145 (grub_cmd_linux): Use relocator.
23146 (grub_cmd_initrd): Likewise.
23147 * grub-core/loader/i386/pc/ntldr.c: New file.
23148 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23149 Don't try to guess CPU frequency.
23150 (grub_xnu_set_video): Stretch bitmap.
23151 (grub_xnu_boot): Use relocator.
23152 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23153 (grub_linux_unload): Free relocator.
23154 (grub_linux_load32): Use relocator.
23155 (grub_linux_load64): Likewise.
23156 (grub_cmd_initrd): Likewise.
23157 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23158 (grub_multiboot_unload): Unload relocator.
23159 (grub_cmd_multiboot): Use relocator.
23160 (grub_cmd_module): Likewise.
23161 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23162 Use relocator and support sections.
23163 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23164 (elf_sec_entsize): Likewise.
23165 (elf_sec_shstrndx): Likewise.
23166 (elf_sections): Likewise.
23167 (grub_multiboot_load): Use relocator.
23168 (grub_multiboot_get_mbi_size): Account for sections.
23169 (grub_multiboot_make_mbi): Use relocator and support sections.
23170 (grub_multiboot_add_elfsyms): New function.
23171 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23172 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23173 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23174 Prototype changed. All users updated.
23175 (grub_xnu_align_heap): Simplified.
23176 (grub_xnu_writetree_toheap): Likewise.
23177 (grub_xnu_unload): Unload relocator.
23178 (grub_cmd_xnu_kernel): Use relocator.
23179 (grub_cmd_xnu_kernel64): Likewise.
23180 (grub_xnu_register_memory): Simplified.
23181 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23182 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23183 EFI is finished.
23184 (grub_console_checkkey): Likewise.
23185 (grub_console_getkey): Likewise.
23186 (grub_console_getwh): Likewise.
23187 (grub_console_getxy): Likewise.
23188 (grub_console_gotoxy): Likewise.
23189 (grub_console_cls): Likewise.
23190 (grub_console_setcolorstate): Likewise.
23191 (grub_console_setcursor): Likewise.
23192 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23193 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23194 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23195 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23196 * grub-core/tests/boot/kernel-8086.S: Likewise.
23197 * grub-core/tests/boot/kernel-i386.S: Likewise.
23198 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23199 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23200 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23201 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23202 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23203 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23204 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23205 * grub-core/tests/boot/linux.cfg: Likewise.
23206 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23207 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23208 * grub-core/tests/boot/linux16.cfg: Likewise.
23209 * grub-core/tests/boot/multiboot.cfg: Likewise.
23210 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23211 * grub-core/tests/boot/ntldr.cfg: Likewise.
23212 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23213 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23214 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23215 New definition.
23216 * include/grub/dl.h (grub_dl_unload_all): Removed.
23217 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23218 (grub_efi_finish_boot_services): Change prototype.
23219 (grub_efi_is_finished): New variable.
23220 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23221 Changed prototype.
23222 (grub_efiemu_finish_boot_services): Removed.
23223 (grub_machine_efiemu_init_tables): New prototype.
23224 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23225 (grub_elf64_phdr_iterate): Likewise.
23226 * include/grub/i386/bsd.h: Include relocator.h.
23227 (freebsd_tag_header): New struct.
23228 (grub_openbsd_bios_mmap): Removed.
23229 (grub_unix_real_boot): Removed.
23230 (grub_freebsd_load_elfmodule32): Changed prototype.
23231 (grub_freebsd_load_elfmodule_obj64): Likewise.
23232 (grub_freebsd_load_elf_meta32): Likewise.
23233 (grub_freebsd_load_elf_meta64): Likewise.
23234 (grub_freebsd_add_meta): Removed.
23235 (grub_netbsd_load_elf_meta32): New prototype.
23236 (grub_netbsd_load_elf_meta64): Likewise.
23237 (grub_bsd_add_meta): Likewise.
23238 (grub_openbsd_ramdisk_descriptor): New struct.
23239 (grub_openbsd_find_ramdisk32): New prototype.
23240 (grub_openbsd_find_ramdisk64): Likewise.
23241 * include/grub/i386/coreboot/loader.h: Removed.
23242 * include/grub/i386/efi/loader.h: Likewise.
23243 * include/grub/i386/ieee1275/loader.h: Likewise.
23244 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23245 to grub_uint32_t.
23246 * include/grub/i386/loader.h: Removed.
23247 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23248 value.
23249 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23250 (grub_phys_addr_t): New type.
23251 (grub_vtop): New inline function.
23252 (grub_map_memory): Likewise.
23253 (grub_unmap_memory): Likewise.
23254 * include/grub/i386/multiboot/loader.h: Removed.
23255 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23256 (NETBSD_BTINFO_CONSOLE): New definition.
23257 (NETBSD_BTINFO_SYMTAB): Likewise.
23258 (NETBSD_BTINFO_MODULES): Likewise.
23259 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23260 (grub_netbsd_bootinfo): New struct.
23261 (grub_netbsd_btinfo_common): Use explicit bitsize.
23262 (grub_netbsd_btinfo_mmap_entry): Removed.
23263 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23264 (grub_netbsd_btinfo_bootdisk): New struct.
23265 (grub_netbsd_btinfo_symtab): Likewise.
23266 (grub_netbsd_btinfo_serial): Likewise.
23267 (grub_netbsd_btinfo_modules): Likewise.
23268 (grub_netbsd_btinfo_framebuf): Likewise.
23269 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23270 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23271 Likewise.
23272 (grub_openbsd_bootargs): Use explicit bitsize.
23273 (grub_openbsd_bootarg_console): New struct.
23274 (GRUB_OPENBSD_COM_MAJOR): New definition.
23275 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23276 * include/grub/i386/pc/efiemu.h: Removed.
23277 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23278 * include/grub/i386/qemu/loader.h: Removed.
23279 * include/grub/i386/relocator.h: Rewritten.
23280 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23281 * include/grub/mips/memory.h: New file.
23282 * include/grub/mips/multiboot.h: Rewritten.
23283 * include/grub/mips/relocator.h: Rewritten.
23284 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23285 (grub_vtop): New function.
23286 (grub_map_memory): Likewise.
23287 (grub_unmap_memory): Likewise.
23288 * include/grub/misc.h (ALIGN_DOWN): New definition.
23289 * include/grub/mm.h (grub_mm_check_real): New proto.
23290 (GRUB_MM_CHECK): New definition.
23291 * include/grub/mm_private.h: New file.
23292 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23293 (grub_multiboot_get_mbi_size): Removed.
23294 (grub_multiboot_make_mbi): Change prottype.
23295 (grub_multiboot_set_accepts_video): New proto.
23296 (grub_multiboot_add_elfsyms): Likewise.
23297 (grub_multiboot_payload_eip): New variable.
23298 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23299 New prototype.
23300 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23301 New definition.
23302 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23303 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23304 * include/grub/powerpc/ieee1275/loader.h: Removed.
23305 * include/grub/powerpc/memory.h: New file.
23306 * include/grub/powerpc/relocator.h: Likewise.
23307 * include/grub/relocator.h: Likewise.
23308 * include/grub/relocator_private.h: Likewise.
23309 * include/grub/sparc64/ieee1275/loader.h: Removed.
23310 * include/grub/x86_64/memory.h: New file.
23311 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23312 (grub_xnu_heap_malloc): Likewise.
23313 (grub_xnu_heap_real_start): Removed.
23314 (grub_xnu_heap_start): Likewise.
23315 (grub_xnu_relocator): New variable.
23316 (grub_xnu_heap_target_start): Likewise.
23317 * tests/util/grub-shell.in: Support non-pc.
23318 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23319
5303b85d
VS
233202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23323 on malloc error.
23324 (grub_bidi_logical_to_visual): Check that malloc succeded.
23325 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23326 puts.
23327 (grub_xputs_normal): Likewise.
23328
d768d159
VS
233292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23330
23331 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23332 extra_dist.
23333
233342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23337
5bf84df4
VS
233382010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23341
3626810e
VS
233422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23343
23344 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23345 dprintf.
23346
a7363f53
BC
233472010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23348
23349 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23350
902f75f6
VS
233512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 * grub-core/normal/term.c (print_more): Fix a memory leak.
23354 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23355 (grub_xputs_normal): Likewise.
23356
3c707967
VS
233572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23360 the begining of the string
23361
2053cc07
VS
233622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23363
23364 * grub-core/script/script.c (grub_script_parse): Free parsed on
23365 failure.
23366
46422ebf
VS
233672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23368
23369 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23370 on failure.
23371
9e0fa3f6
VS
233722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23373
23374 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23375 return.
23376
3393cf16
VS
233772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23378
23379 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23380 (scroll_up): Fix a memory leak.
23381
b17540cb
VS
233822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23383
23384 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23385 errors.
23386
67140446
VS
233872010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23388
23389 Handle USB pendrives exposed as floppies.
23390
23391 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23392 floppy.
23393 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23394 Check for partitions on all devices.
23395
e35e46fc
VS
233962010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23397
23398 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23399 (readkey): Likewise.
23400
d24c6190
BC
234012010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23402
23403 Multiple variable names support to "export" command.
23404
23405 * normal/context.c (grub_cmd_export): "export" command supports
23406 multiple variable names.
23407
04ddcc6a
ST
234082010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23409
23410 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23411 --target=drive output to Mach device name.
23412
0c8b61d8
BC
234132010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23414
23415 New Automake based build system for GRUB.
23416
23417 * ABOUT-NLS: New file.
23418 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23419 in Makefile.util.def file.
23420 * Makefile.util.def: New file. Autogen build definitions file for
23421 GRUB host utils.
23422 * conf/Makefile.common: New file. Common variables for GRUB host
23423 utils and target modules.
23424 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23425 * docs/Makefile.am: New file. Automake file for docs.
23426 * gentpl.py: New file. Python script to generate Autogen
23427 template.
23428 * grub-core/Makefile.am: New file. GRUB target modules' rules
23429 that doesn't fit in Makefile.core.def file.
23430 * grub-core/Makefile.core.def: New file. Autogen build
23431 definitions file for GRUB target modules.
23432 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23433 specific setjmp.S file.
23434 * po/Makefile.am: New file.
23435
23436 * .bzrignore: New ignores.
23437 * INSTALL: New requirements, without Ruby.
23438 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23439 * autogen.sh: Updated to invoke autogen as necessary.
23440 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23441 and defines for Automake conditionals.
23442 * geninit.sh: Refactoring.
23443
23444 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23445 necessary.
23446 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23447 New prototype.
23448
23449 * include/grub/test.h: Fix functional test modules' naming.
23450 * grub-core/tests/example_functional_test.c: Fix test module name.
23451
23452 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23453 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23454 * util/grub-editenv.c: Likewise.
23455 * util/grub-fstest.c: Likewise.
23456 * util/grub-mkdevicemap.c: Likewise.
23457 * util/grub-mkfont.c: Likewise.
23458 * util/grub-mkimage.c: Likewise.
23459 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23460 * util/grub-probe.c: Likewise.
23461 * util/grub-script-check.c: Likewise.
23462 * util/i386/pc/grub-setup.c: Likewise.
23463 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23464
23465 * tests/util/grub-shell.in: Fix override directory path.
23466 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23467 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23468
23469 * util/lvm.c: Update #includes.
23470 * util/raid.c: Likewise.
23471 * util/resolve.c: Likewise.
23472 * grub-core/bus/emu/pci.c: Likewise.
23473 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23474 * grub-core/lib/posix_wrap/string.h: Likewise.
23475 * grub-core/kern/emu/main.c: Likewise.
23476
23477 * grub-core/gensymlist.sh: New file. Script for generating kernel
23478 symbols file.
23479 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23480
23481 * grub-core/gentrigtables.c: Fix unused variable warnings.
23482
23483 * Makefile.in: Removed.
23484 * conf/any-emu.rmk: Removed.
23485 * conf/common.rmk: Removed.
23486 * conf/i386-coreboot.rmk: Removed.
23487 * conf/i386-efi.rmk: Removed.
23488 * conf/i386-ieee1275.rmk: Removed.
23489 * conf/i386-multiboot.rmk: Removed.
23490 * conf/i386-pc.rmk: Removed.
23491 * conf/i386-qemu.rmk: Removed.
23492 * conf/i386.rmk: Removed.
23493 * conf/mips-yeeloong.rmk: Removed.
23494 * conf/mips.rmk: Removed.
23495 * conf/powerpc-ieee1275.rmk: Removed.
23496 * conf/sparc64-ieee1275.rmk: Removed.
23497 * conf/tests.rmk: Removed.
23498 * conf/x86-efi.rmk: Removed.
23499 * conf/x86_64-efi.rmk: Removed.
23500 * gendistlist.sh: Removed.
23501 * geninitheader.sh: Removed.
23502 * genkernsyms.sh.in: Removed.
23503 * genmk.rb: Removed.
23504 * gensymlist.sh.in: Removed.
23505 * mkinstalldirs: Removed.
23506 * boot: Moved ...
23507 * grub-core/boot: ... to here.
23508 * bus: Moved ...
23509 * grub-core/bus: ... to here.
23510 * commands: Moved ...
23511 * grub-core/commands: ... to here.
23512 * disk: Moved ...
23513 * grub-core/disk: ... to here.
23514 * efiemu: Moved ...
23515 * grub-core/efiemu: ... to here.
23516 * font: Moved ...
23517 * grub-core/font: ... to here.
23518 * fs: Moved ...
23519 * grub-core/fs: ... to here.
23520 * gencmdlist.sh: Moved ...
23521 * grub-core/gencmdlist.sh: ... to here.
23522 * genemuinit.sh: Moved ...
23523 * grub-core/genemuinit.sh: ... to here.
23524 * genemuinitheader.sh: Moved ...
23525 * grub-core/genemuinitheader.sh: ... to here.
23526 * genfslist.sh: Moved ...
23527 * grub-core/genfslist.sh: ... to here.
23528 * genhandlerlist.sh: Moved ...
23529 * grub-core/genhandlerlist.sh: ... to here.
23530 * genmoddep.awk: Moved ...
23531 * grub-core/genmoddep.awk: ... to here.
23532 * genmodsrc.sh: Moved ...
23533 * grub-core/genmodsrc.sh: ... to here.
23534 * genpartmaplist.sh: Moved ...
23535 * grub-core/genpartmaplist.sh: ... to here.
23536 * genparttoollist.sh: Moved ...
23537 * grub-core/genparttoollist.sh: ... to here.
23538 * genterminallist.sh: Moved ...
23539 * grub-core/genterminallist.sh: ... to here.
23540 * gentrigtables.c: Moved ...
23541 * grub-core/gentrigtables.c: ... to here.
23542 * genvideolist.sh: Moved ...
23543 * grub-core/genvideolist.sh: ... to here.
23544 * gettext: Moved ...
23545 * grub-core/gettext: ... to here.
23546 * gfxmenu: Moved ...
23547 * grub-core/gfxmenu: ... to here.
23548 * gnulib: Moved ...
23549 * grub-core/gnulib: ... to here.
23550 * hello: Moved ...
23551 * grub-core/hello: ... to here.
23552 * hook: Moved ...
23553 * grub-core/hook: ... to here.
23554 * io: Moved ...
23555 * grub-core/io: ... to here.
23556 * kern: Moved ...
23557 * grub-core/kern: ... to here.
23558 * lib: Moved ...
23559 * grub-core/lib: ... to here.
23560 * loader: Moved ...
23561 * grub-core/loader: ... to here.
23562 * mmap: Moved ...
23563 * grub-core/mmap: ... to here.
23564 * normal: Moved ...
23565 * grub-core/normal: ... to here.
23566 * partmap: Moved ...
23567 * grub-core/partmap: ... to here.
23568 * parttool: Moved ...
23569 * grub-core/parttool: ... to here.
23570 * script: Moved ...
23571 * grub-core/script: ... to here.
23572 * term: Moved ...
23573 * grub-core/term: ... to here
23574 * tests/example_functional_test.c: Moved ...
23575 * grub-core/tests/example_functional_test.c: ... to here.
23576 * tests/lib/functional_test.c: Moved ...
23577 * grub-core/tests/lib/functional_test.c: ... to here.
23578 * tests/lib/test.c: Moved ...
23579 * grub-core/tests/lib/test.c: ... to here.
23580 * video: Moved ...
23581 * grub-core/video: ... to here.
23582
645586e6
BC
235832010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23584
23585 Replace --enable-grub-emu-modules with grub-emu-lite.
23586
23587 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23588 cache.S.
23589
23590 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23591 * kern/emu/full.c: New file. For grub-emu specific initialization.
23592 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23593 * kern/emu/main.c: Call initialization function grub_emu_init.
23594
23595 * Makefile.in: Include grub-emu-lite in install.
23596 * commands/parttool.c: Use grub_no_autoload to differentiate
23597 between grub-emu and grub-emu-lite.
23598 * include/grub/misc.h: New variable grub_no_autoload.
23599
23600 * conf/any-emu.rmk: New rules for grub-emu-lite.
23601 * configure.ac: Remove --enable-grub-emu-modules.
23602 * genmk.rb: Cleanup unnecessary rules.
23603 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23604
23605 * normal/main.c: Don't load list files on grub-emu-lite.
23606 * util/misc.c (grub_arch_sync_caches): Removed.
23607
f86a4030
CW
236082010-08-23 Colin Watson <cjwatson@ubuntu.com>
23609
23610 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23611 grub-mkimage rather than grub-mkelfimage.
23612 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23613
06776944
VS
236142010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23615
23616 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23617 a key after CapsLock or NumLock. It's just a qemu bug.
23618
df262419
VS
236192010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23622 needed by libusb wrapper.
23623
b40ea81b
ST
236242010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23625
23626 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23627
dee50575
VS
236282010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23629
23630 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23631 --nounzip is passed.
23632
fb1d7b79
VS
236332010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 USB hotunplugging and USB serial support.
23636
23637 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23638 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23639 (grub_uhci_transfer): Respect timeout and set *actual.
23640 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23641 non-standard length.
23642 (grub_usb_device_attach): Autoload modules.
23643 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23644 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23645 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23646 users updated.
23647 (grub_usb_add_hub): Fill nports and children.
23648 (attach_root_port): Receive hub instead of controller.
23649 All users updated. Fill hub->devices.
23650 (grub_usb_root_hub): Allocate hub->devices.
23651 (detach_device): New function.
23652 (poll_nonroot_hub): Fill children and detach devices.
23653 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23654 actual arguments. All users updated.
23655 (grub_usb_bulk_read_extended): New function.
23656 * bus/usb/serial/common.c: New file.
23657 * bus/usb/serial/ftdi.c: Likewise.
23658 * bus/usb/serial/pl2303.c: Likewise.
23659 * commands/terminal.c (handle_command): Support wildcard.
23660 * commands/usbtest.c: Output "Unknown" instead of empty string.
23661 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23662 (usbserial_common_mod_SOURCES): New variable.
23663 (usbserial_common_mod_CFLAGS): Likewise.
23664 (usbserial_common_mod_LDFLAGS): Likewise.
23665 (pkglib_MODULES): Add usbserial_pl2303.mod.
23666 (usbserial_pl2303_mod_SOURCES): New variable.
23667 (usbserial_pl2303_mod_CFLAGS): Likewise.
23668 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23669 (pkglib_MODULES): Add usbserial_ftdi.mod.
23670 (usbserial_ftdi_mod_SOURCES): New variable.
23671 (usbserial_ftdi_mod_CFLAGS): Likewise.
23672 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23673 (pkglib_MODULES): Add serial.mod.
23674 (serial_mod_SOURCES): New variable.
23675 (serial_mod_CFLAGS): Likewise.
23676 (serial_mod_LDFLAGS): Likewise.
23677 * conf/i386-pc.rmk: Likewise.
23678 * conf/mips-yeeloong.rmk: Likewise.
23679 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23680 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23681 * disk/usbms.c (first_available_slot): New variable.
23682 (grub_usbms_attach): Don't reuse free slots due to potential cache
23683 problems.
23684 * include/grub/serial.h: Moved to ..
23685 * include/grub/ns8250.h: ...this.
23686 * include/grub/serial.h: New file.
23687 * include/grub/term.h (grub_term_poll_usb): New variable.
23688 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23689 readkey. All users updated.
23690 (grub_terminfo_output_state): Pass term to put.
23691 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23692 (grub_usb_controller_dev): Add timeout and actual arguments to
23693 transfer. All users updated.
23694 (grub_usb_interface): New field detach_data.
23695 (grub_usb_device): New fields children and nports.
23696 (grub_usb_ep_type_t): New type.
23697 (grub_usb_get_ep_type): New function.
23698 (grub_usb_bulk_read_extended): Likewise.
23699 * include/grub/usbdesc.h (grub_usb_desc): New type.
23700 * include/grub/usbserial.h: New file.
23701 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23702 * kern/term.c (grub_term_poll_usb): New variable.
23703 (grub_getkey): Call grub_term_poll_usb if set.
23704 (grub_checkkey): Likewise.
23705 (grub_getkeystatus): Likewise.
23706 * term/serial.c: Moved controller-specific parts to ...
23707 * term/ns8250.c: ... here.
23708 * term/serial.c: Mostly rewritten.
23709 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23710 according to spec.
23711
21a313de
RM
237122010-08-20 Robert Millan <rmh@gnu.org>
23713
23714 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23715 a separate module and maybe other interesting combinations.
23716
23717 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23718 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23719 (kfreebsd_entry): Add generic filesystem module load routine.
23720 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23721
63c734a6
CW
237222010-08-20 Colin Watson <cjwatson@ubuntu.com>
23723
23724 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23725 "numcenter" (I misunderstood the purpose of this entry).
23726 * docs/grub.texi (sendkey): Likewise.
23727
c4d16542
CW
237282010-08-20 Colin Watson <cjwatson@ubuntu.com>
23729
23730 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23731 status flag options; simply omitting the option is equivalent and
23732 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23733 (keysym_table): Rename "num5numlock" to "numlock".
23734 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23735 can uniformly say that only the last of multiple `sendkey'
23736 invocations has any effect.
23737 * docs/grub.texi (sendkey): New section.
23738
93541d66
CW
237392010-08-19 Colin Watson <cjwatson@ubuntu.com>
23740
23741 * commands/i386/pc/sendkey.c (options): Fix three typos.
23742
b4ece5e1
VS
237432010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 Implement sendkey support.
23746
23747 * commands/i386/pc/sendkey.c: New file.
23748 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23749 (sendkey_mod_SOURCES): New variable.
23750 (sendkey_mod_CFLAGS): Likewise.
23751 (sendkey_mod_LDFLAGS): Likewise.
23752
51f1f5af
CW
237532010-08-18 Colin Watson <cjwatson@ubuntu.com>
23754
23755 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23756 fix warnings from Autoconf.
23757
9da94e05
CW
237582010-08-18 Colin Watson <cjwatson@ubuntu.com>
23759
23760 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23761 to avoid false positives with some assemblers that output things
23762 like "someprefix_func" as part of their output.
23763
729a0f2e
RM
237642010-08-15 Robert Millan <rmh@gnu.org>
23765
23766 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23767 errors.
23768 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23769 grub_get_libzfs_handle() errors.
23770
f3710e08
RM
237712010-08-14 Robert Millan <rmh@gnu.org>
23772
23773 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23774 filesystem is not ZFS.
23775
7a3c13de
BC
237762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23777
23778 Fix for misspelled color names defaulting to black/black (bug
23779 reported by Doug Nazar)
23780
23781 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23782 status to prototype.
23783 * normal/color.c (grub_parse_color_name_pair): Return failure
23784 status.
23785 (grub_env_write_color_normal): Ignore bad color names.
23786 (grub_env_write_color_highlight): Likewise.
23787 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23788
ab8ba50d
BC
237892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23790
23791 "shift" command support to GRUB script.
23792
23793 * include/grub/script_sh.h (grub_script_shift): New prototype.
23794 * script/execute.c (grub_script_shift): New function.
23795 * script/main.c (grub_script_init): Register shift command.
23796 (grub_script_fini): Unregister shift command.
23797 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23798
23799 * tests/grub_script_shift.in: New testcase.
23800 * conf/tests.rmk: Rules for new testcase.
23801
4d61999e
BC
238022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23803
23804 "continue" command support to GRUB script.
23805
23806 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23807 (grub_script_break): Continue support.
23808 * script/main.c (grub_script_init): Register continue command.
23809 (grub_script_fini): Unregister continue command.
23810
23811 * tests/grub_script_continue.in: New testcase.
23812 * conf/tests.rmk: Rules for new testcase.
23813
4df51e00
BC
238142010-08-12 BVK Chaitanya <bvk@dbook>
23815
23816 "break" command support to GRUB script.
23817
23818 * conf/common.rmk: Rule updates to grub-script-check.
23819 * include/grub/misc.h (grub_min): New function.
23820 * include/grub/script_sh.h (grub_script_init): New prototype.
23821 (grub_script_fini): New prototype.
23822 (grub_script_break): New prototype.
23823 * script/main.c (grub_script_init): New function.
23824 (grub_script_fini): New function.
23825 * script/execute.c (grub_script_break): New function.
23826 * normal/main.c: Calls to grub_script_{init,fini}.
23827 * util/grub-script-check.c (grub_script_break): New function.
23828
23829 * tests/grub_script_break.in: New testcase.
23830 * conf/tests.rmk: Rules for new test case.
23831
f12c8420
BC
238322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23833
23834 Function parameters support to GRUB script.
23835
23836 * script/yylex.l (VARIABLE): Regular expression update.
23837 * script/function.c (grub_script_function_call): Moved ...
23838 * script/execute.c (grub_script_function_call): ... to here.
23839 (grub_script_execute_arglist_to_argv): Removed.
23840 (grub_script_arglist_to_argv): New function.
23841 * script/argv.c: New file.
23842 (grub_script_argv_free): New function.
23843 (grub_script_argv_next): Likewise.
23844 (grub_script_argv_append): Likewise.
23845 (grub_script_argv_split_append): Likewise.
23846 * include/grub/script_sh.h (grub_script_argv): New struct.
23847 (grub_script_argv_free): New function.
23848 (grub_script_argv_next): Likewise.
23849 (grub_script_argv_append): Likewise.
23850 (grub_script_argv_split_append): Likewise.
23851
23852 * conf/common.rmk (normal.mod): New source script/argv.c.
23853
23854 * tests/grub_script_echo1.in: More tests.
23855 * tests/grub_script_vars1.in: Likewise.
23856 * tests/grub_script_functions.in: New test case.
23857 * conf/tests.rmk: Rules for new testcase.
23858
8022b748
BC
238592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23860
23861 Remove grub_script_cmdblock struct.
23862
23863 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23864 * script/parser.y: Likewise.
23865 * script/execute.c: Rename cmdblock suffix to cmdlist.
23866 * script/script.c: Likewise.
23867 * util/grub-script-check.c: Likewise.
23868
79a6ba61
YB
238692010-08-11 Yves Blusseau <blusseau@zetam.org>
23870
23871 * .bzrignore: add grub-macho2img
23872
d04b9414
VS
238732010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23874
23875 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23876
f947ab49
VS
238772010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 Remove the dump of sm712 initialisation sequence.
23880
23881 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23882 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23883 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23884 (GRUB_VGA_CR_*): Added many registers.
23885 (GRUB_VGA_SR_*): Likewise.
23886 (GRUB_VGA_GR_*): Likewise.
23887 (grub_vga_write_arx): New function.
23888 (grub_video_hw_config): New struct.
23889 (grub_vga_set_geometry): New function.
23890 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23891 GRUB_PCI_CLASS_SUBCLASS_VGA.
23892 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23893 * video/sm712.c (grub_sm712_write_reg): New function
23894 (grub_sm712_read_reg): Likewise.
23895 (grub_sm712_sr_write): Likewise.
23896 (grub_sm712_gr_write): Likewise.
23897 (grub_sm712_cr_write): Likewise.
23898 (grub_sm712_write_arx): Likewise.
23899 (grub_sm712_cr_shadow_write): Likewise.
23900 (grub_sm712_write_dda_lookup): Likewise.
23901 (grub_video_sm712_setup): Initialise the video rather then
23902 blindly replay the dump.
23903 (main) [TEST]: Add a routine to be able to compile as standalone for
23904 tests.
23905 * video/sm712_init.c (sm712_init): Removed.
23906 (sm712_sr_seq1): New array.
23907 (sm712_sr_seq2): Likewise.
23908
f0206638
VS
239092010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23910
23911 * include/grub/vga.h: Add missing grub/pci.h include.
23912
2764da3b
YB
239132010-08-10 Yves Blusseau <blusseau@zetam.org>
23914
23915 * util/grub-macho2img.c (main): fix typo
23916
cf0c775e
VS
239172010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23918
23919 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23920 (grub_vga_gr_read): Likewise.
23921 (grub_vga_cr_write): Likewise.
23922 (grub_vga_cr_read): Likewise.
23923 (grub_vga_sr_write): Likewise.
23924 (grub_vga_sr_read): Likewise.
23925 (grub_vga_palette_read): Likewise.
23926 (grub_vga_palette_write): Likewise.
23927 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23928 (grub_sm712_sr_read): New function.
23929 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23930 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23931
07f360e9
RM
239322010-08-09 Robert Millan <rmh@gnu.org>
23933
23934 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23935 out unused variables on non-ZFS build.
23936
346c2072
RM
239372010-08-08 Robert Millan <rmh@gnu.org>
23938
23939 Fix path generation for sub-filesystems in ZFS.
23940
23941 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23942 missing slash.
23943
71175420
RM
239442010-08-08 Robert Millan <rmh@gnu.org>
23945
23946 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23947
0d8286f3
RM
239482010-08-08 Robert Millan <rmh@gnu.org>
23949
23950 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23951 exist, issue a proper error message (rely on `ls' for translated
23952 strings).
23953
55dd2924
RM
239542010-08-08 Robert Millan <rmh@gnu.org>
23955
23956 Fix grub-probe invocation.
23957
23958 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23959
d3dd9e80
RM
239602010-08-04 Robert Millan <rmh@gnu.org>
23961
23962 * configure.ac: Remove checks for getfsstat() and getmntany().
23963 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23964 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23965 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23966 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23967 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23968 function.
23969 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23970 via find_mount_point_from_dir() and getfsstat() / getmntany().
23971
0de22aa9
RM
239722010-08-04 Robert Millan <rmh@gnu.org>
23973
23974 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23975 (grub_find_zpool_from_mount_point): Merge into ...
23976 (grub_find_zpool_from_dir): ... this.
23977 * kern/emu/misc.c: Likewise.
23978
23979 * kern/emu/misc.c
23980 (grub_make_system_path_relative_to_its_root): Replace
23981 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23982 with grub_find_zpool_from_dir().
23983 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23984
62858144
RM
239852010-08-04 Robert Millan <rmh@gnu.org>
23986
23987 Support OpenSolaris in ZFS device resolution.
23988
23989 * configure.ac: Check for getmntany().
23990 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23991 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23992 support.
23993
9dd6fd50
RM
239942010-08-03 Robert Millan <rmh@gnu.org>
23995
23996 Fix grub-emu build.
23997
23998 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23999 * include/grub/emu/misc.h: ... here.
24000
24001 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24002 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24003
24004 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24005 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24006 (grub_get_libzfs_handle): Move to ...
24007 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24008 (grub_get_libzfs_handle): ... here.
24009
c9f7ff97
BC
240102010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24011
24012 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24013 as command name case.
24014
a870a783
CW
240152010-08-02 Colin Watson <cjwatson@ubuntu.com>
24016
24017 * disk/raid.c (insert_array): Select unique numbers for named arrays
24018 as well, for use as keys in the disk cache.
24019
c7db243b
RM
240202010-08-01 Robert Millan <rmh@gnu.org>
24021
24022 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24023 kFreeBSD device name, except on ZFS where the filesystem label is
24024 used.
24025 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24026 `/boot/zfs/zpool.cache'.
24027 Set mountfrom kernel variable using ${kfreebsd_device}.
24028
f7abdefb
RM
240292010-08-01 Robert Millan <rmh@gnu.org>
24030
24031 Make it even harder to use uninitialized `libzfs_handle' (and
24032 make the interface a bit simpler).
24033
24034 * include/grub/util/misc.h (grub_util_init_libzfs)
24035 (libzfs_handle): Remove.
24036 (grub_get_libzfs_handle): New prototype.
24037
24038 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24039 attribute.
24040 (grub_util_init_libzfs): Remove.
24041 (grub_get_libzfs_handle): New function.
24042
24043 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24044 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24045 accessing `libzfs_handle' directly.
24046
c882acc0
RM
240472010-08-01 Robert Millan <rmh@gnu.org>
24048
24049 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24050 (grub_find_zpool_from_mount_point): New function prototypes.
24051
24052 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24053 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24054
24055 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24056 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24057 `static' attribute.
24058
24059 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24060 finding zpool from mount point into ...
24061 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24062
24063 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24064 requested path is part of a ZFS pool, use
24065 grub_find_zpool_from_mount_point() to detect its filesystem name,
24066 and generate a path with `/fsname@path' syntax.
24067
8bfe31d8
CW
240682010-08-01 Colin Watson <cjwatson@ubuntu.com>
24069
24070 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24071 (void) rather than () so that this is a proper prototype.
24072
553df63d
VS
240732010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24074
24075 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24076
8687cf07
VS
240772010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24080 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24081
ea9be8ea
CW
240822010-08-01 Colin Watson <cjwatson@ubuntu.com>
24083
24084 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24085
6eea041a
CW
240862010-08-01 Colin Watson <cjwatson@ubuntu.com>
24087
24088 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24089
2cfb45df
CW
240902010-08-01 Colin Watson <cjwatson@ubuntu.com>
24091
24092 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24093 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24094 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24095 disable gfxpayload.
24096 (Shell-like scripting): Add real content.
24097 (Serial terminal): Suggest `terminal_input serial; terminal_output
24098 serial' rather than putting the two commands on separate lines,
24099 since console input will be inoperative after the first command.
24100 (menuentry): Document --class, --users, and --hotkey options.
24101 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24102 Vladimir Serbinenko).
24103
7decd202
VS
241042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
241052010-08-01 Colin Watson <cjwatson@ubuntu.com>
24106
24107 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24108
c882acc0
RM
241092010-08-01 Robert Millan <rmh@gnu.org>
24110
24111 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24112 (grub_find_zpool_from_mount_point): New function prototypes.
24113
24114 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24115 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24116
24117 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24118 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24119 `static' attribute.
24120
24121 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24122 finding zpool from mount point into ...
24123 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24124
24125 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24126 requested path is part of a ZFS pool, use
24127 grub_find_zpool_from_mount_point() to detect its filesystem name,
24128 and generate a path with `/fsname@path' syntax.
24129
deb0caa3
RM
241302010-08-01 Robert Millan <rmh@gnu.org>
24131
24132 Prevent accidental use of uninitialized libzfs_handle.
24133
24134 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24135 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24136 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24137
ce04ef47
CW
241382010-08-01 Colin Watson <cjwatson@ubuntu.com>
24139
24140 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24141 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24142
ebf53056
RM
241432010-08-01 Robert Millan <rmh@gnu.org>
24144
24145 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24146
3710bb6b
RM
241472010-07-31 Robert Millan <rmh@gnu.org>
24148
24149 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24150
8072efeb
RM
241512010-07-31 Robert Millan <rmh@gnu.org>
24152
24153 * kern/emu/misc.c: Add missing license header.
24154
3169f4c7
RM
241552010-07-31 Robert Millan <rmh@gnu.org>
24156
24157 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24158
24159 * include/grub/util/libnvpair.h: Include `<config.h>'.
24160 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24161 declaring libnvpair prototypes ourselves.
24162 * include/grub/util/libzfs.h: Include `<config.h>'.
24163 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24164 declaring libzfs prototypes ourselves.
24165
24166 (libzfs_handle): Moved to ...
24167 * include/grub/util/misc.h (libzfs_handle): ... here.
24168 Include `<grub/util/libzfs.h>'.
24169
c9a00aee
RM
241702010-07-30 Robert Millan <rmh@gnu.org>
24171
24172 * include/grub/emu/misc.h: Add missing license header.
24173
a184f9c8
RM
241742010-07-30 Robert Millan <rmh@gnu.org>
24175
24176 Enable `grub-probe -t device' resolution on ZFS.
24177
24178 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24179 * include/grub/util/libnvpair.h: New file.
24180 * include/grub/util/libzfs.h: New file.
24181
24182 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24183 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24184 `<grub/util/libnvpair.h>'.
24185 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24186
24187 (find_mount_point_from_dir): New static function.
24188 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24189 function.
24190 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24191 find_root_device_from_libzfs() before ressorting to find_root_device().
24192
24193 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24194 prototype.
24195 * util/misc.c: Include `<grub/util/libzfs.h>'.
24196 (grub_util_init_libzfs): New function.
24197 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24198 [HAVE_LIBZFS] (fini_libzfs): New static function.
24199 (grub_util_init_libzfs): New function.
24200 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24201
f7790cdd
RM
242022010-07-30 Robert Millan <rmh@gnu.org>
24203
24204 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24205 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24206 `warn_unused_result' attribute.
24207 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24208 (grub_xasprintf, grub_xvasprintf): Likewise.
24209 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24210
0806b63c
RM
242112010-07-29 Robert Millan <rmh@gnu.org>
24212
24213 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24214 (probe): Handle `PRINT_FS_LABEL'.
24215 (main): Handle `-t fs_label'.
24216
9f841f5c
RM
242172010-07-29 Robert Millan <rmh@gnu.org>
24218
24219 * configure.ac: Remove grub-mkisofs checks.
24220
46371121
VS
242212010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24222
24223 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24224 Reported by: Lennart Sorensen.
24225
242262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24227
24228 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24229 prior to terminal_input/terminal_output separation. It's been over 1.5
24230 years and those versions weren't widely deployed.
24231
a9600892
CW
242322010-07-22 Colin Watson <cjwatson@ubuntu.com>
24233
24234 * disk/raid.c (insert_array): Don't count named arrays when looking
24235 for unused array numbers.
697e053c 24236 Reported and tested by: Michael Guntsche.
a9600892 24237
c03507df
CW
242382010-07-20 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24241 implementation of this so that grub-emu links again, with a note
24242 that this should support hotplugging in the future.
24243
b26f1c11
CW
242442010-07-20 Colin Watson <cjwatson@ubuntu.com>
24245
24246 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24247
efc9d7f1
CW
242482010-07-20 Colin Watson <cjwatson@ubuntu.com>
24249
24250 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24251 handle on failure.
24252 (grub_loopback_close): Remove empty function.
24253 (grub_loopback_dev): Remove close method.
24254
dd8ff5c9
CW
242552010-07-20 Colin Watson <cjwatson@ubuntu.com>
24256
24257 Disable EFI cursor when the EFI console becomes inactive.
24258
24259 * term/efi/console.c (grub_efi_console_init): New function.
24260 (grub_efi_console_fini): New function.
24261 (grub_console_term_output): Register init and fini methods.
24262
5e3bec67
VS
242632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24264
24265 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24266 sh script.
24267
afaec079
VS
242682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24269
24270 * disk/loopback.c (grub_loopback): Replace filename with file.
24271 (delete_loopback): Handle new semantics.
24272 (grub_cmd_loopback): Likewise.
24273 (grub_loopback_iterate): Likewise.
24274 (grub_loopback_close): Likewise.
24275
a6a11f3c
VS
242762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24279 with -p "".
24280 Reported by: Tito Keitel.
24281
64a638b0
VS
242822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 * docs/grub.texi (Naming convention): Document new naming convention.
24285
ab8ba957
VS
242862010-07-20 Vadim Solomin <vadic052@gmail.com>
242872010-07-20 Colin Watson <cjwatson@ubuntu.com>
24288
24289 Generate device.map in something closer to the old ordering.
24290
24291 * util/deviceiter.c (struct device): New declaration.
24292 (compare_file_names): Rename to ...
24293 (compare_devices): ... this. Sort by kernel name in preference to
24294 the stable by-id name, but keep the latter as a fallback comparison.
24295 Update header comment.
24296 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24297 of `struct device' rather than of plain file names.
24298
a29d6a4b
TF
242992010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24300
24301 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24302 on i386.
24303
39d824e8
VS
243042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24305
24306 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24307 hardcoding size.
24308 (setv1table): Likewise.
24309
f058276b
FZ
243102010-07-20 Colin Watson <cjwatson@ubuntu.com>
24311
24312 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24313 removing the homehost if present.
24314 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24315 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24316 removing the homehost if present.
24317 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24318 if possible.
24319 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24320
24321 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24322 parameter. Set its pointer target to 0.
24323 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24324 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24325 `data_offset' value from the superblock for 1.x metadata.
24326 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24327 data on the device.
24328 (insert_array): Record the start sector of data on the device.
24329 (grub_raid_register): Pass start_sector parameters to
24330 grub_raid_list->detect and insert_array.
24331 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24332 member.
24333 (struct grub_raid): Add start_sector parameter to `detect'.
24334
24335 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24336 __attribute__ ((packed)), leaving a comment.
24337 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24338 (grub_mdraid_detect_09): ... here and ...
24339 (grub_mdraid_detect_1x): ... here.
24340
243412010-07-20 Peter Henn <peter.henn@web.de>
24342
24343 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24344 chunk size and disk size, which are already given as sector counts
24345 as distinct from the 0.90 units. Fetch the correct device number
24346 from the role table instead of using the table index.
24347
243482010-07-20 Felix Zielcke <fzielcke@z-51.de>
24349
24350 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24351 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24352 (WriteMostly1): New macro.
24353 Set array->name to NULL for metadata format 0.90. Add support for
24354 metadata 1.x. Fix some comments.
24355 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24356 few comments.
24357 * util/getroot.c (grub_util_get_grub_dev): Add support for
24358 /dev/md/name style devices.
24359
4b761da9
CW
243602010-07-20 Colin Watson <cjwatson@ubuntu.com>
24361
24362 * .bzrignore: Ignore 20_linux_xen.
24363
5771289a
CW
243642010-07-17 Colin Watson <cjwatson@ubuntu.com>
24365
24366 * util/import_unicode.py: Remove unnecessary imports.
24367
5dab68df
AN
243682010-07-17 Aleš Nesrsta <starous@volny.cz>
24369
24370 Hotplugging and USB hub support.
24371
24372 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24373 (grub_ohci): Likewise.
24374 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24375 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24376 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24377 (GRUB_OHCI_CTRL_EDS): Likewise.
24378 (GRUB_OHCI_BULK_EDS): Likewise.
24379 (GRUB_OHCI_TDS): Likewise.
24380 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24381 (grub_ohci_ed_phys2virt): New function.
24382 (grub_ohci_virt_to_phys): Likewise.
24383 (grub_ohci_td_phys2virt): Likewise.
24384 (grub_ohci_td_virt2phys): Likewise.
24385 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24386 attachment.
24387 (grub_ohci_find_ed): New function.
24388 (grub_ohci_alloc_td): Likewise.
24389 (grub_ohci_free_td): Likewise.
24390 (grub_ohci_free_tds): Likewise.
24391 (grub_ohci_transfer): Use previously allocated memory.
24392 (grub_ohci_portstatus): Reset status changed bit.
24393 (grub_ohci_detect_dev): Supply status changed.
24394 (grub_ohci_fini_hw): Free memory.
24395 (grub_ohci_restore_hw): Reallocate memory.
24396 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24397 Reset status change.
24398 (grub_uhci_detect_dev): Supply status_change.
24399 * bus/usb/usb.c (attach_hooks): New var.
24400 (grub_usb_device_attach): New function.
24401 (grub_usb_register_attach_hook_class): Likewise.
24402 (grub_usb_unregister_attach_hook_class): Likewise.
24403 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24404 (grub_usb_add_hub): Reset connection changed bit.
24405 (attach_root_port): New function.
24406 (grub_usb_root_hub): Likewise.
24407 (poll_nonroot_hub): Likewise.
24408 (grub_usb_poll_devices): Likewise.
24409 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24410 * disk/usbms.c (grub_usbms_open): Use device hooks.
24411 (grub_usbms_iterate) :Poll devices.
24412 (grub_usbms_finddevs): Split into ...
24413 (grub_usbms_attach): ... this ...
24414 (grub_usbms_attach): ... and this.
24415 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24416 in detect_dev.
24417 (grub_usb_interface): New fields attached and detach_hook.
24418 (grub_usb_attach_hook_class): New type.
24419 (grub_usb_attach_desc): New struct.
24420 (grub_usb_register_attach_hook_class): New function.
24421 (grub_usb_unregister_attach_hook_class): Likewise.
24422 (grub_usb_poll_devices): Likewise.
24423 (grub_usb_device_attach): Likewise.
24424 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24425 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24426
3222efaf
VS
244272010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24428
24429 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24430 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24431 delta determination style. Works with most NetBSD partitions too.
24432
139b714a
VS
244332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24434
24435 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24436 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24437
986aad56
VS
244382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24441
99be513c
AB
244422010-07-14 Anton Blanchard <anton@samba.org>
24443
24444 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24445 ET_DYN files.
24446
18075f62
GS
244472010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24448
24449 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24450
8d9a5b15
GS
244512010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24452
24453 * kern/partition.c (grub_partition_check_containment): New function to
24454 check that a partition is physically contained in a parent. Since
24455 offsets are relative (and non-negative), this reduces to checking that
24456 the partition ends before its parent.
24457 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24458 (grub_partition_iterate): Likewise.
24459 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24460 comments.
24461 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24462 partitions that start before their parent, and add debug printfs.
24463
19563c25
CW
244642010-07-13 Colin Watson <cjwatson@ubuntu.com>
24465
24466 * Makefile.in (.SUFFIX): Spell correctly, as ...
24467 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24468 bare module name without `.mod', e.g. `test') tried to invoke a
24469 Modula-2 compiler.
24470
1a1f1e67
CW
244712010-07-13 Colin Watson <cjwatson@ubuntu.com>
24472
24473 * README: Point to the Info manual.
24474
811b0dca
JS
244752010-07-13 Jiro SEKIBA <jir@unicus.jp>
24476
24477 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24478 2nd superblock position from partition size.
24479
e4f4eafc
CW
244802010-07-10 Colin Watson <cjwatson@ubuntu.com>
24481
24482 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24483 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24484 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24485 outputs.
24486
4274c30f
VS
244872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 Restructure SCSI .id handling.
24490 Reported and tested by: Aleš Nesrsta.
24491
24492 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24493 (grub_atapi_dev): Changed .name to "ata". New field .id.
24494 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24495 (grub_usbms_dev): New field .id.
24496 * disk/scsi.c (grub_scsi_iterate): Generate name.
24497 (grub_scsi_open): Parse name.
24498 * include/grub/scsi.h (grub_make_scsi_id): New function.
24499 (grub_scsi_dev): Change iterate and open to number instead of naming
24500 busses. All users updated.
24501 (grub_scsi): Remove name. Add .bus.
24502
5bc24388
VS
245032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 * commands/help.c (grub_cmd_help): Fix a typo.
24506
249975ba
VS
245072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24508
24509 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24510 Reported and tested by: Colin Watson.
24511
3eaac1a1
VS
245122010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24515 in this context.
24516
becce1b1
VS
245172010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24520
f7bf0918
CW
245212010-07-07 Colin Watson <cjwatson@ubuntu.com>
24522
24523 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24524 indentation.
24525
0b0f9620
CW
245262010-07-06 Colin Watson <cjwatson@ubuntu.com>
24527
24528 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24529 and disk/raid6_recover.c.
24530 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24531 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24532
1e545469
CW
245332010-07-06 Colin Watson <cjwatson@ubuntu.com>
24534
24535 * term/gfxterm.c (repaint_schedulded): Rename to ...
24536 (repaint_scheduled): ... this. Update all callers.
24537 (repaint_was_schedulded): Rename to ...
24538 (repaint_was_scheduled): ... this. Update all callers.
24539
5357687a
CW
245402010-07-06 Colin Watson <cjwatson@ubuntu.com>
24541
24542 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24543 which we expect to be handled by upper layers.
24544
29d7e783
BC
245452010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24546
24547 * bus/usb/usbhub.c: #include time.h header.
24548
37582066
CW
245492010-07-06 Colin Watson <cjwatson@ubuntu.com>
24550
24551 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24552 entry_name also for entries without stat blocks (e.g. ".."); fixes
24553 corruption of the first entry in a directory.
24554
c8c06953
CW
245552010-07-06 Colin Watson <cjwatson@ubuntu.com>
24556
24557 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24558 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24559 doesn't work otherwise.
24560
e75056f1
CW
245612010-07-05 Colin Watson <cjwatson@ubuntu.com>
24562
24563 * docs/grub.texi (Features): Update list of supported file systems.
24564 (GNU/Linux): Update for GRUB 2.
24565 (Serial terminal): Remove mention of --disable-serial, which was a
24566 GRUB Legacy configure option. Update instructions to use
24567 `terminal_input' and `terminal_output' rather than `terminal'.
24568 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24569 configuration' and `Installing GRUB using grub-install'.
24570 (Menu entry editor): Update for GRUB 2.
24571 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24572 Document new -a, -u, and -v options.
24573 (initrd): New section.
24574 (initrd16): New section.
24575 (linux): New section.
24576 (linux16): New section.
24577 (search): The `var' argument to `--set' is optional.
24578 (GRUB only offers a rescue shell): Go into a little more detail on
24579 drive ordering.
24580
5cf69151
CW
245812010-07-05 Colin Watson <cjwatson@ubuntu.com>
24582
24583 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24584
e3f90044
CW
245852010-07-05 Colin Watson <cjwatson@ubuntu.com>
24586
24587 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24588 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24589
38d8f4f3
CW
245902010-07-05 Colin Watson <cjwatson@ubuntu.com>
24591
24592 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24593 install_prefix, in line with install_dos_part and install_bsd_part.
24594 Add new prefix variable, which is copied to install_prefix after
24595 comparing core.img in memory with the one read from disk in the
24596 no-embedding case, and use that rather than overwriting
24597 install_prefix immediately when installing to a partition.
24598 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24599 Bicakci.
24600
57ebd41e
GS
246012010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24602
24603 * configure.ac: Avoid == in test command, it's not portable.
24604 * util/grub.d/30_os-prober.in: Likewise.
24605
cb7f64b2
CW
246062010-07-04 Colin Watson <cjwatson@ubuntu.com>
24607
24608 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24609
6b654bb0
GS
246102010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24611
24612 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24613 multiple (top-level) partmaps.
24614
72a2026d
VS
246152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24616
24617 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24618 Reported by: Tino Keitel.
72a2026d 24619
df3eb88f
VS
246202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24621
24622 Bidi and diacritics support.
24623
24624 * Makefile.in (widthspec.bin): New target.
24625 (widthspec.h): Likewise.
24626 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24627 * autogen.sh: Generate unidata.c.
24628 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24629 * commands/ls.c (grub_ls_list_devices): Likewise.
24630 (grub_ls_list_files): Likewise.
24631 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24632 (grub_mini_cmd_lsmod): Likewise.
24633 * commands/read.c: Likewise.
24634 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24635 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24636 * lib/arg.c (grub_arg_show_help): Likewise.
24637 * lib/crypto.c (grub_password_get): Likewise.
24638 * normal/auth.c (grub_username_get): Likewise.
24639 * normal/misc.c (grub_normal_print_device_info): Likewise.
24640 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24641 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24642 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24643 (normal/charset.c_DEPENDENCIES): New variable.
24644 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24645 (pkglib_MODULES): Remove charset.mod.
24646 (charset_mod_SOURCES): Removed.
24647 (charset_mod_CFLAGS): Likewise.
24648 (charset_mod_LDFLAGS): Likewise.
24649 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24650 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24651 and term/tparm.c.
24652 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24653 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24654 (kernel_img_HEADERS): Add terminfo.h.
24655 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24656 Fill ->font. Reverse ascii bitmaps.
24657 (grub_font_get_xheight): New function.
24658 * font/font.c (grub_font_get_string_width): Moved from here ...
24659 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24660 * font/font.c (grub_font_draw_string): Moved from here ...
24661 * gfxmenu/font.c (grub_font_draw_string): ... here.
24662 * font/font.c (grub_font_dup_glyph): New function.
24663 (grub_font_blit_glyph): Likewise.
24664 (grub_font_blit_glyph_mirror): Likewise.
24665 (blit_comb): Likewise.
24666 (grub_font_construct_dry_run): Likewise.
24667 (grub_font_get_constructed_device_width): Likewise.
24668 (grub_font_construct_glyph): Likewise.
24669 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24670 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24671 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24672 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24673 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24674 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24675 (grub_font_get_xheight): New proto.
24676 (grub_font_get_constructed_device_width): Likewise.
24677 (grub_font_construct_glyph): Likewise.
24678 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24679 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24680 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24681 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24682 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24683 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24684 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24685 (grub_console_getcharwidth): Likewise.
24686 * include/grub/misc.h (grub_xputs): New proto.
24687 (grub_puts): Inlined.
24688 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24689 (grub_normal_get_line_counter): Removed.
24690 (grub_install_newline_hook): Likewise.
24691 (grub_normal_get_char_counter): New proto.
24692 (grub_normal_reset_more): Likewise.
24693 (grub_xputs_normal): Likewise.
24694 * include/grub/powerpc/ieee1275/console.h: Removed.
24695 * include/grub/sparc64/ieee1275/console.h: Likewise.
24696 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24697 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24698 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24699 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24700 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24701 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24702 (grub_term_input): Pass reference to self. All users updated.
24703 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24704 Pass reference to self. New fields normal_color, highlight_color and
24705 data. All users updated.
24706 (grub_putchar): Removed.
24707 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24708 (grub_unicode_estimate_width): New function.
24709 (grub_term_getcharwidth): Add defaults.
24710 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24711 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24712 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24713 (grub_cls): Remove EXPORT_FUNC.
24714 (grub_setcolorstate): Inline.
24715 (grub_newline_hook): Removed.
24716 * include/grub/terminfo.h: Rewritten. All users updated.
24717 * include/grub/unicode.h: New file.
24718 * include/grub/video.h (grub_video_signed_rect): New type.
24719 * kern/emu/console.c (grub_console_highlight_color): Removed.
24720 (grub_console_normal_color): Likewise.
24721 (grub_console_standard_color): Made static.
24722 (grub_ncurses_putchar): Remove mapping.
24723 (grub_ncurses_getcharwidth): Removed.
24724 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24725 (grub_ncurses_setcolor): Removed.
24726 (grub_ncurses_getcolor): Likewise.
24727 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24728 (grub_console_putchar): ... this.
24729 (grub_console_putchar): Handle argument difference.
24730 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24731 console_init_early and console_init_lately.
24732 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24733 * kern/misc.c (grub_puts): Removed.
24734 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24735 (grub_vsnprintf_real): Remove str = NULL support.
24736 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24737 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24738 * kern/term.c (grub_putcode): Renamed to ...
24739 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24740 (grub_putchar): Removed.
24741 (grub_xputs_dumb): New function.
24742 (grub_xputs): New variable.
24743 * lib/charset.c: Move from here ...
24744 * normal/charset.c: ... to here.
24745 (grub_ucs4_to_utf8): New function.
24746 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24747 (join_types): New variable.
24748 (unpack_join): New function.
24749 (bidi_types): New variable.
24750 (unpack_bidi): New function.
24751 (get_bidi_type): Likewise.
24752 (get_join_type): Likewise.
24753 (is_mirrored): Likewise.
24754 (grub_unicode_get_comb_type): Likewise.
24755 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24756 (is_type_after): Likewise.
24757 (grub_unicode_aglomerate_comb): Likewise.
24758 (bidi_line_wrap): Likewise.
24759 (grub_bidi_line_logical_to_visual): Likewise.
24760 (grub_bidi_logical_to_visual): Likewise.
24761 (grub_unicode_mirror_code): Likewise.
24762 (grub_unicode_shape_code): Likewise.
24763 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24764 Don't use grub_putchar.
24765 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24766 (grub_normal_reader_init): Likewise.
24767 (grub_xputs_saved): New variable.
24768 (GRUB_MOD_INIT): Set grub_xputs.
24769 (GRUB_MOD_FINI): Restore grub_xputs.
24770 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24771 (menu_init): Avoid printing gfxmenu error.
24772 (show_menu): Use grub_normal_get_char_counter.
24773 * normal/menu_entry.c (update_screen): Fix out-of-array.
24774 (complete): Avoid NULL dereferencing.
24775 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24776 * normal/menu_text.c (print_spaces): Removed.
24777 (grub_print_ucs4): Likewise.
24778 (grub_print_message_indented): Use grub_print_ucs4.
24779 (print_message): Use grub_putcode.
24780 (print_entry): Hanlde diacritics.
24781 * normal/term.c (term_state): New type.
24782 (grub_more_lines): Removed.
24783 (term_states): New variable.
24784 (grub_normal_line_counter): Renamed to ..
24785 (grub_normal_char_counter): ...this. All users updated.
24786 (grub_normal_get_line_counter): Renamed to ...
24787 (grub_normal_get_char_counter): ... this.
24788 (grub_normal_reset_more): New function.
24789 (process_newline): Removed.
24790 (print_more): New function.
24791 (grub_install_newline_hook): Removed.
24792 (map_code): New function.
24793 (grub_puts_terminal): Use grub_print_ucs4.
24794 (putglyph): New function.
24795 (putcode_real): Likewise.
24796 (grub_putcode): Use putcode_real.
24797 (get_maxwidth): New function.
24798 (get_startwidth): Likewise.
24799 (print_ucs4_terminal): Likewise.
24800 (find_term_state): Likewise.
24801 (put_glyphs_terminal): Likewise.
24802 (print_backlog): Likewise.
24803 (print_ucs4_real): Likewise.
24804 (grub_print_ucs4): Likewise.
24805 (grub_xputs_normal): Likewise.
24806 * term/efi/console.c (grub_console_putchar): Output diacritics.
24807 (grub_console_getcharwidth): Removed.
24808 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24809 * term/gfxterm.c (clear_char): Free chars.
24810 (scroll_up): Avoid leaking memory.
24811 (grub_gfxterm_putchar): Support diacritics.
24812 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24813 * term/i386/pc/console.c (grub_console_term_output): Declare as
24814 GRUB_TERM_CODE_TYPE_VGA.
24815 * term/i386/pc/vga.c (grub_vga_term): Declare as
24816 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24817 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24818 GRUB_TERM_CODE_TYPE_VGA.
24819 * term/i386/vga_common.c (map_char): Removed.
24820 (grub_console_putchar): Likewise.
24821 (grub_console_getcharwidth): Likewise.
24822 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24823 (colors): Reordered to match terminfo.
24824 (grub_ofconsole_normal_color): Removed.
24825 (grub_ofconsole_writeesc): Likewise.
24826 (grub_ofconsole_highlight_color): Likewise.
24827 (grub_ofconsole_getcharwidth): Likewise.
24828 (grub_ofconsole_setcolorstate): Likewise.
24829 (grub_ofconsole_setcolor): Likewise.
24830 (grub_ofconsole_getcolor): Likewise.
24831 (grub_ofconsole_readkey): Renamed to ...
24832 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24833 key.
24834 (grub_ofconsole_checkkey): Removed.
24835 (grub_ofconsole_getkey): Likewise.
24836 (grub_ofconsole_getxy): Likewise.
24837 (grub_ofconsole_gotoxy): Likewise.
24838 (grub_ofconsole_cls): Likewise.
24839 (grub_ofconsole_refresh): Likewise.
24840 (grub_ofconsole_terminfo_input): New struct.
24841 (grub_ofconsole_terminfo_output): Likewise.
24842 (grub_ofconsole_term_input): Use terminfo.
24843 (grub_ofconsole_term_output): Likewise.
24844 (grub_console_init): Split into ...
24845 (grub_console_init_early): ...this and ...
24846 (grub_console_init_lately): ...this. Use terminfo.
24847 (grub_ofconsole_putchar): Renamed to ...
24848 (put): ... this. Remove mapping.
24849 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24850 * term/serial.c: Simplify using terminfo.
24851 (xpos): Removed.
24852 (ypos): Likewise.
24853 (keep_track): Likewise.
24854 (registered): Likewise.
24855 (input_buf): Likewise.
24856 (npending): Likewise.
24857 (serial_translate_key_sequence): Likewise.
24858 (fill_input_buf): Likewise.
24859 (grub_serial_checkkey): Likewise.
24860 (grub_serial_getkey): Likewise.
24861 (grub_serial_getxy): Likewise.
24862 (grub_serial_gotoxy): Likewise.
24863 (grub_serial_putchar): Likewise.
24864 (grub_serial_cls): Likewise.
24865 (grub_serial_setcolorstate): Likewise.
24866 (grub_serial_setcursor): Likewise.
24867 (serial_hw_init): Use serial_hw_fetch.
24868 (grub_serial_terminfo_input): New variable.
24869 (grub_serial_terminfo_output): Likewise.
24870 (grub_serial_term_input): Use terminfo.
24871 (grub_serial_term_output): Likewise.
24872 * term/terminfo.c (putstr): Use put.
24873 (grub_terminfo_all_free): New function
24874 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24875 (grub_terminfo_output_register): New function.
24876 (grub_terminfo_output_unregister): Likewise.
24877 (grub_terminfo_getxy): Likewise.
24878 (grub_terminfo_readkey): Likewise.
24879 (grub_terminfo_checkkey): Likewise.
24880 (grub_terminfo_getkey): Likewise.
24881 (grub_terminfo_input_init): Likewise.
24882 (print_terminfo): Likewise.
24883 (grub_cmd_terminfo): Handle encoding.
24884 (grub_terminfo_gotoxy): Track position.
24885 (grub_terminfo_cls): Likewise.
24886 (grub_terminfo_putchar): Likewise.
24887 (grub_terminfo_setcolorstate): Handle colors
24888 (grub_terminfo_cursor_on): This ...
24889 (grub_terminfo_cursor_off): ... and this merged into ...
24890 (grub_terminfo_setcursor): ... this.
24891 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24892 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24893 * unicode/BidiMirroring.txt: Likewise.
24894 * unicode/UnicodeData.txt: Likewise.
24895 * unicode/COPYING: Likewise.
24896 * util/grub-editenv.c (grub_putchar): Removed.
24897 (grub_xputs_real): New function.
24898 (grub_xputs): New variable.
24899 * util/grub-fstest.c (grub_putchar): Removed.
24900 (grub_xputs_real): New function.
24901 (grub_xputs): New variable.
24902 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24903 (grub_xputs_real): New function.
24904 (grub_xputs): New variable.
24905 * util/grub-probe.c (grub_putchar): Removed.
24906 (grub_xputs_real): New function.
24907 (grub_xputs): New variable.
24908 * util/grub-script-check.c (grub_putchar): Removed.
24909 (grub_xputs_real): New function.
24910 (grub_xputs): New variable.
24911 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24912 (grub_xputs_real): New function.
24913 (grub_xputs): New variable.
24914 * util/import_unicode.py: New file.
24915 * util/grub-mkfont.c (ft_errmsgs): New array.
24916 (grub_glyph_info): Make bitmap a pointer.
24917 (file_formats): New type WIDTH_SPEC.
24918 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24919 (options): Add width-spec.
24920 (help): Likewise.
24921 (add_char): Renamed to ...
24922 (add_glyph): ... this.
24923 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24924 (glyph_replace): New type.
24925 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24926 (add_char): New function.
24927 (add_subst): Likewise.
24928 (process_cursive): Likewise.
24929 (add_font): Handle GSUB.
24930 (write_font_width_spec): New function.
24931 (main): Sort glyphs.
24932 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24933 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24934 * kern/term.c (grub_cls): Moved from here...
24935 * normal/term.c (grub_cls): ... here.
24936
50f0bcda
CW
249372010-07-02 Colin Watson <cjwatson@ubuntu.com>
24938
24939 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24940 suitable for using within the format argument of printf when
24941 converting grub_size_t.
24942 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24943 "x" to convert grub_size_t arguments.
24944
40372103
VS
249452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24948 too long captions.
24949 (list_get_minimal_size): Take selection box into account.
24950
942a10c7
VS
249512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24952
24953 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24954 NULL font.
24955
2bdb2892
CW
249562010-07-02 Colin Watson <cjwatson@ubuntu.com>
24957
24958 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24959 devices when iterating over /dev/disk/by-id; they will be handled
24960 later if appropriate, which they aren't always (e.g. LVM).
24961
e03ed6c1
CW
249622010-07-02 Colin Watson <cjwatson@ubuntu.com>
24963
24964 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24965 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24966 fails.
24967 (grub_halt): Likewise.
24968 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24969 reset-all fails.
24970 (grub_halt): Don't return, even if all of shut-down, power-off, and
24971 poweroff fail.
24972
47695765
CW
249732010-07-02 Colin Watson <cjwatson@ubuntu.com>
24974
24975 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24976 arguments, not three.
24977
507736c8
CW
249782010-07-02 Colin Watson <cjwatson@ubuntu.com>
24979
24980 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24981 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24982 LVM-on-RAID is handled correctly.
24983
e3c8cd37
CW
249842010-07-02 Colin Watson <cjwatson@ubuntu.com>
24985
24986 * docs/grub.texi (Changes from GRUB Legacy): New section.
24987 (Future): Fix typo.
24988
8d4a2fec
CW
249892010-07-02 Colin Watson <cjwatson@ubuntu.com>
24990
24991 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24992 grub.d/README accidentally ends up executable for one reason or
24993 another. Ignore it.
24994
1c4827be
VS
249952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24996
24997 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24998 (gpt_partition_map_iterate): Support non-512B sectors.
24999
d9a0c941
VS
250002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25003 Tested by: Seth Goldberg.
25004
48f27e87
VS
250052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25008 Properly align mbi.
25009 Reported by: Seth Goldberg.
25010
b0c4f956
VS
250112010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * util/grub-mkrescue.in: Avoid module duplication.
25014
105a2e8c
SF
250152010-07-01 Sean Finney <seanius@seanius.net>
25016
25017 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25018
5944958c
SF
250192010-07-01 Sean Finney <seanius@seanius.net>
25020
25021 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25022
250232010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25024
25025 * disk/lvm.c (grub_lvm_checkvalue): New function.
25026 (grub_lvm_check_flag): Likewise.
25027
b79889ba
RM
250282010-07-01 Robert Millan <rmh@gnu.org>
25029
25030 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25031 Support 'p' as partition separator on kernel of FreeBSD (used
25032 with GPT labels).
25033 (grub_util_biosdisk_get_grub_dev): Likewise.
25034
ec1d04f1
VS
250352010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 Yeeloong firmware port.
25038
25039 * boot/mips/yeeloong/fwstart.S: New file.
25040 * bus/cs5536.c (gpiodump): New const.
25041 (set_io_space): New function.
25042 (set_iod): Likewise.
25043 (set_p2d): Likewise.
25044 (grub_cs5536_init_geode): Likewise.
25045 * commands/mips/yeeloong/lsspd.c: New file.
25046 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25047 (serial_mod_SOURCES): New variable.
25048 (serial_mod_CFLAGS): Likewise.
25049 (serial_mod_LDFLAGS): Likewise.
25050 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25051 term/terminfo.c and term/tparm.c.
25052 (pkglib_IMAGES): Add fwstart.img.
25053 (fwstart_img_SOURCES): New variable.
25054 (fwstart_img_CFLAGS): Likewise.
25055 (fwstart_img_ASFLAGS): Likewise.
25056 (fwstart_img_LDFLAGS): Likewise.
25057 (fwstart_img_FORMAT): Likewise.
25058 (pkglib_MODULES): Add lsspd.mod.
25059 (lsspd_mod_SOURCES): New variable.
25060 (lsspd_mod_CFLAGS): Likewise.
25061 (lsspd_mod_LDFLAGS): Likewise.
25062 (pkglib_MODULES): Add halt.mod.
25063 (halt_mod_SOURCES): New variable.
25064 (halt_mod_CFLAGS): Likewise.
25065 (halt_mod_LDFLAGS): Likewise.
25066 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25067 (serial_mod_SOURCES): Removed.
25068 (serial_mod_CFLAGS): Likewise.
25069 (serial_mod_LDFLAGS): Likewise.
25070 * disk/ata.c (check_device): New function.
25071 (grub_ata_device_initialize): Use check_device.
25072 (grub_ata_iterate): Recheck devices.
25073 (grub_ata_open): Likewise.
25074 (grub_atapi_iterate): Likewise.
25075 (grub_atapi_open): Likewise.
25076 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25077 (GRUB_ATA_CH1_PORT1): Likewise.
25078 (GRUB_ATA_CH0_PORT2): Likewise.
25079 (GRUB_ATA_CH1_PORT2): Likewise.
25080 * include/grub/mips/loongson.h: New file.
25081 * include/grub/mips/yeeloong/ec.h: Likewise.
25082 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25083 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25084 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25085 * include/grub/misc.h (grub_halt): Declare as noreturn.
25086 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25087 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25088 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25089 (UART_ENABLE_DTRRTS): Likewise.
25090 (UART_ENABLE_MODEM): Removed.
25091 (UART_ENABLE_OUT2): New const.
25092 * include/grub/term.h (grub_term_register_input_active): New function.
25093 (grub_term_register_output_active): Likewise.
25094 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25095 argument.
25096 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25097 (init_pci): New function.
25098 (grub_machine_init): Execute platform init when firmware. Init serial.
25099 (grub_halt): Implement.
25100 (grub_exit): Likewise.
25101 (grub_reboot): Likewise.
25102 * term/serial.c (serial_hw_init): Update macros.
25103 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25104 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25105 (image_targets): New target mipsel-yeeloong-flash.
25106 (generate_image): Support IMAGE_YEELOONG_FLASH.
25107 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25108 (grub_video_sm712_setup): Init card.
25109 (grub_video_sm712_set_palette): Removed.
25110 * video/sm712_init.c: New file.
25111
ff4a70d2
CW
251122010-06-30 Colin Watson <cjwatson@ubuntu.com>
25113
25114 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25115 PATH when running help2man and then run it on the unadorned
25116 executable names, rather than passing $(builddir)/* paths to
25117 help2man. This avoids the build directory ending up in generated
25118 manual pages.
25119
1246efeb
CW
251202010-06-29 Colin Watson <cjwatson@ubuntu.com>
25121
25122 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25123 to avoid accidents when debugging with 'sh -x'.
25124 * util/grub-mkrescue.in: Likewise.
25125 * util/grub.d/00_header.in: Likewise.
25126 * util/grub.d/10_hurd.in: Likewise.
25127 * util/grub.d/10_kfreebsd.in: Likewise.
25128 * util/grub.d/10_linux.in: Likewise.
25129 * util/grub.d/10_netbsd.in: Likewise.
25130 * util/grub.d/10_windows.in: Likewise.
25131 * util/grub.d/20_linux_xen.in: Likewise.
25132 * util/grub.d/30_os-prober.in: Likewise.
25133 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25134
1ba9b889
CW
251352010-06-29 Colin Watson <cjwatson@ubuntu.com>
25136
25137 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25138 last character in the buffer.
25139 Reported by: Vladimir Serbinenko.
25140
dccaf99d
RM
251412010-06-29 Robert Millan <rmh@gnu.org>
25142
25143 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25144 (Command-line and menu entry commands): Document `badram' command.
25145
d500ed12
RM
251462010-06-28 Robert Millan <rmh@gnu.org>
25147
25148 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25149 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25150 command using ${GRUB_BADRAM} as parameter.
25151
20bc84a6
CW
251522010-06-28 Colin Watson <cjwatson@ubuntu.com>
25153
25154 * docs/grub.texi (Device map): New section.
25155 (Themes): New section (stub).
25156 * Makefile.in (docs/grub.info): The info documentation now builds
25157 without errors. Make sure it stays that way.
25158
4045dee1
VS
251592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25160
25161 Use normal parser for menu entries.
25162 Reported by: Thomas Frauendorfer
25163
25164 * include/grub/parser.h (grub_parser_execute): Don't export.
25165 * normal/menu.c (grub_menu_execute_entry_real): New function.
25166 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25167
bca58c7b
CW
251682010-06-28 Colin Watson <cjwatson@ubuntu.com>
25169
25170 * docs/grub.texi (Embedded configuration): New section (replacing
25171 old "Preset Menu" stub).
25172 (Images): New section.
25173 (configfile): Note that any menu entries defined in `file' are shown
25174 immediately.
25175
dec53e63
JT
251762010-06-28 Josh Triplett <josh@joshtriplett.org>
25177
25178 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25179
c06e40f7
CW
251802010-06-28 Colin Watson <cjwatson@ubuntu.com>
25181
25182 * util/grub-install.in: Add --debug-image= option.
25183
cb88052b
CW
251842010-06-28 Colin Watson <cjwatson@ubuntu.com>
25185
25186 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25187 possible on Linux.
25188
25189 * util/deviceiter.c (check_device): Rename to ...
25190 (check_device_readable_unique): ... this. Update all callers.
25191 Maintain and check a list of which devices (by canonicalized name)
25192 have already been seen.
25193 (clear_seen_devices): New function.
25194 (compare_file_names) [__linux__]: New function.
25195 (grub_util_iterate_devices): Clear the list of seen devices on exit
25196 and (just in case) on entry.
25197 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25198 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25199 seen-devices list, superseded by general code in check_device.
25200
bbe34652
CW
252012010-06-28 Colin Watson <cjwatson@ubuntu.com>
25202
25203 * commands/cat.c (options): New variable.
25204 (grub_cmd_cat): Parse options. If the --dos option is given, print
25205 DOS-style "\r\n" line endings as simple newlines (Debian bug
25206 #586358).
25207 (GRUB_MOD_INIT): Use extcmd.
25208 (GRUB_MOD_FINI): Likewise.
25209 * docs/grub.texi (cat): Document --dos.
25210
412e09f3
VS
252112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25212
25213 XEN with Linux grub-mkconfig support.
25214
25215 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25216 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25217 GRUB_CMDLINE_XEN_DEFAULT.
25218 * util/grub.d/20_linux_xen.in: New file.
25219
53f3ef38 252202010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25221
25222 Initialise VGA video on qemu ourselves.
25223
25224 * boot/i386/qemu/boot.S: Don't call 0xc000.
25225 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25226 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25227 (kernel_img_HEADERS): Add pci.h.
25228 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25229 * configure.ac: Force unifont on qemu and yeeloong.
25230 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25231 (grub_vga_palette_write): Use correct register.
25232 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25233 Call grub_qemu_init_cirrus.
25234 * kern/i386/qemu/init.c: New file.
25235 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25236
25237 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25238
c75be4fb
PR
252392010-06-26 Pavel Roskin <proski@gnu.org>
25240
25241 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25242 13.
25243
d8034603
CW
252442010-06-26 Colin Watson <cjwatson@ubuntu.com>
25245
25246 * docs/grub.texi (Simple configuration): Explain that
25247 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25248 set to `true' to disable their respective recovery entries, not
25249 merely set.
25250
3fa06487
CW
252512010-06-26 Colin Watson <cjwatson@ubuntu.com>
25252
25253 Make the `source' command slightly faster.
25254
25255 * normal/main.c (grub_normal_execute): Don't re-read list files when
25256 nested.
25257
e9b29642
CW
252582010-06-23 Colin Watson <cjwatson@ubuntu.com>
25259
25260 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25261 field position and mask size to red fields from mode_info, not
25262 green.
25263 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25264 Remove redundant tag->common.framebuffer_type assignment.
25265 Reported by: Seth Goldberg.
25266
e726542f
CW
252672010-06-23 Colin Watson <cjwatson@ubuntu.com>
25268
25269 Sync up other versions of the Linux loader with Robert Millan's
25270 change of 2010-01-09, "Make loader output a bit more user-friendly".
25271
25272 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25273 grub_dprintf().
25274 (grub_cmd_linux): Likewise.
25275 (grub_cmd_initrd): Likewise.
25276 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25277 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25278
d6e98a17
CW
252792010-06-21 Colin Watson <cjwatson@ubuntu.com>
25280
25281 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25282 larger than MEMORY_MAP_SIZE.
25283
14d3f08e
BC
252842010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25285
25286 Fix parallel build.
25287
25288 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25289 dependency.
25290 * script/parser.y: #include grub_script.tab.h header.
25291
4f9613a3
VS
252922010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 Support >3GiB and <16MiB RAM in i386-qemu.
25295
25296 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25297 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25298 (grub_lower_mem): Removed.
25299 (grub_upper_mem): Likewise.
25300 (mem_size): Made static.
25301 (above_4g): New variable.
25302 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25303 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25304 support.
25305
05e51879
VS
253062010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25307
25308 Cirrus 5446 and Bochs video cards support.
25309
25310 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25311 video_bochs.mod
25312 (video_cirrus_mod_SOURCES): New variable.
25313 (video_cirrus_mod_CFLAGS): Likewise.
25314 (video_cirrus_mod_LDFLAGS): Likewise.
25315 (video_bochs_mod_SOURCES): Likewise.
25316 (video_bochs_mod_CFLAGS): Likewise.
25317 (video_bochs_mod_LDFLAGS): Likewise.
25318 * include/grub/vga.h: New file.
25319 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25320 (grub_video_fb_set_page_t): New type.
25321 (grub_video_fb_setup): New prototype.
25322 (grub_video_fb_swap_buffers): Likewise.
25323 (grub_video_fb_get_info_and_fini): Likewise.
25324 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25325 (CRTC_DATA_PORT): Likewise.
25326 (CRTC_CURSOR): Likewise.
25327 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25328 (CRTC_CURSOR_ADDR_LOW): Likewise.
25329 (CRTC_CURSOR_DISABLE): Likewise.
25330 (update_cursor): Use grub_vga_cr_write.
25331 (grub_vga_text_setcursor): Likewise.
25332 * video/bochs.c: New file.
25333 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25334 (palette): Likewise.
25335 (palette_size): Likewise.
25336 (framebuffer): New variable.
25337 (grub_video_fb_init): Use 'framebuffer'.
25338 (grub_video_fb_fini): Likewise.
25339 (grub_video_fb_get_info): Likewise.
25340 (grub_video_fb_get_palette): Likewise.
25341 (grub_video_fb_set_palette): Likewise.
25342 (grub_video_fb_set_viewport): Likewise.
25343 (grub_video_fb_get_viewport): Likewise.
25344 (grub_video_fb_map_color): Likewise.
25345 (grub_video_fb_map_rgb): Likewise.
25346 (grub_video_fb_map_rgba): Likewise.
25347 (grub_video_fb_unmap_color): Likewise.
25348 (grub_video_fb_unmap_color_int): Likewise.
25349 (grub_video_fb_fill_rect): Likewise.
25350 (grub_video_fb_blit_bitmap): Likewise.
25351 (grub_video_fb_blit_render_target): Likewise.
25352 (grub_video_fb_scroll): Likewise.
25353 (grub_video_fb_create_render_target): Likewise.
25354 (grub_video_fb_doublebuf_blit_init): Likewise.
25355 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25356 (doublebuf_pageflipping_update_screen): New function.
25357 (doublebuf_pageflipping_init): Likewise.
25358 (grub_video_fb_setup): Likewise.
25359 (grub_video_fb_swap_buffers): Likewise.
25360 (grub_video_fb_get_info_and_fini): Likewise.
25361 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25362 All users updated.
25363 (doublebuf_pageflipping_commit): Restructured into ...
25364 (doublebuf_pageflipping_set_page): ... this.
25365 (doublebuf_pageflipping_update_screen): Removed.
25366 (doublebuf_pageflipping_init): Likewise.
25367 (double_buffering_init): Likewise.
25368 (grub_video_vbe_setup): Use grub_video_fb_setup.
25369 (grub_video_vbe_swap_buffers): Removed.
25370 (grub_video_vbe_set_active_render_target): Likewise.
25371 (grub_video_vbe_get_active_render_target): Likewise.
25372 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25373 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25374 grub_video_fb_set_active_render_target and
25375 grub_video_fb_get_active_render_target.
25376 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25377 (SEQUENCER_DATA_PORT): Likewise.
25378 (MAP_MASK_REGISTER): Likewise.
25379 (CRTC_ADDR_PORT): Likewise.
25380 (CRTC_DATA_PORT): Likewise.
25381 (START_ADDR_HIGH_REGISTER): Likewise.
25382 (START_ADDR_LOW_REGISTER): Likewise.
25383 (GRAPHICS_ADDR_PORT): Likewise.
25384 (GRAPHICS_DATA_PORT): Likewise.
25385 (READ_MAP_REGISTER): Likewise.
25386 (INPUT_STATUS1_REGISTER): Likewise.
25387 (INPUT_STATUS1_VERTR_BIT): Likewise.
25388 (get_map_mask): Use grub_vga_sr_read.
25389 (set_map_mask): Use grub_vga_sr_write.
25390 (set_read_map): Use grub_vga_gr_write.
25391 (set_start_address): Use grub_vga_cr_write.
25392 * video/sm712.c (framebuffer): Remove leftover fields.
25393
4321c64a
CW
253942010-06-20 Colin Watson <cjwatson@ubuntu.com>
25395
25396 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25397 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25398 instead. Replace the gfxterm backend check with a check that
25399 ${GRUB_PREFIX}/video.lst is non-empty.
25400 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25401 again.
25402 (load_video): New generated function. Call it before loading
25403 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25404 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25405 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25406 * docs/grub.texi (Simple configuration): Document
25407 GRUB_VIDEO_BACKEND.
25408
254092010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 Use video functions in linux and xnu loaders.
25412
25413 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25414 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25415 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25416 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25417 loader/i386/pc/linux.c.
25418 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25419 (find_line_len): Removed.
25420 (find_framebuf): Likewise.
25421 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25422 * loader/i386/efi/xnu.c: Removed.
25423 * loader/i386/pc/xnu.c: Moved from here...
25424 * loader/i386/xnu.c: ...here.
25425
25426 Enable priorities in video drivers.
25427
25428 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25429 (grub_video_adapter): New field prio.
25430 (grub_video_register): Respect prio when inserting.
25431 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25432 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25433 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25434 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25435 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25436 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25437 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25438
25439 Fix SDL driver ID.
25440
25441 * include/grub/video.h (grub_video_driver_id_t): New value
25442 GRUB_VIDEO_DRIVER_SDL.
25443 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25444
7d24e434
CW
254452010-06-17 Colin Watson <cjwatson@ubuntu.com>
25446
25447 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25448 argument to printf.
25449 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25450
c88a83f6
CW
254512010-06-17 Colin Watson <cjwatson@ubuntu.com>
25452
25453 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25454 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25455
094dfb69
CW
254562010-06-17 Colin Watson <cjwatson@ubuntu.com>
25457
25458 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25459 directly, and recommend grub-install instead.
25460 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25461
2164da6b
CW
254622010-06-17 Colin Watson <cjwatson@ubuntu.com>
25463
25464 Fix i386-pc prefix handling with nested partitions (Debian bug
25465 #585068). Note that the case where the core image is booted using
25466 multiboot and relocated from its original location still requires
25467 more work.
25468
25469 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25470 with "(,", fill the boot drive in between those two characters, but
25471 expect that a full partition specification including partition map
25472 names will follow.
25473 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25474 specified, write a prefix without the drive name but including a
25475 full partition specification.
25476
044e2e60
CW
254772010-06-16 Colin Watson <cjwatson@ubuntu.com>
25478
25479 * util/grub-mkconfig.in: Ignore non-option arguments, for
25480 compatibility with older versions (before 2010-06-12) which did the
25481 same. In particular, this makes it easier to ship an update-grub
25482 wrapper which is compatible with that used with GRUB Legacy (Debian
25483 bug #586056).
25484
5591324f
GS
254852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25486
25487 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25488 for manual page generation.
25489
662e24d5
GS
254902010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25491
25492 * po/POTFILES: Remove leftover commands/handler.c.
25493
8d70754e
CW
254942010-06-14 Colin Watson <cjwatson@ubuntu.com>
25495
25496 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25497 left this script non-functional.
25498
41160e2e
CW
254992010-06-14 Colin Watson <cjwatson@ubuntu.com>
25500
25501 * docs/man/grub-emu.h2m: New file.
25502
b5309cc1
CW
255032010-06-13 Colin Watson <cjwatson@ubuntu.com>
25504
25505 * docs/grub.texi (Commands): Document reduced command set in rescue
25506 mode.
25507 (cpuid): New section.
25508
fcb2d090
GS
255092010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25510
25511 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25512 new partition naming style.
25513 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25514
96e5c556
BC
255152010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25516
25517 Add "-o grub.iso" like cmdline options support.
25518
25519 * util/grub-install.in: Improve cmdline option parsing.
25520 * util/grub-mkconfig.in: Likewise.
25521 * util/grub-mkrescue.in: Likewise.
25522 * util/grub-reboot.in: Likewise.
25523 * util/grub-set-default.in: Likewise.
25524 * util/i386/efi/grub-install.in: Likewise.
25525 * util/ieee1275/grub-install.in: Likewise.
25526 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25527
c16be99b
CW
255282010-06-12 Colin Watson <cjwatson@ubuntu.com>
25529
25530 * .bzrignore: Ignore 41_custom.
25531
ce08a9fb
TS
255322010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25533
25534 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25535
7beac90c
CW
255362010-06-12 Colin Watson <cjwatson@ubuntu.com>
25537
25538 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25539 prototype declarations.
25540
25541 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25542 generating fs, partmap, and video lists.
25543 * include/grub/fs.h (grub_fs_register): Omit prototype if
25544 GRUB_LST_GENERATOR is defined.
25545 * include/grub/partition.h (grub_partition_map_register): Likewise.
25546 * include/grub/video.h (grub_video_register): Likewise.
25547
1c8f0f8d
JM
255482010-06-12 Javier Martín <lordhabbit@gmail.com>
25549
25550 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25551
a6085973
TS
255522010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25553
25554 * util/grub-mkrescue.in: Support --xorriso argument.
25555
25c56d29
VS
255562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25559 Suggested by: Thomas Schmitt.
25560
e03e4b24
VS
255612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25562
25563 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25564 Suggested by: Thomas Schmitt.
25565
57711df6
VS
255662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 custom.cfg support.
25569
25570 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25571 * util/grub.d/41_custom.in: New file.
25572
ee62c427
CW
255732010-06-12 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25576 been merged back into normal.
25577
283af07a
CW
255782010-06-11 Colin Watson <cjwatson@ubuntu.com>
25579
25580 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25581 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25582
56a0d956
CW
255832010-06-11 Colin Watson <cjwatson@ubuntu.com>
25584
25585 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25586 when generating manual pages.
25587 * docs/man/grub-bin2h.h2m: New file.
25588 * docs/man/grub-editenv.h2m: New file.
25589 * docs/man/grub-fstest.h2m: New file.
25590 * docs/man/grub-install.h2m: New file.
25591 * docs/man/grub-macho2img.h2m: New file.
25592 * docs/man/grub-mkconfig.h2m: New file.
25593 * docs/man/grub-mkdevicemap.h2m: New file.
25594 * docs/man/grub-mkfont.h2m: New file.
25595 * docs/man/grub-mkimage.h2m: New file.
25596 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25597 * docs/man/grub-mkrelpath.h2m: New file.
25598 * docs/man/grub-mkrescue.h2m: New file.
25599 * docs/man/grub-ofpathname.h2m: New file.
25600 * docs/man/grub-pe2elf.h2m: New file.
25601 * docs/man/grub-probe.h2m: New file.
25602 * docs/man/grub-reboot.h2m: New file.
25603 * docs/man/grub-script-check.h2m: New file.
25604 * docs/man/grub-set-default.h2m: New file.
25605 * docs/man/grub-setup.h2m: New file.
25606
3a37e322
VS
256072010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 Use FOR_* macros instead of *_iterate whenever possible.
25610
25611 * commands/handler.c: Removed.
25612 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25613 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25614 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25615 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25616 (grub_probe_SOURCES): Remove kern/parser.c.
25617 (util/grub-script-check.c_DEPENDENCIES): Removed.
25618 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25619 and grub_script_check_init.c.
25620 (grub_script_check_init.lst): Removed.
25621 (grub_script_check_init.h): Likewise.
25622 (grub_script_check_init.c): Likewise.
25623 (pkglib_MODULES): Remove handler.mod and sh.mod.
25624 (handler_mod_SOURCES): Removed.
25625 (handler_mod_CFLAGS): Likewise.
25626 (handler_mod_LDFLAGS): Likewise.
25627 (normal_mod_SOURCES): Remove normal/handler.c.
25628 Add script/main.c, script/script.c, script/execute.c,
25629 script/function.c, script/lexer.c, grub_script.tab.c
25630 and grub_script.yy.c.
25631 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25632 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25633 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25634 (grub_setup_SOURCES): Remove kern/parser.c.
25635 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25636 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25637 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25638 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25639 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25640 (grub_setup_SOURCES): Remove kern/parser.c.
25641 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25642 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25643 * include/grub/command.h (grub_command_iterate): Removed.
25644 (FOR_COMMANDS): New macro.
25645 * include/grub/dl.h (grub_dl): New member next.
25646 (grub_dl_iterate): Removed.
25647 (grub_dl_head): New variable declaration.
25648 (FOR_DL_MODULES): New macro.
25649 * include/grub/fs.h: Include list.h.
25650 (grub_fs): Make next first element.
25651 (grub_fs_list): New variable declaration.
25652 (grub_fs_register): Make inline.
25653 (grub_fs_unregister): Likewise.
25654 (grub_fs_iterate): Removed.
25655 (FOR_FILESYSTEMS): New macro.
25656 * include/grub/handler.h: Removed.
25657 * include/grub/list.h (grub_list_hook_t): Removed.
25658 (grub_list_test_t): Likewise.
25659 (grub_list_pop): Likewise.
25660 (grub_list_iterate): Likewise.
25661 (grub_list_insert): Likewise.
25662 (FOR_LIST_ELEMENTS): New macro.
25663 * include/grub/parser.h (grub_parser_class): Removed.
25664 (grub_parser_register): Likewise.
25665 (grub_parser_unregister): Likewise.
25666 (grub_parser_get_current): Likewise.
25667 (grub_parser_set_current): Likewise.
25668 (grub_register_rescue_parser): Likewise.
25669 (grub_rescue_parse_line): New function.
25670 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25671 * include/grub/script_sh.h (grub_script_function_list): New variable
25672 declaration.
25673 (FOR_SCRIPT_FUNCTIONS): New macro.
25674 (grub_script_function_iterate): Removed.
25675 (grub_normal_parse_line): New prototype.
25676 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25677 (FOR_DISABLED_TERM_INPUTS): Likewise.
25678 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25679 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25680 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25681 element.
25682 (grub_video_register): Inline.
25683 (grub_video_unregister): Likewise.
25684 (grub_video_adapter_list): New variable declaration.
25685 (grub_video_iterate): Removed.
25686 (FOR_VIDEO_ADAPTERS): New macro.
25687 * kern/dl.c (grub_dl_list): Removed. All users updated.
25688 (grub_dl_iterate): Removed.
25689 * kern/fs.c (grub_fs_list): Make global.
25690 (grub_fs_register): Removed.
25691 (grub_fs_unregister): Likewise.
25692 (grub_fs_iterate): Likewise.
25693 * kern/handler.c: Removed.
25694 * kern/list.c (grub_list_pop): Removed.
25695 (grub_list_iterate): Likewise.
25696 (grub_list_insert): Likewise.
25697 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25698 (grub_prio_list_insert): Don't use grub_list_insert.
25699 * kern/main.c (grub_register_rescue_parser): Don't call
25700 grub_register_rescue_parser.
25701 * kern/parser.c (grub_parser_class): Removed.
25702 (grub_parser_execute): Use grub_rescue_parse_line.
25703 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25704 (grub_rescue_parser): Removed.
25705 (grub_register_rescue_parser): Likewise.
25706 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25707 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25708 (grub_auth_check_authentication): Likewise.
25709 * normal/completion.c (iterate_command): Removed.
25710 (grub_normal_do_completion): Use FOR_COMMANDS.
25711 * normal/handler.c: Removed.
25712 * normal/main.c (read_config_file): Remove parser changing.
25713 (grub_normal_execute): Don't call read_handler_list.
25714 (grub_normal_read_line_real): Statically allocate prompt.
25715 (grub_cmdline_run): Use grub_normal_parse_line.
25716 (GRUB_MOD_FINI): Don't call free_handler_list.
25717 * normal/menu_entry.c (run): Likewise.
25718 * script/function.c (grub_script_function_list): Make global.
25719 (grub_script_function_iterate): Removed.
25720 * script/main.c (grub_normal_parse_line): Make global.
25721 (grub_sh_parser): Removed.
25722 (GRUB_MOD_INIT): Likewise.
25723 (GRUB_MOD_FINI): Likewise.
25724 * tests/lib/functional_test.c (grub_functional_test): Use
25725 FOR_LIST_ELEMENTS.
25726 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25727 (grub_test_run): Use FOR_LIST_ELEMENTS.
25728 * tests/lib/unit_test.c (main): Likewise.
25729 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25730 grub_list_pop.
25731 * util/grub-fstest.c (grub_term_input_class): Removed.
25732 (grub_term_output_class): Likewise.
25733 * util/grub-probe.c: Likewise.
25734 * util/i386/pc/grub-setup.c: Likewise.
25735 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25736 * util/grub-script-check.c (main): Don't call grub_init_all and
25737 grub_fini_all.
25738 * video/video.c (grub_video_adapter_list): Make global.
25739 (grub_video_register): Removed.
25740 (grub_video_unregister): Likewise.
25741 (grub_video_iterate): Likewise.
25742
6289c3a7
VS
257432010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25744
25745 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25746 reported by Henrique Ferreiro.
25747
91460247
RM
257482010-06-09 Robert Millan <rmh@gnu.org>
25749
25750 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25751 ones, when both are available.
25752
0ea7c4f9
GS
257532010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25754
25755 Make --version uniform and avoid hard-coded program name.
25756
25757 * util/grub-mkimage.c (main): Use `program_name' instead of
25758 hard-coded string.
25759 * util/i386/pc/grub-setup.c (main): Likewise.
25760 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25761 * util/grub-install.in: Save the basename of $0 in $self, and use the
25762 latter in informational messages. Use the same format for --version
25763 as the binary programs.
25764 * util/grub-mkconfig.in: Likewise.
25765 * util/grub-mkrescue.in: Likewise.
25766 * util/grub-reboot.in: Likewise.
25767 * util/grub-set-default.in: Likewise.
25768 * util/i386/efi/grub-install.in: Likewise.
25769 * util/ieee1275/grub-install.in: Likewise.
25770 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25771
e8a6f3b6
GS
257722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25773
25774 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25775 embedding area. Use <= instead of == when checking for non-emptiness.
25776
f4d095d7
GS
257772010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25778
25779 * configure.ac: Add `.' to the directories searched for unifont.
25780
50e532ca
CW
257812010-06-08 Colin Watson <cjwatson@ubuntu.com>
25782
25783 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25784 grub_script.yy.h.
25785
d39f3dec
CW
257862010-06-08 Colin Watson <cjwatson@ubuntu.com>
25787
25788 * docs/grub.texi (History): Expand to cover GRUB 2.
25789 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25790 commands, not `terminal'.
25791 (serial): Likewise.
25792 (terminal_input): New section.
25793 (terminal_output): New section.
25794 (uppermem): New section (stub).
25795 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25796
6ef0ddb4
CW
257972010-06-08 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * docs/grub.texi (Security): Menu entries are unrestricted by
25800 default, not restricted to superusers as I had previously thought.
25801 Reword to account for this.
25802
e0f4c438
CW
258032010-06-07 Colin Watson <cjwatson@ubuntu.com>
25804
25805 * kern/emu/misc.c (device_mapper_null_log): New function.
25806 (grub_device_mapper_supported): New function.
25807 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25808 prototype.
25809 * kern/emu/hostdisk.c (find_partition_start): Check whether
25810 device-mapper is supported before trying to use it.
25811 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25812
da908200
CW
258132010-06-07 Colin Watson <cjwatson@ubuntu.com>
25814
25815 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25816 (File name syntax): Likewise.
25817 (help): --all is no longer supported in GRUB 2. Be more precise
25818 about pattern matching.
25819
fb55c3ac
CW
258202010-06-07 Colin Watson <cjwatson@ubuntu.com>
25821
25822 * normal/completion.c (grub_normal_do_completion): When completing
25823 arguments to "set" and the current word contains an equals sign,
25824 skip to after the equals sign before starting completion.
25825
258c2573
CW
258262010-06-07 Colin Watson <cjwatson@ubuntu.com>
25827
25828 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25829
ee75515e
CW
258302010-06-07 Colin Watson <cjwatson@ubuntu.com>
25831
25832 * docs/grub.texi (Network): New section.
25833 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25834 `(nd)' as in GRUB Legacy.
25835 (pxe_unload): New section.
25836
a6a700aa
CW
258372010-06-07 Colin Watson <cjwatson@ubuntu.com>
25838
25839 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25840 in the rescue shell, so recommend using `set' instead. Thanks,
25841 Jordan Uggla.
25842
4003dd38
CW
258432010-06-07 Colin Watson <cjwatson@ubuntu.com>
25844
25845 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25846 (password): New section.
25847 (password_pbkdf2): New section.
25848 (search): New section.
25849 (Security): New section.
25850 (Troubleshooting): New section, currently very incomplete.
25851 (Invoking grub-mkpasswd-pbkdf2): New section.
25852 (Internals): New section, currently very incomplete.
25853
e1cbcc40
CW
258542010-06-07 Colin Watson <cjwatson@ubuntu.com>
25855
25856 * util/grub.d/00_header.in: Add some more quoting (of
25857 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25858 work again.
25859 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25860
db8fa1ad
CW
258612010-06-07 Colin Watson <cjwatson@ubuntu.com>
25862
25863 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25864 to `count', fixing variable shadowing that broke the -c option.
25865
258662010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25867
25868 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25869 in case they contain spaces.
25870
f28a9212
CW
258712010-06-04 Colin Watson <cjwatson@ubuntu.com>
25872
25873 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25874 "part_" to partmap module names, in line with grub-install.
25875 Reported by: Jindřich Makovička (Debian bug #584426).
25876
9cdfe32f
CW
258772010-06-04 Colin Watson <cjwatson@ubuntu.com>
25878
25879 * util/grub-mkimage.c: Make target-related error messages slightly
25880 more helpful; -O talks about "format". Explicitly point to the use
25881 of -O if no target is specified.
25882 Reported by: Didier Raboud (Debian bug #584415).
25883
795b593a
CW
258842010-06-03 Colin Watson <cjwatson@ubuntu.com>
25885
25886 * INSTALL: Document several build requirements for optional features
25887 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25888
9d9b5833
GS
258892010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25890
25891 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25892 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25893 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25894
0819fec8
CW
258952010-06-02 Colin Watson <cjwatson@ubuntu.com>
25896
25897 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25898 Thanks to Jordan Uggla for spotting this.
25899
49396b4f
VS
259002010-06-02 Aleš Nesrsta <starous@volny.cz>
25901
25902 Finally make USB usable.
25903
25904 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25905 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25906 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25907 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25908 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25909 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25910 (GRUB_OHCI_FSMPS): Likewise.
25911 (GRUB_OHCI_PERIODIC_START): Likewise.
25912 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25913 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25914 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25915 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25916 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25917 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25918 (grub_ohci_transaction): Likewise.
25919 (grub_ohci_transfer): Improve condition detection algorithms.
25920 Handle toggle property. Program the transactions correctly.
25921 Improve error handling. Various important fixups.
25922 (grub_ohci_portstatus): Put register writes in right order.
25923 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25924 (grub_uhci_transfer): Don't show "failed" message on success.
25925 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25926 array.
25927 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25928 determine its size.
25929 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25930 before initialization is completed. Use IN direction for empty
25931 transfers. Use last_trans and compute toggle.
25932 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25933 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25934 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25935 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25936 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25937 (grub_usb_device): Increase toggle to 256.
25938 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25939 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25940 GRUB_USBMS_SUBCLASS_SFF8070.
25941 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25942 (grub_scsi_inquiry): New member page and alloc_length.
25943 (grub_scsi_request_sense): New structure.
25944 (grub_scsi_request_sense_data): Likewise.
25945 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25946 control.
25947 * disk/scsi.c (grub_scsi_request_sense): New function.
25948 (grub_scsi_test_unit_ready): Likewise.
25949 (grub_scsi_inquiry): Fill new fields.
25950 (grub_scsi_read_capacity): Likewise.
25951 (grub_scsi_read10): Add request sense at the end.
25952 (grub_scsi_read12): Likewise.
25953 (grub_scsi_write10): Likewise.
25954 (grub_scsi_write12): Likewise.
25955 (grub_scsi_open): Add Test Unit Ready.
25956 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25957 Support additional subclasses. Con't clear halt yet. Activate the
25958 proper config. Calculate LUNs correctly.
25959 (grub_usbms_transfer): Various important fixups.
25960
259612010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25962
25963 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25964 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25965 (grub_ohci_fini_hw): New function.
25966 (grub_ohci_restore_hw): Likewise.
25967 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25968 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25969 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25970
259712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 Dedicated DMA allocations.
25974
25975 * bus/pci.c (grub_memalign_dma32): New function
25976 (grub_dma_free): Likewise.
25977 (grub_dma_get_virt): Likewise.
25978 (grub_dma_get_phys): Likewise.
25979 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25980 (grub_ohci_pci_iter): Use dma32_alloc.
25981 (grub_ohci_transfer): Likewise.
25982 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25983 (grub_usb_bulk_readwrite): Likewise.
25984 * include/grub/pci.h: Add declarations.
25985
259862010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25987
25988 CS5536 support.
25989
25990 * bus/cs5536.c: New file.
25991 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25992 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25993 (cs5536_mod_SOURCES): New variable.
25994 (cs5536_mod_CFLAGS): Likewise.
25995 (cs5536_mod_LDFLAGS): Likewise.
25996 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25997 machine/pci.h.
25998 (kernel_img_SOURCES): Add bus/cs5536.c.
25999 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26000 usb_keyboard.mod.
26001 (usb_mod_SOURCES): New variable.
26002 (usb_mod_CFLAGS): New variable.
26003 (usb_mod_LDFLAGS): New variable.
26004 (usbtest_mod_SOURCES): New variable.
26005 (usbtest_mod_CFLAGS): New variable.
26006 (usbtest_mod_LDFLAGS): New variable.
26007 (ohci_mod_SOURCES): New variable.
26008 (ohci_mod_CFLAGS): New variable.
26009 (ohci_mod_LDFLAGS): New variable.
26010 (usbms_mod_SOURCES): New variable.
26011 (usbms_mod_CFLAGS): New variable.
26012 (usbms_mod_LDFLAGS): New variable.
26013 (usb_keyboard_mod_SOURCES): New variable.
26014 (usb_keyboard_mod_CFLAGS): New variable.
26015 (usb_keyboard_mod_LDFLAGS): New variable.
26016 * include/grub/smbus.h: New file.
26017 * include/grub/cs5536.h: New file.
26018
0b35b2a9
CW
260192010-06-02 Colin Watson <cjwatson@ubuntu.com>
26020
26021 * util/grub.d/00_header.in: Add safety check to make sure that
26022 ${locale_dir} exists before trying to probe it.
26023
ca0afd5b
CW
260242010-06-02 Colin Watson <cjwatson@ubuntu.com>
26025
26026 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26027 per the GNU Coding Standards; this is now too obscure to be worth
26028 documenting.
26029 (QNX): Likewise.
26030 (chainloader): Remove cross-reference to `SCO UnixWare'.
26031
1c41aa78
CW
260322010-06-02 Colin Watson <cjwatson@ubuntu.com>
26033
26034 * docs/grub.texi (Chain-loading): New section.
26035 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26036 adjusted for GRUB 2.
26037 (SCO UnixWare): Likewise.
26038 (QNX): Likewise.
26039 (chainloader): Add reference to `Block list syntax'.
26040 (drivemap): New section.
26041 (parttool): New section.
26042
bb8ea0f5
CW
260432010-06-02 Colin Watson <cjwatson@ubuntu.com>
26044
26045 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26046 the grub shell'.
26047 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26048 (Installing GRUB using grub-install): Remove reference to the grub
26049 shell; mention `grub-mkimage' and `grub-setup' instead.
26050 (Invoking grub-install): Likewise.
26051 (Interface): Add reference to `Menu entry editor'.
26052 (serial): Remove `--device' option.
26053
288dd6ed
CW
260542010-06-02 Colin Watson <cjwatson@ubuntu.com>
26055
26056 * docs/grub.texi (Configuration): New section, documenting
26057 configuration file generation using grub-mkconfig. I've left a slot
26058 for documenting the full shell scripting format but have not yet
26059 started on writing that up.
26060 (Invoking grub-mkconfig): New section.
26061
34c9f0e9
CW
260622010-06-02 Colin Watson <cjwatson@ubuntu.com>
26063
26064 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26065 (GNU GRUB manual): Likewise.
26066 (General commands): Update description of `terminfo' for GRUB 2.
26067
9121567e
CW
260682010-06-02 Colin Watson <cjwatson@ubuntu.com>
26069
26070 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26071 (GRUB_MOD_INIT): Fix capitalisation.
26072 * docs/grub.texi (Command-line and menu entry commands): Document
26073 gettext and gptsync commands.
26074
ab631611
CW
260752010-06-02 Colin Watson <cjwatson@ubuntu.com>
26076
26077 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26078 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26079
bde4a9ac
CW
260802010-06-01 Colin Watson <cjwatson@ubuntu.com>
26081
26082 Add btrfs probing support, currently only in the single-device case.
26083
26084 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26085 function.
26086 (grub_guess_root_device): Call find_root_device_from_mountinfo
26087 before looking in /dev.
26088
b1d17e10
VS
260892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26090
26091 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26092 GRUB_DISK_SIZE_UNKNOWN.
26093 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26094
dfbfe004
JS
260952010-05-31 Jiro SEKIBA <jir@unicus.jp>
26096
26097 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26098 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26099 corrupted or not synced properly.
26100
c2ffc8e9
VS
261012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26102
26103 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26104 Reported by: Seth Goldberg.
26105
56293166
VS
261062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26107
26108 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26109 addition of dest.
26110 Reported by: Seth Goldberg.
26111
7620e7de
VS
261122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26113
26114 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26115 Reported by: Seth Goldberg.
26116
c837af3f
VS
261172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26118
26119 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26120 64-bit address as signed on MIPS.
26121
c7c75cf4
CW
261222010-05-28 Colin Watson <cjwatson@ubuntu.com>
26123
26124 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26125 to the empty string.
26126
fa4b8490
BC
261272010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26128
26129 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26130
26131 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26132 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26133 * kern/misc.c (__enable_execute_stack): Disable on
26134 GRUB_MACHINE_EMU.
26135
a33075b9
CW
261362010-05-28 Colin Watson <cjwatson@ubuntu.com>
26137
26138 Make grub-probe work with symbolic links under /dev/mapper as well
26139 as with real block devices. The Linux world seems to be (at best)
26140 in transition here, and GRUB shouldn't get caught in the middle.
26141
26142 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26143 /dev/mapper.
26144
d8708134
CW
261452010-05-27 Colin Watson <cjwatson@ubuntu.com>
26146
26147 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26148 input files (in which case exit zero).
26149
db2102a0
CW
261502010-05-27 Colin Watson <cjwatson@ubuntu.com>
26151
26152 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26153 return NULL for various reasons even if it has a maximum-length
26154 buffer: for example, there might be a symlink loop, or the path
26155 might exceed PATH_MAX. If this happens, return NULL.
26156
5fdba519
RM
261572010-05-27 Robert Millan <rmh@gnu.org>
26158
26159 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26160 partmap module to handle cross-partmap setups.
26161 Reported by Orestes Mas. Gràcies!
26162
d1d368e4
CW
261632010-05-27 Colin Watson <cjwatson@ubuntu.com>
26164
26165 * util/grub-mkrescue.in: Initialise override_dir rather than
26166 assuming that it's unset or empty in the environment.
26167
95ac3c73
GS
261682010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26169
26170 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26171 variable index into p_index to suppress a warning with -Wshadow.
26172
7d8c0213
BC
261732010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26174
26175 * INSTALL: Added flex >= 2.5.35 requirement.
26176
db4d5813
VS
261772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26178
26179 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26180
f24f4300
VS
261812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 cmostest support.
26184
26185 * commands/i386/cmostest.c: New file.
26186 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26187 (cmostest_mod_SOURCES): New variable.
26188 (cmostest_mod_CFLAGS): Likewise.
26189 (cmostest_mod_LDFLAGS): Likewise.
26190 * conf/i386-pc.rmk: Likewise.
26191 * docs/grub.texi (Vendor power-on keys): New section.
26192 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26193 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26194 and GRUB_BUTTON_CMOS_ADDRESS.
26195 * util/grub.d/00_header.in: Handle powering-on by separate button.
26196
ad603f61
VS
261972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26200 Removed drawing_scrollbar argument. All users updated
26201 Fixes #29792.
26202 Reported by Jo Shields
26203
3ecb080a
VS
262042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26207 buffer since gfxterm handles double repaint.
26208
5f2316c1
VS
262092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26210
26211 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26212 * term/gfxterm.c (real_scroll): Likewise.
26213
9a25f885
VS
262142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26215
26216 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26217 before calling BIOS.
26218
39fbb79a
VS
262192010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26220
26221 * include/grub/i18n.h: Always enable grub_gettext.
26222
228cfa97
VS
262232010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26226 partition naming style.
26227
21717c8f
CW
262282010-05-21 Colin Watson <cjwatson@ubuntu.com>
26229
26230 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26231 not the first option.
26232
c0f48e65
CW
262332010-05-20 Colin Watson <cjwatson@ubuntu.com>
26234
26235 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26236
96779aec
CW
262372010-05-20 Colin Watson <cjwatson@ubuntu.com>
26238
26239 * util/misc.c: Move inclusion of <limits.h> to ...
26240 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26241
fa9d256e
GS
262422010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26243
26244 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26245 Fix merge error in NetBSD code.
26246 (find_partition_start) [__NetBSD__]: Likewise.
26247
123b7a85
BC
262482010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26249
26250 Fix grub-mkrescue usage unit testing.
26251
26252 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26253
74276c0d
CF
262542010-05-18 Christian Franke <franke@computer.org>
26255
26256 * util/grub.d/10_windows.in: Use path names instead of
26257 drive letters to prevent warning from Cygwin 1.7.
26258 Add drivemap command to menuentry if needed.
26259
c4f7b523
ST
262602010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26261
26262 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26263 gnumach and gnumach.gz.
26264
95b97950
VS
262652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * include/grub/i18n.h (gettext): Inline instead of using #define.
26268 (grub_gettext): Likewise.
26269 (_): Likewise.
26270
01b8d2d7
VS
262712010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26272
26273 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26274 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26275 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26276 (main): Add a slash after pkglibdirroot.
26277
654e1d1e
VS
262782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26279
26280 * util/grub-install.in: Add missing "in" keyword.
26281
26966aeb
VS
262822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26283
26284 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26285 Reported by: Seth Goldberg.
26286
75006747
VS
262872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26288
26289 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26290
74cbf5bd
CW
262912010-05-18 Colin Watson <cjwatson@ubuntu.com>
26292
26293 * configure.ac: Check for Linux device-mapper support.
26294
26295 * util/hostdisk.c (device_is_mapped): New function.
26296 (find_partition_start): New function, partly broken out from
26297 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26298 device-mapper support added.
26299 (linux_find_partition): Use find_partition_start.
26300 (convert_system_partition_to_system_disk): Add `st' argument.
26301 Support Linux /dev/mapper/* devices if device-mapper support is
26302 available; only DM-RAID devices are understood at present.
26303 (find_system_device): Add `st' argument. Pass it to
26304 convert_system_partition_to_system_disk.
26305 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26306 find_system_device and convert_system_partition_to_system_disk. Use
26307 find_partition_start.
26308
26309 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26310 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26311 * util/deviceiter.c [__linux__]: Define MINOR.
26312 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26313 * util/mkdevicemap.c (grub_putchar): New function.
26314 (grub_getkey): New function.
26315 (grub_refresh): New function.
26316 (main): Set debug=all if -v -v is used.
26317
355b51e9
CW
263182010-05-18 Colin Watson <cjwatson@ubuntu.com>
26319
26320 Fix build with non-GNU libcs.
26321
26322 * util/misc.c (canonicalize_file_name): Move to ...
26323 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26324 grub_make_system_path_relative_to_its_root.
26325
7fb5c25f
CW
263262010-05-18 Colin Watson <cjwatson@ubuntu.com>
26327
26328 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26329 we handle finding grub-mkimage. Default to finding grub-mkimage in
26330 ${bindir} with program_transform_name applied, and provide a
26331 --grub-mkimage option to override this.
26332
1d3293d6
VS
263332010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 Remove grub-mkisofs.
26336
26337 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26338 (grub_mkisofs_SOURCES): Removed.
26339 (grub_mkisofs_CFLAGS): Removed.
26340 * util/mkisofs/defaults.h: Removed.
26341 * util/mkisofs/eltorito.c: Likewise.
26342 * util/mkisofs/exclude.h: Likewise.
26343 * util/mkisofs/hash.c: Likewise.
26344 * util/mkisofs/include/: Likewise.
26345 * util/mkisofs/include/fctldefs.h: Likewise.
26346 * util/mkisofs/include/mconfig.h: Likewise.
26347 * util/mkisofs/include/prototyp.h: Likewise.
26348 * util/mkisofs/include/statdefs.h: Likewise.
26349 * util/mkisofs/iso9660.h: Likewise.
26350 * util/mkisofs/joliet.c: Likewise.
26351 * util/mkisofs/match.c: Likewise.
26352 * util/mkisofs/match.h: Likewise.
26353 * util/mkisofs/mkisofs.c: Likewise.
26354 * util/mkisofs/mkisofs.h: Likewise.
26355 * util/mkisofs/msdos_partition.h: Likewise.
26356 * util/mkisofs/multi.c: Likewise.
26357 * util/mkisofs/name.c: Likewise.
26358 * util/mkisofs/rock.c: Likewise.
26359 * util/mkisofs/tree.c: Likewise.
26360 * util/mkisofs/write.c: Likewise.
26361
5dde9afe
VS
263622010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 Unify grub-mkimage accross platforms.
26365
26366 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26367 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26368 (grub_mkelfimage_SOURCES): Removed.
26369 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26370 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26371 (bin_UTILITIES): Add grub-mkimage.
26372 (grub_mkimage_SOURCES): New variable.
26373 (kernel_img_HEADERS): Remove machine/kernel.h.
26374 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26375 (pkglib_PROGRAMS): Add kernel.img.
26376 (kernel_img_HEADERS): Add machine/kernel.h.
26377 (kernel_img_FORMAT): Removed.
26378 (bin_UTILITIES): Remove grub-mkimage.
26379 (grub_mkimage_SOURCES): Removed.
26380 (grub_mkimage_CFLAGS): Likewise.
26381 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26382 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26383 (pkglib_PROGRAMS): Add kernel.img.
26384 (bin_UTILITIES): Remove grub-mkimage.
26385 (grub_mkimage_SOURCES): Removed.
26386 (grub_mkimage_CFLAGS): Likewise.
26387 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26388 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26389 (pkglib_PROGRAMS): Add kernel.img.
26390 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26391 (pkglib_PROGRAMS): Add kernel.img.
26392 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26393 (grub_mkimage_SOURCES): Removed.
26394 (grub_mkimage_CFLAGS): Likewise.
26395 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26396 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26397 (pkglib_PROGRAMS): Add kernel.img.
26398 (bin_UTILITIES): Remove grub-mkimage.
26399 (grub_mkimage_SOURCES): Removed.
26400 (grub_mkimage_CFLAGS): Likewise.
26401 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26402 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26403 (grub_mkimage_SOURCES): Removed.
26404 (grub_mkimage_CFLAGS): Likewise.
26405 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26406 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26407 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26408 (grub_pe32_optional_header): ... this.
26409 (grub_pe64_optional_header): ... and this. All users updated.
26410 (GRUB_PE32_PE32_MAGIC): Split into ..
26411 (GRUB_PE32_PE32_MAGIC): .. this.
26412 (GRUB_PE32_PE64_MAGIC): .. and this.
26413 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26414 * include/grub/elf.h (PT_GNU_STACK): New definition.
26415 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26416 * include/grub/i386/efi/kernel.h: Likewise.
26417 * include/grub/i386/kernel.h: Likewise.
26418 * include/grub/i386/pc/kernel.h: Likewise.
26419 * include/grub/i386/qemu/boot.h: Likewise.
26420 * include/grub/mips/kernel.h: Likewise.
26421 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26422 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26423 * include/grub/powerpc/kernel.h: Likewise.
26424 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26425 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26426 * include/grub/sparc64/kernel.h: Likewise.
26427 * include/grub/x86_64/efi/kernel.h: Likewise.
26428 * include/grub/x86_64/kernel.h: Likewise.
26429 * include/grub/offsets.h: New file.
26430 * include/grub/kernel.h (grub_module_info): Split into ...
26431 (grub_module_info32): ... this.
26432 (grub_module_info64): ... and this.
26433 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26434 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26435 (grub_boot_blocklist): Moved from here ...
26436 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26437 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26438 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26439 * include/grub/types.h (grub_target_to_host16): Removed.
26440 (grub_target_to_host32): Likewise.
26441 (grub_target_to_host64): Likewise.
26442 (grub_host_to_target16): Likewise.
26443 (grub_host_to_target32): Likewise.
26444 (grub_host_to_target64): Likewise.
26445 (grub_host_to_target_addr): Likewise.
26446
26447 Support grub-mkrescue for efi, coreboot and qemu.
26448
26449 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26450 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26451 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26452 * util/grub-mkrawimage.c: Moved from here ...
26453 * util/grub-mkimage.c: ... here. All users updated.
26454 (ALIGN_ADDR): Use image_target.
26455 (TARGET_NO_FIELD): New const.
26456 (image_target_desc): New type.
26457 (image_targets): New array.
26458 (grub_target_to_host64): Use image_target.
26459 (grub_target_to_host32): Likewise.
26460 (grub_target_to_host16): Likewise.
26461 (grub_host_to_target64): Likewise.
26462 (grub_host_to_target32): Likewise.
26463 (grub_host_to_target16): Likewise.
26464 (grub_host_to_target_addr): Likewise.
26465 (generate_image): Handle multiimage.
26466 (main): Require -O parameter. All users updated.
26467 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26468 util/efi/grub-mkimage.c
26469 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26470 New option --rom-directory.
26471 Use xorriso.
26472 * util/i386/efi/grub-mkimage.c: Removed.
26473 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26474 (grub_target_to_host32): Likewise.
26475 (grub_target_to_host64): Likewise.
26476 (grub_host_to_target16): Likewise.
26477 (grub_host_to_target32): Likewise.
26478 (grub_host_to_target64): Likewise.
26479 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26480 (grub_target_to_host32): Likewise.
26481 (grub_target_to_host64): Likewise.
26482 (grub_host_to_target16): Likewise.
26483 (grub_host_to_target32): Likewise.
26484 (grub_host_to_target64): Likewise.
26485
f4fc97d0
BC
264862010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26487
26488 Source tree is reorganized for emu build.
26489
26490 * include/grub/util/console.h: Move from here...
26491 * include/grub/emu/console.h: ...to here.
26492 * include/grub/util/getroot.h: Move from here...
26493 * include/grub/emu/getroot.h: ...to here.
26494 * include/grub/util/hostdisk.h: Move from here...
26495 * include/grub/emu/hostdisk.h: ...to here.
26496 * util/console.c: Move from here...
26497 * kern/emu/console.c: ...to here.
26498 * util/getroot.c: Move from here...
26499 * kern/emu/getroot.c: ...to here.
26500 * util/grub-emu.c: Move from here...
26501 * kern/emu/main.c: ...to here.
26502 * util/hostdisk.c: Move from here...
26503 * kern/emu/hostdisk.c: ...to here.
26504 * util/hostfs.c: Move from here...
26505 * kern/emu/hostfs.c: ...to here.
26506 * util/mm.c: Move from here...
26507 * kern/emu/mm.c: ...to here.
26508 * util/pci.c: Move from here...
26509 * bus/emu/pci.c: ...to here.
26510 * util/sdl.c: Move from here...
26511 * video/emu/sdl.c: ...to here.
26512 * util/time.c: Move from here...
26513 * kern/emu/time.c: ...to here.
26514 * util/usb.c: Move from here...
26515 * bus/usb/emu/usb.c: ...to here.
26516
26517 * include/grub/emu/misc.h: New header for grub-emu functions.
26518 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26519
26520 * conf/any-emu.rmk: Rule updates for above renames.
26521 * conf/common.rmk: Likewise.
26522 * conf/i386-pc.rmk: Likewise.
26523 * conf/i386-qemu.rmk: Likewise.
26524 * conf/mips.rmk: Likewise.
26525 * conf/sparc64-ieee1275.rmk: Likewise.
26526 * conf/x86-efi.rmk: Likewise.
26527
26528 * disk/lvm.h: #include updates for above renames.
26529 * util/grub-mkrelpath.c: Likewise.
26530 * util/grub-probe.c: Likewise.
26531 * util/i386/pc/grub-setup.c: Likewise.
26532 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26533 * kern/emu/console.c: Likewise.
26534 * kern/emu/getroot.c: Likewise.
26535 * kern/emu/hostdisk.c: Likewise.
26536 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26537
26538 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26539 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26540 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26541 * util/misc.c: Remove grub-emu functions.
26542
cced9145
VS
265432010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 Fix gfxmenu crash.
26546 Reported by: Thorsten Grützmacher.
26547
26548 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26549 timeout hook.
26550 (circprog_set_property): Register and unregister timeout hook.
26551 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26552 (label_destroy): Free template. and unregister hook.
26553 (label_set_state): New function.
26554 (label_set_property): Handle templates and hooks.
26555 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26556 timeout hook.
26557 (progress_bar_set_property): Register and unregister timeout hook.
26558 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26559 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26560 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26561 (update_timeout_visit): Removed.
26562 (update_timeouts): New function.
26563 (redraw_timeouts): Likewise.
26564 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26565 (grub_gfxmenu_clear_timeout): Likewise.
26566 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26567 (grub_gfxmenu_timeout_notify): Likewise.
26568 (grub_gfxmenu_timeout_notifications): New external variable.
26569 (grub_gfxmenu_timeout_register): New function.
26570 (grub_gfxmenu_timeout_unregister): Likewise.
26571
c6e5caab
VS
265722010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26573
26574 Transform (broken) vga terminal into (working) vga video driver.
26575
26576 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26577 video/i386/pc/vga.c.
26578 * include/grub/video.h (grub_video_driver_id):
26579 Add GRUB_VIDEO_DRIVER_VGA.
26580 * term/i386/pc/vga.c: Renamed to ...
26581 * video/i386/pc/vga.c: ...this
26582 (DEBUG_VGA): Removed.
26583 (CHAR_WIDTH): Likewise.
26584 (CHAR_HEIGHT): Likewise.
26585 (TEXT_WIDTH): Likewise.
26586 (TEXT_HEIGHT): Likewise.
26587 (DEFAULT_FG_COLOR): Likewise.
26588 (DEFAULT_BG_COLOR): Likewise.
26589 (colored_char): Likewise.
26590 (xpos): Likewise.
26591 (ypos): Likewise.
26592 (cursor_state): Likewise.
26593 (fg_color): Likewise.
26594 (bg_color): Likewise.
26595 (text_buf): Likewise.
26596 (page): Likewise.
26597 (font): Likewise.
26598 (framebuffer): New variable.
26599 (set_read_map): Disabled.
26600 (setup): New variable.
26601 (is_target): Likewise.
26602 (grub_vga_mod_init): Likewise.
26603 (grub_vga_mod_fini): Likewise.
26604 (check_vga_mem): Likewise.
26605 (write_char): Likewise.
26606 (write_cursor): Likewise.
26607 (scroll_up): Likewise.
26608 (grub_vga_putchar): Likewise.
26609 (grub_vga_getcharwidth): Likewise.
26610 (grub_vga_getwh): Likewise.
26611 (grub_vga_getxy): Likewise.
26612 (grub_vga_gotoxy): Likewise.
26613 (grub_vga_cls): Likewise.
26614 (grub_vga_setcolorstate): Likewise.
26615 (grub_vga_setcursor): Likewise.
26616 (grub_video_vga_init): New function.
26617 (grub_video_vga_setup): Likewise.
26618 (grub_video_vga_fini): Likewise.
26619 (update_target): Likewise.
26620 (grub_video_vga_blit_bitmap): Likewise.
26621 (grub_video_vga_blit_render_target): Likewise.
26622 (grub_video_vga_set_active_render_target): Likewise.
26623 (grub_video_vga_get_active_render_target): Likewise.
26624 (grub_video_vga_swap_buffers): Likewise.
26625 (grub_video_vga_set_palette): Likewise.
26626 (grub_video_vga_get_info_and_fini): Likewise.
26627 (grub_vga_term): Removed.
26628 (grub_video_vga_adapter): New variable.
26629 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26630 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26631
2bf61a98
VS
266322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26633
26634 * video/readers/jpeg.c: Indented.
26635
09ddcd11
VS
266362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26637
26638 Various jpeg cleanups.
26639
26640 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26641 (grub_jpeg_decode_quan_table): Use sizeof.
26642 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26643
e5507505
PH
266442010-05-05 Peter Hurley <No e-mail available> (tiny change)
26645
26646 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26647 tables. Ignore non-last ac bit.
26648 (grub_jpeg_decode_quan_table): Likewise.
26649
7e720a9b
VS
266502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26651
26652 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26653 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26654 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26655 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26656 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26657 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26658
a7fc080b
VS
266592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26660
26661 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26662 error.
26663
2bf6012d
VS
266642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26665
26666 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26667
265d68cd
VS
266682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26671 condition.
26672
266732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26674
26675 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26676 part.
26677
265d68cd 266782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26679
26680 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26681 pointers.
26682
265d68cd 266832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26684
26685 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26686
d1b61374
CF
266872010-05-01 Christian Franke <franke@computer.org>
26688
26689 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26690 Remove broken Cygwin path conversion.
26691 * util/misc.c: [__CYGWIN__] Add include and define.
26692 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26693 for Cygwin 1.7.
26694 (make_system_path_relative_to_its_root): Simplify loop, replace early
26695 return by break.
26696 [__CYGWIN__] Add conversion to win32 path.
26697 Include "/" case in trailing slash removal.
26698
3558c6e9
VS
266992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26700
26701 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26702 Reported by: Seth Goldberg
26703
f5f3ff93
VS
267042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 * commands/help.c (grub_cmd_help): Fix a typo.
26707 Reported by: Seth Goldberg
26708
d8b5cd40
VS
267092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26710
26711 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26712 name and add N_.
26713 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26714 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26715 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26716 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26717 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26718 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26719 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26720 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26721 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26722 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26723 * normal/context.c (GRUB_MOD_INIT): Likewise.
26724 * normal/main.c (GRUB_MOD_INIT): Likewise.
26725 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26726 * term/serial.c (GRUB_MOD_INIT): Likewise.
26727 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26728
88c14915
VS
267292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26732 extra == 0.
26733
165134bc
VS
267342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26735
26736 * commands/iorw.c: New file.
26737 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26738 (iorw_mod_SOURCES): New variable.
26739 (iorw_mod_CFLAGS): Likewise.
26740 (iorw_mod_LDFLAGS): Likewise.
26741
c5ac9b32
VS
267422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 Hotkey support
26745
26746 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26747 * normal/main.c (hotkey_aliases): New variable.
26748 (grub_normal_add_menu_entry): Parse "--hotkey".
26749 * normal/menu_text.c (run_menu): Handle hotkeys.
26750
ce60689c
VS
267512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 * kern/i386/coreboot/init.c (grub_machine_init): Call
26754 grub_machine_mmap_init on qemu.
26755
0359d006
VS
267562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26757
26758 * boot/i386/qemu/boot.S: Add a missing .code16.
26759
7819a456
VS
267602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 Use LBIO on coreboot.
26763
26764 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26765 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26766 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26767 New declaration.
26768 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26769 grub_machine_mmap_init on coreboot.
26770 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26771 GRUB_LINUXBIOS_MEMBER_LINK.
26772 (grub_machine_mmap_iterate): Fix declaration.
26773 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26774
7210dca9
VS
267752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26776
26777 Split coreboot and multiboot ports.
26778
26779 * conf/i386-multiboot.rmk: New file.
26780 * configure.ac: Add multiboot port.
26781 * include/grub/i386/multiboot/boot.h: New file.
26782 * include/grub/i386/multiboot/console.h: Likewise.
26783 * include/grub/i386/multiboot/init.h: Likewise.
26784 * include/grub/i386/multiboot/kernel.h: Likewise.
26785 * include/grub/i386/multiboot/loader.h: Likewise.
26786 * include/grub/i386/multiboot/memory.h: Likewise.
26787 * include/grub/i386/multiboot/serial.h: Likewise.
26788 * include/grub/i386/multiboot/time.h: Likewise.
26789 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26790 * loader/multiboot.c: Likewise.
26791 * loader/multiboot_mbi2.c: Likewise.
26792 * util/grub-mkrescue.in: Generate multiboot rescue.
26793
6f8aaf68
VS
267942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26795
3080f7a7
VS
26796 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26797
267982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26801
26802 * commands/terminal.c (abstract_terminal): New struct.
26803 (handle_command): New function. Based on grub_cmd_terminal_input.
26804 (grub_cmd_terminal_input): Use handle_command.
26805 (grub_cmd_terminal_output): Use handle_command.
26806
a8ebb841
BC
268072010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26808
26809 Fix comment handling.
26810
26811 * tests/grub_script_comments.in: New testcase.
26812 * conf/tests.rmk: Rules for new testcase.
26813 * script/yylex.l: Updated flex rules.
26814
bb06ba08
ST
268152010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26816
26817 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26818 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26819 if argc is 1.
bb06ba08 26820
cc9d2425
VS
268212010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26822
26823 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26824 autogen issues.
26825
460d8402
CF
268262010-04-26 Christian Franke <franke@computer.org>
26827
26828 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26829 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26830 (grub_get_prefix): Remove function.
26831 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26832 make_system_path_relative_to_its_root ().
26833 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26834
553c01f9
CF
268352010-04-24 Christian Franke <franke@computer.org>
26836
26837 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26838 (kernel_img_LDFLAGS): Remove -static-libgcc.
26839
2aec1692
CF
268402010-04-24 Christian Franke <franke@computer.org>
26841
26842 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26843 and CHECK_END_SYMBOL if grub-emu is built.
26844 Unset TARGET_OBJ2ELF if grub-emu is built
26845 without module support.
26846
f67dc308
JS
268472010-04-24 Jiro SEKIBA <jir@unicus.jp>
26848
26849 Nilfs2 support.
26850
26851 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26852 (grub_fstest_SOURCES): Likewise.
26853 (pkglib_MODULES): Add nilfs2.mod.
26854 (nilfs2_mod_SOURCES): New variable.
26855 (nilfs2_mod_CFLAGS): Likewise.
26856 (nilfs2_mod_LDFLAGS): Likewise.
26857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26858 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26859 * fs/nilfs2.c: New file.
26860
4ba8d354
VS
268612010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26864 is not supported.
26865
0d2c20c6
GS
268662010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26867
26868 Add grub-mkconfig support for NetBSD.
26869
26870 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26871 * util/grub-mkconfig.in: export new NetBSD specific variables.
26872 * po/POTFILES-shell: added 10_netbsd.in.
26873 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26874
bc4a2d83
BC
268752010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26876
26877 Fix emu build with grub-emu-pci and grub-emu-modules.
26878
26879 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26880 functions.
26881 * include/grub/libpciaccess.h: New file.
26882 * conf/any-emu.rmk: Update kernel headers for emu build.
26883
f48c87aa
VS
268842010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26885
26886 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26887
18959385
VS
268882010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26889
26890 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26891
0037de3f
VS
268922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26895 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26896 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26897 util/ieee1275/ofpath.c.
26898 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26899 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26900 * include/grub/sparc64/ieee1275/boot.h
26901 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26902 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26903 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26904 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26905 const char *.
26906 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26907 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26908 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26909 install.
26910
38e55e90
GS
269112010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26912
26913 * util/grub-mkconfig.in: Corrected two == equality tests.
26914 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26915 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26916 expect a number appended to it.
26917 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26918 expects a number appended to it.
26919
a9e6ff28
VS
269202010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26921
26922 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26923
0b830b8f
VS
269242010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26925
26926 * util/hostdisk.c (make_device_name): Change to new partition naming.
26927
0973daeb
VS
269282010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26931
460d8402 269322010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26933
26934 * Makefile.in: Add missing localedir setting.
26935
0b456309
CW
269362010-04-14 Colin Watson <cjwatson@ubuntu.com>
26937
26938 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26939 mistake in r2156. Noticed by Anthony Fok.
26940
26941 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26942 @localedir@.
26943 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26944
08f46d62
BC
269452010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26946
26947 Fix a spurious, uninitialized variable warning.
26948
26949 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26950 Initialize variable, shdr.
26951 (grub_freebsd_load_elfmodule): Likewise.
26952 (grub_freebsd_load_elf_meta): Likewise.
26953
8c4a72d4
BC
269542010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26955
26956 Fix for escaped dollar in double quoted strings.
26957
26958 * script/yylex.l: Updated flex rules.
26959 * conf/tests.rmk: Rule for new testcase.
26960 * tests/grub_script_dollar.in: New testcase.
26961
ce44826e
CPE
269622010-04-13 Carles Pina i Estany <carles@pina.cat>
269632010-04-13 Colin Watson <cjwatson@ubuntu.com>
26964
26965 Enclose all translated strings in grub.cfg in single quotes, and
26966 escape them appropriately (Ubuntu bug #552921).
26967
26968 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26969 * util/grub.d/10_hurd.in: Use it.
26970 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26971 * util/grub.d/10_linux.in (linux_entry): Likewise.
26972
4b0cd8f8
VS
269732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26974
26975 Fix cygwin compilation.
26976
26977 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26978 * include/grub/misc.h (__register_frame_info)
26979 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26980 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26981 * kern/misc.c (__register_frame_info)
26982 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26983 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26984
01fcf061
VS
269852010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26988
5d04b11e
VS
269892010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 Unify libgcc processing.
26992
26993 * Makefile.in (kernel_img_LDFLAGS): New variable.
26994 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26995 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26996 overwriting.
26997 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26998 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26999 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27000 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27001 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27002 overwriting. Remove -lgcc and -static-libgcc
27003 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27004 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27005 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27006 (kernel_img_LDFLAGS): Append instead of overwriting.
27007 Remove -lgcc and -static-libgcc
27008 * conf/sparc64-ieee1275.rmk: Likewise.
27009 * include/grub/powerpc/libgcc.h: Move to ...
27010 * include/grub/libgcc.h: .. this.
27011 * include/grub/libgcc.h: Don't export most of the function on x86.
27012 (__bswapsi2): New export.
27013 (__bswapdi2): Likewise.
27014 * include/grub/mips/libgcc.h: Removed.
27015 * include/grub/sparc64/libgcc.h: Likewise.
27016
b7f3ac29
VS
270172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27018
27019 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27020 disk_info_msg (conflicts with gettexting into languages with cases).
27021
2c7031b1
GS
270222010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27023
27024 Add grub-probe support for NetBSD.
27025
27026 * util/getroot.c (find_root_device): Convert block device to
27027 character device on NetBSD.
27028 * util/probe.c (probe): Require character device on NetBSD.
27029 * util/hostdisk.c: NetBSD specific headers.
27030 (configure_device_driver): new function to tune device driver
27031 parameters (currently only for NetBSD floppy driver).
27032 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27033 via disklabel ioctl).
27034 (open_device): call configure_device_driver on NetBSD.
27035 (convert_system_partition_to_system_disk): NetBSD specific code.
27036 (device_is_wholedisk): Likewise.
27037 (grub_util_biosdisk_get_grub_dev): Likewise.
27038 (make_device_name): Fixed a typo in bsd_part_str.
27039 * configure.ac: check for opendisk() and getrawpartition() on
27040 NetBSD and set LIBUTIL.
27041 * Makefile.in: add LIBUTIL to LIBS.
27042
f516290c
BC
270432010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27044
27045 Documentation fix.
27046
27047 * util/grub-script-check.c: Better help message.
27048
d8dcc0df
BC
270492010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27050
27051 Fix FreeBSD build.
27052
27053 * configure.ac: Flex version check.
27054 * conf/common.rmk: Add -Wno-error to sh.mod.
27055 * script/yylex.l: Remove all #pragma.
27056
6734334a
VS
270572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27058
27059 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27060 prototype.
27061 Reported by: Seth Goldberg.
27062
daea6abd
VS
270632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27064
27065 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27066 Rename "module" to "module2".
27067 Reported by: Seth Goldberg.
27068
f2fd9d2b
VS
270692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27072 EXPORT_FUNC.
27073 Reported by: Seth Goldberg.
27074
be124579
VS
270752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27076
27077 * lib/posix_wrap/locale.h: Add missing file.
27078 Reported by: Seth Goldberg.
27079
ef5da797
VS
270802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27081
27082 grub-emu module load support.
27083
27084 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27085 NO_DYNAMIC_MODULES switched to this.
27086 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27087 (CFLAGS): Likewise.
27088 * conf/any-emu.rmk: Generate symlist.
27089 (kernel_img_HEADERS): Add util/datetime.h.
27090 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27091 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27092 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27093 kern/$(target_cpu)/cache.S.
27094 * configure.ac (grub-emu-modules): New option.
27095 * genmk.rb: Handle multiple source lists.
27096 * include/grub/sdl.h: New file.
27097 * include/grub/libusb.h: Likewise.
27098 * util/grub-emu.c (main): Hanle (host) root.
27099 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27100 GRUB_ERR_UNKNOWN_DEVICE.
27101 * util/misc.c: Move mm functions to ...
27102 * util/mm.c: ... here. All users updated.
27103
47822096
VS
271042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27107 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27108 missing files.
27109 (maintainer-clean): Remove libgcrypt-grub.
27110
5d7e7445
VS
271112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27112
27113 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27114
25f4e252
EC
271152010-04-09 EFI Coder <eficoder@hotmail.com>
27116
27117 * normal/menu_text.c (print_message): Clean up the message and show
27118 the Fn information when on EFI
27119 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27120
027de555
VS
271212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27124 All users updated.
27125 * normal/crypto.c (read_crypto_list): Likewise.
27126 * normal/dyncmd.c (read_command_list): Likewise.
27127 * normal/term.c (read_terminal_list): Likewise.
27128 * normal/main.c (read_lists): Use explicit prefix.
27129 (read_lists_hook): Use read_lists.
27130 (grub_normal_execute): Likewise.
27131
47779711
VS
271322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27133
27134 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27135 Reported by: Thomas Schmitt.
27136 Add -no-emul-boot to grub-mkisofs parameters.
27137
1118c32e
VS
271382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27139
27140 * font/font.c: Indented.
27141
7d652447
BC
271422010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27143
27144 Elif support to GRUB script (by Deepak Vankadaru).
27145
27146 * tests/grub_script_if.in: New testcase.
27147 * conf/tests.rmk: Rule for new testcase.
27148 * script/parser.y: Grammar rules for elif.
27149
34bb22df
BC
271502010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27151
27152 While and until loops support to GRUB script.
27153
27154 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27155 (grub_script_create_cmdwhile): New function prototype.
27156 (grub_script_execute_cmdwhile): New function prototype.
27157 * script/execute.c (grub_script_execute_cmdwhile): New function.
27158 * script/parser.y (command): New commands.
27159 (whilecmd): New grammar rule.
27160 (untilcmd): New grammar rule.
27161 * script/script.c (grub_script_create_cmdwhile): New function.
27162 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27163 function.
27164
27165 * tests/grub_script_while1.in: New testcase.
27166 * conf/tests.rmk: Rule for new testcase.
27167
e215d8e0
VS
271682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27169
27170 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27171 as *.jpg.
27172
d7c43ba1
MV
271732010-04-09 Mario Vazquez <mariovazq@gmail.com>
27174
27175 GRUB_BACKGROUND support.
27176
27177 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27178 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27179
d64795c0
VS
271802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27183 Idea by: Mario Vazquez
d64795c0
VS
27184
27185 * util/grub.d/00_header.in: Load pf2 and image modules.
27186
f267f83a
VS
271872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 grub-mkconfig multiple terminal support.
27190
27191 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27192 * util/grub.d/00_header.in: Likewise.
27193
b7841ceb
VS
271942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27197 we use cd $(srcdir).
27198
df60998c
CW
271992010-04-08 Colin Watson <cjwatson@ubuntu.com>
27200
27201 * util/grub.d/10_linux.in: Only use the first word of
27202 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27203 spaces in GRUB_DISTRIBUTOR.
27204 * util/grub.d/10_kfreebsd.in: Likewise.
27205 * util/grub.d/10_hurd.in: Likewise.
27206
fa09c82e
BC
272072010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27208
14e18ae3 27209 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27210
27211 * tests/util/grub-shell.in: Remove -serial stdio option.
27212
daf892b3
BC
272132010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 POSIX header file wrappers.
27216
27217 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27218 equivalents.
27219 * lib/posix_wrap/ctype.h: Likewise.
27220 * lib/posix_wrap/errno.h: Likewise.
27221 * lib/posix_wrap/langinfo.h: Likewise.
27222 * lib/posix_wrap/limits.h: Likewise.
27223 * lib/posix_wrap/localcharset.h: Likewise.
27224 * lib/posix_wrap/stdint.h: Likewise.
27225 * lib/posix_wrap/stdio.h: Likewise.
27226 * lib/posix_wrap/stdlib.h: Likewise.
27227 * lib/posix_wrap/string.h: Likewise.
27228 * lib/posix_wrap/sys/types.h: Likewise.
27229 * lib/posix_wrap/unistd.h: Likewise.
27230 * lib/posix_wrap/wchar.h: Likewise.
27231 * lib/posix_wrap/wctype.h: Likewise.
27232 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27233 (grub_script.yy.h): Likewise.
27234 * script/yylex.l: Remove POSIX emulation #defines.
27235 * Makefile.in (POSIX_CFLAGS): New variable.
27236 (GNULIB_UTIL_CFLAGS): Likewise.
27237
27238 Regexp support.
27239
27240 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27241 (regexp_mod_SOURCES): New variable.
27242 (regexp_mod_CFLAGS): Likewise.
27243 (regexp_mod_LDFLAGS): Likewise.
27244 * commands/regexp.c: New file.
27245 * gnulib/regcomp.c: New file. Imported from gnulib.
27246 * gnulib/regex.c: Likewise.
27247 * gnulib/regex_internal.c: Likewise.
27248 * gnulib/regex_internal.h: Likewise.
27249 * gnulib/regexec.c: Likewise.
27250 * gnulib/regex.h: Likewise.
27251
974ac4f7
VS
272522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27253
27254 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27255 unsupported video mode types.
27256
2622c3ff
VS
272572010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27258
27259 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27260
064cb524
VS
272612010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27264 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27265
a8c3b552
VS
272662010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 Remove unused grub_vga_get_font.
27269
27270 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27271 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27272
187bbe3d
GS
272732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27274
27275 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27276 * include/grub/misc.h: Likewise.
27277
b9396631
GS
272782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27279
27280 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27281 for which failure is fatal.
27282
50479feb
GS
272832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27284
27285 * util/grub-install.in: Use mkdir -p to create grub directory.
27286 * util/i386/efi/grub-install.in: Likewise.
27287 * util/ieee1275/grub-install.in: Likewise.
27288
b1654fdf
GS
272892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27290
27291 * Makefile.in (LEX): new variable.
27292
bd5a6415
GS
272932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27294
27295 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27296 `=' and added double quotes on operands of this equality test.
27297
3db3a82b
VS
272982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27299
27300 * Makefile.in (uninstall): Remove a leftover debug echo.
27301 Reported by: Grégoire Sutre
27302
38023412
VS
273032010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27304
27305 MIPS multiboot2 support.
27306
27307 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27308 (multiboot2_mod_SOURCES): New variable.
27309 (multiboot2_mod_CFLAGS): Likewise.
27310 (multiboot2_mod_LDFLAGS): Likewise.
27311 (multiboot2_mod_ASFLAGS): Likewise.
27312 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27313 definition.
27314 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27315 (MULTIBOOT_MBI_REGISTER): Likewise.
27316 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27317 (MULTIBOOT_ELF32_MACHINE): Likewise.
27318 (MULTIBOOT_ELF64_MACHINE): Likewise.
27319 * include/grub/mips/multiboot.h: New file.
27320 * include/grub/video.h (grub_video_driver_id): New type
27321 GRUB_VIDEO_DRIVER_SM712.
27322 (grub_video_get_info_and_fini): Export.
27323 (grub_video_get_palette): Likewise.
27324 (grub_video_get_driver_id): Likewise.
27325 * include/multiboot2.h: Resynced with spec.
27326 * loader/i386/multiboot.c: Moved from here ...
27327 * loader/multiboot.c: ... here. All users updated.
27328 (grub_multiboot_boot): Use platform-specific macros.
27329 * loader/i386/multiboot_elfxx.c: Moved from here ...
27330 * loader/multiboot_elfxx.c: ... here. All users updated.
27331 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27332 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27333 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27334
47674667
VS
273352010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 Import gnulib argp module.
27338
27339 * gnulib/argp-ba.c: New file.
27340 * gnulib/argp-eexst.c: Likewise.
27341 * gnulib/argp-fmtstream.c: Likewise.
27342 * gnulib/argp-fmtstream.h: Likewise.
27343 * gnulib/argp-fs-xinl.c: Likewise.
27344 * gnulib/argp-help.c: Likewise.
27345 * gnulib/argp-namefrob.h: Likewise.
27346 * gnulib/argp-parse.c: Likewise.
27347 * gnulib/argp-pin.c: Likewise.
27348 * gnulib/argp-pv.c: Likewise.
27349 * gnulib/argp-pvh.c: Likewise.
27350 * gnulib/argp-version-etc.c: Likewise.
27351 * gnulib/argp-version-etc.h: Likewise.
27352 * gnulib/argp-xinl.c: Likewise.
27353 * gnulib/argp.h: Likewise.
27354
495442ed
VS
273552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27356
27357 * kern/device.c (grub_device_iterate): Clear errors after failed
27358 opening device.
27359
f9fd65df
VS
273602010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27363 returned by firmware.
27364
af09641e
VS
273652010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27366
27367 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27368 compilation on coreboot and qemu
27369
016883a5
VS
273702010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27371
27372 * include/multiboot2.h: Resync with spec.
27373
f97e1f7d
VS
273742010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27375
27376 Multiboot2 tag support
27377
27378 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27379 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27380 Remove loader/multiboot_loader.c.
27381 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27382 (grub_multiboot2_real_boot): Likewise.
27383 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27384 (grub_get_multiboot_mmap_count): New proto.
27385 (grub_fill_multiboot_mmap): Likewise.
27386 (grub_multiboot_set_video_mode): Likewise.
27387 (grub_multiboot_set_console): Likewise.
27388 (grub_multiboot_load): Likewise.
27389 (grub_multiboot_load_elf): Likewise.
27390 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27391 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27392 * include/multiboot.h: Resynced with specification.
27393 * include/multiboot2.h: Resynced with specification.
27394 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27395 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27396 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27397 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27398 users updated.
27399 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27400 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27401 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27402 Removed.
27403 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27404 Moved from here...
27405 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27406 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27407 Moved from here...
27408 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27409 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27410 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27411 All users updated.
27412 * loader/i386/multiboot_mbi2.c: New file.
27413
3506b90b
VS
274142010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27415
27416 Resync with gnulib.
27417
27418 * Makefile.in (GNULIB_CFLAGS): New variable.
27419 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27420 (grub_script_check_CFLAGS): New variable.
27421 * gnulib/alloca.h: Resync with gnulib.
27422 * gnulib/error.c: Likewise.
27423 * gnulib/error.h: Likewise.
27424 * gnulib/fnmatch.c: Likewise.
27425 * gnulib/fnmatch_loop.c: Likewise.
27426 * gnulib/getdelim.c: Likewise.
27427 * gnulib/getline.c: Likewise.
27428 * gnulib/getopt.c: Likewise.
27429 * gnulib/getopt1.c: Likewise.
27430 * gnulib/getopt_int.h: Likewise.
27431 * gnulib/gettext.h: Likewise.
27432 * gnulib/progname.c: Likewise.
27433 * gnulib/progname.h: Likewise.
27434
394a3120
GS
274352010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27436
27437 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27438 which is the case with --disabled-nls.
27439
27440 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27441 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27442 * util/misc.c: Likewise.
27443 * util/mkisofs/mkisofs.c: Likewise.
27444 * util/mkisofs/mkisofs.h: Likewise.
27445
969d1c78
VS
274462010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 Simplify Apple CC support.
27449
27450 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27451 Add 0 byte at the end not to have a symbol with empty target.
27452 * mmap/i386/pc/mmap_helper.S: Likewise.
27453 * genmk.rb: Ignore errors 2030 and 2050.
27454 * kern/i386/pc/startup.S: Use LOCAL when possible.
27455
8d2977bb
BC
274562010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27457
27458 Testcase and the fix for final semicolon on cmdline.
27459
27460 * tests/grub_script_final_semicolon.in: New testcase.
27461 * conf/tests.rmk: Rules for the new testcase.
27462 * script/parser.y: Grammar fix.
27463
a7bd6915
BC
274642010-03-26 BVK Chaitanya <bvk@localhost>
27465
27466 Blank lines testcase for GRUB script.
27467
27468 * tests/grub_script_blanklines.in: New testcase.
27469 * conf/tests.rmk: Rules for the new testcase.
27470
e4ff6628
VS
274712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27472
27473 Don't use __FILE__.
27474
27475 * genmk.rb: Add -DGRUB_FILE to all C targets.
27476 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27477 * include/grub/list.h: Likewise.
27478 * include/grub/misc.h: Likewise.
27479 * include/grub/mm.h: Likewise.
27480 * include/grub/test.h: Likewise.
27481 * kern/mm.c: Likewise.
27482 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27483
6a5cf6b6
VS
274842010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27485
27486 Sunpc partitions support.
27487
27488 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27489 (grub_fstest_SOURCES): Likewise.
27490 (pkglib_MODULES): Add part_sunpc.mod.
27491 (part_sunpc_mod_SOURCES): New variable.
27492 (part_sunpc_mod_CFLAGS): Likewise.
27493 (part_sunpc_mod_LDFLAGS): Likewise.
27494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27495 * partmap/sunpc.c: New file.
27496
746d9045
BC
274972010-03-26 BVK Chaitanya <bvk@localhost>
27498
27499 For loop support to GRUB script.
27500
27501 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27502 (grub_script_create_cmdfor): New function prototype.
27503 (grub_script_execute_cmdfor): New function prototype.
27504 * script/execute.c (grub_script_execute_cmdfor): New function.
27505 * script/parser.y (command): New for command.
27506 (forcmd): New grammar rule.
27507 * script/script.c (grub_script_create_cmdfor): New function.
27508 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27509 function.
27510 * tests/grub_script_for1.in: New testcase.
27511 * conf/tests.rmk: Rules for new testcase.
27512
18486b18
VS
275132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27514
27515 Nested partitions
27516
27517 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27518 'partition' is NULL, grub_partition_get_start already does that.
27519 * commands/loadenv.c (check_blocklists): Likewise.
27520 (write_blocklists): Likewise.
27521 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27522 (grub_fstest_SOURCES): Likewise.
27523 (pkglib_MODULES): Add part_bsd.mod.
27524 (part_bsd_mod_SOURCES): New variable.
27525 (part_bsd_mod_CFLAGS): Likewise.
27526 (part_bsd_mod_LDFLAGS): Likewise.
27527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27528 (grub_emu_SOURCES): Likewise.
27529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27530 * include/grub/bsdlabel.h: New file.
27531 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27532 'get_name'.
27533 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27534 (grub_partition_map_list): New variable.
27535 (grub_partition_map_register): Inline.
27536 (grub_partition_map_unregister): Likewise.
27537 (FOR_PARTITION_MAPS): New macro.
27538 (grub_partition_map_iterate): Removed.
27539 (grub_partition_get_start): Handle nested partitions.
27540 * include/grub/msdos_partition.h: Remove bsd-related entries.
27541 (grub_pc_partition): Remove.
27542 * kern/disk.c (grub_disk_close): Free partition data.
27543 (grub_disk_adjust_range): Handle nested partitions.
27544 * kern/partition.c (grub_partition_map_probe): New function.
27545 (grub_partition_probe): Parse name to number, handle subpartitions.
27546 (get_partmap): New function.
27547 (grub_partition_iterate): Handle subpartitions.
27548 (grub_partition_get_name): Likewise.
27549 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27550 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27551 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27552 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27553 Set 'number'.
27554 (acorn_partition_map_probe): Remove.
27555 (acorn_partition_map_get_name): Likewise.
27556 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27557 Set 'number'.
27558 Set 'index' to 0 since there can be only one partition entry per sector.
27559 (amiga_partition_map_probe): Remove.
27560 (amiga_partition_map_get_name): Likewise.
27561 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27562 Set 'number'.
27563 Set 'offset' and 'index' to real positions of partitions.
27564 (apple_partition_map_probe): Remove.
27565 (apple_partition_map_get_name): Likewise.
27566 * partmap/bsdlabel.c: New file.
27567 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27568 Set 'number'.
27569 Allocate 'data' so it can be correctly freed.
27570 Set 'index' to offset inside sector.
27571 (gpt_partition_map_probe): Remove.
27572 (gpt_partition_map_get_name): Likewise.
27573 * partmap/msdos.c (grub_partition_parse): Remove.
27574 (pc_partition_map_iterate): Don't force raw access.
27575 Set 'number'.
27576 Make 'ext_offset' a local variable.
27577 (pc_partition_map_probe): Remove.
27578 (pc_partition_map_get_name): Remove.
27579 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27580 Set 'number'.
27581 (sun_partition_map_probe): Remove.
27582 (sun_partition_map_get_name): Likewise.
27583 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27584 (grub_pcpart_type): Likewise.
27585 * util/hostdisk.c (open_device): Handle new numbering scheme.
27586 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27587 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27588 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27589 * util/grub-install.in: Insert all subpartition modules.
27590 * util/ieee1275/grub-install.in: Likewise.
27591
a3940f88
AG
275922010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27593
27594 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27595 grammar.
27596
21b99926 275972010-03-24 Colin Watson <cjwatson@ubuntu.com>
27598
27599 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27600
bed1d352
CW
276012010-03-21 Colin Watson <cjwatson@ubuntu.com>
27602
27603 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27604 match where 'make install' puts them.
27605 * util/i386/efi/grub-install.in: Likewise.
27606
c9f58427
CW
276072010-03-19 Colin Watson <cjwatson@ubuntu.com>
27608
27609 * .bzrignore: Add gentrigtables, grub-script-check,
27610 grub_script_check_init.c, grub_script_check_init.h, and
27611 trigtables.c.
27612
f84afb27
VS
276132010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 * kern/parser.c: Indented.
27616
ed0e3d30
VS
276172010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27618
27619 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27620
0ea81d98
VS
276212010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27624 alpha_mask_size == 0 case.
27625
0cdc2a09
BC
276262010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27627
27628 GRUB shell lexer and parser improvements.
27629
27630 * conf/any-emu.rmk: Build rule updates.
27631 * conf/common.rmk: Likewise.
27632 * conf/i386-coreboot.rmk: Likewise.
27633 * conf/i386-efi.rmk: Likewise.
27634 * conf/i386-ieee1275.rmk: Likewise.
27635 * conf/i386-pc.rmk: Likewise.
27636 * conf/powerpc-ieee1275.rmk: Likewise.
27637 * conf/x86_64-efi.rmk: Likewise.
27638
27639 * configure.ac: Configure check for flex.
27640
27641 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27642 types.
27643 (grub_lexer_param): Struct member updates.
27644 (grub_parser_param): Likewise.
27645 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27646 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27647 (grub_script_lexer_init): Prototype update.
27648 (grub_script_lexer_record_start): Likewise.
27649 (grub_script_lexer_record_stop): Likewise.
27650 (grub_script_lexer_yywrap): New function prototype.
27651 (grub_script_lexer_fini): Likewise.
27652 (grub_script_execute_argument_to_string): Removed by...
27653 (grub_script_execute_argument_to_argv): ...better version.
27654
27655 * script/execute.c (ROUND_UPTO): New macro.
27656 (grub_script_execute_cmdline): Out of memory fixes.
27657 (grub_script_execute_menuentry): Likewise.
27658 (grub_script_execute_argument_to_string): Removed. Update all
27659 users by...
27660 (grub_script_execute_argument_to_argv): ...better version.
27661 * script/function.c (grub_script_function_create): Use
27662 grub_script_execute_argument_to_argv instead of
27663 grub_script_execute_argument_to_string.
27664
27665 * script/lexer.c (check_varstate): Removed.
27666 (check_textstate): Removed.
27667 (grub_script_lexer_record_start): Likewise.
27668 (grub_script_lexer_record_stop): Likewise.
27669 (recordchar): Replaced with...
27670 (grub_script_lexer_record): ...new function.
27671 (nextchar): Removed.
27672 (grub_script_lexer_init): Rewritten.
27673 (grub_script_yylex): Rewritten.
27674 (append_newline): New function.
27675 (grub_script_lexer_yywrap): New function.
27676 (grub_script_lexer_fini): New function.
27677 (grub_script_yyerror): Sets error flag.
27678
27679 * script/yylex.l: New file.
27680 (grub_lexer_yyfree): Wrapper for flex yyffre.
27681 (grub_lexer_yyalloc): Likewise.
27682 (grub_lexer_yyrealloc): Likewise.
27683 * script/parser.y: Refactored.
27684
27685 * script/script.c (grub_script_arg_add): Out of memory fixes.
27686 (grub_script_add_arglist): Likewise.
27687 (grub_script_create_cmdline): Likewise.
27688 (grub_script_create_cmdmenu): Likewise.
27689 (grub_script_add_cmd): Likewise.
27690 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27691 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27692 unnecessary code.
27693
27694 * tests/grub_script_echo1.in: New testcase.
27695 * tests/grub_script_vars1.in: New testcase.
27696 * tests/grub_script_echo_keywords.in: New testcase.
27697
1d63a066
VS
276982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 Remove some redundancy in build system.
27701
27702 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27703 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27704 (TARGET_LDFLAGS): Add -nostdlib.
27705 (TARGET_IMG_LDFLAGS): Likewise.
27706 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27707 anything since mmap isn't available.
27708 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27709 Add util/time.c.
27710 (pkglib_MODULES): Remove reboot.mod.
27711 (reboot_mod_SOURCES): Removed.
27712 (reboot_mod_CFLAGS): Likewise.
27713 (reboot_mod_LDFLAGS): Likewise.
27714 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27715 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27716 (DEFSYMFILES): Add kernel_syms.lst.
27717 (kernel_img_HEADERS): Add common headers.
27718 (symlist.c): New target.
27719 (kernel_syms.lst): Likewise.
27720 (pkglib_MODULES): Add memdisk.mod.
27721 (memdisk_mod_SOURCES): New variable.
27722 (memdisk_mod_CFLAGS): Likewise.
27723 (memdisk_mod_LDFLAGS): Likewise.
27724 (pkglib_MODULES): Add reboot.mod.
27725 (reboot_mod_SOURCES): New variable.
27726 (reboot_mod_CFLAGS): Likewise.
27727 (reboot_mod_LDFLAGS): Likewise.
27728 (pkglib_MODULES): Add date.mod.
27729 (date_mod_SOURCES): New variable.
27730 (date_mod_CFLAGS): Likewise.
27731 (date_mod_LDFLAGS): Likewise.
27732 (pkglib_MODULES): Add datehook.mod.
27733 (datehook_mod_SOURCES): New variable.
27734 (datehook_mod_CFLAGS): Likewise.
27735 (datehook_mod_LDFLAGS): Likewise.
27736 (pkglib_MODULES): Add lsmmap.mod.
27737 (lsmmap_mod_SOURCES): New variable.
27738 (lsmmap_mod_CFLAGS): Likewise.
27739 (lsmmap_mod_LDFLAGS): Likewise.
27740 (pkglib_MODULES): Add boot.mod.
27741 (boot_mod_SOURCES): New variable.
27742 (boot_mod_CFLAGS): Likewise.
27743 (boot_mod_LDFLAGS): Likewise.
27744 * conf/i386-coreboot.rmk: Removed redundant parts.
27745 * conf/i386-ieee1275.rmk: Likewise.
27746 * conf/i386-pc.rmk: Likewise.
27747 * conf/mips-yeeloong.rmk: Likewise.
27748 * conf/mips.rmk: Likewise.
27749 * conf/powerpc-ieee1275.rmk: Likewise.
27750 * conf/sparc64-ieee1275.rmk: Likewise.
27751 * conf/x86_64-efi.rmk: Likewise.
27752 * conf/i386-coreboot.rmk: Moved qemu parts ..
27753 * conf/i386-qemu.rmk: ... here
27754 * conf/i386-efi.rmk: Moved common parts to...
27755 * conf/x86-efi.rmk: ... here.
27756 * conf/i386.rmk: Added modules common to all x86 variants.
27757 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27758 * disk/memdisk.c: Remove grub/machine/kernel.h.
27759 * gensymlist.sh.in: Include symbol.h.
27760 * hook/datehook.c: Correct module name.
27761 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27762 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27763 * include/grub/i386/efi/serial.h: New file.
27764 * include/grub/x86_64/efi/serial.h: Likewise.
27765 * util/time.c: Likewise.
27766 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27767
463ac55f
CK
277682010-03-14 Colin King <colin.king@ubuntu.com>
277692010-03-14 Colin Watson <cjwatson@ubuntu.com>
27770
27771 Shrink the pre-partition-table part of boot.img by eight bytes.
27772
27773 * boot/i386/pc/boot.S (ERR): New macro.
27774 (chs_mode): Use ERR.
27775 (geometry_error): Likewise.
27776 (hd_probe_error): Remove. This is only used once, so we wrwite
27777 it inline instead.
27778 (read_error): Instead of printing read_error_string, just set up
27779 %si and fall through to ...
27780 (error_message): ... this new function, also used by ERR.
27781
08e46ede
CW
277822010-03-14 Colin Watson <cjwatson@ubuntu.com>
27783
27784 Speed up consecutive hostdisk operations on the same device.
27785
27786 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27787 (grub_util_biosdisk_open): Initialise disk->data.
27788 (struct linux_partition_cache): New structure.
27789 (linux_find_partition): Cache partition start positions; these are
27790 expensive to compute on every read and write.
27791 (open_device): Cache open file descriptor in disk->data, so that we
27792 don't have to reopen it and flush the buffer cache for consecutive
27793 operations on the same device.
27794 (grub_util_biosdisk_close): New function.
27795 (grub_util_biosdisk_dev): Set `close' member.
27796
27797 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27798 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27799 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27800 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27801 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27802
4a6d2d06
VS
278032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27804
27805 Compile parts of grub-emu as modules.
27806
27807 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27808 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27809 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27810 (all-local): Add $(GRUB_EMU).
27811 (install-local): Install $(GRUB_EMU).
27812 (uninstall): Uninstall $(GRUB_EMU).
27813 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27814 * kern/dl.c: Likewise.
27815 * commands/sleep.c: Not include machine/time.h.
27816 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27817 (COMMON_CFLAGS): Likewise.
27818 (sbin_UTILITIES): Remove grub-emu.
27819 (grub_emu_SOURCES): Removed.
27820 (kernel_img_RELOCATABLE): New variable.
27821 (pkglib_PROGRAMS): Add kernel.img.
27822 (kernel_img_SOURCES): New variable
27823 (kernel_img_CFLAGS): Likewise.
27824 (kernel_img_LDFLAGS): Likewise.
27825 (TARGET_NO_STRIP): Likewise.
27826 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27827 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27828 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27829 (grub-emu): New target.
27830 (GRUB_EMU): New variable.
27831 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27832 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27833 * loader/xnu.c: Likewise.
27834 * include/grub/pci.h: Likewise.
27835 * genemuinit.sh: New file.
27836 * genemuinitheader.sh: Likewise.
27837 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27838 Support TARGET_NO_DYNAMIC_MODULES.
27839 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27840 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27841 * disk/loopback.c: Likewise.
27842 * font/font_cmd.c: Likewise.
27843 * partmap/acorn.c: Likewise.
27844 * partmap/amiga.c: Likewise.
27845 * partmap/apple.c: Likewise.
27846 * partmap/gpt.c: Likewise.
27847 * partmap/msdos.c: Likewise.
27848 * partmap/sun.c: Likewise.
27849 * parttool/msdospart.c: Likewise.
27850 * term/gfxterm.c: Likewise.
27851 * video/bitmap.c: Likewise.
27852 * video/readers/jpeg.c: Likewise.
27853 * video/readers/png.c: Likewise.
27854 * video/readers/tga.c: Likewise.
27855 * video/video.c: Likewise.
27856 * util/grub-emu.c (read_command_list): Removed.
27857 (main): Don't call util_init_nls.
27858 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27859 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27860
91fdd2ed
VS
278612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27862
27863 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27864 date.mod, datehook.mod.
27865 (datetime_mod_SOURCES): New variable.
27866 (datetime_mod_CFLAGS): Likewise.
27867 (datetime_mod_LDFLAGS): Likewise.
27868 (date_mod_SOURCES): Likewise.
27869 (date_mod_CFLAGS): Likewise.
27870 (date_mod_LDFLAGS): Likewise.
27871 (datehook_mod_SOURCES): Likewise.
27872 (datehook_mod_CFLAGS): Likewise.
27873 (datehook_mod_LDFLAGS): Likewise.
27874 * conf/sparc64-ieee1275.rmk: Likewise.
27875 * lib/ieee1275/datetime.c: New file.
27876
873ccae6
VS
278772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27878
27879 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27880 (ieee1275_fb_mod_SOURCES): New variable.
27881 (ieee1275_fb_mod_CFLAGS): Likewise.
27882 (ieee1275_fb_mod_LDFLAGS): Likewise.
27883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27884 New proto.
27885 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27886 (HEAP_MAX_ADDR): Likewise.
27887 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27888 type.
27889 Correct stop condition.
27890 (grub_ieee1275_devices_iterate): New function.
27891 * video/ieee1275.c: New file.
27892
601c97c0
VS
278932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27894
27895 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27896
27897 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27898 as scratch.
27899 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27900 SCRATCH_PAD_DISKBOOT as scratch.
27901 (bootit): Pass Openfirmware pointer in %o4.
27902 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27903 of 0x200000.
27904 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27905 with util/grub-mkrawimage.c.
27906 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27907 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27908 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27909 (grub_aout_load) [GRUB_UTIL]: Likewise.
27910 * include/grub/kernel.h (grub_modules_get_end): New proto.
27911 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27912 (SCRATCH_PAD_BOOT): New definition.
27913 (SCRATCH_PAD_DISKBOOT): Likewise.
27914 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27915 * include/grub/sparc64/ieee1275/ieee1275.h
27916 (grub_ieee1275_original_stack): New variable
27917 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27918 New definition
27919 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27920 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27921 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27922 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27923 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27924 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27925 (grub_platform_image_format_t): New type.
27926 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27927 * kern/main.c (grub_modules_get_end)
27928 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27929 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27930 (codestart): Switch stacks.
27931 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27932 variable.
27933 (grub_heap_init): Use grub_modules_get_end.
27934 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27935 stack.
27936 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27937 (main): Likewise.
27938 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27939
d68b491e
TG
279402010-03-14 Thorsten Glaser <tg@mirbsd.org>
27941
27942 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27943
4e02ed50
MK
279442010-03-08 Matt Kraai <kraai@ftbfs.org>
27945
27946 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27947 bug #559005).
27948
1f15fc1e
VS
279492010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 * genmoddep.awk: Output all missing symbols and not only first.
27952
fce5d8ff
VS
279532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27954
27955 * NEWS: Put the date of 1.98 release.
27956
d1e8a02f
VS
279572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27958
27959 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27960 ft2build.h.
27961
696fd607
VS
279622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27963
27964 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27965 completition in the middle of string.
27966
33e2e6f3
VS
279672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 * util/grub-mkrescue.in: Use mktemp with explicit template.
27970
b1f6d291
VS
279712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27974
2ac227c7
VS
279752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27978 right pointer.
27979
8f9a632b
VS
279802010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 Fix FreeBSD compilation.
27983
27984 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27985 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27986
60b03859
VS
279872010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27990
48a5a769
VS
279912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27992
27993 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27994
3ab4bd77
VS
279952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27996
27997 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27998
d116e0d8
RM
279992010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28000
28001 Support relative image path in theme file.
28002
28003 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28004 (image_set_property): Handle theme_dir and relative path.
28005
c7ef54aa
VS
280062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28007
28008 * configure.ac: Alias amd64 to x86_64.
28009
fcee14ed
VS
280102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 * NEWS: mention multiboot on EFI.
28013
d0780363
VS
280142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28015
28016 * kern/main.c (grub_load_modules): Handle errors from init functions of
28017 embeded modules.
28018
41168ea4
VS
280192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28020
28021 * normal/autofs.c (autoload_fs_module): Handle errors.
28022
b54d93ac
VS
280232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28024
28025 Disable linux.mod on qemu-mips since it's not functional and leads
28026 to compilation failure.
28027
28028 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28029 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28030 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28031 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28032 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28033 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28034 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28035 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28036 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28037 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28038 Reported by: BVK Chaitanya
28039
fc8345da
JU
280402010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28041
28042 * INSTALL: Add gettext as a dependency and add qemu to a new section
28043 "Prerequisites for make-check".
28044
4760f979
CF
280452010-03-04 Christian Franke <franke@computer.org>
28046
28047 * util/grub-pe2elf.c: Add missing include "progname.h".
28048
f209b5b2
VS
280492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28050
28051 * normal/crypto.c (read_crypto_list): Fix a typo.
28052 Reported by: Seth Goldberg.
28053
b4b7be98
VS
280542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28055
28056 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28057 Reported by: Seth Goldberg.
b4b7be98 28058
c0ee0385
VS
280592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28060
28061 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28062 ascii.bitmaps.
28063
a8efbf64
VS
280642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28065
28066 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28067 Reported by: Seth Goldberg.
a8efbf64 28068
08dcd913
VS
280692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 * util/i386/efi/grub-install.in: Copy gettext files.
28072
c4d0b332
VS
280732010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28076
c6f2fe52
VS
280772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28078
28079 Wait for user entry basing on presence of output rather than on errors.
28080
28081 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28082 (grub_install_newline_hook): Likewise.
28083 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28084 * normal/menu.c (show_menu): Check line_counter to determine presence
28085 of output.
28086 * normal/term.c (grub_normal_line_counter): New variable.
28087 (grub_normal_get_line_counter): New function.
28088 (grub_install_newline_hook): Likewise.
28089
5382b1e4
VS
280902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28093
5519963b
VS
280942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * configure.ac: Update version to 1.98.
28097
72b28631
VS
280982010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 * util/grub.d/10_linux.in (linux_entry): Don't default to
28101 gfxpayload=keep if Linux doesn't support video handover.
28102
c140a180
VS
281032010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 Don't compile video modules on yeeloong since video subsystem is part
28106 of kernel.
28107
28108 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28109 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28110 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28111 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28112 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28113 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28114 * include/grub/bitmap_scale.h: Likewise.
28115 * include/grub/bufio.h: Likewise.
28116 * include/grub/font.h: Likewise.
28117 * include/grub/gfxterm.h: Likewise.
28118 * include/grub/video.h: Likewise.
28119 * include/grub/vbe.h: Don't include video_fb.h.
28120 * video/i386/pc/vbe.c: Include video_fb.h.
28121 * commands/i386/pc/vbetest.c: Include video.h.
28122
a0ca21c2
CW
281232010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28124
28125 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28126 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28127 default entry if GRUB_SAVEDEFAULT=true. This allows using
28128 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28129 saving a new default on every boot.
28130
4a8a763c
VS
281312010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28132
28133 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28134 * normal/term.c (read_terminal_list): Likewise.
28135 * normal/main.c (grub_normal_init_page): Likewise.
28136 (grub_normal_read_line_real): Likewise.
28137
607ffde2
VS
281382010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28139
28140 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28141 memory leak.
28142 Reported by: Seth Goldberg.
28143
2b8fa975
CW
281442010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28145
28146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28147 duplicate declaration of `start'.
28148
618307dd
VS
281492010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28152 filename.
28153 Reported by: Georgy Buranov
28154
7dd05b96 281552010-02-20 Carles Pina i Estany <carles@pina.cat>
28156
28157 * util/grub-mkrawimage.c (usage): Change string formatting to
28158 improve gettext.
28159
d1484a42
MRA
281602010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28161
28162 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28163 backspace keys.
28164
42b1d186
VS
281652010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28168 Reported by: Michael Suchanek.
28169
281702010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28171
28172 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28173 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28174
d9f31a41
VS
281752010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28176
28177 Remove any reference to non-free fonts.
28178
28179 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28180 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28181 uses non-free components.
28182 * font/font.c (grub_font_get_name): Remove example name.
28183 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28184 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28185 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28186 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28187
2793c71e
GB
281882010-02-16 Georgy Buranov <gburanov@gmail.com>
28189
28190 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28191
402e3779
VS
281922010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28193
28194 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28195 Double divisor.
28196 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28197 features.
28198 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28199
0dd1e0dd
VS
282002010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28201
28202 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28203
6fa7cfce
ST
282042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28205
28206 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28207 * docs/grub.texi (Command-line and menu entry commands): Document play
28208 command.
28209
37c8483b
ST
282102010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28211
28212 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28213 parse arguments as inline tempo and notes. Move code for playing notes
28214 to...
28215 (play): ... new function.
28216
14da0fb7
ST
282172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28218
28219 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28220 grub_uint16_t instead of short.
28221 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28222 disk from little endian to cpu endianness.
28223
04459e70
ST
282242010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28225
28226 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28227 GRUB_TICKS_PER_SECOND instead of 120.
28228
a0876943
VS
282292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28230
28231 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28232 escape sequence after \e.
28233
e29f95dc
VS
282342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28235
28236 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28237 non-ASCII characters.
28238
d27859b2
VS
282392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28242 set root in single quotes to prevent \, from being unescaped.
28243
bc028f2f
VS
282442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 Prevent unknown commands from stopping menuentry execution.
28247
28248 * script/execute.c (grub_script_execute_cmdline): Print error after
28249 unknown command.
28250
095f5f82
VS
282512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28252
28253 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28254 Reported by: Pavel Pisa.
28255
8c717950
VS
282562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28257
28258 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28259
904935c3
VS
282602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28261
28262 Merge grub_ieee1275_map_physical into grub_map and rename to
28263 grub_ieee1275_map
28264
28265 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28266 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28267 Remove.
28268 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28269 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28270 necessary.
28271 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28272
5b59a4e3
VS
282732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28276 opening and not after.
28277
69e137e8
VS
282782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28281 constants.
28282
2c0fcc36
VS
282832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28286 (alloc_phys): Use ALIGN_UP instead of align_addr.
28287
8c6052ce
VS
282882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28291
17cec782
VS
282922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28295
e0128bbd
VS
282962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28299 verbose dprintf.
28300
ca62070b
VS
283012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 Fix over-4GiB seek on sparc64.
28304
28305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28306 Replace pos_i and pos_lo with pos. All users updated.
28307 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28308 New constant.
28309 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28310 Likewise.
28311 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28312 and pos_lo.
28313
bdca2607
VS
283142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28315
28316 * util/grub-mkrawimage.c (main): Call set_program_name.
28317
da278c4d
VS
283182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 Properly align 64-bit targets.
28321
28322 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28323 (generate_image): Use ALIGN_ADDR.
28324
b274d734
VS
283252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 Properly create cross-endian images.
28328
28329 * include/grub/types.h (grub_host_to_target_addr): New macro
28330 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28331
82da2062
VS
283322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28333
28334 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28335
7cae4377
VS
283362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28339
28340 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28341 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28342 (grub_linux_boot): Divide by 64K when on VESA.
28343
65a533e7
VS
283442010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28345
28346 Support GRUB_GFXPAYLOAD_LINUX.
28347
28348 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28349 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28350
dd01d397
VS
283512010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28352
28353 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28354 to show messages instead of discarding them.
28355 Process errors after executing command and not before. Keep old method
28356 too as precaution.
28357
660960d6
VS
283582010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28359
28360 * configure.ac: Check for ft2build.h.
28361
62509f04
VS
283622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28363
28364 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28365
473df63d
VS
283662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 * genkernsyms.sh.in: Use TARGET_CC.
28369
c98d2a13
CW
283702010-02-07 Colin Watson <cjwatson@ubuntu.com>
28371
28372 * NEWS: Update.
28373
6e14234c
VS
283742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28377 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28378 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28379
b255e9cf
YB
283802010-02-07 Yves Blusseau <blusseau@zetam.org>
28381
6e14234c 28382 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28383
98e6959d
VS
283842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28385
28386 Fix warnings in grub-emu when compiling with maximum warning options.
28387
28388 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28389 (grub_arch_modules_addr): Return 0 and not NULL.
28390 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28391 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28392 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28393 of disk to dsk to avoid shadowing.
74e4934e
VS
28394 (find_free_slot): Fix prototype.
28395 * util/getroot.c (grub_util_is_dmraid): Make static.
28396 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28397 Add missing prototype.
28398 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28399
74e31b5c
VS
284002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28401
28402 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28403 appropriately.
28404
6b2ad14b
VS
284052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28406
28407 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28408 code out.
28409
8f891adc
VS
284102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28411
28412 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28413 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28414 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28415 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28416 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28417 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28418
74b45184
VS
284192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28420
28421 * include/grub/err.h (grub_err_printf): Don't export.
28422
a4bced77
VS
284232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28426
007d0695
VS
284272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28428
28429 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28430 * kern/misc.c (grub_gettext_dummy): Make static.
28431
b6c0d9c2
VS
284322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28433
28434 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28435 by non-valid ones.
28436 * kern/term.c (grub_putchar): Likewise.
28437
f51a90d0
VS
284382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28439
28440 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28441 buggy hook call and memory leak.
28442
6846cec5
VS
284432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28444
28445 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28446
468d69fe
VS
284472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28448
28449 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28450
51906b8c
VS
284512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28452
28453 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28454 modevar.
28455 Return grub_errno on allocation error.
28456
09706ce5
VS
284572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28458
28459 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28460
911df80c
YB
284612010-02-06 Yves Blusseau <blusseau@zetam.org>
28462
28463 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28464 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28465
3746a6bc
VS
284662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28467
28468 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28469 non-pxe disk.
28470 (grub_pxefs_open): Likewise.
28471
09706ce5
VS
284722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28473
28474 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28475 * util/grub.d/10_kfreebsd.in: Likewise.
28476 * util/grub.d/10_linux.in: Likewise.
28477
7cc192d9
VS
284782010-02-06 Colin D Bennett <colin@gibibit.com>
28479
28480 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28481 (gfxmenu_mod_SOURCES): New variable.
28482 (gfxmenu_mod_CFLAGS): Likewise.
28483 (gfxmenu_mod_LDFLAGS): Likewise.
28484 * include/grub/term.h (grub_term_set_current_output): Declare
28485 argument as const.
28486 * docs/gfxmenu-theme-example.txt: New file.
28487 * gfxmenu/gfxmenu.c: Likewise.
28488 * gfxmenu/gui_box.c: Likewise.
28489 * gfxmenu/gui_canvas.c: Likewise.
28490 * gfxmenu/gui_circular_progress.c: Likewise.
28491 * gfxmenu/gui_image.c: Likewise.
28492 * gfxmenu/gui_label.c: Likewise.
28493 * gfxmenu/gui_list.c: Likewise.
28494 * gfxmenu/gui_progress_bar.c: Likewise.
28495 * gfxmenu/gui_string_util.c: Likewise.
28496 * gfxmenu/gui_util.c: Likewise.
28497 * gfxmenu/icon_manager.c: Likewise.
28498 * gfxmenu/model.c: Likewise.
28499 * gfxmenu/named_colors.c: Likewise.
28500 * gfxmenu/theme_loader.c: Likewise.
28501 * gfxmenu/view.c: Likewise.
28502 * gfxmenu/widget-box.c: Likewise.
28503 * include/grub/gfxmenu_model.h: Likewise.
28504 * include/grub/gfxmenu_view.h: Likewise.
28505 * include/grub/gfxwidgets.h: Likewise.
28506 * include/grub/gui.h: Likewise.
28507 * include/grub/gui_string_util.h: Likewise.
28508 * include/grub/icon_manager.h: Likewise.
28509
285102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28511
28512 Agglomerate scrolling in gfxterm.
28513
28514 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28515 (grub_virtual_screen_setup): Initialise 'total_screen'.
28516 (write_char): Split to ...
28517 (paint_char): ... this ...
28518 (write_char): ... and this.
28519 (paint_char): Handle delayed scrolling.
28520 (draw_cursor): Likewise.
28521 (scroll_up): Split to ...
28522 (real_scroll): ... this ...
28523 (scroll_up): ... and this.
28524 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28525 characters.
28526 (grub_gfxterm_refresh): Call real_scroll.
28527
285282010-02-06 Colin D Bennett <colin@gibibit.com>
28529
28530 * include/grub/misc.h (grub_iscntrl): New inline function.
28531 (grub_isalnum): Likewise.
28532 (grub_strtol): Likewise.
28533
285342010-02-06 Colin D Bennett <colin@gibibit.com>
28535
28536 * normal/menu_text.c (get_entry_number): Move from here ...
28537 * normal/menu.c (get_entry_number): ... moved here.
28538 * include/grub/menu.h (grub_menu_get_default_entry_index):
28539 New prototype.
28540 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28541 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28542 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28543 (grub_menu_viewer_should_return): Likewise.
28544 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28545 * normal/menu_text.c (run_menu): Enable menu switching.
28546 * normal/menu_viewer.c (should_return): New variable.
28547 (menu_viewer_changed): Likewise.
28548 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28549 (grub_menu_viewer_should_return): New function.
28550 (menuviewer_write_hook): Likewise.
28551 (grub_menu_viewer_init): Likewise.
28552
285532010-02-06 Colin D Bennet <colin@gibibit.com>
285542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 Support for gfxterm in a window.
28557
28558 * include/grub/gfxterm.h: New file.
28559 * include/grub/video.h (struct grub_video_rect): New declaration.
28560 (grub_video_rect_t): Likewise.
28561 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28562 (refcount): New variable.
28563 (render_target): Likewise.
28564 (window): Likewise.
28565 (repaint_callback): Likewise.
28566 (grub_virtual_screen_setup): Use 'render_target'.
28567 (init_window): New function.
28568 (grub_gfxterm_init_window): Likewise.
28569 (grub_gfxterm_init): Check reference counter.
28570 Use init_window.
28571 (destroy_window): New function.
28572 (grub_gfxterm_destroy_window): Likewise.
28573 (grub_gfxterm_fini): Check reference counter.
28574 Use destroy_window.
28575 (redraw_screen_rect): Restore viewport.
28576 Use 'render_target' and 'window'.
28577 Call 'repaint_callback'.
28578 (write_char): Use 'render_target'.
28579 (draw_cursor): Likewise.
28580 (scroll_up): Restore viewport.
28581 Use 'render_target' and 'window'.
28582 Call 'repaint_callback'.
28583 (grub_gfxterm_cls): Likewise.
28584 (grub_gfxterm_refresh): Use 'window'.
28585 (grub_gfxterm_set_repaint_callback): New function.
28586 (grub_gfxterm_background_image_cmd): Use 'window'.
28587 (grub_gfxterm_get_term): New function.
28588 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28589
285902010-02-06 Colin D Bennett <colin@gibibit.com>
28591
28592 Bitmap scaling support.
28593
28594 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28595 (bitmap_scale_mod_SOURCES): New variable.
28596 (bitmap_scale_mod_CFLAGS): Likewise.
28597 (bitmap_scale_mod_LDFLAGS): Likewise.
28598 * include/grub/bitmap_scale.h: New file.
28599 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28600 (background_image_cmd_options): New variable.
28601 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28602 (cmd): Rename and change type to ...
28603 (background_image_cmd_handle): ... this. All users updated.
28604 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28605 * video/bitmap_scale.c: New file.
28606
286072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28608
28609 SDL support.
28610
28611 * Makefile.in (LIBSDL): New variable.
28612 (enable_grub_emu_sdl): Likewise.
28613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28614 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28615 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28616 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28617 * util/sdl.c: New file.
28618
286192010-02-06 Colin D Bennett <colin@gibibit.com>
286202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28621
28622 Double buffering support.
28623
28624 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28625 * include/grub/video.h: Update comment.
28626 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28627 New type.
28628 (grub_video_fb_doublebuf_blit_init): New prototype.
28629 * term/gfxterm.c (scroll_up): Support double buffering.
28630 (grub_gfxterm_refresh): Likewise.
28631 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28632 (grub_video_fb_doublebuf_blit_init): Likewise.
28633 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28634 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28635 'displayed_page', 'render_page' and 'update_screen'.
28636 (grub_video_vbe_fini): Free offscreen buffer.
28637 (doublebuf_pageflipping_commit): New function.
28638 (doublebuf_pageflipping_update_screen): Likewise.
28639 (doublebuf_pageflipping_init): Likewise.
28640 (double_buffering_init): Likewise.
28641 (grub_video_vbe_setup): Enable doublebuffering.
28642 (grub_video_vbe_swap_buffers): Implement.
28643 (grub_video_vbe_set_active_render_target): Handle double buffering.
28644 (grub_video_vbe_get_active_render_target): Likewise.
28645 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28646 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28647 (grub_video_vbe_enable_double_buffering): Likewise.
28648 (grub_video_vbe_swap_buffers): Use update_screen.
28649 (grub_video_set_mode): Use double buffering.
28650
286512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28652
28653 * maintainance/gentrigtables.py: Remove.
28654 * lib/trig.c: Likewise.
28655
28656 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28657
28658 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28659 `trigtables.c'.
28660 (trigtables.c): New rule.
28661 (gentrigtables): Likewise.
28662 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28663
286642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28665
28666 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28667 integer constants.
28668
286692010-02-06 Colin D Bennet <colin@gibibit.com>
28670
28671 Trigonometry support.
28672
28673 * include/grub/trig.h: New file.
28674 * lib/trig.c: Likewise.
28675 * maintainance/gentrigtables.py: Likewise.
28676 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28677 (trig_mod_SOURCES): New variable.
28678 (trig_mod_CFLAGS): Likewise.
28679 (trig_mod_LDFLAGS): Likewise.
28680
5562834e
VS
286812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28684 disk devices.
28685
4f8528fc
VS
286862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28687
28688 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28689 error.
28690
2b4068e9
VS
286912010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28692
28693 * util/hostdisk.c (open_device): Don't use partition device when reading
28694 before the partition.
28695 (grub_util_biosdisk_read): Don't read from partition and before the
28696 partition in single operation.
28697 (grub_util_biosdisk_write): Don't write to partition and before the
28698 partition in single operation.
28699
399f6e4d
TL
287002010-02-03 Torsten Landschoff <torsten@debian.org>
28701
28702 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28703 last sectors.
28704
996649b0
VS
287052010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28706
28707 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28708 CDROM reads.
28709 (grub_biosdisk_write): Refuse to write to CDROM.
28710
3b205d4d
VS
287112010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28712
28713 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28714
61e89d9d
VS
287152010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28716
28717 * font/font.c (find_glyph): Check that bmp_idx is available before
28718 using it.
28719 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28720 with (font == NULL).
28721
bf7fcba2
CS
287222010-01-28 Christian Schmitt <chris@ilovelinux.de>
28723
28724 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28725
f45d2663
BC
287262010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28727
28728 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28729 * util/grub-script-check.c (getline): Fix empty lines case.
28730
ec1444e6
RM
287312010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28732
28733 * Makefile.in (check): Exit with fail status when one of the tests
28734 fails.
28735 * tests/example_functional_test.c (example_test): Fix reversed assert.
28736 * tests/example_unit_test.c (example_test): Likewise.
28737
2e1cb9bb
CW
287382010-01-28 Colin Watson <cjwatson@ubuntu.com>
28739
28740 * util/grub.d/10_linux.in: This script does not use any of the
28741 contents of gettext.sh, only the external command `gettext', so stop
28742 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28743 the same prefix as GRUB.)
28744 * util/grub.d/10_kfreebsd.in: Likewise.
28745
63533ab0
VS
287462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28747
28748 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28749 of the line.
28750
989e1f93
VS
287512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28752
28753 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28754 last sectors.
28755
e709ebe2
VS
287562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28757
28758 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28759 having a 4KiB and not 32KiB buffer size.
28760
27dea7ed
RM
287612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28762
28763 * util/hostfs.c: Include `<errno.h>'.
28764 (grub_hostfs_read): Handle errors from fseeko() and fread().
28765
67667b9c
RM
287662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28769 loop when using read hooks on files whose size isn't sector-aligned.
28770
c294d9d8
RM
287712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28772
28773 Remove unused parameter.
28774
28775 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28776 (grub_iso9660_open): Remove initialization of `data->length'.
28777
af75a9f1
RM
287782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28779
28780 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28781 memleak conditions.
28782
254e2ce5 287832010-01-27 Carles Pina i Estany <carles@pina.cat>
28784
28785 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28786 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28787
b510928c 287882010-01-26 Carles Pina i Estany <carles@pina.cat>
28789
28790 * util/bin2h.c (usage): Fix warning (space after backslash).
28791
aa2f9dd2 287922010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28793
28794 * font/font.c: Include `grub/fontformat.h.
28795 Remove font file format constants.
28796 (grub_font_load): Use the new macros.
28797 * include/grub/fontformat.h: New file.
28798 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28799 (write_font_pf2): Use the new macros.
28800
94e7e712
RM
288012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28802
28803 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28804 does.
28805
3973a59a
RM
288062010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28807
28808 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28809
28810 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28811 (_start): Macroify `0x7F'.
28812
28813 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28814 (make_install_device): Use "(pxe)" as fallback prefix when booting
28815 via PXE.
28816
42e0cba3
GS
288172010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * configure.ac: Reset LIBS after check for libgcc symbols.
28820
847effd8
CW
288212010-01-25 Colin Watson <cjwatson@ubuntu.com>
28822
28823 * util/hostdisk.c (open_device): Add trailing newline to debug
28824 message.
28825
ea4a7e35
GS
288262010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28827
28828 * configure.ac: Check for `limits.h'.
28829 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28830
67951a53
RM
288312010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28832
28833 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28834 capitalize error strings.
28835
c273d4ce
ST
288362010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28837
28838 * util/grub.d/10_hurd.in: Add a recovery mode.
28839
69be5b74
VS
288402010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28841
28842 * configure.ac: Check for libgcc symbols with -nostdlib.
28843
fc9e5810
BC
288442010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28845
28846 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28847
4b358c0a
VS
288482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28849
28850 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28851 stack since heap may be unavailable at that point.
28852 (grub_ofconsole_gotoxy): Likewise.
28853
454fcd1c
VS
288542010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * configure.ac: Check for _restgpr_14_x.
28857 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28858 and _savegpr_* prototypes.
28859
566863ca
RM
288602010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28861
28862 Use generic grub_reboot() for i386-efi.
28863
28864 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28865 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28866 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28867
bf86e59a
VS
288682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28869
28870 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28871 presence of "prefix" variable as it breaks when normal.mod is
28872 embedded.
28873
d645e0f8
VS
288742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28875
28876 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28877 stack since heap is unavailable at that point.
28878
f9ab2e25
VS
288792010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28880
28881 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28882 (grub_freebsd_bootinfo): Rewritten.
28883 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28884
01fc7054
VS
288852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28888
caab4fd6
RM
288892010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28890
28891 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28892 domain now.
28893
67eb1427
FZ
288942010-01-20 Felix Zielcke <fzielcke@z-51.de>
28895
28896 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28897 around for handling "/" to the correct fix. Fix a memory leak. Use
28898 xstrdup instead of strdup.
28899
a9ed4ff3
VS
289002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28901
28902 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28903
289042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28905
28906 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28907
28908 * font/font.c (struct grub_font): New member 'bmp_idx'.
28909 (font_init): Initialise 'bmp_idx'.
28910 (load_font_index): Fill 'bmp_idx'.
28911 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28912
48209f4f
VS
289132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28914
28915 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28916 unnecessary calls.
28917
9f0a4bb7
VS
289182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28919
28920 Move context handling out of the kernel.
28921
28922 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28923 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28924 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28925 * conf/i386-efi.rmk: Likewise.
28926 * conf/i386-ieee1275.rmk: Likewise.
28927 * conf/i386-pc.rmk: Likewise.
28928 * conf/powerpc-ieee1275.rmk: Likewise.
28929 * conf/sparc64-ieee1275.rmk: Likewise.
28930 * conf/x86_64-efi.rmk: Likewise.
28931 * include/grub/env.h: Include grub/menu.h.
28932 (grub_env_var_type): Removed.
28933 (grub_env_var): Replaced field 'type' with 'global'.
28934 (grub_env_find): New prototype.
28935 (grub_env_context_open): Remove EXPORT_FUNC.
28936 (grub_env_context_close): Likewise.
28937 (grub_env_export): Likewise.
28938 (grub_env_set_data_slot): Removed.
28939 (grub_env_get_data_slot): Likewise.
28940 (grub_env_unset_data_slot): Likewise.
28941 (grub_env_unset_menu): New prototype.
28942 (grub_env_set_menu): Likewise.
28943 (grub_env_get_menu): Likewise.
28944 * include/grub/env_private.h: New file.
28945 * include/grub/normal.h (grub_context_init): New prototype.
28946 (grub_context_fini): Likewise.
28947 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28948 * normal/context.c (grub_cmd_export): ... to here.
28949 * kern/env.c: Include env_private.h.
28950 (HASHSZ): Moved to include/grub/env_private.h.
28951 (grub_env_context): Likewise.
28952 (grub_env_sorted_var): Likewise.
28953 (current_context): Renamed from this ...
28954 (grub_current_context): ...to this. 'static' removed. All users updated.
28955 (grub_env_find): Removed 'static'.
28956 (grub_env_context_open): Moved to normal/context.c.
28957 (grub_env_context_close): Likewise.
28958 (grub_env_export): Likewise.
28959 (mangle_data_slot_name): Removed.
28960 (grub_env_set_data_slot): Likewise.
28961 (grub_env_get_data_slot): Likewise.
28962 (grub_env_unset_data_slot): Likewise.
28963 * kern/main.c (grub_set_root_dev): Don't export root.
28964 It will be done later.
28965 (grub_main): Don't export prefix.
28966 It will be done later.
28967 * normal/context.c: New file.
28968 * normal/main.c (free_menu): Use grub_env_unset_menu.
28969 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28970 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28971 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28972 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28973
8dd35b8c
VS
289742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 setpci support.
28977
28978 * commands/setpci.c: New file.
28979 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28980 (setpci_mod_SOURCES): New variable.
28981 (setpci_mod_CFLAGS): Likewise.
28982 (setpci_mod_LDFLAGS): Likewise.
28983
449193d5
VS
289842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28985
28986 Byte-addressable PCI configuration space.
28987
28988 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28989 dword address.
28990 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28991 GRUB_PCI_REG_CACHELINE.
28992 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28993 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28994 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28995 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28996 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28997 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28998 grub_pci_make_address.
28999 (lock_rom_area): Likewise.
29000 * commands/lspci.c (grub_lspci_iter): Use macroses
29001 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29002 of grub_pci_make_address.
29003 * disk/ata.c (grub_ata_pciinit): Likewise.
29004 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29005 (GRUB_PCI_REG_VENDOR): Likewise.
29006 (GRUB_PCI_REG_DEVICE): Likewise.
29007 (GRUB_PCI_REG_COMMAND): Likewise.
29008 (GRUB_PCI_REG_STATUS): Likewise.
29009 (GRUB_PCI_REG_REVISION): Likewise.
29010 (GRUB_PCI_REG_CLASS): Likewise.
29011 (GRUB_PCI_REG_CACHELINE): Likewise.
29012 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29013 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29014 (GRUB_PCI_REG_BIST): Likewise.
29015 (GRUB_PCI_REG_ADDRESSES): Likewise.
29016 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29017 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29018 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29019 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29020 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29021 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29022 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29023 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29024 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29025 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29026 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29027 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29028 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29029 (GRUB_PCI_REG_MIN_GNT): Likewise.
29030 (GRUB_PCI_REG_MAX_LAT): Likewise.
29031 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29032 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29033 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29034 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29035 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29036 space.
29037
96d73208
RM
290382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29039
29040 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29041 can be reliably determined to be supported.
29042
d4484482
RM
290432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29044
29045 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29046 that VESA is supported.
29047 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29048 supported.
29049
00308ecf
VS
290502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29053
f66924a4
RM
290542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * util/misc.c (make_system_path_relative_to_its_root): Work around
29057 special-casing of "/", as previous incarnation of this routine did.
29058
cbca0ada
VS
290592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 Fix any-emu compilation.
29062
29063 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29064 * grub_bin2h_SOURCES: New variable.
29065
34a66d99
RM
290662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29067
29068 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29069
94fabf58
RM
290702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * util/grub.d/00_header.in: Fix handling of locale_dir.
29073
02cf98ca
VS
290742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29075
29076 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29077 as possible unifont location (Gentoo).
29078 Reported by: Alexander Brüning
29079
327dbcd7
VS
290802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29081
29082 Don't try to generate lists for kernel.img.
29083
29084 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29085 (pkglib_MODULES): Remove kernel.img.
29086 (kernel_img_EXPORTS): Removed.
29087 (kernel_img_RELOCATABLE): New variable.
29088 * conf/x86_64-efi.rmk: Likewise.
29089 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29090
ca467290
VS
290912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29092
29093 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29094 grub_xasprintf or grub_snprintf.
29095 (grub_vsprintf): Likewise.
29096 (grub_snprintf): New proto.
29097 (grub_vsnprintf): Likewise.
29098 (grub_xasprintf): Likewise.
29099 (grub_xvasprintf): Likewise.
29100 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29101 (grub_sprintf): Removed.
29102 (grub_vsnprintf): New function.
29103 (grub_snprintf): Likewise.
29104 (grub_xvasprintf): Likewise.
29105 (grub_xasprintf): Likewise.
29106 (grub_vsprintf): Renamed to ...
29107 (grub_vsnprintf_real): ...this. New argument max_len.
29108
aca655fd
BC
291092010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29110
29111 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29112 fix grub-script-check warning.
29113
7ee92c32
VS
291142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 * include/grub/font.h (grub_font_load): Fix prototype.
29117
f80927ca
VS
291182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29119
29120 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29121
119c50ea
VS
291222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29123
29124 * include/grub/x86_64/at_keyboard.h: New file.
29125
47d5f3c1
VS
291262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29127
29128 * loader/mips/linux.c: Include missing grub/i18n.h.
29129
55ff5266
RM
291302009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29131
29132 * normal/menu.c (notify_execution_failure): Clarify error message.
29133
c893cc87
RM
291342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29135
29136 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29137 return value (and revert all return statements). Update users.
29138
917dd370
CW
291392010-01-20 Dan Merillat <debian@dan.merillat.org>
29140
29141 * kern/device.c (grub_device_iterate): Allocate new part_ent
29142 structure based on sizeof (*p) rather than sizeof (p->next), to
29143 account for structure padding.
29144
29145 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29146 disk is NULL, which might happen for LVM physical volumes with no
29147 LVM signature.
29148
d4a4ee57
RM
291492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29150
29151 * loader/mips/linux.c (grub_cmd_initrd)
29152 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29153
291542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29155
29156 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29157 (grub_video_video_init, grub_video_bitmap_init)
29158 (grub_font_manager_init, grub_term_gfxterm_init)
29159 (grub_at_keyboard_init): New extern declarations.
29160 (grub_machine_init): Initialize gfxterm and at_keyboard.
29161
29162 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29163
29164 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29165 `gfxterm.mod' into core image.
29166
29167 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29168 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29169 (kernel_img_FORMAT): Copy to ...
29170
29171 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29172 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29173 (kernel_img_FORMAT): ... here, and ...
29174
29175 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29176 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29177 (kernel_img_FORMAT): ... here.
29178
29179 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29180 and input (at_keyboard) terminals in kernel.
29181 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29182
29183 (pkglib_MODULES): Remove `pci.mod'.
29184 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29185 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29186 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29187 (at_keyboard_mod_LDFLAGS): Remove variables.
29188
291892010-01-11 Felix Zielcke <fzielcke@z-51.de>
29190
29191 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29192
291932009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29194
29195 * include/grub/mips/libgcc.h: Only export symbols for functions
29196 that libgcc provides.
29197
291982009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29199
29200 MIPS support.
29201
29202 * bus/bonito.c: New file.
29203 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29204 GRUB_PCI_NUM_DEVICES.
29205 * term/i386/pc/serial.c: Move to ...
29206 * term/serial.c: ... here. All users updated.
29207 * util/i386/pc/grub-mkimage.c: Move to ...
29208 * util/grub-mkrawimage.c: ... here. All users updated.
29209 * term/i386/pc/at_keyboard.c: Move to ...
29210 * term/at_keyboard.c: ... here. All users updated.
29211 * conf/mips-qemu-mips.rmk: New file.
29212 * conf/mips-yeeloong.rmk: Likewise.
29213 * conf/mips.rmk: Likewise.
29214 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29215 mipsel-qemu-mips.
29216 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29217 to port addresses.
29218 (grub_ata_pciinit): Support CS5536.
29219 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29220 * font/font_cmd.c (loadfont_command): Open file before passing it to
29221 grub_font_load.
29222 (pseudo_file_read): New function.
29223 (pseudo_file_close): Likewise.
29224 (pseudo_fs): New structure.
29225 (load_font_module): New function.
29226 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29227 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29228 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29229 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29230 * include/grub/i386/at_keyboard.h: Split into ...
29231 * include/grub/at_keyboard.h: ... this ...
29232 * include/grub/i386/at_keyboard.h: ... and this.
29233 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29234 New prototype.
29235 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29236 updated.
29237 (grub_elf64_size): Likewise.
29238 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29239 filename.
29240 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29241 * include/grub/i386/coreboot/serial.h: Rewritten.
29242 * include/grub/i386/ieee1275/serial.h: Include
29243 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29244 * include/grub/i386/pc/serial.h: Moved from here ...
29245 * include/grub/serial.h: ... to here. All users updated.
29246 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29247 (GRUB_PCI_NUM_BUS): Likewise.
29248 (GRUB_PCI_NUM_DEVICES): Likewise.
29249 (grub_pci_device_map_range): Add missing volatile keyword.
29250 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29251 * include/grub/mips/at_keyboard.h: New file.
29252 * include/grub/mips/cache.h: Likewise.
29253 * include/grub/mips/io.h: Likewise.
29254 * include/grub/mips/kernel.h: Likewise.
29255 * include/grub/mips/libgcc.h: Likewise.
29256 * include/grub/mips/pci.h: Likewise.
29257 * include/grub/mips/qemu-mips/boot.h: Likewise.
29258 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29259 * include/grub/mips/qemu-mips/loader.h: Likewise.
29260 * include/grub/mips/qemu-mips/memory.h: Likewise.
29261 * include/grub/mips/qemu-mips/serial.h: Likewise.
29262 * include/grub/mips/qemu-mips/time.h: Likewise.
29263 * include/grub/mips/relocator.h: Likewise.
29264 * include/grub/mips/time.h: Likewise.
29265 * include/grub/mips/types.h: Likewise.
29266 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29267 * include/grub/mips/yeeloong/boot.h: Likewise.
29268 * include/grub/mips/yeeloong/kernel.h: Likewise.
29269 * include/grub/mips/yeeloong/loader.h: Likewise.
29270 * include/grub/mips/yeeloong/memory.h: Likewise.
29271 * include/grub/mips/yeeloong/pci.h: Likewise.
29272 * include/grub/mips/yeeloong/serial.h: Likewise.
29273 * include/grub/mips/yeeloong/time.h: Likewise.
29274 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29275 * kern/elf.c (grub_elf32_size): New parameter. All users
29276 updated.
29277 (grub_elf64_size): Likewise.
29278 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29279 Load modules before saying "Welcome to GRUB!".
29280 Call grub_refresh after saying "Welcome to GRUB!".
29281 * kern/mips/cache.S: New file.
29282 * kern/mips/cache_flush.S: Likewise.
29283 * kern/mips/dl.c: Likewise.
29284 * kern/mips/init.c: Likewise.
29285 * kern/mips/qemu-mips/init.c: Likewise.
29286 * kern/mips/startup.S: Likewise.
29287 * kern/mips/yeeloong/init.c: Likewise.
29288 * kern/term.c (grub_putcode): Handle NULL terminal.
29289 (grub_getcharwidth): Likewise.
29290 (grub_getkey): Likewise.
29291 (grub_checkkey): Likewise.
29292 (grub_getkeystatus): Likewise.
29293 (grub_getxy): Likewise.
29294 (grub_getwh): Likewise.
29295 (grub_gotoxy): Likewise.
29296 (grub_cls): Likewise.
29297 (grub_setcolorstate): Likewise.
29298 (grub_setcolor): Likewise.
29299 (grub_getcolor): Likewise.
29300 (grub_refresh): Likewise.
29301 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29302 (write_jump): Add hatch nop.
29303 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29304 * lib/mips/setjmp.S: New file.
29305 * loader/mips/linux.c: Likewise.
29306 * term/i386/pc/at_keyboard.c: Move from here ...
29307 * term/at_keyboard.c: ... to here.
29308 * term/i386/pc/serial.c: Moved from here ...
29309 * term/serial.c: ... to here. All users updated.
29310 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29311 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29312 (serial_translate_key_sequence): Avoid deadlock.
29313 (grub_serial_getkey): Handle backspace.
29314 (grub_serial_putchar): Fix newline handling.
29315 * util/i386/pc/grub-mkimage.c: Move from here ...
29316 * util/grub-mkrawimage.c: ... to here. All users updated.
29317 (generate_image): New parameters 'font_path' and 'format'.
29318 Support embedding font.
29319 Use grub_host_to_target* instead of grub_cpu_to_le*.
29320 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29321 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29322 (options): New option "--font".
29323 (usage): Likewise.
29324 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29325 (main): Handle "--font".
29326 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29327 (grub_virtual_screen_setup): Set bg_color_display.
29328 (redraw_screen_rect): Use bg_color_display instead of incorrect
29329 bg_color.
29330 (grub_gfxterm_cls): Likewise.
29331 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29332 Support embedding config file.
29333 (add_segments): Likewise.
29334 (options): New option "--config".
29335 (main): Handle "--config".
29336 * video/sm712.c: New file.
29337
25c2b5b3
RM
293382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29339
29340 Fix parallel builds.
29341
29342 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29343 font.c depend on ascii.h).
29344
293452010-01-12 Carles Pina i Estany <carles@pina.cat>
29346
29347 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29348
293492010-01-11 Carles Pina i Estany <carles@pina.cat>
29350
29351 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29352 By default: disabled.
29353 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29354 parameter.
29355
293562010-01-10 Carles Pina i Estany <carles@pina.cat>
29357
29358 * font/font.c: Update copyright years.
29359 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29360
293612010-01-10 Carles Pina i Estany <carles@pina.cat>
29362
29363 * font/font.c: Include `ascii.h'.
29364 (ASCII_BITMAP_SIZE): New macro.
29365 (ascii_font_glyph): Define.
29366 (ascii_glyph_lookup): New function.
29367 (grub_font_get_string_width): Change comment. If glyph not found, use
29368 ascii_glyph_lookup.
29369 (grub_font_get_glyph_with_fallback): If glyph not available returns
29370 ascii_glyph_lookup.
29371 * util/grub-mkfont.c (file_formats): New enum.
29372 (options): Add `ascii-bitmaps' new option.
29373 (usage): Add `asii-bitmaps' new option.
29374 (write_font_ascii_bitmap): New function.
29375 (write_font): Rename to ...
29376 (write_font_p2): ... this. Remove print_glyphs call.
29377 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29378 used. Call print_glyphs.
29379 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29380
293812010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29382
29383 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29384 (grub_bin2h_SOURCES): New variable.
29385 * util/bin2h.c: New file.
29386
915fc1b8
VS
293872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29388
29389 * include/multiboot.h: Resynced with spec.
29390 * include/multiboot2.h: Likewise.
29391 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29392 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29393
9444b678
RM
293942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29395
29396 * include/grub/term.h (grub_term_register_input,
29397 grub_term_register_output): Check return of terminal init()
29398 routines, and abort if errors are raised.
29399
29400 * commands/terminal.c: Update copyright year.
29401
cba98e8d
RM
294022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29403
29404 * commands/terminal.c (grub_cmd_terminal_input)
29405 (grub_cmd_terminal_output): Check return of terminal init()
29406 routines, and abort if errors are raised.
29407
6f7db5d6
VS
294082010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 * include/grub/i386/bsd.h: Fix include pathes.
29411
262bff8d
VS
294122010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 Add missing *BSD copyright headers.
29415
29416 * include/grub/aout.h: Add BSD licence.
29417 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29418 * include/grub/i386/freebsd_linker.h: ... here,
29419 * include/grub/i386/freebsd_reboot.h: ... here,
29420 * include/grub/i386/netbsd_bootinfo.h: ... here,
29421 * include/grub/i386/netbsd_reboot.h: ... here,
29422 * include/grub/i386/openbsd_bootarg.h: ... here,
29423 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29424 licence to each file.
29425
b2cab848
RM
294262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29427
29428 * acinclude.m4: Remove `nop' assembly instruction; it's not
29429 implemented by all architectures.
29430
2cb6be4b
RM
294312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29432
29433 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29434 ELILO. This is no longer necessary.
29435
a2eaee15
BC
294362010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29437
29438 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29439
29440 * util/grub-script-check.c: grub-script-check tool.
29441 * conf/common.rmk: Make rules for grub-script-check.
29442
88d17012
RM
294432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29444
29445 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29446 spotting it back in 2008. Shame on me for forgetting he did.
29447
29448 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29449
8040619d
RM
294502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29451
29452 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29453 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29454 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29455 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29456 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29457 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29458
a0c2a0f6
RM
294592010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29460
29461 * include/grub/test.h: Add license header.
29462 * tests/example_functional_test.c: Likewise.
29463 * tests/example_unit_test.c: Likewise.
29464 * tests/lib/functional_test.c: Likewise.
29465 * tests/lib/test.c: Likewise.
29466 * tests/lib/unit_test.c: Likewise.
29467
b0b13907
VS
294682010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 Use flag-based instead of hook-based video mode selection and "auto"
29471 keyword.
29472
29473 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29474 (grub_video_set_mode): Changed prototype. All users updated.
29475 (grub_video_check_mode_flag): New inline function.
29476 * video/video.c (parse_modespec): New function.
29477 (grub_video_set_mode): Parse flags and keywords.
29478
ea379330 294792010-01-17 Carles Pina i Estany <carles@pina.cat>
29480
29481 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29482 fprintf call.
29483
e15c215e
FZ
294842010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29485
29486 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29487
409ae1c9 294882010-01-16 Carles Pina i Estany <carles@pina.cat>
29489
29490 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29491 string.
29492 * util/grub-emu.c (usage): Likewise.
29493 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29494 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29495 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29496 * util/i386/pc/grub-setup.c (usage): Likewise.
29497
70a14d3d 294982010-01-16 Carles Pina i Estany <carles@pina.cat>
29499
29500 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29501 the message.
29502 (grub_util_info): Likewise.
29503 (grub_util_error): Likewise.
29504 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29505 and/or new lines in `grub_util_warna', `grub_util_info',
29506 `grub_util_error' calls.
29507 * util/getroot.c: Likewise.
29508 * util/grub-editenv.c: Likewise.
29509 * util/grub-emu.c: Likewise.
29510 * util/grub-fstest.c: Likewise.
29511 * util/grub-mkdevicemap.c: Likewise.
29512 * util/grub-mkfont.c: Likewise.
29513 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29514 * util/grub-mkrelpath.c: Likewise.
29515 * util/grub-pe2elf.c: Likewise.
29516 * util/grub-probe.c: Likewise.
29517 * util/hostdisk.c: Likewise.
29518 * util/i386/efi/grub-mkimage.c: Likewise.
29519 * util/i386/pc/grub-mkimage.c: Likewise.
29520 * util/i386/pc/grub-setup.c: Likewise.
29521 * util/ieee1275/ofpath.c: Likewise.
29522 * util/mkisofs/eltorito.c: Likewise.
29523 * util/mkisofs/rock.c: Likewise.
29524 * util/mkisofs/write.c: Likewise.
29525 * util/raid.c: Likewise.
29526 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29527 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29528
a0b766fc
VS
295292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 Enable multiboot on non-pc.
29532
29533 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29534 multiboot.mod and multiboot2.mod to ...
29535 * conf/i386.rmk (pkglib_MODULES): ... here.
29536 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29537 Moved to ...
29538 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29539 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29540 Moved to ...
29541 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29542 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29543 Moved to ...
29544 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29545 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29546 Moved to ...
29547 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29548 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29549 relocator.mod.
29550 (ata_mod_SOURCES): Removed.
29551 (ata_mod_CFLAGS): Likewise.
29552 (ata_mod_LDFLAGS): Likewise.
29553 (relocator_mod_SOURCES): Removed.
29554 (relocator_mod_CFLAGS): Likewise.
29555 (relocator_mod_ASFLAGS): Likewise.
29556 (relocator_mod_LDFLAGS): Likewise.
29557 Include i386.mk.
29558 * include/grub/x86_64/multiboot.h: New file.
29559 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29560 Terminate EFI.
29561
884ade56
VS
295622010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29563
29564 Video multiboot support.
29565
29566 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29567 New prototype.
29568 * include/multiboot.h: Resynced with multiboot specification.
29569 * include/multiboot2.h: Likewise.
29570 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29571 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29572 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29573 (HAS_VGA_TEXT): Likewise.
29574 (accepts_video): New variable.
29575 (grub_multiboot_set_accepts_video): New function.
29576 (grub_multiboot_get_mbi_size): Account for video structures.
29577 (set_video_mode): New function.
29578 (retrieve_video_parameters): Likewise.
29579 (grub_multiboot_make_mbi): Fill video fields.
29580
0d90e8a6
VS
295812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29582
29583 Video driver ids.
29584
29585 * include/grub/video.h (grub_video_driver_id): New type.
29586 (grub_video_adapter): New member 'id'. All users updated.
29587 (grub_video_get_driver_id): New proto.
29588 * video/video.c (grub_video_get_driver_id): New function.
29589
5c71db1b 295902010-01-14 Carles Pina i Estany <carles@pina.cat>
29591
29592 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29593 `var=val'.
29594
cca15b52 295952010-01-14 Carles Pina i Estany <carles@pina.cat>
29596
29597 * normal/cmdline.c (print_completion): Gettextizze.
29598
c586fbb2 295992001-01-14 Carles Pina i Estany <carles@pina.cat>
29600
29601 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29602
ba2f6848 296032010-01-14 Carles Pina i Estany <carles@pina.cat>
29604
29605 * gettext/gettext.c (grub_gettext_translate): Push and pop
29606 grub_errno.
29607 (grub_gettext_delete_list): Change comment style.
29608 * kern/err.c (grub_error): Gettextizze.
29609 (grub_fatal): Gettextizze.
29610
0a46429a
RM
296112010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29612
29613 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29614 (grub_linux16_real_boot): ... this.
29615 * kern/i386/loader.S: Likewise.
29616 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29617 (grub_linux16_boot): New function. Switches to text mode and calls
29618 grub_linux16_real_boot().
29619
29620 * loader/i386/bsd.c: Include `<grub/video.h>'.
29621 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29622 text mode before calling grub_unix_real_boot().
29623
29624 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29625 (grub_multiboot_boot): Switch to text mode before calling
29626 grub_relocator32_boot().
29627
29628 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29629 (grub_chainloader_boot): Switch to text mode before calling
29630 grub_chainloader_real_boot().
29631
d6f93a66
RM
296322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296332010-01-05 Colin Watson <cjwatson@ubuntu.com>
29634
29635 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29636 non-empty value.
29637
296382010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296392010-01-05 Colin Watson <cjwatson@ubuntu.com>
29640
29641 * util/grub.d/00_header.in: Define a "savedefault" function for use
29642 in menu entries.
29643 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29644
296452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296462010-01-05 Colin Watson <cjwatson@ubuntu.com>
29647
29648 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29649 saved_entry if boot_once is unset.
29650 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29651 previous saved entry (i.e. grub-reboot).
29652
296532009-12-08 Colin Watson <cjwatson@ubuntu.com>
29654
29655 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29656
296572009-12-08 Colin Watson <cjwatson@ubuntu.com>
29658
29659 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29660 `var=val'.
29661 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29662
296632009-12-08 Colin Watson <cjwatson@ubuntu.com>
29664
29665 * util/grub-reboot.in: Fix --version output.
29666 * util/grub-set-default.in: Likewise.
29667
296682009-12-08 Colin Watson <cjwatson@ubuntu.com>
29669
29670 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29671 blocks.
29672
296732009-12-08 Colin Watson <cjwatson@ubuntu.com>
29674
29675 * util/grub.d/00_header.in: Quote the value assigned to `default',
29676 in case it contains spaces.
29677
296782009-12-08 Colin Watson <cjwatson@ubuntu.com>
29679
29680 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29681 `save_default_entry' call from the macosx case to the linux case.
29682
296832009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
296842009-10-25 Colin Watson <cjwatson@ubuntu.com>
29685
29686 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29687 in `chosen' environment variable.
29688 * normal/menu_text.c (get_entry_number): Check if the variable
29689 matches the title of a menu entry.
29690 (run_menu): Pass menu to get_entry_number.
29691
29692 * util/grub-reboot.in: New file.
29693 * util/grub-set-default.in: New file.
29694 * conf/common.rmk (grub-reboot): New utility.
29695 (grub-set-default): New utility.
29696
29697 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29698 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29699 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29700 move it to `saved_entry' for the next boot. Load environment on
29701 initialisation.
29702 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29703 * util/grub.d/10_hurd.in: Likewise.
29704 * util/grub.d/10_linux.in (linux_entry): Likewise.
29705 * util/grub.d/10_windows.in: Likewise.
29706 * util/grub.d/30_os-prober.in: Likewise.
29707
29708 * util/grub-install.in: Create environment block.
29709 * util/i386/efi/grub-install.in: Likewise.
29710 * util/ieee1275/grub-install.in: Likewise.
29711 * util/sparc64/ieee1275/grub-install.in: Likewise.
29712
0934d184
BC
297132010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29714
29715 Unit testing framework for GRUB.
29716
29717 * Makefile.in: Test framework build rules for 'make check'.
29718 * conf/tests.rmk: Build rules for individual tests and framework.
29719
29720 * include/grub/test.h: Header file for whitebox tests.
29721 * tests/lib/functional_test.c: Framework support for whitebox
29722 functional tests.
29723 * tests/lib/test.c: Common whitebox testing code for unit and
29724 functional tests.
29725 * tests/lib/unit_test.c: Framework support for whitebox unit
29726 tests.
29727
29728 * tests/util/grub-shell-tester.in: Support utility for grub-script
29729 tests.
29730 * tests/util/grub-shell.in: Utility to execute grub-script
29731 commands in a Qemu instance.
29732
29733 * tests/example_functional_test.c: Example whitebox functional
29734 test.
29735 * tests/example_grub_script_test.in: Example grub-script test.
29736 * tests/example_scripted_test.in: Example scripted test.
29737 * tests/example_unit_test.c: Example whitebox unit test.
29738
9c4ffeeb
VS
297392010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29742 Add loader/i386/multiboot_mbi.c.
29743 (multiboot2_mod_SOURCES): Likewise.
29744 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29745 (multiboot2_mod_SOURCES): Likewise.
29746 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29747 (grub_multiboot_make_mbi): Likewise.
29748 (grub_multiboot_free_mbi): Likewise.
29749 (grub_multiboot_init_mbi): Likewise.
29750 (grub_multiboot_add_module): Likewise.
29751 (grub_multiboot_set_bootdev): Likewise.
29752 * loader/i386/multiboot.c (mbi): Removed.
29753 (mbi_dest): Likewise.
29754 (alloc_mbi): New variable.
29755 (grub_multiboot_payload_size): Removed. All users updated.
29756 (grub_multiboot_pure_size): New variable.
29757 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29758 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29759 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29760 (grub_fill_multiboot_mmap): Likewise.
29761 (grub_multiboot_get_bootdev): Likewise.
29762 (grub_multiboot): Use multiboot_mbi functions.
29763 * loader/i386/multiboot_mbi.c: New file.
29764
17383dfe
VS
297652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29766
29767 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29768 it would result in module crash.
29769
c1f28820
VS
297702010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29771
29772 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29773 (grub_ofconsole_getwh): Split to ...
29774 (grub_ofconsole_getwh): ... this.
29775 (grub_ofconsole_dimensions): ...and this.
29776 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29777
58655a16
RM
297782010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29779
29780 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29781
10891398
VS
297822010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29783
29784 * loader/i386/pc/multiboot2.c: Removed stalled file.
29785
0b8a223c
VS
297862010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29787
29788 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29789 Reported by: Grégoire Sutre
29790
92ab12b0
RM
297912010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29792
29793 * util/misc.c (canonicalize_file_name): New function.
29794 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29795 instead of realpath().
29796
a788afb6
CW
297972010-01-11 Colin Watson <cjwatson@ubuntu.com>
29798
29799 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29800 and make it clearer that it's optional. Based on confusion
29801 witnessed on IRC.
29802
ffa8e3d2
VS
298032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29804
29805 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29806 in premature implicit newline.
29807
e9060a9d
VS
298082010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29809
29810 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29811 which resulted in garbled command line at the end of screen.
29812
f0d0c0b7
RM
298132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29814
29815 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29816 initialization with similar approach as with other Linux loaders.
29817
0e60bae7
RM
298182010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 Fix i386-ieee1275 build.
29821
29822 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29823 and grub_term_height() for video_{width,height} initialization.
29824
298252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29826
29827 Fix grub-emu build.
29828
29829 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29830
cdb3f378
RM
298312010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
298322010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29833
29834 Support for multiple terminals.
29835
29836 * Makefile.in (pkglib_DATA): terminal.lst.
29837 (terminal.lst): New target.
29838 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29839 (GRUB_MOD_INIT(handler)): Likewise.
29840 (GRUB_MOD_FINI(handler)): Likewise.
29841 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29842 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29843 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29844 (grub_cmd_sleep): Use grub_term_save_pos.
29845 * commands/terminal.c: New file.
29846 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29847 commands/terminal.c and lib/charset.c.
29848 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29849 (pkglib_MODULES): Add terminal.mod.
29850 (terminal_mod_SOURCES): New variable.
29851 (terminal_mod_CFLAGS): Likewise.
29852 (terminal_mod_LDFLAGS): Likewise.
29853 * genhandlerlist.sh: Don't handle terminals.
29854 * genmk.rb: Generate terminal-*.lst.
29855 * genterminallist.sh: New file.
29856 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29857 (grub_is_valid_utf8): Likewise.
29858 (grub_utf8_to_ucs4_alloc): Likewise.
29859 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29860 (grub_menu_register_viewer): Changed argument.
29861 (grub_menu_try_text): New proto.
29862 (grub_gfxmenu_try_hook): New declaration.
29863 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29864 (grub_menu_init_page): Additional argument term.
29865 (grub_normal_init_page): Likewise.
29866 (grub_cmdline_get): Arguments simplified.
29867 (grub_utf8_to_ucs4_alloc): Removed.
29868 (grub_print_ucs4): Additional argument term.
29869 (grub_getstringwidth): Likewise.
29870 (grub_print_message_indented): Likewise.
29871 (grub_menu_text_register_instances): New proto.
29872 (grub_show_menu): Likewise.
29873 (read_terminal_list): Likewise.
29874 (grub_set_more): Likewise.
29875 * include/grub/parser.h: Include handler.h.
29876 * include/grub/reader.h: Rewritten.
29877 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29878 (GRUB_TERM_WIDTH): Changed to function.
29879 (GRUB_TERM_HEIGHT): Likewise.
29880 (GRUB_TERM_BORDER_WIDTH): Likewise.
29881 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29882 (GRUB_TERM_NUM_ENTRIES): Likewise.
29883 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29884 (GRUB_TERM_CURSOR_X): Likewise.
29885 (grub_term_input_class): Likewise.
29886 (grub_term_output_class): Likewise.
29887 (grub_term_outputs_disabled): New declaration.
29888 (grub_term_inputs_disabled): Likewise.
29889 (grub_term_outputs): Likewise.
29890 (grub_term_inputs): Likewise.
29891 (grub_term_register_input): Rewritten.
29892 (grub_term_register_output): Likewise.
29893 (grub_term_unregister_input): Likewise.
29894 (grub_term_unregister_output): Likewise.
29895 (FOR_ACTIVE_TERM_INPUTS): New macro.
29896 (FOR_DISABLED_TERM_INPUTS): Likewise.
29897 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29898 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29899 * include/grub/terminfo.h: Add oterm argument to all protypes.
29900 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29901 Use grub_rescue_run.
29902 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29903 All users updated.
29904 * kern/reader.c: Removed. All users updated.
29905 * kern/rescue_reader.c (grub_rescue_init): Removed.
29906 (grub_rescue_reader): Likewise.
29907 (grub_register_rescue_reader): Likewise.
29908 (grub_rescue_run): New function based on kern/reader.c.
29909 * kern/term.c: Adapted for multiterm.
29910 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29911 (grub_is_valid_utf8): Likewise.
29912 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29913 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29914 right terminal.
29915 * loader/i386/linux.c (grub_linux_boot): Likewise.
29916 * normal/auth.c (grub_username_get): New function.
29917 (grub_auth_check_authentication): Use grub_username_get.
29918 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29919 * normal/color.c: Adapt for multiterm.
29920 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29921 (grub_normal_init_page): Additional argument term.
29922 (read_lists): Call read_terminal_lists.
29923 (grub_enter_normal_mode): Call grub_cmdline_run.
29924 Handle grub_normal_exit_level.
29925 (grub_cmd_normal): Make reentrant.
29926 (grub_cmd_normal_exit): New function.
29927 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29928 * normal/menu.c: Adapt for multiterm.
29929 * normal/menu_entry.c: Likewise.
29930 * normal/menu_text.c: Likewise.
29931 * normal/menu_viewer.c: Removed. All users updated.
29932 * normal/term.c: New file.
29933 * util/console.c: Change order of includes to workaround a bug in
29934 ncurses headers.
29935 * term/terminfo.c: New argument oterm on all exported functions.
29936 All users updated.
29937 * util/grub-editenv.c (grub_term_input_class): Removed.
29938 (grub_term_output_class): Likewise.
29939
1a064917
RM
299402010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29941
29942 Make loader output a bit more user-friendly.
29943
29944 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29945 is being loaded. Likewise for the Hurd.
29946
29947 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29948 that kernel of FreeBSD ${version} is being loaded.
29949
29950 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29951 grub_dprintf().
29952 (grub_cmd_initrd): Likewise.
29953 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29954 that Linux ${version} is being loaded. Likewise for initrd.
29955
5ce0a83a 299562010-01-09 Carles Pina i Estany <carles@pina.cat>
29957
29958 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29959
809bbfeb 299602010-01-08 Carles Pina i Estany <carles@pina.cat>
29961
29962 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29963 (GRUB_MOD_INIT): Gettextizze.
29964 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29965 (GRUB_MOD_INIT): Gettextizze.
29966 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29967 (grub_cmd_linux): Capitalise Linux.
29968 (GRUB_MOD_INIT): Gettextizze.
29969 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29970 (grub_cmd_linux): Capitalise Linux.
29971 (GRUB_MOD_INIT): Gettextizze.
29972 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29973 (grub_cmd_linux): Capitalise Linux.
29974 (GRUB_MOD_INIT): Gettextizze.
29975 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29976 (GRUB_MOD_INIT): Gettextizze.
29977 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29978 (grub_cmd_linux): Capitalise Linux.
29979 (GRUB_MOD_INIT): Gettextizze.
29980 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29981 (grub_cpu_xnu_init): Gettextizze.
29982 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29983 (GRUB_MOD_INIT): Gettextizze.
29984 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29985 (GRUB_MOD_INIT): Gettextizze.
29986 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29987 (grub_linux_load64): Capitalise Linux.
29988 (GRUB_MOD_INIT): Gettextizze.
29989 * loader/xnu.c: Include `<grub/i18n.h>'.
29990 (GRUB_MOD_INIT): Gettextizze.
29991 * po/POTFILES: Add `loader/efi/appleloader.c',
29992 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29993 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29994 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29995 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29996 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29997 and `loader/xnu.c'.
29998
b394b2ca
RM
299992010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30000
30001 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30002
300032010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30004
30005 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30006 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30007 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30008
bc8b32b3
RM
300092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30010
30011 Reset Multiboot 2 support. New loader implements the draft in
30012 /branches/multiboot2 and shares as much code as possible with the
30013 production Multiboot 1 implementation.
30014
30015 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30016 * loader/multiboot2.c: Likewise.
30017 * loader/i386/multiboot_helper.S: Likewise.
30018 * include/multiboot2.h: Replace with latest version from the draft
30019 in /branches/multiboot2.
30020
30021 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30022 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30023 and `loader/multiboot2.c'.
30024 (pkglib_MODULES): Add `multiboot2.mod'.
30025 (multiboot2_mod_SOURCES): New variable.
30026 (multiboot2_mod_LDFLAGS): Likewise.
30027 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30028
30029 * conf/i386-pc.rmk: Likewise.
30030
30031 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30032 (multiboot_mod_SOURCES): Remove variable.
30033 (multiboot_mod_LDFLAGS): Likewise.
30034 (multiboot_mod_CFLAGS): Likewise.
30035
30036 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30037 `<multiboot2.h>' instead of `<multiboot.h>'.
30038 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30039 (MULTIBOOT_HEADER_MAGIC): New macros.
30040
30041 * loader/multiboot_loader.c (module_version_status): Remove variable.
30042 (find_multi_boot2_header): Remove function.
30043 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30044 logic. Always check for the Multiboot version we're compiling for.
30045 (grub_cmd_module_loader): Likewise.
30046 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30047 command instead of `multiboot'.
30048
5d2c52b8
RM
300492010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30052 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30053 all users.
30054
53108d92
RM
300552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
300562010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30057
30058 Fix breakage introduced with previous commit.
30059
30060 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30061 commands.
30062 * normal/handler.c (read_handler_list): Revert part of previous commit
30063 affecting this file.
30064 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30065 (grub_normal_execute): ... here.
30066
e2e936b2
RM
300672010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30068
30069 Merge prefix-redefinition-fix branch.
30070
30071 * normal/autofs.c (read_fs_list): Make function capable of being
30072 run multiple times, gracefuly replacing the previous data
30073 structures.
30074 * normal/dyncmd.c (read_command_list): Likewise.
30075 * normal/handler.c (read_handler_list): Likewise.
30076 * normal/main.c (read_lists): New function. Calls all the
30077 list reading functions.
30078 (grub_normal_execute): Use read_lists() instead of calling all
30079 list reading functions explicitly. Register read_lists() as a
30080 variable hook attached to ${prefix}.
30081
607a3701
VS
300822010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30083
30084 Merge crypto branch.
30085
30086 * Makefile.in (pkglib_DATA): Add crypto.lst.
30087 (crypto.lst): New target.
30088 * commands/hashsum.c: New file.
30089 * commands/password.c (check_password): Use grub_crypto_memcmp.
30090 * commands/password_pbkdf2.c: New file.
30091 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30092 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30093 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30094 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30095 -I$(srcdir)/lib/libgcrypt_wrap.
30096 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30097 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30098 password_pbkdf2.mod.
30099 (crypto_mod_SOURCES): New variable.
30100 (crypto_mod_CFLAGS): Likewise.
30101 (crypto_mod_LDFLAGS): Likewise.
30102 (hashsum_mod_SOURCES): New variable.
30103 (hashsum_mod_CFLAGS): Likewise.
30104 (hashsum_mod_LDFLAGS): Likewise.
30105 (pbkdf2_mod_SOURCES): New variable.
30106 (pbkdf2_mod_CFLAGS): Likewise.
30107 (pbkdf2_mod_LDFLAGS): Likewise.
30108 (password_pbkdf2_mod_SOURCES): New variable.
30109 (password_pbkdf2_mod_CFLAGS): Likewise.
30110 (password_pbkdf2_mod_LDFLAGS): Likewise.
30111 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30112 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30113 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30114 Include conf/gcry.rmk.
30115 * include/grub/auth.h: Rewritten.
30116 * include/grub/crypto.h: New file.
30117 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30118 * include/grub/normal.h (read_crypto_list): New prototype.
30119 * lib/crypto.c: New file.
30120 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30121 * lib/pbkdf2.c: Likewise.
30122 * normal/auth.c (grub_auth_strcmp): Removed.
30123 (grub_iswordseparator): Likewise.
30124 (grub_auth_strword): Likewise.
30125 (is_authenticated): Use grub_strword.
30126 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30127 and grub_strword. Pass entered password to authentication callback.
30128 * normal/crypto.c: New file.
30129 * normal/main.c: Call read_crypto_list.
30130 * util/grub-mkpasswd-pbkdf2.c: New file.
30131 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30132
42841caa
VS
301332010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30134
30135 Fix descent and ascent calculation.
30136
30137 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30138 (options): New option "asce".
30139 (usage): Likewise.
30140 (add_char): Ignore invalid glyphs for descent calculation.
30141 Calculate ascent from actual content.
30142 (print_glyphs): Use 'asce'.
30143 (write_font): Likewise. Allow ascent override.
30144 (main): Handle "asce" option.
30145
e7730de7 301462010-01-06 Carles Pina i Estany <carles@pina.cat>
30147
30148 * kern/err.c: Include `<grub/i18n.h>'.
30149 (grub_print_error): Add full stop. Gettextizze.
30150 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30151 (grub_bsd_load_elf): Capitalise ELF.
30152 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30153 (grub_cmd_freebsd_module): Likewise.
30154 (grub_cmd_freebsd_module_elf): Likewise.
30155 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30156
40e3a41f 301572010-01-06 Carles Pina i Estany <carles@pina.cat>
30158
30159 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30160 * commands/search_file.c (HELP_MESSAGE): New macro.
30161 * commands/search_label.c (HELP_MESSAGE): Likewise.
30162 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30163 * po/POTFILES: Add `commands/search_file.c',
30164 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30165 `commands/search.c'.
30166
83507e68
RM
301672010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30168
30169 * config.rpath: Update from Gnulib.
30170
465c787b
YB
301712010-01-05 Yves Blusseau <blusseau@zetam.org>
30172
30173 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30174
6581dd3a
YB
301752010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30176
30177 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30178
3bff18c5
CW
301792010-01-05 Colin Watson <cjwatson@ubuntu.com>
30180
30181 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30182 arguments to fread so that we get a return value in bytes, rather
30183 than something that will normally be rounded down to 0.
30184 Adjust error handling to avoid producing garbage when size_t is not
30185 the same size as long long.
30186
a1368118
CW
301872010-01-05 Colin Watson <cjwatson@ubuntu.com>
30188
30189 * util/mkisofs/write.c (padblock_write): Check return value of
30190 fread.
30191
7c302978
RM
301922010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30193
30194 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30195 floppy images now.
30196
30197 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30198
e33ace06
RM
301992010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30200
30201 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30202 instead of manual alignment.
30203 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30204 verbose). Avoid attempts to read past end of the device
30205 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30206 but GRUB_DISK_CACHE_SIZE may exceed that).
30207
4b856776
RM
302082010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30211 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30212 it to upper layer.
30213
52c2d97f
VS
302142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30215
30216 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30217 New constant.
30218 (grub_efi_piwg_device_path): New structure
30219 (grub_efi_piwg_device_path_t): New type.
30220 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30221 (devpath_1): Transform to a structure. All users updated.
30222 (devpath_2): Likewise.
30223 (devpath_3): Likewise.
30224 (devpath_4): Likewise.
30225 (devpath_5): Likewise.
30226
98ff6a54
VS
302272010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30228
30229 * loader/efi/appleloader.c: Restored. Update all users.
30230
3a73dcb6
RM
302312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30232
30233 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30234
30235 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30236 (struct boot_blocklist): Move from here ...
30237 * include/grub/i386/pc/boot.h [ASM_FILE]
30238 (struct grub_boot_blocklist): ... to here. Update all users.
30239 (setup): Only initialize `start' member of `first_block'
30240 structure. Add assert() calls to verify the other members.
30241
30242 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30243 (generate_image): Fix broken blocklist length initialization.
30244 Add assert() call to verify blocklist `segment' field.
30245
ab0eeb0c
RM
302462010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30247
30248 * loader/efi/appleloader.c: Remove. Update all users.
30249
58bc8bd5
RM
302502010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30251
30252 * boot/i386/pc/boot.S: Update copyright year.
30253 * boot/i386/pc/cdboot.S: Likewise.
30254 * boot/i386/pc/diskboot.S: Likewise.
30255 * boot/i386/pc/lnxboot.S: Likewise.
30256 * boot/i386/pc/pxeboot.S: Likewise.
30257 * bus/pci.c: Likewise.
30258 * commands/cmp.c: Likewise.
30259 * commands/help.c: Likewise.
30260 * commands/hexdump.c: Likewise.
30261 * commands/i386/pc/halt.c: Likewise.
30262 * commands/i386/pc/play.c: Likewise.
30263 * commands/i386/pc/vbeinfo.c: Likewise.
30264 * commands/ls.c: Likewise.
30265 * commands/test.c: Likewise.
30266 * disk/dmraid_nvidia.c: Likewise.
30267 * disk/i386/pc/biosdisk.c: Likewise.
30268 * disk/ieee1275/nand.c: Likewise.
30269 * disk/ieee1275/ofdisk.c: Likewise.
30270 * disk/lvm.c: Likewise.
30271 * disk/raid.c: Likewise.
30272 * disk/raid6_recover.c: Likewise.
30273 * disk/scsi.c: Likewise.
30274 * fs/affs.c: Likewise.
30275 * fs/cpio.c: Likewise.
30276 * fs/ext2.c: Likewise.
30277 * fs/hfs.c: Likewise.
30278 * fs/iso9660.c: Likewise.
30279 * fs/ntfs.c: Likewise.
30280 * fs/sfs.c: Likewise.
30281 * fs/udf.c: Likewise.
30282 * fs/ufs.c: Likewise.
30283 * fs/xfs.c: Likewise.
30284 * gencmdlist.sh: Likewise.
30285 * genmk.rb: Likewise.
30286 * include/grub/disk.h: Likewise.
30287 * include/grub/efi/api.h: Likewise.
30288 * include/grub/efi/efi.h: Likewise.
30289 * include/grub/efi/pe32.h: Likewise.
30290 * include/grub/elf.h: Likewise.
30291 * include/grub/fs.h: Likewise.
30292 * include/grub/i386/at_keyboard.h: Likewise.
30293 * include/grub/i386/pc/memory.h: Likewise.
30294 * include/grub/i386/pc/vbe.h: Likewise.
30295 * include/grub/i386/pci.h: Likewise.
30296 * include/grub/i386/tsc.h: Likewise.
30297 * include/grub/ieee1275/ieee1275.h: Likewise.
30298 * include/grub/ntfs.h: Likewise.
30299 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30300 * include/grub/sparc64/libgcc.h: Likewise.
30301 * include/grub/symbol.h: Likewise.
30302 * include/grub/types.h: Likewise.
30303 * include/multiboot2.h: Likewise.
30304 * io/gzio.c: Likewise.
30305 * kern/device.c: Likewise.
30306 * kern/disk.c: Likewise.
30307 * kern/efi/efi.c: Likewise.
30308 * kern/efi/mm.c: Likewise.
30309 * kern/elf.c: Likewise.
30310 * kern/file.c: Likewise.
30311 * kern/i386/dl.c: Likewise.
30312 * kern/i386/pc/init.c: Likewise.
30313 * kern/i386/pc/startup.S: Likewise.
30314 * kern/ieee1275/ieee1275.c: Likewise.
30315 * kern/ieee1275/init.c: Likewise.
30316 * kern/main.c: Likewise.
30317 * kern/mm.c: Likewise.
30318 * kern/powerpc/dl.c: Likewise.
30319 * kern/sparc64/dl.c: Likewise.
30320 * kern/x86_64/dl.c: Likewise.
30321 * lib/hexdump.c: Likewise.
30322 * loader/efi/appleloader.c: Likewise.
30323 * loader/i386/ieee1275/linux.c: Likewise.
30324 * loader/i386/pc/chainloader.c: Likewise.
30325 * loader/i386/pc/linux.c: Likewise.
30326 * loader/i386/pc/multiboot2.c: Likewise.
30327 * loader/ieee1275/multiboot2.c: Likewise.
30328 * loader/multiboot2.c: Likewise.
30329 * loader/multiboot_loader.c: Likewise.
30330 * loader/powerpc/ieee1275/linux.c: Likewise.
30331 * normal/completion.c: Likewise.
30332 * normal/menu_entry.c: Likewise.
30333 * partmap/apple.c: Likewise.
30334 * util/grub.d/10_hurd.in: Likewise.
30335 * util/hostfs.c: Likewise.
30336 * video/readers/png.c: Likewise.
30337
e2d70b5c
CW
303382010-01-03 Colin Watson <cjwatson@ubuntu.com>
30339
30340 * include/grub/misc.h (GNUC_PREREQ): New macro.
30341 (ATTRIBUTE_ERROR): New macro.
30342 * include/grub/list.h (grub_bad_type_cast_real): Use
30343 ATTRIBUTE_ERROR.
30344
a173283f 303452010-01-03 Carles Pina i Estany <carles@pina.cat>
30346
30347 * normal/menu_text.c (print_message): Change messages.
30348
7fa7ff74 303492010-01-03 Carles Pina i Estany <carles@pina.cat>
30350
30351 * normal/menu_entry.c (store_completion): Gettextizze.
30352
136d24f6 303532010-01-03 Carles Pina i Estany <carles@pina.cat>
30354
30355 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30356
f936862e 303572010-01-03 Carles Pina i Estany <carles@pina.cat>
30358
30359 * po/POTFILES: Sort correctly.
30360
29c44ad1 303612010-01-03 Carles Pina i Estany <carles@pina.cat>
30362
30363 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30364 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30365 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30366 full stop.
30367 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30368 summary. Gettextizze the strings.
30369 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30370 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30371 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30372 full stop.
30373 (GRUB_MOD_INIT): Remove command name from summary.
30374 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30375 summary.
30376 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30377 * term/i386/pc/serial.c (options): Add full stops.
30378 (GRUB_MOD_INIT): Remove command name from the summary.
30379
77a79592 303802010-01-03 Carles Pina i Estany <carles@pina.cat>
30381
30382 * commands/acpi.c: Gettextizze help strings and/or options. Include
30383 `grub/i18n.h' if needed.
30384 * commands/blocklist.c: Likewise.
30385 * commands/boot.c: Likewise.
30386 * commands/cat.c: Likewise.
30387 * commands/cmp.c: Likewise.
30388 * commands/configfile.c: Likewise.
30389 * commands/crc.c: Likewise.
30390 * commands/date.c: Likewise.
30391 * commands/echo.c: Likewise.
30392 * commands/efi/fixvideo.c: Likewise.
30393 * commands/efi/loadbios.c: Likewise.
30394 * commands/gptsync.c: Likewise.
30395 * commands/halt.c: Likewise.
30396 * commands/handler.c: Likewise.
30397 * commands/hdparm.c: Likewise.
30398 * commands/hexdump.c: Likewise.
30399 * commands/i386/cpuid.c: Likewise.
30400 * commands/i386/pc/drivemap.c: Likewise.
30401 * commands/i386/pc/halt.c: Likewise.
30402 * commands/i386/pc/pxecmd.c: Likewise.
30403 * commands/i386/pc/vbeinfo.c: Likewise.
30404 * commands/i386/pc/vbetest.c: Likewise.
30405 * commands/ieee1275/suspend.c: Likewise.
30406 * commands/keystatus.c: Likewise.
30407 * commands/loadenv.c: Likewise.
30408 * commands/ls.c: Likewise.
30409 * commands/lsmmap.c: Likewise.
30410 * commands/lspci.c: Likewise.
30411 * commands/memrw.c: Likewise.
30412 * commands/minicmd.c: Likewise.
30413 * commands/parttool.c: Likewise.
30414 * commands/password.c: Likewise.
30415 * commands/probe.c: Likewise.
30416 * commands/read.c: Likewise.
30417 * commands/reboot.c: Likewise.
30418 * commands/search.c: Likewise.
30419 * commands/sleep.c: Likewise.
30420 * commands/test.c: Likewise.
30421 * commands/true.c: Likewise.
30422 * commands/usbtest.c: Likewise.
30423 * commands/videotest.c: Likewise.
30424 * commands/xnu_uuid.c: Likewise.
30425 * disk/loopback.c: Likewise.
30426 * hello/hello.c: Likewise.
30427 * loader/i386/bsd.c: Likewise.
30428 * term/i386/pc/serial.c: Likewise.
30429 * po/POTFILES: Add new files.
30430
da8d5c53
CW
304312010-01-02 Colin Watson <cjwatson@ubuntu.com>
30432
30433 * term/i386/pc/at_keyboard.c
30434 (keyboard_controller_wait_untill_ready): Rename to ...
30435 (keyboard_controller_wait_until_ready): ... this. Update all users.
30436
33937904 304372010-01-01 Carles Pina i Estany <carles@pina.cat>
30438
30439 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30440 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30441 string using string width.
30442 * normal/menu_text.c (grub_print_message_indented): Use
30443 grub_print_spaces and not print_spaces.
30444 (print_timeout): Likewise.
30445 (print_spaces): Move to...
30446 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30447
3fd3b8d8
RM
304482010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30449
30450 Import from Gnulib.
30451
30452 * gnulib/getdelim.c: New file.
30453 * gnulib/getline.c: Likewise.
30454
33433555
VS
304552009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30456
30457 * include/grub/list.h (grub_assert_fail): Removed.
30458 (grub_bad_type_cast_real): New function.
30459 (grub_bad_type_cast): New macro.
30460 (GRUB_AS_LIST): Use grub_bad_type_cast.
30461 (GRUB_AS_LIST_P): Likewise.
e44721e8 30462 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30463 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30464 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30465 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30466 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30467
f5a51306
VS
304682009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30469
30470 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30471 Fix syntax error.
30472
90d1e879
RM
304732009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30474
30475 * configure.ac: Check for TARGET_CFLAGS initialization before we
30476 initialize it ourselves (sigh).
30477 Move a few modifications to TARGET_CFLAGS to be unconditional
30478 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30479 eh_frame)
30480
30481 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30482 * term/i386/pc/at_keyboard.c
30483 (keyboard_controller_wait_untill_ready): Likewise.
30484 (keyboard_controller_led): Rename `led_status' paramter to avoid
30485 name conflict.
30486
465b5a81 304872009-12-28 Carles Pina i Estany <carles@pina.cat>
30488
30489 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30490 quotes.
30491
c181849b
VS
304922009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30493
30494 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30495
9c8739a4
VS
304962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30497
30498 * normal/menu_text.c (grub_print_message_indented): Prevent
30499 past-the-end-of-array dereference.
30500
3e74249c
VS
305012009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30502
30503 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30504 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30505
64fd18ed 305062009-12-27 Carles Pina i Estany <carles@pina.cat>
30507
30508 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30509 * normal/main.c (grub_normal_read_line): Remove a space from the
30510 default prompt.
30511
714af9b9 305122009-12-27 Carles Pina i Estany <carles@pina.cat>
30513
30514 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30515 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30516 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30517 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30518 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30519 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30520 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30521
82f3e412 305222009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30523
30524 * video/readers/jpeg.c (cmd): Declare.
30525 (grub_cmd_jpegtest): Use `grub_command_t' type.
30526 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30527 Assign to `cmd'.
30528 (GRUB_MOD_FINI): Use `cmd' to unregister.
30529 * video/readers/png.c (cmd): Declare.
30530 (grub_cmd_pngtest): Use `grub_command_t' type.
30531 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30532 Assign to `cmd'.
30533 (GRUB_MOD_FINI): Use `cmd' to unregister.
30534 * video/readers/tga.c (cmd): Declare.
30535 (grub_cmd_tgatest): Use `grub_command_t' type.
30536 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30537 Assign to `cmd'.
30538 (GRUB_MOD_FINI): Use `cmd' to unregister.
30539
82f3e412 305402009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30541
30542 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30543 stops.
30544 * kern/corecmd.c (grub_register_core_commands): Likewise.
30545 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30546 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30547 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30548 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30549 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30550 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30551 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30552 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30553 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30554 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30555 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30556 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30557 * normal/handler.c (insert_handler): Likewise.
30558 * normal/main.c (GRUB_MOD_INIT): Likewise.
30559 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30560
fdcdbb66 305612009-12-26 Carles Pina i Estany <carles@pina.cat>
30562
30563 * commands/help.c (grub_cmd_help): Print the command name before the
30564 summary.
30565 (GRUB_MOD_INIT): Remove command name from the summary.
30566 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30567 string as summary.
fdcdbb66 30568 * lib/arg.c (find_long): Print the command name before the summary.
30569 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30570 summary.
30571 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30572 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30573 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30574 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30575 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30576 * commands/date.c (GRUB_MOD_INIT): Likewise.
30577 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30578 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30579 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30580 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30581 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30582 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30583 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30584 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30585 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30586 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30587 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30588 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30589 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30590 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30591 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30592 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30593 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30594 * commands/password.c (GRUB_MOD_INIT): Likewise.
30595 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30596 * commands/read.c (GRUB_MOD_INIT): Likewise.
30597 * commands/search.c (GRUB_MOD_INIT): Likewise.
30598 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30599 * commands/test.c (GRUB_MOD_INIT): Likewise.
30600 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30601 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30602 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30603 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30604 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30605 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30606 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30607 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30608 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30609 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30610 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30611 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30612 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30613 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30614
9c288be2
VS
306152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30616
30617 Use search command for preliminar UUID search.
30618
30619 * commands/search.c: Split into ...
30620 * commands/search_wrap.c: ...this
30621 * commands/search.c: ...and this.
30622 * commands/search_file.c: New file.
30623 * commands/search_label.c: New file.
30624 * commands/search_uuid.c: New file.
30625 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30626 Add commands/search_wrap.c, commands/search_file.c,
30627 commands/search_label.c and commands/search_uuid.c.
30628 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30629 (search_mod_SOURCES): Set to commands/search_wrap.c.
30630 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30631 search_label.mod.
30632 (search_fs_file_mod_SOURCES): New variable.
30633 (search_fs_file_mod_CFLAGS): Likewise.
30634 (search_fs_file_mod_LDFLAGS): Likewise.
30635 (search_label_mod_SOURCES): Likewise.
30636 (search_label_mod_CFLAGS): Likewise.
30637 (search_label_mod_LDFLAGS): Likewise.
30638 (search_fs_uuid_mod_SOURCES): New variable.
30639 (search_fs_uuid_mod_CFLAGS): Likewise.
30640 (search_fs_uuid_mod_LDFLAGS): Likewise.
30641 (fs_file_mod_SOURCES): Removed.
30642 (fs_file_mod_CFLAGS): Likewise.
30643 (fs_file_mod_LDFLAGS): Likewise.
30644 (fs_uuid_mod_SOURCES): Removed.
30645 (fs_uuid_mod_CFLAGS): Likewise.
30646 (fs_uuid_mod_LDFLAGS): Likewise.
30647 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30648 Set to util/grub-install.in.
30649 * disk/fs_file.c: Removed.
30650 * disk/fs_uuid.c: Likewise.
30651 * include/grub/search.h: New file.
30652 * util/grub-install.in: Handle sparc64.
30653 Create and use load.cfg.
30654 * util/sparc64/ieee1275/grub-install.in: Removed.
30655
db943399
VS
306562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30657
30658 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30659 Ignore return status if CF is cleared.
30660 (grub_biosdisk_get_diskinfo_standard): Likewise.
30661
3fdae612
RM
306622009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30663
30664 * term/i386/pc/at_keyboard.c
30665 (keyboard_controller_wait_untill_ready): New function.
30666 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30667 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30668 for keyboard polling, rather than duplicate the same loop. This
30669 saves a few bytes in code size.
30670
7ebaa2b4
VS
306712009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30672
30673 Support for (pxe[:server[:gateway]]) syntax and
30674 use environment variable for PXE.
30675
30676 * commands/i386/pc/pxecmd.c (options): Removed.
30677 (print_ip): Removed.
30678 (grub_cmd_pxe): Removed
30679 (grub_cmd_pxe_unload): New function.
30680 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30681 (grub_pxe_your_ip): Made static.
30682 (grub_pxe_default_server_ip): Likewise.
30683 (grub_pxe_default_gateway_ip): Likewise.
30684 (grub_pxe_blksize): Likewise.
30685 (parse_ip): New function.
30686 (grub_pxe_open): Support server and gateway specification.
30687 (grub_pxe_close): Free disk->data.
30688 (grub_pxefs_open): Use disk->data.
30689 (grub_pxefs_read): Likewise.
30690 (grub_env_write_readonly): New function.
30691 (set_mac_env): Likewise.
30692 (set_env_limn_ro): Likewise.
30693 (parse_dhcp_vendor): Likewise.
30694 (grub_pxe_detect): Set the environment variables.
30695 (set_ip_env): New function.
30696 (write_ip_env): Likewise.
30697 (grub_env_write_pxe_default_server): Likewise.
30698 (grub_env_write_pxe_default_gateway): Likewise.
30699 (grub_env_write_pxe_blocksize): Likewise.
30700 (GRUB_MOD_INIT(pxe)): Set environment variables.
30701 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30702 (grub_pxe_mac_addr_t): ... this. All users updated.
30703 (grub_pxe_your_ip): Removed.
30704 (grub_pxe_server_ip): Likewise.
30705 (grub_pxe_gateway_ip): Likewise.
30706 (grub_pxe_blksize): Likewise.
30707
ec5f98ab 307082009-12-25 Carles Pina i Estany <carles@pina.cat>
30709
30710 * commands/help.c: Include `<grub/i18n.h>'.
30711 (grub_cmd_help): Gettextizze.
30712 (GRUB_MOD_INIT): Likewise.
30713 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30714 (GRUB_MOD_INIT): Gettextizze.
30715 * commands/search.c: Include `<grub/i18n.h>'.
30716 (options): Gettextizze.
30717 (GRUB_MOD_INIT): Gettextizze.
30718 * lib/arg.c: Include `<grub/i18n.h>'.
30719 (help_options): Gettextizze.
30720 (find_long): Likewise.
30721 (grub_arg_show_help): Likewise.
30722 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30723 (read_command_list): Gettextizze.
30724 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30725 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30726
22815526
RM
307272009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30728
30729 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30730 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30731 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30732 (led_status): New variable.
30733 (keyboard_controller_led): New function.
30734 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30735 update led status for caps lock, num lock and scroll lock.
30736
0ad46fd7
FZ
307372009-12-25 Felix Zielcke <fzielcke@z-51.de>
30738
30739 * util/hostdisk.c (open_device): Fix a comment.
30740
d0e158c2
RM
307412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30742
30743 * util/grub-install.in (host_os): New variable.
30744 * util/i386/efi/grub-install.in (host_os): Likewise.
30745
401c0ad6
RM
307462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30747
30748 * util/mkisofs/write.c (padblock_write): Abort when given an
30749 excedingly large embed image, instead of silently truncating it.
30750
d14d3370
RM
307512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30752
30753 * include/multiboot.h: Indentation fixes.
30754
eeed10b4
RM
307552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30756
30757 * include/multiboot.h (struct multiboot_aout_symbol_table)
30758 (struct multiboot_elf_section_header_table): New structure
30759 declarations (stolen from GRUB Legacy).
30760 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30761 table information.
30762
30763 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30764 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30765 type aliases.
30766
681c70ab
RM
307672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30768
30769 * include/multiboot.h: Make comments src2texi-friendly.
30770
e4d47d8d
RM
307712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30772
30773 For consistency with [multiboot]/docs/boot.S.
30774
30775 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30776 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30777 (MULTIBOOT_MAGIC2): Rename from this ...
30778 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30779
a0b70bda
RM
307802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30781
30782 * include/multiboot.h: Remove `<grub/types.h>'.
30783 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30784 types. Update all users.
30785
61ba42be 307862009-12-25 Carles Pina i Estany <carles@pina.cat>
30787
30788 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30789 `couldn't' and `can not' by `cannot'.
30790 * commands/i386/pc/drivemap.c: Likewise.
30791 * disk/ata.c: Likewise.
30792 * disk/ieee1275/nand.c: Likewise.
30793 * fs/affs.c: Likewise.
30794 * fs/fat.c: Likewise.
30795 * fs/hfs.c: Likewise.
30796 * fs/hfsplus.c: Likewise.
30797 * fs/iso9660.c: Likewise.
30798 * fs/jfs.c: Likewise.
30799 * fs/minix.c: Likewise.
30800 * fs/reiserfs.c: Likewise.
30801 * fs/sfs.c: Likewise.
30802 * fs/udf.c: Likewise.
30803 * fs/ufs.c: Likewise.
30804 * fs/xfs.c: Likewise.
30805 * loader/powerpc/ieee1275/linux.c: Likewise.
30806 * loader/sparc64/ieee1275/linux.c: Likewise.
30807 * util/grub-probe.c: Likewise.
30808 * util/misc.c: Likewise.
30809
7fd0baee 308102009-12-24 Carles Pina i Estany <carles@pina.cat>
30811
30812 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30813 grub_errno calls.
30814 * commands/acpi.c: Likewise.
30815 * commands/blocklist.c: Likewise.
30816 * commands/efi/loadbios.c: Likewise.
30817 * commands/i386/pc/drivemap.c: Likewise.
30818 * commands/loadenv.c: Likewise.
30819 * commands/memrw.c: Likewise.
30820 * commands/password.c: Likewise.
30821 * commands/videotest.c: Likewise.
30822 * disk/ata.c: Likewise.
30823 * disk/ata_pthru.c: Likewise.
30824 * disk/dmraid_nvidia.c: Likewise.
30825 * disk/ieee1275/nand.c: Likewise.
30826 * disk/ieee1275/ofdisk.c: Likewise.
30827 * disk/loopback.c: Likewise.
30828 * disk/lvm.c: Likewise.
30829 * disk/mdraid_linux.c: Likewise.
30830 * disk/raid.c: Likewise.
30831 * disk/raid6_recover.c: Likewise.
30832 * disk/scsi.c: Likewise.
30833 * efiemu/main.c: Likewise.
30834 * efiemu/mm.c: Likewise.
30835 * efiemu/pnvram.c: Likewise.
30836 * efiemu/symbols.c: Likewise.
30837 * font/font.c: Likewise.
30838 * fs/cpio.c: Likewise.
30839 * fs/hfsplus.c: Likewise.
30840 * fs/iso9660.c: Likewise.
30841 * fs/jfs.c: Likewise.
30842 * fs/minix.c: Likewise.
30843 * fs/ntfs.c: Likewise.
30844 * fs/ntfscomp.c: Likewise.
30845 * fs/reiserfs.c: Likewise.
30846 * fs/ufs.c: Likewise.
30847 * fs/xfs.c: Likewise.
30848 * gettext/gettext.c: Likewise.
30849 * include/grub/auth.h: Likewise.
30850 * kern/elf.c: Likewise.
30851 * kern/file.c: Likewise.
30852 * kern/ieee1275/init.c: Likewise.
30853 * kern/ieee1275/mmap.c: Likewise.
30854 * kern/ieee1275/openfw.c: Likewise.
30855 * kern/powerpc/dl.c: Likewise.
30856 * kern/sparc64/dl.c: Likewise.
30857 * lib/arg.c: Likewise.
30858 * loader/i386/bsd.c: Likewise.
30859 * loader/i386/bsdXX.c: Likewise.
30860 * loader/i386/efi/linux.c: Likewise.
30861 * loader/i386/efi/xnu.c: Likewise.
30862 * loader/i386/ieee1275/linux.c: Likewise.
30863 * loader/i386/linux.c: Likewise.
30864 * loader/i386/multiboot.c: Likewise.
30865 * loader/i386/pc/linux.c: Likewise.
30866 * loader/i386/pc/multiboot2.c: Likewise.
30867 * loader/i386/xnu.c: Likewise.
30868 * loader/ieee1275/multiboot2.c: Likewise.
30869 * loader/macho.c: Likewise.
30870 * loader/machoXX.c: Likewise.
30871 * loader/multiboot2.c: Likewise.
30872 * loader/multiboot_loader.c: Likewise.
30873 * loader/powerpc/ieee1275/linux.c: Likewise.
30874 * loader/sparc64/ieee1275/linux.c: Likewise.
30875 * loader/xnu.c: Likewise.
30876 * loader/xnu_resume.c: Likewise.
30877 * mmap/i386/pc/mmap.c: Likewise.
30878 * normal/menu_viewer.c: Likewise.
30879 * partmap/acorn.c: Likewise.
30880 * partmap/amiga.c: Likewise.
30881 * partmap/apple.c: Likewise.
30882 * script/lexer.c: Likewise.
30883 * term/gfxterm.c: Likewise.
30884 * term/i386/pc/serial.c: Likewise.
30885 * term/i386/pc/vga.c: Likewise.
30886 * term/ieee1275/ofconsole.c: Likewise.
30887 * term/terminfo.c: Likewise.
30888 * video/bitmap.c: Likewise.
30889 * video/efi_gop.c: Likewise.
30890 * video/efi_uga.c: Likewise.
30891 * video/fb/video_fb.c: Likewise.
30892 * video/i386/pc/vbe.c: Likewise.
30893 * video/readers/tga.c: Likewise.
30894 * video/video.c: Likewise.
30895
0ad46fd7 308962009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30897
30898 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30899 * commands/lspci.c: Likewise.
30900 * commands/probe.c: Likewise.
30901 * commands/xnu_uuid.c: Likewise.
30902 * conf/i386-coreboot.rmk: Likewise.
30903 * conf/i386-efi.rmk: Likewise.
30904 * conf/i386-ieee1275.rmk: Likewise.
30905 * conf/i386-pc.rmk: Likewise.
30906 * conf/powerpc-ieee1275.rmk: Likewise.
30907 * conf/sparc64-ieee1275.rmk: Likewise.
30908 * conf/x86_64-efi.rmk: Likewise.
30909 * fs/i386/pc/pxe.c: Likewise.
30910 * gettext/gettext.c: Likewise.
30911 * include/grub/efi/graphics_output.h: Likewise.
30912 * include/grub/i386/pc/memory.h: Likewise.
30913 * kern/env.c: Likewise.
30914 * kern/i386/qemu/startup.S: Likewise.
30915 * lib/i386/pc/biosnum.c: Likewise.
30916 * lib/i386/relocator.c: Likewise.
30917 * lib/i386/relocator_asm.S: Likewise.
30918 * lib/relocator.c: Likewise.
30919 * loader/i386/bsd.c: Likewise.
30920 * loader/i386/multiboot.c: Likewise.
30921 * loader/i386/pc/chainloader.c: Likewise.
30922 * loader/i386/xnu.c: Likewise.
30923 * loader/xnu.c: Likewise.
30924 * normal/main.c: Likewise.
30925 * normal/menu_text.c: Likewise.
30926 * util/getroot.c: Likewise.
30927 * util/grub-mkconfig_lib.in: Likewise.
30928 * util/grub.d/00_header.in: Likewise.
30929 * util/i386/pc/grub-mkimage.c: Likewise.
30930 * util/mkisofs/eltorito.c: Likewise.
30931 * util/mkisofs/exclude.h: Likewise.
30932 * util/mkisofs/hash.c: Likewise.
30933 * util/mkisofs/iso9660.h: Likewise.
30934 * util/mkisofs/joliet.c: Likewise.
30935 * util/mkisofs/mkisofs.c: Likewise.
30936 * util/mkisofs/mkisofs.h: Likewise.
30937 * util/mkisofs/multi.c: Likewise.
30938 * util/mkisofs/name.c: Likewise.
30939 * util/mkisofs/rock.c: Likewise.
30940 * util/mkisofs/tree.c: Likewise.
30941 * util/mkisofs/write.c: Likewise.
30942 * video/efi_gop.c: Likewise.
30943
009ec743
VS
309442009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30947 size counting.
30948
0ad46fd7 309492009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30950
30951 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30952 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30953
d3d30ea0
VS
309542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30955
30956 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30957 (GRUB_MOD_INIT(memrw)): Update help line.
30958
a34f5c70
VS
309592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30960
30961 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30962 Use grub_extcmd_t. All users updated.
30963 (options): New variable.
30964 (grub_cmd_read): Restructure for readability. Support "-v" option.
30965 (grub_cmd_write): Restructure for readability.
30966
0ad46fd7 309672009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30968
30969 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30970
0ad46fd7 309712009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30972
30973 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30974 with the actual contents of the correspondending make variable.
30975 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30976 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30977 specifying `*.lst' and `efiemu??.o'
30978
0ad46fd7 309792009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30980
30981 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30982 after function name.
30983 Noticed by Rene Engelhard <rene@debian.org>.
30984
dc77a799
VS
309852009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30986
30987 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30988 (options): New variable.
30989 (iospace): Likewise.
30990 (grub_lspci_iter): List IO spaces if "-i" was given.
30991 (grub_cmd_lspci): Parse options.
30992 (GRUB_MOD_INIT(lspci)): Use extcmd.
30993 (GRUB_MOD_FINI(lspci)): Likewise.
30994
0ad46fd7 309952009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30996
30997 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30998 `function' keyword.
30999 Patch by Tony Mancill <tmancill@debian.org>.
31000
b5d5993b
VS
310012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31002
31003 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31004 (grub_uhci_portstatus): Likewise.
31005 (grub_uhci_portstatus): Add necessary delay.
11d18281 31006 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31007
941903f2 310082009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31009
941903f2 31010 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31011 (GRUB_MOD_INIT): Likewise.
31012 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31013 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31014 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31015 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31016 (enable_rom_area): Likewise.
31017 (GRUB_MOD_INIT): Likewise.
31018 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31019 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31020 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31021 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31022 * commands/hexdump.c (options): Likewise.
31023 * commands/i386/cpuid.c (options): Likewise.
31024 (GRUB_MOD_INIT): Likewise.
31025 * commands/i386/pc/drivemap.c (options): Likewise.
31026 (GRUB_MOD_INIT): Likewise.
31027 * commands/i386/pc/halt (options): Likewise.
31028 (GRUB_MOD_INIT): Likewise.
31029 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31030 * commands/i386/pc/pxecmd.c (options): Likewise.
31031 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31032 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31033 * commands/keystatus.c (options): Likewise.
31034 (GRUB_MOD_INIT): Likewise.
31035 * commands/loadenv.c (options): Likewise.
31036 * commands/ls.c (options): Likewise.
31037 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31038 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31039 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31040 * commands/parttool.c (helpmsg): Likewise.
31041 * commands/probe.c (options): Likewise.
31042 * commands/read.c (GRUB_MOD_INIT): Likewise.
31043 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31044 * commands/search.c (options): Likewise.
31045 * commands/sleep.c (options): Likewise.
31046 * commands/test.c (GRUB_MOD_INIT): Likewise.
31047 * commands/true.c (GRUB_MOD_INIT): Likewise.
31048 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31049 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31050 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31051 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31052 `$(XGETTEXT)'.
98a50553 31053 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31054
0ad46fd7 310552009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31056
ef3c2c3a 31057 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31058 instead of specifying them explicit.
31059
7922f68b
RM
310602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31061
31062 * NEWS: Add grub-probe support for GNU/Hurd.
31063
537ce47f
RM
310642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * NEWS: gettext was added after 1.97.
31067
9b214e3a
RM
310682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31069
31070 * util/mkisofs/msdos_partition.h: New file (based on
31071 include/grub/msdos_partition.h).
31072 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31073 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31074 (ld_options, main): Recognize --protective-msdos-label.
31075 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31076 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31077 (padblock_write): If `use_protective_msdos_label' is set, patch a
31078 protective DOS-style label in the output image.
31079
31080 * util/grub-mkrescue.in: Use --protective-msdos-label.
31081
e9309813
RM
310822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31083
31084 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31085 boot.
31086
0ae56929
RM
310872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31088
31089 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31090 variables.
31091 (ld_options, main): Recognize `--embedded-boot'.
31092 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31093 declarations.
31094 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31095 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31096 (padblock_write): Likewise. Rewrite to support embedded boot image.
31097
31098 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31099 for BIOS-based disk boot instead of only ElTorito.
31100
b15937b1
RM
311012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31102
31103 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31104 build (not needed for bootstrap).
31105
52cc3ce0
RM
311062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31107
31108 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31109 from i386-pc build (not needed for bootstrap).
31110 Rewrite a pair of strings.
31111
36f5ff04
RM
311122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31113
31114 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31115
973c6c85 311162009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31117
31118 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31119
05d21547
AB
311202009-12-21 Andreas Born <futur.andy@googlemail.com>
31121
31122 * kern/env.c (grub_env_context_open): Mark exported variable for
31123 reexport.
31124
0175d51f
AB
311252009-12-21 Andreas Born <futur.andy@googlemail.com>
31126
31127 * kern/env.c (grub_env_export): Create nonexistent variables before
31128 exporting.
31129
7f39d92f 311302009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31131
7f39d92f 31132 * include/grub/auth.h: Include `<grub/i18n.h>'.
31133 (GRUB_GET_PASSWORD): Gettextizze string.
31134 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31135 menu_text.c.
31136 (grub_utf8_to_ucs4_alloc): Fix indentation.
31137 (grub_print_ucs4): Likewise.
31138 (grub_getstringwidth): Likewise.
31139 (print_message_indented): New declaration.
31140 * normal/auth.c: Include `<grub/i18n.h>'.
31141 (grub_auth_check_authentication): Gettexttize string.
31142 * normal/cmdline.c: Include `<grub/i18n.h>'.
31143 (grub_cmdline_get): Gettextizze.
31144 * normal/color.c: Include `<grub/i18n.h>'.
31145 (grub_parse_color_name_pair): Gettexttize strings.
31146 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31147 string (use `print_message_indented').
31148 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31149 `include/grub/normal.h'.
31150 (print_message_indented): Renamed to ...
31151 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31152 used in normal/main.c).
31153 (print_message): Use `grub_print_message_indented' instead of
31154 `print_message_indented'.
31155 (print_timeout): Likewise.
31156 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31157 (grub_normal_print_device_info): Gettexttize strings.
31158 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31159
3041d898
VS
311602009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31161
31162 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31163 of arguments. Return number of tokens and not arguments. All users
31164 updated.
31165
de15bf8e
VS
311662009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31167
31168 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31169 non-MSDOS paritions.
31170
e0a6ca52
VS
311712009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31172
31173 * include/grub/types.h (UNUSED): Removed since it conflicts with
31174 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31175 Reported by Grégoire Sutre.
31176
b99518d1 311772009-12-19 Carles Pina i Estany <carles@pina.cat>
31178
31179 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31180 (grub_print_ucs4_alloc): Likewise.
31181 (grub_getstringwidth): Likewise.
31182 * normal/main.c (grub_normal_init_page): Gettextize version string.
31183 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31184 (getstringwidth): Renamed to ...
31185 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31186 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31187 (grub_print_ucs4): Remove `static' qualifer (now used in
31188 normal/main.c).
31189 * po/POTFILES: Add normal/main.c.
31190
bfd5e52b 311912009-12-19 Carles Pina i Estany <carles@pina.cat>
31192
31193 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31194 (print_message_indented): Add `margin_left' and `margin_right'
31195 parameters.
31196 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31197 strings.
31198 (print_timeout): Use `print_message_indented' to print the message.
31199 Deletes `second_stage' parameter.
31200 (run_menu): Update `print_timeout' calls.
31201
5a1ad2b9
VS
312022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31203
31204 Fix console palette on OpenFirmware.
31205
31206 * term/ieee1275/ofconsole.c (MAX): Removed.
31207 (colors): Redone based on VGA palette.
31208 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31209 colors are supported.
31210 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31211
b045f00a
VS
312122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31213
31214 Fix potential EfiEmu double prepare.
31215
31216 * efiemu/main.c (prepared): New variable
31217 (grub_efiemu_unload): Set prepare to '0'.
31218 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31219
31220 set_virtual_address_map support.
31221
31222 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31223 prototype.
31224 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31225 prototype.
31226 (grub_efiemu_crc32): Likewise.
31227 (grub_efiemu_crc64): Likewise.
31228 (grub_efiemu_set_virtual_address_map): Likewise.
31229 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31230 New definition.
31231 (grub_autoefi_set_virtual_address_map): Likewise.
31232 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31233 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31234 Restructure flow to accomodate it.
31235 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31236 (grub_efiemu_crc): Recompute CRC32.
31237 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31238 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31239 * efiemu/symbols.c (relocated_handle): New variable.
31240 (grub_efiemu_free_syms): Free relocated_handle.
31241 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31242 (grub_efiemu_write_sym_markers): New function.
31243 (grub_efiemu_set_virtual_address_map): Likewise.
31244
31245 Newer XNU parameters.
31246
31247 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31248 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31249 (grub_xnu_fill_devicetree): New prototype.
31250 (grub_xnu_heap_real_start): New variable.
31251 * loader/xnu.c (get_name_ptr): New function.
31252 (grub_xnu_load_driver): Fill namelen and name.
31253
31254 64-bit xnu support.
31255
31256 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31257 and 'loader/macho64.c'.
31258 * conf/i386-pc.rmk: Likewise.
31259 * conf/x86_64-efi.rmk: Likewise.
31260 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31261 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31262 * include/grub/macho.h (grub_macho_segment64): New structure.
31263 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31264 (grub_macho_size32): ... to this.
31265 (grub_macho32_get_entry_point): Renamed from ...
31266 (grub_macho_get_entry_point32): ... to this.
31267 (grub_macho_contains_macho64): New prototype.
31268 (grub_macho_size64): Likewise.
31269 (grub_macho_get_entry_point64): Likewise.
31270 (grub_macho32_load): Renamed from ...
31271 (grub_macho_load32): ... to this.
31272 (grub_macho32_filesize): Renamed from ...
31273 (grub_macho_filesize32): ... to this.
31274 (grub_macho32_readfile): Renamed from ...
31275 (grub_macho_readfile32): ... to this.
31276 (grub_macho_filesize64): New prototype.
31277 (grub_macho_readfile64): Likewise.
31278 (grub_macho_parse32): Likewise.
31279 (grub_macho_parse64): Likewise.
31280 * loader/macho.c: Split into ...
31281 * loader/machoXX.c: ... and this. Replace 32 with XX.
31282 * loader/macho32.c: New file.
31283 * loader/macho64.c: Likewise.
31284 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31285 (grub_cmd_xnu_kernel): Make 32-bit only.
31286 (grub_cmd_xnu_kernel64): New function.
31287 (grub_xnu_load_driver): Support Mach-O 64.
31288 (grub_cmd_xnu_mkext): Likewise.
31289 * util/grub.d/30_os-prober.in (osx_entry): New function.
31290 Generate entries for 64-bit boot too.
31291
31292 Eliminate ad-hoc tree format in XNU and EfiEmu.
31293
31294 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31295 * efiemu/pnvram.c: Rewritten to use environment variables.
31296 All users updated.
31297
31298 Inline utf16_to_utf8.
31299
31300 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31301 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31302 All users updated.
31303 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31304
31305 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31306 * commands/usbtest.c (grub_usb_get_string): ... move here.
31307 (usb_print_str): Fix error handling.
31308 * include/grub/usb.h (grub_usb_get_string): Remove.
31309
31310 UTF-8 to UTF-16 transformation.
31311
31312 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31313 (charset_mod_SOURCES): New variable.
31314 (charset_mod_CFLAGS): Likewise.
31315 (charset_mod_LDFLAGS): Likewise.
31316 * include/grub/utf.h: New file.
31317 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31318
31319 Support for device properties.
31320
31321 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31322 (grub_xnu_devprop_device_header): Likewise.
31323 (grub_xnu_devprop_device_descriptor): Likewise.
31324 (grub_xnu_devprop_add_device): New prototype.
31325 (grub_xnu_devprop_remove_device): Likewise.
31326 (grub_xnu_devprop_remove_property): Likewise.
31327 (grub_xnu_devprop_add_property_utf8): Likewise.
31328 (grub_xnu_devprop_add_property_utf16): Likewise.
31329 (grub_cpu_xnu_init): Likewise.
31330 (grub_cpu_xnu_fini): Likewise.
31331 (grub_cpu_xnu_unload): Likewise.
31332 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31333 (property_descriptor): Likewise.
31334 (devices): New variable.
31335 (grub_xnu_devprop_remove_property): New function.
31336 (grub_xnu_devprop_add_device): Likewise.
31337 (grub_xnu_devprop_remove_device): Likewise.
31338 (grub_xnu_devprop_add_property): Likewise.
31339 (grub_xnu_devprop_add_property_utf8): Likewise.
31340 (grub_xnu_devprop_add_property_utf16): Likewise.
31341 (hextoval): Likewise.
31342 (grub_cpu_xnu_fill_devprop): Likewise.
31343 (grub_cmd_devprop_load): Likewise.
31344 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31345 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31346 (cmd_devprop_load): New variable.
31347 (grub_cpu_xnu_init): New function.
31348 (grub_cpu_xnu_fini): Likewise.
31349 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31350 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31351 (grub_cmd_xnu_devtree): Likewise.
31352 (hextoval): New function.
31353 (unescape): Likewise.
31354 (grub_xnu_fill_devicetree): Likewise.
31355
31356 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31357 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31358
0945f181
VS
313592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31360
31361 Workaround for broken ATI VBE.
31362
31363 * video/i386/pc/vbe.c (last_set_mode): New variable.
31364 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31365 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31366 (grub_video_vbe_setup): Don't check for reserved flag.
31367
0ad46fd7 313682009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31369
31370 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31371 the `find' command.
31372
c179ebe4
VS
313732009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31374
31375 UUID support for HFS.
31376
31377 * fs/hfs.c (grub_hfs_uuid): New function.
31378 (grub_hfs_fs): New value .uuid.
31379 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31380
0ad46fd7 313812009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31382
31383 Fix a segfault with parsing unknown long options.
31384
31385 * util/grub-mkrelpath.c (options): Zero terminate it.
31386
c4a3e41a
CPE
313872009-12-13 Carles Pina i Estany <carles@pina.cat>
31388
31389 * include/grub/misc.h (grub_puts): New declaration.
31390 (grub_puts_): Likewise.
a22008a6 31391 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31392 (grub_puts_): Likewise.
31393
2e8a7602
RM
313942009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31395
31396 * util/grub-probe.c (probe): Improve error message.
31397
b50b77b9
RM
313982009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31399
31400 * loader/i386/multiboot_elfxx.c
31401 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31402 initialization.
31403
314042009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31405
31406 Relocator framework
31407
31408 * loader/i386/xnu_helper.S: Removed. All users updated.
31409 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31410 (relocator_mod_SOURCES): New variable.
31411 (relocator_mod_CFLAGS): Likewise.
31412 (relocator_mod_LDFLAGS): Likewise.
31413 (relocator_mod_ASFLAGS): Likewise.
31414 * conf/x86_64.rmk: Likewise.
31415 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31416 (grub_multiboot_payload_entry_offset): Likewise.
31417 (grub_multiboot_forward_relocator): Likewise.
31418 (grub_multiboot_forward_relocator_end): Likewise.
31419 (grub_multiboot_backward_relocator): Likewise.
31420 (grub_multiboot_backward_relocator_end): Likewise.
31421 (grub_multiboot_payload_eip): New variable.
31422 (grub_multiboot_payload_orig): Likewise.
31423 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31424 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31425 * include/grub/i386/memory.h
31426 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31427 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31428 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31429 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31430 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31431 * include/grub/i386/relocator.h: New file.
31432 * include/grub/x86_64/relocator.h: Likewise.
31433 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31434 (XNU_RELOCATOR): New macro.
31435 (grub_xnu_launcher_start): Remove.
31436 (grub_xnu_launcher_end): Likewise.
31437 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31438 (grub_xnu_heap_real_start): Remove.
31439 (grub_xnu_heap_start): Change to void *. All users updated.
31440 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31441 * lib/i386/relocator.c: New file.
31442 * lib/i386/relocator_asm.S: Likewise.
31443 * lib/i386/relocator_backward.S: Likewise.
31444 * lib/mips/relocator.c: Likewise.
31445 * lib/mips/relocator_asm.S: Likewise.
31446 * lib/relocator.c: Likewise.
31447 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31448 (entry): Removed.
31449 (playground): Likewise.
31450 (grub_multiboot_payload_orig): New variable.
31451 (grub_multiboot_payload_dest): Likewise.
31452 (grub_multiboot_payload_size): Likewise.
31453 (grub_multiboot_payload_eip): Likewise.
31454 (grub_multiboot_payload_esp): Likewise.
31455 (grub_multiboot_boot): Use grub_relocator32_boot.
31456 (grub_multiboot_unload): Free relocators.
31457 (grub_multiboot): Setup stack. Use relocators.
31458 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31459 (grub_multiboot_load_elfXX): Use relocators.
31460 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31461 (grub_multiboot_payload_size): Likewise.
31462 (grub_multiboot_payload_dest): Likewise.
31463 (grub_multiboot_payload_entry_offset): Likewise.
31464 (grub_multiboot_forward_relocator): Likewise.
31465 (grub_multiboot_backward_relocator): Likewise.
31466 (grub_multiboot_real_boot): Likewise.
31467 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31468 (grub_xnu_entry_point): Likewise.
31469 (grub_xnu_arg1): Likewise.
31470 (grub_xnu_stack): Likewise.
31471 (grub_xnu_launch): Removed.
31472 (grub_xnu_boot_resume): New function.
31473 (grub_xnu_boot): Use relocators.
31474 * loader/i386/xnu_helper.S: Removed.
31475 * loader/xnu.c (grub_xnu_heap_start): New variable.
31476 (grub_xnu_heap_size): Likewise.
31477 (grub_xnu_heap_malloc): Use relocators.
31478 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31479
29eb90c6
VS
314802009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31481
31482 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31483 anything.
31484
31027430
CPE
314852009-12-13 Carles Pina i Estany <carles@pina.cat>
31486
31487 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31488 GRUB_ERR_NONE before calling grub_env_set.
31489
dc0c71d9
RM
314902009-12-12 Robert Millan <rmh@aybabtu.com>
31491
31492 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31493 * genmk.rb (video): New variable.
31494 (CLEANFILES, VIDEOFILES): Add #{video}.
31495 (#{video}): New target rule.
31496 * genvideolist.sh: New file.
31497 * Makefile.in (pkglib_DATA): Add video.lst.
31498 (video.lst): New target rule.
31499 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31500 `video.lst'.
31501 * util/grub.d/30_os-prober.in: Replace `vbe' with
31502 ${GRUB_VIDEO_BACKEND}.
31503
2a4bfcf0
RM
315042009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31505
31506 * THANKS: Add David Miller.
31507
2a3aa4d5
RM
315082009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31509
31510 libpciaccess support.
31511
31512 * Makefile.in (LIBPCIACCESS): New variable.
31513 (enable_grub_emu_pci): Likewise.
31514 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31515 util/pci.c and commands/lspci.c.
31516 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31517 * configure.ac (grub-emu-pci): New option.
31518 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31519 (grub_pci_device_unmap_range): Likewise.
31520 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31521 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31522 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31523 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31524 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31525 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31526 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31527 * include/grub/pciutils.h: New file.
31528 * util/pci.c: Likewise.
31529
0ad46fd7 315302009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31531
31532 * util/misc.c: Don't include <errno.h> twice.
31533
0ad46fd7 315342009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31535
31536 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31537 name in an error message.
31538 (grub_biosdisk_rw): Likewise.
31539
2e59983c
VS
315402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31541
31542 Eliminate NTFS 4Gib barrier.
31543
31544 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31545 (read_run_data): Likewise.
31546 (grub_ntfs_read_run_list): Likewise.
31547 (grub_ntfs_read_block): Likewise.
31548 (grub_ntfs_iterate_dir): Likewise.
31549 (read_mft): Likewise.
31550 (read_data): Likewise.
31551 Use COM_LOG_LEN.
31552 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31553 to avoid 64-bit division
31554 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31555 (grub_ntfs_rlst): Use grub_disk_addr_t.
31556
71ee178a
VS
315572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31558
31559 Eliminate grub-fstest 4Gib barrier.
31560
31561 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31562 (read_file): Fix error reporting.
31563
2520d4b8
VS
315642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31565
31566 Eliminate hexdump 4Gib barrier.
31567
31568 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31569 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31570
e1f27065
VS
315712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31572
31573 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31574 Fixes amarsh bug.
31575
1a0f7f45
RM
315762009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31577
31578 Remove miscellaneous files in distclean target.
31579
31580 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31581
c631d9fb
CW
315822009-12-09 Colin Watson <cjwatson@ubuntu.com>
31583
31584 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31585 if they're already set. This resolves the conflict between my
31586 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31587 fixing the --grub-probe option again.
31588 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31589 change on 2009-10-06, so that we now once again source
31590 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31591
7c7b6106
RM
315922009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31593
31594 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31595 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31596 `util/devicemap.c'.
31597
e3069ec1
CPE
315982009-12-08 Carles Pina i Estany <carles@pina.cat>
31599
31600 * include/grub/misc.h (grub_printf_): New declaration.
31601 * kern/misc.c (grub_printf_): New definition.
31602 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31603 instead of `grub_printf' and `_'.
31604 * normal/menu_entry.c (store_completion): Likewise.
31605 (run): Likewise.
31606 (grub_menu_entry_run): Likewise.
31607 * normal/menu_text.c (grub_wait_after_message): Likewise.
31608 (notify_booting): Likewise.
31609 (notify_fallback): Likewise.
31610 (notify_execution_failure): Likewise.
31611
d6ceebf1
CW
316122009-12-07 Colin Watson <cjwatson@ubuntu.com>
31613
31614 * configure.ac: Check for vasprintf.
31615 * util/misc.c (asprintf): Move allocation from here ...
31616 (vasprintf): ... to here. New function.
31617 (xasprintf): New function.
31618 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31619 prototypes.
31620 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31621 * util/grub-mkfont.c (write_font): Likewise.
31622 * util/grub-probe.c (probe): Likewise.
31623 * util/hostdisk.c (make_device_name): Likewise.
31624
de6daa8b
DM
316252009-12-06 David S. Miller <davem@sunset.davemloft.net>
31626
31627 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31628 anything even prefixed with 'cdrom' as a cdrom.
31629
0ad46fd7 316302009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31631
31632 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31633 mount points.
31634
98d3dc02
CPE
316352009-12-05 Carles Pina i Estany <carles@pina.cat>
31636
31637 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31638 grub_gettext_msg_list.
31639 (grub_gettext_gettranslation_from_position): Return const char *
31640 and not char *.
a2c1332b 31641 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31642 returns from the list if existing there.
31643 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31644 (grub_gettext_delete_list): Delete the list.
31645 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31646 lang environment variable is changed.
31647 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31648
b283f108
VS
316492009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 Rename kernel.mod to kernel.img.
31652
31653 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31654 (kernel_mod_EXPORTS): Rename to ...
31655 (kernel_img_EXPORTS): ... this.
31656 (kernel_mod_SOURCES): Rename to ...
31657 (kernel_img_SOURCES): ... this.
31658 (kernel_mod_HEADERS): Rename to ...
31659 (kernel_img_HEADERS): ... this. All users updated.
31660 (kernel_mod_CFLAGS): Rename to ...
31661 (kernel_img_CFLAGS): ... this.
31662 (kernel_mod_ASFLAGS): Rename to ...
31663 (kernel_img_ASFLAGS): ... this.
31664 (kernel_mod_LDFLAGS): Rename to ...
31665 (kernel_img_LDFLAGS): ... this.
31666 * conf/x86_64-efi.rmk: Likewise.
31667 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31668 (read_kernel_image): ... this. All users updated.
31669 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31670
69055f8a
CPE
316712009-12-05 Carles Pina i Estany <carles@pina.cat>
31672
31673 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31674 (print_spaces): New function.
31675 (grub_print_ucs4): New function.
31676 (getstringwidth): New function.
31677 (print_message_indented): New function.
31678 (print_message): Gettexttize strings using print_message_indented.
31679 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31680 width.
31681 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31682 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31683 Gettextize.
31684 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31685 string.
31686 (run): Likewise.
31687 (grub_menu_entry_run): Likewise.
31688 * PO/POTFILES: Add normal/menu_entry.c.
31689
f616f51c
VS
316902009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31691
31692 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31693
57bbe3be
CPE
316942009-12-05 Carles Pina i Estany <carles@pina.cat>
31695
31696 * util/grub-install.in: Install gettext .mo files.
31697 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31698
013d67a1
CPE
316992009-12-05 Carles Pina i Estany <carles@pina.cat>
31700
31701 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31702 grub_dprintf.
31703
fb954db0
RM
317042009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31705
31706 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31707 non-firmware-dependant one in realmode.S takes precedence.
31708
6b8474f8
RM
317092009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31710
31711 * commands/halt.c: Replace misc arch-specific headers with
31712 `<grub/misc.h>'.
31713 * commands/reboot.c: Likewise.
31714 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31715 `<grub/misc.h>'.
31716 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31717 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31718 (kernel_img_SOURCES): ... to here.
31719
31720 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31721 * include/grub/i386/pc/init.h: Likewise.
31722 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31723 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31724
31725 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31726
31727 * include/grub/i386/halt.h: Remove.
31728 * include/grub/i386/reboot.h: Likewise.
31729
31730 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31731
4b2e6ca2
DM
317322009-12-03 David S. Miller <davem@sunset.davemloft.net>
31733
31734 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31735 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31736 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31737 "progname.h"
31738 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31739 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31740 (usage): Add missing comma in printf.
31741
5239348f
RM
317422009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31743
31744 Use the same reboot approach on i386 coreboot and qemu as we do on
31745 BIOS.
31746
31747 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31748 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31749 * kern/i386/reboot.c: Remove.
31750 * include/grub/i386/reboot.h (grub_reboot): Export function.
31751 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31752 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31753 0xf000:0xfff0 instead of 0xffff:0x0000.
31754 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31755 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31756
ef34cbd4
RM
317572009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31758
31759 Fix $srcdir != $objdir build.
31760
31761 * Makefile.in (po/%.po): Rewrite as ...
31762 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31763
dc9837ea
ST
317642009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31765
31766 Fix GNU/Hurd grub-install crash.
31767 * util/grub-probe.c (probe): Try to access `path' only when it is not
31768 NULL.
31769
2f857f98
VS
317702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31771
31772 Correct module naming.
31773
31774 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31775 (GRUB_MOD_INIT(efi_uga)): ... to this
31776 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31777 (GRUB_MOD_FINI(efi_uga)): ... to this
31778 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31779 (GRUB_MOD_INIT(efi_gop)): ... to this
31780 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31781 (GRUB_MOD_FINI(efi_gop)): ... to this
31782
c5448046
RM
317832009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31784
31785 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31786 translatable.
31787 (usage): Translate `arg' strings using gettext().
31788 Thanks to Jordi Mallach for the suggestion.
31789
c85184ad
VS
317902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31791
31792 GOP support. Based on patch from Bean
31793 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31794
31795 * video/efi_gop.c: New file.
31796 * include/grub/efi/graphics_output.h: Likewise.
31797 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31798 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31799 variables.
31800 * conf/x86_64-efi.rmk: Likewise.
31801
8a4c48d8
VS
318022009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31803
31804 Rename efi_fb to efi_uga.
31805
31806 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31807 'efi_uga.mod'.
31808 (efi_fb_mod_SOURCES): Rename this ...
31809 (efi_uga_mod_SOURCES): ... to this.
31810 (efi_fb_mod_CFLAGS): Rename this ...
31811 (efi_uga_mod_CFLAGS): ... to this.
31812 (efi_fb_mod_LDFLAGS): Rename this ...
31813 (efi_uga_mod_LDFLAGS): ... to this.
31814 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31815 'efi_uga.mod'.
31816 (efi_fb_mod_SOURCES): Rename this ...
31817 (efi_uga_mod_SOURCES): ... to this.
31818 (efi_fb_mod_CFLAGS): Rename this ...
31819 (efi_uga_mod_CFLAGS): ... to this.
31820 (efi_fb_mod_LDFLAGS): Rename this ...
31821 (efi_uga_mod_LDFLAGS): ... to this.
31822 * video/efi_fb.c: Move this ...
31823 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31824
fb6c1a7b
RM
318252009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31826
31827 * po/README: New file. Explain our PO file workflow.
31828
3bc7896c
RM
318292009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31830
31831 * po/ChangeLog: Remove. Move relevant entries back to ...
31832 * ChangeLog: ... here.
31833 * po/ca.po: Remove (now handled by TLP).
31834 * po/id.po: Likewise.
31835 * po/zh_CN.po: Likewise.
31836 * Makefile.in (LINGUAS): Initialize in a way that supports
31837 empty set.
31838
9ed4841d
RM
318392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31840
31841 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31842 reliing on po/LINGUAS.
31843 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31844 (po/%.po): ... this.
31845
0ad46fd7 318462009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31847
31848 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31849 (main): Use `program_name' instead of nonexistent `progname'.
31850
e30dd392
FZ
318512009-11-26 Felix Zielcke <fzielcke@z-51.de>
31852
31853 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31854 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31855
7656de4f
RM
318562009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31857
31858 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31859 commit.
31860 * conf/i386-efi.rmk: Likewise.
31861 * conf/i386-ieee1275.rmk: Likewise.
31862 * conf/powerpc-ieee1275.rmk: Likewise.
31863 * conf/sparc64-ieee1275.rmk: Likewise.
31864 * conf/x86_64-efi.rmk: Likewise.
31865
db77c4d4
FZ
318662009-11-26 Felix Zielcke <fzielcke@z-51.de>
31867
31868 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31869
a755bb04
FZ
318702009-11-26 Felix Zielcke <fzielcke@z-51.de>
31871
31872 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31873
8a4c07fd
RM
318742009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31877 (grub_mkdevicemap_SOURCES): New variable.
31878 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31879 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31880 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31881 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31882 (grub_mkdevicemap_SOURCES): Remove.
31883 * conf/i386-efi.rmk: Likewise.
31884 * conf/i386-ieee1275.rmk: Likewise.
31885 * conf/i386-pc.rmk: Likewise.
31886 * conf/powerpc-ieee1275.rmk: Likewise.
31887 * conf/sparc64-ieee1275.rmk: Likewise.
31888 * conf/x86_64-efi.rmk: Likewise.
31889 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31890 (usage): Fix strings to use `program_name'.
31891 (main): Initialize gettext.
31892 * util/grub-editenv.c: Likewise.
31893 * util/grub-emu.c: Likewise.
31894 * util/grub-fstest.c: Likewise.
31895 * util/grub-mkdevicemap.c: Likewise.
31896 * util/grub-mkfont.c: Likewise.
31897 * util/grub-mkrelpath.c: Likewise.
31898 * util/grub-pe2elf.c: Likewise.
31899 * util/grub-probe.c: Likewise.
31900 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31901 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31902 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31903
31904 * util/misc.c: Include `"progname.h"'.
31905 (progname): Remove variable.
31906 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31907
6f61ed55
FZ
319082009-11-25 Felix Zielcke <fzielcke@z-51.de>
31909
31910 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31911 printf and print a newline after the menuentry header line.
31912 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31913
f022876b
FZ
319142009-11-25 Felix Zielcke <fzielcke@z-51.de>
31915
31916 autoconf >= 2.60 support $(localedir).
31917
31918 * INSTALL: Note that autoconf 2.60 is required.
31919 * configure.ac (AC_PREREQ): Bump to 2.60.
31920 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31921 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31922
6717926e
YB
319232009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31924
31925 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31926 aclocal is run.
31927
08806a54
RM
319282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31929
31930 * normal/main.c (grub_normal_read_line): Fix off-by-one
31931 buffer overflow.
31932
13b33fba
RM
319332009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31934
31935 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31936 "parser.grub" in grub_command_execute() call.
31937
4a8572e9
CPE
319382009-11-24 Carles Pina i Estany <carles@pina.cat>
31939
31940 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31941 * conf/i386-efi.rmk: Likewise.
31942 * conf/i386-ieee1275.rmk: Likewise.
31943 * conf/i386-pc.rmk: Likewise.
31944 * conf/powerpc-ieee1275.rmk: Likewise.
31945 * conf/sparc64-ieee1275.rmk: Likewise.
31946 * conf/x86_64-efi.rmk: Likewise.
31947 * gettext/gettex.c: Include <grub/i18n.h>.
31948 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31949 here ...
31950 * include/grub/i18n.h: ... to here
31951 * include/grub/i18n.h: ... to here.
31952 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31953 (grub_gettext_dummy): Move above user.
4a8572e9 31954
bee48093
FZ
319552009-11-24 Felix Zielcke <fzielcke@z-51.de>
31956
31957 * util/Makefile.in (install-local): Convert a `for' into a normal
31958 shell expansion.
31959
a031e91c
RM
319602009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31961
31962 * autogen.sh: Add automake call.
31963 * config.guess: Remove.
31964 * config.sub: Likewise.
31965 * install-sh: Likewise.
31966
26bec39d
FZ
319672009-11-24 Felix Zielcke <fzielcke@z-51.de>
31968
31969 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31970
8e2532fd
FZ
319712009-11-24 Felix Zielcke <fzielcke@z-51.de>
31972
31973 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31974 function to a normal shell `for'.
31975
fefa1b7d
FZ
319762009-11-24 Felix Zielcke <fzielcke@z-51.de>
31977
31978 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31979
4501250b
FZ
319802009-11-24 Felix Zielcke <fzielcke@z-51.de>
31981
31982 * util/grub-mkrelpath.c: New file.
31983 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31984 (grub_mkrelpath_SOURCES): New variable.
31985 * include/grub/util/misc.h: New function prototype.
31986 * util/misc.c (make_system_path_relative_to_its_root): New function.
31987
31988 * util/grub-mkconfig_lib.in (bindir): New variable.
31989 (grub_mkrelpath): Likewise.
31990 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31991
31992 * util/probe.c (probe): Make the file path relative to its root.
31993 Change a info message to use the GRUB path. Enable again the
31994 check if we can read the file with GRUB facilities.
31995
31996 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31997 to its root.
31998
11d9778b
FZ
319992009-11-24 Felix Zielcke <fzielcke@z-51.de>
32000
32001 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32002 platform.
32003
4465287d
FZ
320042009-11-24 Felix Zielcke <fzielcke@z-51.de>
32005
32006 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32007 strncmp().
32008
62b47f22
FZ
320092009-11-24 Felix Zielcke <fzielcke@z-51.de>
32010
32011 * util/getroot.c (grub_util_is_dmraid): New function.
32012 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32013 devices as normal ones, not as LVM.
32014
1eafb9b9 320152009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32016
32017 * conf/common.rmk: Add grub-gettext_lib target and updates
32018 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32019 LDFLAGS.
32020 * gettext/gettext.c: New file. (Reads mo files).
32021 * include/grub/file.h (grub_file_pread): New prototype.
32022 * include/grub/i18n.h (_): New prototype.
32023 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32024 prototypes.
32025 * kern/misc.c (grub_gettext_dummy): New function.
32026 * normal/menu_text.c: Include <grub/i18n.h>.
32027 * normal/menu_text.c (print_timeout): Gettexttize string.
32028 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32029 * po/POTFILES: Add `normal/menu_text.c'.
32030 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32031 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32032 gettext module and defines locale_dir and lang in grub.cfg.
32033 * NEWS: Add gettext support.
32034
0fdb2568
RM
320352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32036
32037 * util/hostdisk.c: Include `<grub/i18n.h>'.
32038 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32039 (make_device_name): Rewrite using asprintf.
32040 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32041 (find_system_device): If a device is not found, generate one just
32042 by reusing the OS path name.
32043 (read_device_map): Make it permissible for device.map not to exist.
32044
f515aa62
RM
320452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32046
32047 * script/sh/execute.c: Move from here ...
32048 * script/execute.c: ... to here. Update all users.
32049 * script/sh/function.c: Move from here ...
32050 * script/function.c: ... to here. Update all users.
32051 * script/sh/lexer.c: Move from here ...
32052 * script/lexer.c: ... to here. Update all users.
32053 * script/sh/main.c: Move from here ...
32054 * script/main.c: ... to here. Update all users.
32055 * script/sh/parser.y: Move from here ...
32056 * script/parser.y: ... to here. Update all users.
32057 * script/sh/script.c: Move from here ...
32058 * script/script.c: ... to here. Update all users.
32059
f84b481b
RM
320602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32061
32062 * configure.ac: Detect all `emu' platforms. Define
32063 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32064 --enable-grub-emu logic. Disable include/grub/machine
32065 symlink on `emu' platforms.
32066
32067 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32068 * gensymlist.sh.in: Likewise.
32069
32070 * include/grub/i386/coreboot/machine.h: Remove file.
32071 * include/grub/i386/efi/machine.h: Likewise.
32072 * include/grub/i386/ieee1275/machine.h: Likewise.
32073 * include/grub/i386/pc/machine.h: Likewise.
32074 * include/grub/i386/qemu/machine.h: Likewise.
32075 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32076 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32077 * include/grub/x86_64/efi/machine.h: Likewise.
32078
32079 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32080 * commands/halt.c: Likewise.
32081 * commands/reboot.c: Likewise.
32082 * include/grub/autoefi.h: Likewise.
32083 * include/grub/i386/at_keyboard.h: Likewise.
32084 * include/grub/i386/kernel.h: Likewise.
32085 * include/grub/i386/loader.h: Likewise.
32086 * include/grub/i386/pc/memory.h: Likewise.
32087 * kern/dl.c: Likewise.
32088 * kern/i386/coreboot/init.c: Likewise.
32089 * loader/i386/bsd.c: Likewise.
32090 * loader/i386/linux.c: Likewise.
32091 * loader/multiboot_loader.c: Likewise.
32092 * term/i386/pc/serial.c: Likewise.
32093 * term/usb_keyboard.c: Likewise.
32094
32095 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32096 `<grub/machine/machine.h>'
32097 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32098 * util/misc.c: Remove `<grub/machine/machine.h>' and
32099 `<grub/machine/time.h>'.
32100
32101 * Makefile.in (enable_grub_emu): Remove variable.
32102 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32103
32104 * conf/any-emu.rmk: New file.
32105 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32106 (grub_emu_init.c): Move from here ...
32107 * conf/any-emu.rmk: ... to here.
32108
32109 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32110 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32111 * conf/any-emu.rmk: ... to here.
32112
4efeab03
RM
321132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32114
32115 * include/grub/parser.h (grub_parser_register): Document need
32116 of `name' parameter.
32117 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32118 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32119 "sh" to "grub".
32120
ea1dd8bf
RM
321212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32122
32123 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32124 `$(XGETTEXT)'.
32125 * include/grub/i18n.h (N_): New macro.
32126 * util/mkisofs/mkisofs.h: Likewise.
32127 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32128 around N_().
32129 (usage): Use gettext() to translate help strings when printing them.
32130
0c140626
RM
321312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32132
32133 Based on patch from Bean
32134 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32135
32136 * video/efi_fb.c: New file.
32137 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32138 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32139 variables.
32140 * conf/x86_64-efi.rmk: Likewise.
32141
87d58298
RM
321422009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32143
32144 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32145 * util/i386/pc/grub-setup.c: Likewise.
32146
994cc3a3
ST
321472009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32148
32149 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32150 <hurd/fs.h>
32151 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32152 file_get_storage_info to implement grub_guess_root_device.
32153
26a61d6a
FZ
321542009-11-21 Felix Zielcke <fzielcke@z-51.de>
32155
32156 * Makefile.in (target): Use make's builtin $(shell) function
32157 instead of calling directly $(SHELL) to create the locale directories,
32158 inside the $(foreach) function.
32159
74ff1dd5
FZ
321602009-11-21 Felix Zielcke <fzielcke@z-51.de>
32161
32162 * util/grub-mkrescue.in: Print an error and usage if output option
32163 has not been given.
32164
0b787d0e
FZ
321652009-11-21 Felix Zielcke <fzielcke@z-51.de>
32166
32167 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32168 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32169 root and /boot are on different devices.
32170
1164b270
RM
321712009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32172
32173 Fix build for srcdir != objdir.
32174
32175 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32176 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32177 $(srcdir).
32178 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32179 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32180 reference for input.
32181
13774a2f
RM
321822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32183
32184 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32185 or hardlinking it). Remove -J option, Joliet is not compatible with
32186 multiple source directories.
32187
efda854e
RM
321882009-11-21 Carles Pina i Estany <carles@pina.cat>
321892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32190
32191 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32192 (process_input_dir): New function. Process an arbitrary input
32193 directory.
32194 Misc adjustments to support both "override mode" and system-wide mode.
32195
6c09890c
FZ
321962009-11-20 Felix Zielcke <fzielcke@z-51.de>
32197
32198 * configure.ac (UNIFONT_BDF): Rename to ...
32199 (FONT_SOURCE): ... this. Update all users.
32200
a797824f
FZ
322012009-11-20 Felix Zielcke <fzielcke@z-51.de>
32202
32203 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32204 to the list of unifont files to look for.
32205
cd4f42b0
RM
322062009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32207
32208 Patch from Joe Auricchio <jauricchio@gmail.com>
32209 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32210 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32211 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32212
393c783d
FZ
322132009-11-19 Felix Zielcke <fzielcke@z-51.de>
32214
32215 * Makefile.in (install-local): Add a missing backslash.
32216
b2f1e327
FZ
322172009-11-19 Felix Zielcke <fzielcke@z-51.de>
32218
32219 * include/grub/x86_64/io.h: New file.
32220
f577f7a0
RM
322212009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32222
32223 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32224 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32225 Include `"progname.h"'.
32226 (main): Initialize gettext.
32227 * util/i386/pc/grub-setup.c: Gettexttize.
32228 * util/i386/pc/grub-mkimage.c: Likewise.
32229
32230 * Makefile.in (po/*.po): Redefine as ...
32231 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32232
3bc7896c
RM
32233 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32234
c37943b6
RM
322352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32236
32237 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32238 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32239 (program_name): Remove.
32240 (main): Initialize gettext support.
6323f705
RM
32241 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32242 Include `<libintl.h>'.
32243 (_): New macro.
c37943b6
RM
32244
32245 * util/mkisofs/eltorito.c: Gettexttize.
32246 * util/mkisofs/joliet.c: Likewise.
32247 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32248 * util/mkisofs/multi.c: Likewise.
32249 * util/mkisofs/rock.c: Likewise.
32250 * util/mkisofs/tree.c: Likewise.
32251 * util/mkisofs/write.c: Likewise.
32252
3bc7896c
RM
32253 * po/POTFILES: Update with new files.
32254
5ce77c6e
RM
322552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32256
32257 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32258 * util/mkisofs/iso9660.h: Likewise.
32259 * util/mkisofs/joliet.c: Likewise.
32260 * util/mkisofs/mkisofs.c: Likewise.
32261 * util/mkisofs/mkisofs.h: Likewise.
32262 * util/mkisofs/rock.c: Likewise.
32263 * util/mkisofs/tree.c: Likewise.
32264 * util/mkisofs/write.c: Likewise.
32265
32266 * util/mkisofs/eltorito.c (rcsid): Remove.
32267 * util/mkisofs/hash.c: Likewise.
32268 * util/mkisofs/joliet.c: Likewise.
32269 * util/mkisofs/name.c: Likewise.
32270 * util/mkisofs/rock.c: Likewise.
32271 * util/mkisofs/tree.c: Likewise.
32272 * util/mkisofs/write.c: Likewise.
32273
1dabbc77
RM
322742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32275
32276 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32277 instead of static allocation.
32278 * util/mkisofs/match.h: Likewise.
32279
633877cb
RM
322802009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32281
3bc7896c
RM
32282 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32283 and `util/grub.d/10_linux.in'.
633877cb
RM
32284 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32285 translatable Shell files.
32286
af1c0c85
RM
322872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32288
32289 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32290
769ae37b
RM
322912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32292
32293 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32294 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32295 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32296 Add gettext initialization.
32297 (kfreebsd_entry): Make menuentry output translatable.
32298
322992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32300
32301 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32302 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32303 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32304 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32305 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32306 * po/LINGUAS: New file.
769ae37b
RM
32307
323082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32309
32310 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32311 other things).
32312 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32313 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32314 bindtextdomain() calls for gettext initialization.
32315
323162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32317
32318 * gnulib/progname.c: New file (imported from Gnulib).
32319 * gnulib/progname.h: Likewise.
32320 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32321 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32322 (usage): Replace `progname' with `program_name'.
32323 (main): Use set_program_name() for program name initialization.
32324
323252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32326
32327 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32328 from here ...
32329 * Makefile.in (CPPFLAGS): ... to here.
32330
323312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32332
32333 * aclocal.m4: Move from here ...
32334 * acinclude.m4: ... to here.
32335 * autogen.sh: Add call to `aclocal'.
32336 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32337
323382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32339
32340 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32341 (LINGUAS): New variable.
32342 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32343 (install-local): Install MO files.
32344 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32345 * include/grub/i18n.h: New file.
3bc7896c
RM
32346 * po/POTFILES: New file.
32347 * po/ca.po: New file.
769ae37b
RM
32348 * util/grub.d/10_linux.in (bindir): New variable.
32349 Add gettext initialization.
32350 (linux_entry): Make menuentry output translatable.
32351 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32352 (usage): Make --help output translatable.
32353 (main): Initialize gettext.
32354
02c0a6ad
RM
323552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32356
32357 * import_gcry.py: New file (written by Vladimir with minor
32358 adjustments).
32359 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32360 ciphers.
32361 * INSTALL: Document that Python is required for bootstrap.
32362
323632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32364
32365 Import ciphers from libgcrypt 1.4.4.
32366
32367 * lib/libgcrypt/cipher/ChangeLog
32368 * lib/libgcrypt/cipher/ac.c
32369 * lib/libgcrypt/cipher/arcfour.c
32370 * lib/libgcrypt/cipher/bithelp.h
32371 * lib/libgcrypt/cipher/blowfish.c
32372 * lib/libgcrypt/cipher/camellia-glue.c
32373 * lib/libgcrypt/cipher/camellia.c
32374 * lib/libgcrypt/cipher/camellia.h
32375 * lib/libgcrypt/cipher/cast5.c
32376 * lib/libgcrypt/cipher/cipher.c
32377 * lib/libgcrypt/cipher/crc.c
32378 * lib/libgcrypt/cipher/des.c
32379 * lib/libgcrypt/cipher/dsa.c
32380 * lib/libgcrypt/cipher/ecc.c
32381 * lib/libgcrypt/cipher/elgamal.c
32382 * lib/libgcrypt/cipher/hash-common.c
32383 * lib/libgcrypt/cipher/hash-common.h
32384 * lib/libgcrypt/cipher/hmac-tests.c
32385 * lib/libgcrypt/cipher/md.c
32386 * lib/libgcrypt/cipher/md4.c
32387 * lib/libgcrypt/cipher/md5.c
32388 * lib/libgcrypt/cipher/primegen.c
32389 * lib/libgcrypt/cipher/pubkey.c
32390 * lib/libgcrypt/cipher/rfc2268.c
32391 * lib/libgcrypt/cipher/rijndael-tables.h
32392 * lib/libgcrypt/cipher/rijndael.c
32393 * lib/libgcrypt/cipher/rmd.h
32394 * lib/libgcrypt/cipher/rmd160.c
32395 * lib/libgcrypt/cipher/rsa.c
32396 * lib/libgcrypt/cipher/seed.c
32397 * lib/libgcrypt/cipher/serpent.c
32398 * lib/libgcrypt/cipher/sha1.c
32399 * lib/libgcrypt/cipher/sha256.c
32400 * lib/libgcrypt/cipher/sha512.c
32401 * lib/libgcrypt/cipher/tiger.c
32402 * lib/libgcrypt/cipher/twofish.c
32403 * lib/libgcrypt/cipher/whirlpool.c
32404
af2f93ac
RM
324052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32406
32407 Fix build for systems without error().
32408
32409 * gnulib/error.c: New file (imported from Gnulib).
32410 * gnulib/error.h: Likewise.
32411 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32412 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32413 (this variable is now used by error()).
32414
73fb3dd5
FZ
324152009-11-16 Felix Zielcke <fzielcke@z-51.de>
32416
814f5e96
FZ
32417 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32418 instead of relying that char is signed.
73fb3dd5 32419
a691ca33
VS
324202009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32421
32422 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32423 blocksize different from specified.
32424 (grub_pxefs_read): Likewise.
32425
2af8f0f4
FZ
324262009-11-16 Felix Zielcke <fzielcke@z-51.de>
32427
32428 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32429
32430 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32431 (grub_ata_readwrite): Likewise. Update 2 format strings.
32432 (grub_atapi_read): Likewise.
32433
32434 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32435 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32436 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32437 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32438 (ata_mod_LDFLAGS): Move from here ...
32439 * conf/i386.rmk: ... to here ...
32440 * conf/x86_64-efi.rmk: ... and here.
32441 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32442 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32443
83bdecaf
RM
324442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32445
32446 Relicense multiboot.h, with RMS' blessing.
32447
32448 * include/multiboot.h: Change to X11 license.
32449
fd6fd3d7
RM
324502009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32451
32452 Support --version in grub-mkisofs.
32453
32454 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32455 (OPTION_VERSION): New macro.
32456 (ld_options): Recognize --version.
32457 (usage): Move `program_name' from here ...
32458 (program_name): ... to here. Add `static' qualifier.
32459 (main): Recognize `OPTION_VERSION'.
32460
16a88c49
FZ
324612009-11-15 Felix Zielcke <fzielcke@z-51.de>
32462
32463 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32464 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32465
a4158476
RM
324662009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32467
32468 Fix help2man generation for mkisofs.
32469
32470 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32471 (usage): Send output to stdout (rather than stderr).
32472
fc2208b0
RM
324732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32474
32475 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32476 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32477 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32478 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32479 (bin_SCRIPTS): Add `grub-mkfloppy'.
32480 (grub_mkfloppy_SOURCES): New variable.
32481
32482 * util/grub-mkrescue.in: New file.
32483 * util/i386/pc/grub-mkfloppy.in: New file.
32484
32485 * util/i386/coreboot/grub-mkrescue.in: Remove.
32486 * util/i386/pc/grub-mkrescue.in: Remove.
32487
8d0edf4a
RM
324882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32489
32490 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32491 from here ...
32492 * include/multiboot.h (struct multiboot_header): ... to here. Update
32493 all users.
32494 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32495 from here ...
32496 * include/multiboot.h (struct multiboot_info): ... to here. Update
32497 all users.
32498 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32499 from here ...
32500 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32501 Update all users.
32502 * include/grub/multiboot.h (struct grub_mod_list): Move
32503 from here ...
32504 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32505 Update all users.
32506
a73f5969
RM
325072009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32508
32509 * include/multiboot2.h (multiboot_word): Rename from this ...
32510 (multiboot2_word): ... to this. Update all users.
32511 (multiboot_header): Rename from this ...
32512 (multiboot2_header): ... to this. Update all users.
32513 (multiboot_tag_header): Rename from this ...
32514 (multiboot2_tag_header): ... to this. Update all users.
32515 (multiboot_tag_start): Rename from this ...
32516 (multiboot2_tag_start): ... to this. Update all users.
32517 (multiboot_tag_name): Rename from this ...
32518 (multiboot2_tag_name): ... to this. Update all users.
32519 (multiboot_tag_module): Rename from this ...
32520 (multiboot2_tag_module): ... to this. Update all users.
32521 (multiboot_tag_memory): Rename from this ...
32522 (multiboot2_tag_memory): ... to this. Update all users.
32523 (multiboot_tag_unused): Rename from this ...
32524 (multiboot2_tag_unused): ... to this. Update all users.
32525 (multiboot_tag_end): Rename from this ...
32526 (multiboot2_tag_end): ... to this. Update all users.
32527
1c8927f0
RM
325282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32529
32530 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32531 this platform we should support Multiboot1 first.
32532
32533 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32534 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32535 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32536
6e1e0d89
RM
325372009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32540 of write calls (converting them to fwrite() if they aren't already).
32541 (get_torito_desc): Likewise.
32542 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32543
7f2b34d8
RM
325442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32545
32546 * util/i386/pc/grub-install.in: Move from here ...
32547 * util/grub-install.in: ... to here. Update all users.
32548
c0ef3311
CW
325492009-11-11 Colin Watson <cjwatson@ubuntu.com>
32550
32551 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32552
e1f240ff
RM
325532009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32554
32555 Support for El Torito without floppy emulation.
32556
32557 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32558 (init_boot_catalog): Improve error handling.
32559 (get_torito_desc): Don't use floppy emulation unless requested by
32560 user. Patch boot information table when requested via
32561 `-boot-info-table'.
32562 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32563 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32564 (use_boot_info_table): New variables.
32565 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32566 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32567 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32568 `--eltorito-emul-floppy'.
32569 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32570 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32571 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32572 (use_boot_info_table, get_731): New prototypes.
32573 * util/mkisofs/write.c (get_731): New function.
32574
af7d4de5
FZ
325752009-11-11 Felix Zielcke <fzielcke@z-51.de>
32576
32577 Fix the generation of the man page.
32578
32579 * util/pc/i386/grub-install.in: Source
32580 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32581
2c55dbc0
RM
325822009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32583
32584 Large file support for grub-mkisofs.
32585
32586 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32587 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32588 (session_start): Upgrade type to `uint64_t'. Update all users.
32589 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32590 (struct directory_entry): Upgrade type of `starting_block' and
32591 `size' to `uint64_t'. Update all users.
32592 (struct deferred): Remove unused structure.
32593 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32594 Update all users.
32595 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32596 file is larger than `UINT32_MAX'.
32597 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32598 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32599 return value.
32600 (struct deferred_write): Upgrade type of `extent' and `size' to
32601 `uint64_t'. Update all users.
32602 (last_extent_written): Upgrade type to `uint64_t'. Update all
32603 users.
32604 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32605 Update all users. Upgrade type of `remain' to `int64_t' and
32606 `use' to `size_t'. Use error() to handle fread() errors.
32607 (write_files): Rely on write_one_file() rather than calling
32608 xfwrite() directly.
32609
6a9cead5
FZ
326102009-11-09 Felix Zielcke <fzielcke@z-51.de>
32611
32612 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32613
4825d790
RM
326142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32615
32616 * util/mkisofs/fnmatch.c: Remove.
32617 * util/mkisofs/getopt1.c: Likewise.
32618 * util/mkisofs/getopt.c: Likewise.
32619 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32620 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32621 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32622 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32623 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32624
32625 * configure.ac: Detect `mingw32msvc' host_os.
32626 Check for lstat(), getuid() and getgid().
32627
32628 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32629 instances of `u_char' with `uint8_t'.
32630
32631 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32632 [!HAVE_GETUID] (getuid): New function (stub).
32633 [!HAVE_GETGID] (getgid): Likewise.
32634 [!HAVE_LSTAT] (lstat): Likewise.
32635 [!S_IROTH] (S_IROTH): New macro (dummy).
32636 [!S_IRGRP] (S_IRGRP): Likewise.
32637
84b860d8
RM
326382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32639
32640 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32641 conditional expression).
32642
66e9b712
RM
326432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32644
32645 Import from Gnulib.
32646
32647 * gnulib/fnmatch.c: New file.
32648 * gnulib/fnmatch.h: Likewise.
32649 * gnulib/fnmatch_loop.c: Likewise.
32650 * gnulib/getopt.c: Likewise.
32651 * gnulib/getopt.h: Likewise.
32652 * gnulib/getopt1.c: Likewise.
32653 * gnulib/getopt_int.h: Likewise.
32654 * gnulib/gettext.h: Likewise.
32655
34f4a5b0
RM
326562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32657
32658 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32659 * normal/handler.c (read_handler_list): Likewise.
32660
ac451143
RM
326612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32662
32663 Misc cleanup.
32664
32665 * kern/command.c (grub_register_command_prio): Use
32666 grub_zalloc() instead of explicitly zeroing data.
32667 * kern/list.c: Include `<grub/mm.h>'.
32668 (grub_named_list_find): Replace `0' with `NULL'.
32669 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32670 (fs_module_list): Change type to `grub_named_list_t'. Update all
32671 users.
32672 * normal/dyncmd.c (read_command_list): Add space between function
32673 call and parenthesis.
32674 * normal/handler.c (read_handler_list): Likewise.
32675
4089b167
RM
326762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32677
32678 * normal/auth.c (punishment_delay): Moved from here ...
32679 (grub_auth_strcmp): ... to here (inside function).
32680
325f5037
RM
326812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32682
32683 * include/grub/list.h (struct grub_named_list): Remove `const'
32684 qualifier from `name'.
32685 (struct grub_prio_list): Likewise.
32686
7aea29a3
RM
326872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 * normal/auth.c: Include `<grub/time.h>'.
32690 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32691
3fd6f044
RM
326922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 * normal/auth.c (punishment_delay): New variable.
32695 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32696 (grub_auth_check_authentication): Punish failed login attempts with
32697 an incremental (2^N) delay.
32698
a4cd68e4
RM
326992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32700
32701 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32702 path with $(srcdir).
32703
7ad12f43
VS
327042009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32705
32706 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32707
c1129f03
RM
327082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32709
32710 * util/i386/coreboot/grub-mkrescue.in: New file.
32711 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32712 variables.
32713
32714 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32715 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32716 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32717 requirements.
32718 * util/mkisofs/defaults.h: New file.
32719 * util/mkisofs/eltorito.c: Likewise.
32720 * util/mkisofs/exclude.h: Likewise.
32721 * util/mkisofs/fnmatch.c: Likewise.
32722 * util/mkisofs/getopt.c: Likewise.
32723 * util/mkisofs/getopt1.c: Likewise.
32724 * util/mkisofs/hash.c: Likewise.
32725 * util/mkisofs/include/fctldefs.h: Likewise.
32726 * util/mkisofs/include/mconfig.h: Likewise.
32727 * util/mkisofs/include/prototyp.h: Likewise.
32728 * util/mkisofs/include/statdefs.h: Likewise.
32729 * util/mkisofs/iso9660.h: Likewise.
32730 * util/mkisofs/joliet.c: Likewise.
32731 * util/mkisofs/match.c: Likewise.
32732 * util/mkisofs/match.h: Likewise.
32733 * util/mkisofs/mkisofs.c: Likewise.
32734 * util/mkisofs/mkisofs.h: Likewise.
32735 * util/mkisofs/multi.c: Likewise.
32736 * util/mkisofs/name.c: Likewise.
32737 * util/mkisofs/rock.c: Likewise.
32738 * util/mkisofs/tree.c: Likewise.
32739 * util/mkisofs/write.c: Likewise.
32740
ec8bb77d
VS
327412009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32742
32743 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32744 being insecure.
32745
3716b12c
RM
327462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32747
32748 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32749 `grub-mkimage' (and use $0 when possible).
32750
b97b7b91
RM
327512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32752
32753 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32754 error message for excessively large memory map.
32755
04114812
RM
327562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32757
32758 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32759 executable bit.
32760
e4eb2373
RM
327612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32762
32763 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32764 message for coreboot users.
32765
c926e1d5 327662009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32767
32768 Fix build with GNU gold.
32769
32770 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32771 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32772 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32773 link addresses.
32774 * aclocal.m4: Likewise.
32775
86e5b1db 327762009-11-04 Felix Zielcke <fzielcke@z-51.de>
32777
32778 * configure.ac (AC_PREREQ): Bump to 2.59d.
32779 * INSTALL: Make it more clear when Autoconf and Ruby are
32780 needed and when to run `./autogen.sh'.
32781
246cd78f 327822009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32783
32784 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32785 OSes.
32786
4f9dfb37 327872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32788
32789 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32790
b82bd5e1 327912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32792
32793 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32794 giving it to GNU Mach.
32795
ff1a9bca 327962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32797
32798 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32799 GNU partition number to get internal GRUB partition number.
32800
61697d9c 328012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32802
32803 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32804 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32805
a50569e1 328062009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32807
32808 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32809 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32810 case.
32811
5b153867 328122009-11-01 Felix Zielcke <fzielcke@z-51.de>
32813
32814 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32815
d9e2cd70 328162009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32817
32818 Fix build problem.
32819
32820 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32821 `-isystem=$(srcdir)/include'.
32822
805111a4 328232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32824
32825 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32826 checked (grub-install doesn't currently rely on it).
32827
fa6e945f 328282009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32829
32830 Revert SVN r2660.
32831
32832 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32833 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32834 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32835 * conf/i386-ieee1275.rmk: Likewise.
32836 * conf/i386-pc.rmk: Likewise.
32837 * conf/powerpc-ieee1275.rmk: Likewise.
32838 * conf/sparc64-ieee1275.rmk: Likewise.
32839 * conf/x86_64-efi.rmk: Likewise.
32840
cee15086 328412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32842
32843 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32844
95b9239e 328452009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32846
32847 * include/grub/misc.h: Stop checking for APPLE_CC.
32848
2ed19dfd 328492009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32850
32851 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32852 doesn't cause an infinite call loop.
32853
fdcdde19 328542009-10-28 Felix Zielcke <fzielcke@z-51.de>
32855
32856 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32857 strings.
32858
cefabfe1 328592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32860
32861 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32862 variable.
32863 * Makefile.in: Likewise.
32864
ed96ab6d 328652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32866
32867 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32868
0579b753 328692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32872
478df409 328732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32874
32875 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32876
083d1679 328772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32878
32879 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32880 from here ...
32881 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32882
5947ae32 328832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32884
32885 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32886 in $(MAKEINFO) invocation. This makes it clear in output that
32887 errors are being ignored.
32888
94180ff6 328892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32890
32891 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32892 from here ...
32893 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32894 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32895 * conf/i386-ieee1275.rmk: Likewise.
32896 * conf/i386-pc.rmk: Likewise.
32897 * conf/powerpc-ieee1275.rmk: Likewise.
32898 * conf/sparc64-ieee1275.rmk: Likewise.
32899 * conf/x86_64-efi.rmk: Likewise.
32900
9031b03a 329012009-10-26 Colin Watson <cjwatson@ubuntu.com>
32902
32903 * util/grub-editenv.c (main): If only a command is given, use
32904 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32905 (usage): FILENAME is now optional and has a default.
32906
e4f6809b 329072009-10-26 Colin Watson <cjwatson@ubuntu.com>
32908
32909 Improve grub-mkconfig performance when there are several menu
32910 entries on a single filesystem.
32911
32912 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32913 prepare_grub_to_access_device.
32914 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32915 * util/grub.d/30_os-prober.in: Likewise.
32916
67937d4d 329172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32918
32919 * util/grub.d/10_freebsd.in: Remove.
32920 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32921 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32922
ee3756cc 329232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32924
5c35048e 32925 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32926
4dea1c6f 329272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32928
32929 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32930 grub_util_error() call.
32931
042484d7 329322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32933
32934 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32935 `reserved_first_sector' member.
32936 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32937 `reserved_first_sector' to 1.
32938 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32939 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32940 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32941 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32942 filesystems which begin at first sector.
32943 (options): New option --skip-fs-probe.
32944 (main): Handle --skip-fs-probe and pass it to setup().
32945
d64448a7 329462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32947
32948 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32949 (memset): Fix function prototype.
32950
508d42ec 329512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
329522009-10-25 Vasily Averin <vvs@parallels.com>
32953
32954 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32955 `dirent.direntlen == 0'.
32956
b240e30c 329572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32958
32959 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32960 `cpio'.
32961 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32962
346e7fbe 329632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32964
32965 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32966 `__trampoline_setup' and `__ucmpdi2'.
32967 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32968 that libgcc provides.
32969
cdb308b0 329702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32971
32972 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32973 * include/grub/sparc64/libgcc.h (memset): Likewise.
32974 * include/grub/misc.h (memset, memcmp): New function prototypes.
32975
fb26abc2 329762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32979 `cpio'.
32980 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32981
f6693890 329822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32983
32984 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32985 * docs/grub.cfg: Compensate for recent change in multiboot
32986 loader (since 2009-08-14 it won't pass filename to payload).
32987 * util/grub.d/10_hurd.in: Likewise.
32988
0933cdc0 329892009-10-21 Felix Zielcke <fzielcke@z-51.de>
32990
32991 * config.guess: Update to latest version from config git
32992 repository.
32993 * config.sub: Likewise.
32994
3b2fe8c2 329952009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32996
32997 Fix build on sparc64.
32998
32999 * configure.ac: Perform checks for libgcc symbols before
33000 adding `-nostdlib' to LDFLAGS.
33001
46695a62 330022009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33003
33004 Let user specify OpenBSD root device.
33005
33006 * loader/i386/bsd.c (openbsd_root): New variable.
33007 (openbsd_opts): New option 'root'.
33008 (OPENBSD_ROOT_ARG): New macro.
33009 (grub_openbsd_boot): Use 'openbsd_root'.
33010 (grub_cmd_openbsd): Fill 'openbsd_root'.
33011
d2b6b7fc 330122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33013
33014 * NEWS: Misc adjustments.
33015
421bd7ac 330162009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33017
33018 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33019
f1d29d87 330202009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33021
33022 * configure.ac: Bump version to 1.97.
33023
6f3cd880 330242009-10-16 Colin Watson <cjwatson@ubuntu.com>
33025
33026 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33027 -mno-3dnow on x86 architectures. Some toolchains enable these
33028 features by default, but they rely on registers that aren't enabled
33029 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33030
035f7122 330312009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33032
33033 Make entry text a bit more readable.
33034
33035 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33036
44998e58 330372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33038
33039 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33040
cd2851b3 330412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33042
33043 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33044 operations.
33045
c6f3b249 330462009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33047
33048 * configure.ac: Add missing dollar.
33049
6b5886ba 330502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33051
33052 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33053
33054 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33055 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33056 exports.
33057 * include/grub/sparc64/libgcc.h: Likewise. Use
33058 preprocessor conditionals.
33059
e9d66f6d 330602009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33061
33062 * conf/common.rmk (grub-dumpbios): Remove rule.
33063 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33064 * util/grub-dumpbios.in: Remove file.
33065
9155bc17 330662009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33067
33068 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33069 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33070
33071 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33072 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33073 users.
33074
33075 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33076 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33077 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33078 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33079 users.
33080
bf7f7a18 330812009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33082
33083 * term/tparm.c: Switch to GPLv3.
33084
86564c26 330852009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33086
33087 * include/grub/i386/cpuid.h: Add header protection.
33088
5c936493 330892009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33090
33091 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33092
33093 * include/grub/i386/cpuid.h: New file.
33094 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33095 (has_longmode): Rename to ...
33096 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33097 `static' attribute.
33098 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33099 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33100 on a CPU that doesn't implement AMD64 instruction set.
33101
186e7cf2 331022009-10-06 Colin Watson <cjwatson@ubuntu.com>
33103
33104 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33105 that version.texi is rebuilt on version number changes.
33106
83b65c4a 331072009-10-06 Colin Watson <cjwatson@ubuntu.com>
33108
33109 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33110 Fixes bug #27602.
33111
d244281c 331122009-10-06 Colin Watson <cjwatson@ubuntu.com>
33113
33114 * util/i386/pc/grub-install.in: Source
33115 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33116 that the --grub-probe option will work.
33117 * util/sparc64/ieee1275/grub-install.in: Likewise.
33118
da25306d 331192009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33120
33121 * configure.ac: Bump version to 1.97~beta4.
33122
e8ee83c0 331232009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33124
33125 Resync grub-mkdevicemap in x86_64-efi.
33126
33127 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33128 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33129 `util/devicemap.c'.
33130
50dcabcf 331312009-10-01 Colin Watson <cjwatson@ubuntu.com>
33132
33133 * util/grub-editenv.c (create_envblk_file): Write new block with a
33134 .new suffix and then rename it into place, to ensure atomic
33135 creation.
33136
0e51c3a7 331372009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33138
33139 Do not automatically install headers.
33140
33141 * Makefile.in (include_DATA): Remove. Update all users.
33142
31299a95 331432009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33144
33145 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33146 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33147
33148 * util/osdetect.lua: Remove.
33149 * script/lua/lauxlib.c: Likewise.
33150 * script/lua/ldebug.c: Likewise.
33151 * script/lua/grub_main.c: Likewise.
33152 * script/lua/lauxlib.h: Likewise.
33153 * script/lua/ldebug.h: Likewise.
33154 * script/lua/ltablib.c: Likewise.
33155 * script/lua/liolib.c: Likewise.
33156 * script/lua/lstrlib.c: Likewise.
33157 * script/lua/lualib.h: Likewise.
33158 * script/lua/ldo.c: Likewise.
33159 * script/lua/ldump.c: Likewise.
33160 * script/lua/ldo.h: Likewise.
33161 * script/lua/loslib.c: Likewise.
33162 * script/lua/lundump.c: Likewise.
33163 * script/lua/grub_lib.c: Likewise.
33164 * script/lua/ldblib.c: Likewise.
33165 * script/lua/lundump.h: Likewise.
33166 * script/lua/lmem.c: Likewise.
33167 * script/lua/grub_lib.h: Likewise.
33168 * script/lua/lmathlib.c: Likewise.
33169 * script/lua/lstate.c: Likewise.
33170 * script/lua/ltm.c: Likewise.
33171 * script/lua/lvm.c: Likewise.
33172 * script/lua/lmem.h: Likewise.
33173 * script/lua/lstate.h: Likewise.
33174 * script/lua/ltm.h: Likewise.
33175 * script/lua/ltable.c: Likewise.
33176 * script/lua/lvm.h: Likewise.
33177 * script/lua/llex.c: Likewise.
33178 * script/lua/lgc.c: Likewise.
33179 * script/lua/grub_lua.h: Likewise.
33180 * script/lua/loadlib.c: Likewise.
33181 * script/lua/lfunc.c: Likewise.
33182 * script/lua/lopcodes.c: Likewise.
33183 * script/lua/lparser.c: Likewise.
33184 * script/lua/ltable.h: Likewise.
33185 * script/lua/llex.h: Likewise.
33186 * script/lua/lgc.h: Likewise.
33187 * script/lua/lfunc.h: Likewise.
33188 * script/lua/lbaselib.c: Likewise.
33189 * script/lua/lopcodes.h: Likewise.
33190 * script/lua/lparser.h: Likewise.
33191 * script/lua/lzio.c: Likewise.
33192 * script/lua/linit.c: Likewise.
33193 * script/lua/lobject.c: Likewise.
33194 * script/lua/llimits.h: Likewise.
33195 * script/lua/lstring.c: Likewise.
33196 * script/lua/lzio.h: Likewise.
33197 * script/lua/lapi.c: Likewise.
33198 * script/lua/lcode.c: Likewise.
33199 * script/lua/lua.h: Likewise.
33200 * script/lua/lobject.h: Likewise.
33201 * script/lua/lstring.h: Likewise.
33202 * script/lua/lapi.h: Likewise.
33203 * script/lua/lcode.h: Likewise.
33204 * script/lua/luaconf.h: Likewise.
33205
cb8a2c38 332062009-09-26 Colin Watson <cjwatson@ubuntu.com>
33207
33208 * docs/grub.texi (Command-line and menu entry commands): Document
33209 date and echo commands.
33210
6b9b6276 332112009-09-24 Pavel Roskin <proski@gnu.org>
33212
33213 * include/grub/kernel.h (struct grub_module_header): Remove
33214 `grub_module_header_types'. Make `type' unsigned. Make `size'
33215 32-bit on all platforms.
33216 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33217 8-bit field. Use grub_host_to_target32() for `size'.
33218 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33219 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33220 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33221
4e5a02a7 332222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33223
33224 Fix "lost keypress" bug in at_keyboard.
33225
33226 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33227 Checks for readyness of input buffer (without flushing it).
33228 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33229 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33230
c6dcedf6 332312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33232
33233 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33234 size check within GRUB_MACHINE_PCBIOS section.
33235
74c958b1 332362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33237
33238 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33239 return value.
33240 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33241 KEYBOARD_ISREADY check.
33242 (grub_at_keyboard_checkkey): Rename to ...
33243 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33244 Remove gratuitous cast.
33245
ff420223 332462009-09-23 Colin Watson <cjwatson@ubuntu.com>
33247
33248 * configure.ac: Call AC_PROG_MKDIR_P.
33249 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33250 version.texi in $(builddir) rather than $(srcdir).
33251 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33252 to makeinfo's @include search path.
33253
d96875df 332542009-09-23 Felix Zielcke <fzielcke@z-51.de>
33255
33256 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33257
9b3f8365 332582009-09-23 Felix Zielcke <fzielcke@z-51.de>
33259
33260 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33261 for `*.dpkg-new'.
33262
c44c90db 332632009-09-21 Colin Watson <cjwatson@ubuntu.com>
33264
33265 Build info documentation. Some code borrowed from Automake.
33266
33267 * configure.ac: Check for makeinfo.
33268 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33269 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33270 docs/version.texi.
33271 (MOSTLYCLEANFILES): Add vti.tmp.
33272 (docs/version.texi, docs/stamp-vti): Update automatically.
33273 (docs/grub.info): Build info documentation. Use --force and ignore
33274 errors for now.
33275 (all-local): Add $(INFOS).
33276 (install-local): Install info files.
33277 (uninstall): Uninstall info files.
33278 * docs/version.texi: Remove from revision control. This file is
33279 automatically generated on build now.
33280 * gendistlist.sh: Add `*.info'.
33281
e0b37bb5 332822009-09-21 Felix Zielcke <fzielcke@z-51.de>
33283
33284 * kern/term.c: Fix indentation.
33285
5a78865b 332862009-09-21 Felix Zielcke <fzielcke@z-51.de>
33287
33288 * util/hostdisk.c: Fix a comment.
33289
dace7e8a 332902009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33291
33292 Fix regression introduced in r2539.
33293
33294 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33295 to 0xA1.
33296
a83d079b 332972009-09-19 Colin Watson <cjwatson@ubuntu.com>
33298
33299 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33300 os-prober. Under normal operation, it does not print anything to
33301 stderr; if it does, we need to debug it, and throwing away stderr
33302 makes that excessively difficult.
a83d079b 33303
be94a509 333042009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33305
33306 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33307
63f745e8 333082009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33309
33310 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33311 AC_LANG_PROGRAM from autoconf.
33312 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33313 prototypes (fixes warning).
33314
33315 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33316 `--disable-werror' was used.
33317
bbb2a70f 333182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33319
33320 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33321 uninitialized `lastaddr'.
33322
77c24f1d 333232009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33324
0f0b8c87 33325 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33326
07197f23 333272009-09-14 Colin Watson <cjwatson@ubuntu.com>
33328
33329 * commands/test.c (get_fileinfo): Return immediately if
33330 grub_fs_probe fails.
33331
dabf1798 333322009-09-14 José Martínez <xosemp@gmail.com>
33333
33334 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33335
d52109a7 333362009-09-14 Colin Watson <cjwatson@ubuntu.com>
33337
33338 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33339 output.
33340
56532179 333412009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33342
33343 * configure.ac: Remove --enable-grub-pe2elf. Only build
33344 grub-pe2elf when needed by the build system itself.
33345 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33346
8ef070f5 333472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33348
33349 * configure.ac: Bump version to 1.97~beta3.
33350 * docs/version.texi: Likewise.
33351
61229557 333522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33353
33354 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33355 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33356 from here ...
33357 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33358 (grub_linux_setup_video): ... to here (with some adjustments).
33359
5c9f8d84 333602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33361
33362 Fix memory corruption issue (spotted by Colin Watson).
33363
33364 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33365 causing returned size to be stored in an incorrect memory location.
33366 Fix use of uninitialized value when storing the returned size.
33367
e8f5d6e9 333682009-09-12 Yves Blusseau <blusseau@zetam.org>
33369
33370 Change clean rules to properly remove files
33371
33372 * genmk.rb: add new clean rules
33373 * Makefile.in (clean): add the new targets
33374 (mostlyclean): likewise
33375
cda2a409 333762009-09-11 Colin Watson <cjwatson@ubuntu.com>
33377
33378 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33379 to grub_uint64_t.
33380 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33381 non-resident files.
33382
86695375 333832009-09-11 Colin Watson <cjwatson@ubuntu.com>
33384
33385 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33386 part of bug #27349.
33387
8aa1541a 333882009-09-10 Felix Zielcke <fzielcke@z-51.de>
33389
33390 * util/grub-mkconfig.in: Make the created config mode 400 and
33391 print a warning if it fails.
33392
48d9bb0a 333932009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33394
33395 * util/grub.d/40_custom.in: Ask user to type custom entries below
33396 comment, rather than below 'exec tail' line.
33397
3b0521be 333982009-09-10 Colin Watson <cjwatson@ubuntu.com>
33399
33400 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33401 visible in grub.cfg.
33402
50051d55 334032009-09-10 Colin Watson <cjwatson@ubuntu.com>
33404
33405 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33406 file.
33407
c0d34387 334082009-09-10 Felix Zielcke <fzielcke@z-51.de>
33409
33410 * docs/grub.cfg: Add an example menu entry for memtest86+.
33411
80a608f3 334122009-09-09 Felix Zielcke <fzielcke@z-51.de>
33413
a2094832 33414 * config.guess: Update to latest version from config git.
80a608f3 33415 * config.sub: Likewise.
33416
99423078 334172009-09-08 Colin Watson <cjwatson@ubuntu.com>
33418
33419 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33420 unknown-command case. Fixes bug #27320.
33421
44454e4c 334222009-09-08 Felix Zielcke <fzielcke@z-51.de>
33423
33424 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33425 `help' if the command exists.
33426
e30d87ad 334272009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33428
33429 * INSTALL: Require GCC 4.1.3 or later.
33430
9a86f1ec 334312009-09-06 Yves Blusseau <blusseau@zetam.org>
33432
33433 * Makefile.in (RMKFILES): add i386-qemu.rmk
33434 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33435 $(srcdir)/stamp-h.in
33436
7f26d466 334372009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33438
33439 * util/grub-probe.c (probe): Comment out buggy codepath, which
33440 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33441 should be re-enabled after 1.97.
33442
3a613259 334432009-09-05 Felix Zielcke <fzielcke@z-51.de>
33444
33445 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33446 find searches for.
33447
197f76c7 334482009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33449
33450 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33451 unnecessary calls to grub_error.
33452
70ba68ce 334532009-09-04 Colin Watson <cjwatson@ubuntu.com>
33454
33455 * NEWS: Mention `keystatus' and Unicode fonts.
33456
4ff0d7a4 334572009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33458
33459 * configure.ac: Bump version to 1.97~beta2.
33460 * docs/version.texi: Likewise.
33461
77c55a87 334622009-09-03 Colin Watson <cjwatson@ubuntu.com>
33463
33464 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33465 containing unwind information in some cases where it previously did
33466 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33467 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33468 discussion.
33469
f79572cd 334702009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33471
33472 Embedding loadenv module into grub-emu
33473
33474 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33475 commands/loadenv.c
33476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33481 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33482
93a81088 334832009-09-03 Magnus Granberg <zorry@ume.nu>
33484
33485 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33486 include -fPIE in the default specs.
33487 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33488 to TARGET_CFLAGS.
33489
160034b2 334902009-09-03 Felix Zielcke <fzielcke@z-51.de>
33491
33492 * INSTALL: Note that GNU Bison 2.3 or later is required.
33493
087c07c4 334942009-09-03 Colin Watson <cjwatson@ubuntu.com>
33495
33496 * kern/i386/pc/startup.S: Fix typo.
33497
cbf978c0 334982009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33499
33500 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33501 according to GCS.
33502
335032009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33504
33505 * docs/grub.texi (Naming convention): Describe one-based partition
33506 numbering.
33507 (Device syntax): Likewise.
33508 (File name syntax): Likewise.
33509 (Block list syntax): Likewise.
33510 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33511 menu.lst.
33512 (File name syntax): Likewise.
33513 (Command-line and menu entry commands): Document acpi, blocklist,
33514 crc, export, insmod, keystatus, ls, set, and unset commands.
33515
f3e8cdfd 335162009-09-02 Colin Watson <cjwatson@ubuntu.com>
33517
33518 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33519 to avoid implying that only one of --shift, --ctrl, or --alt may be
33520 used.
33521
c0bc232b 335222009-09-02 Colin Watson <cjwatson@ubuntu.com>
33523
33524 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33525 rather than comparing against S_IFREG, which will almost never work.
33526
aa0f752d 335272009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33528
33529 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33530 (write_blocklists): Likewise.
33531
ecb3166a 335322009-09-01 Colin Watson <cjwatson@ubuntu.com>
33533
33534 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33535 argument to grub_printf.
33536
c403a125 335372009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33538
33539 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33540 non GNU test.
31aba781 33541
b5e7312c 335422009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33543
33544 * kern/file.c (grub_file_read): Spelling fix
33545
fe00f472 335462009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33547
33548 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33549 loading of headers in some cases.
33550
cc55302e 335512009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33552
33553 * configure.ac: Bump version to 1.97~beta1.
33554 * docs/version.texi: Likewise.
33555
5c90cdd2 335562009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33557
33558 * include/grub/i386/xnu.h: Add license header.
33559 include grub/err.h explicitly.
33560
c90edae4 335612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33562
33563 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33564 to `ufs' in the vfs.root.mountfrom kernel parameter.
33565
d8888b5c 335662009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33567
33568 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33569
33570 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33571 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33572
33573 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33574 `ARRAY_SIZE' macro.
33575
6f07b921 335762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33577
33578 * kern/file.c (grub_file_read): Check offset.
33579 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33580 * fs/jfs.c (grub_jfs_read_file): Likewise.
33581 * fs/ntfs.c (grub_ntfs_read): Likewise.
33582 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33583 * fs/minix.c (grub_minix_read_file): Correct offset check.
33584 * fs/ufs.c (grub_ufs_read_file): Likewise.
33585
b4f34077 335862009-08-28 Colin Watson <cjwatson@ubuntu.com>
33587
33588 * term/i386/pc/console.c (bios_data_area): Cast
33589 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33590
e7c69859 335912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33592
33593 1-bit optimised blitters.
33594
33595 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33596 prototype.
33597 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33598 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33599 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33600 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33601 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33602 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33603 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33604 function.
33605 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33606 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33607 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33608 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33609 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33610 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33611 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33612 when possible.
33613 * video/video.c (grub_video_get_blit_format): Return
33614 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33615
a57da43f 336162009-08-28 Colin Watson <cjwatson@ubuntu.com>
33617
33618 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33619 the first argument to grub_printf.
33620
4cbe67e5 336212009-08-28 Colin Watson <cjwatson@ubuntu.com>
336222009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33623
33624 Add `getkeystatus' terminal method. Add a new `keystatus' command
33625 to query it.
33626
33627 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33628 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33629 modifier key bitmasks.
33630 (struct grub_term_input): Add `getkeystatus' member.
33631 (grub_getkeystatus): Add prototype.
33632 * kern/term.c (grub_getkeystatus): New function.
33633
33634 * include/grub/i386/pc/memory.h
33635 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33636 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33637 Data Area layout.
33638 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33639 (grub_console_term_input): Set `getkeystatus' member.
33640 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33641 constants.
33642 (grub_usb_keyboard_getreport): Likewise.
33643 (grub_usb_keyboard_checkkey): Likewise.
33644 (grub_usb_keyboard_getkeystatus): New function.
33645 (grub_usb_keyboard_term): Set `getkeystatus' member.
33646
33647 * commands/keystatus.c: New file.
33648 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33649 (keystatus_mod_SOURCES): New variable.
33650 (keystatus_mod_CFLAGS): Likewise.
33651 (keystatus_mod_LDFLAGS): Likewise.
33652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33653 commands/keystatus.c.
33654 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33656 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33658 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33660
6e2a9085 336612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33662
33663 Split befs.mod and afs.mod into *_be.mod and *.mod
33664
33665 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33666 (grub_fstest_SOURCES): Likewise.
33667 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33668 (afs_be_mod_SOURCES): New variable.
33669 (afs_be_mod_CFLAGS): Likewise.
33670 (afs_be_mod_LDFLAGS): Likewise.
33671 (befs_be_mod_SOURCES): Likewise.
33672 (befs_be_mod_CFLAGS): Likewise.
33673 (befs_be_mod_LDFLAGS): Likewise.
33674 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33676 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33677 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33678 (grub_emu_SOURCES): Likewise.
33679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33680 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33681 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33682 * fs/afs_be.c: New file.
33683 * fs/befs_be.c: New file.
33684 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33685 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33686 (U16): Replaced with ...
33687 (grub_afs_to_cpu16): ...this. All users updated.
33688 (U32): Replaced with ...
33689 (grub_afs_to_cpu32): ...this. All users updated.
33690 (U64): Replaced with ...
33691 (grub_afs_to_cpu64): ...this. All users updated.
33692 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33693 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33694 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33695 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33696 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33697 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33698 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33699 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33700 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33701 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33702 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33703
32a71655 337042009-08-26 Bean <bean123ch@gmail.com>
33705
33706 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33707 64-bit number.
33708 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33709 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33710 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33711
552bf6c5 337122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33713
33714 NetBSD memory map support.
33715
33716 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33717 (grub_netbsd_btinfo_mmap_header): New structure.
33718 (grub_netbsd_btinfo_mmap_entry): Likewise.
33719 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33720
1ae2078c 337212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33722
33723 Enable bsd.mod on coreboot.
33724
33725 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33726 (bsd_mod_SOURCES): New variable.
33727 (bsd_mod_CFLAGS): Likewise.
33728 (bsd_mod_LDFLAGS): Likewise.
33729 (bsd_mod_ASFLAGS): Likewise.
33730 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33731 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33732
beefc598 337332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33734
33735 Cleanup NetBSD root support.
33736
33737 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33738 grub_bsd_get_device.
33739 Fix typo.
33740
3b76e68b 337412009-08-25 Felix Zielcke <fzielcke@z-51.de>
33742
33743 * util/grub.d/00_header.in: Move check for the video backend of
33744 gfxterm from here ...
33745 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33746 a suitable video backend.
33747
aea664ea 337482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33749
33750 Fix breakage in grub-setup.
33751
33752 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33753 "msdos_partition_map".
33754
ff747d50 337552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33756
33757 Fix breakage in normal/auth.c.
33758
33759 * normal/auth.c (grub_iswordseparator): New function.
33760
e7e1f93f 337612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 Authentication support.
33764
33765 * commands/password.c: New file.
33766 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33767 (password_mod_SOURCES): New variable.
33768 (password_mod_CFLAGS): Likewise.
33769 (password_mod_LDFLAGS): Likewise.
33770 (normal_mod_SOURCES): Add normal/auth.c.
33771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33772 normal/auth.c.
33773 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33774 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33777 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33778 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33779 * include/grub/auth.h: New file.
33780 * include/grub/err.h (grub_err_t): New enum value
33781 GRUB_ERR_ACCESS_DENIED.
33782 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33783 'users'.
33784 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33785 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33786 users updated.
33787 * normal/auth.c: New file.
33788 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33789 (grub_cmdline_run): Don't allow to go to command line without
33790 authentication.
33791 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33792 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33793 menuentry without superuser rights.
33794 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33795 user isn't a superuser.
33796
70f1161d 337972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33798
33799 Save space by inlining misc.c functions.
33800
33801 * kern/misc.c (grub_iswordseparator): Made static.
33802 * kern/misc.c (grub_strcat): Moved from here ...
33803 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33804 * kern/misc.c (grub_strncat): Moved from here ...
33805 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33806 * kern/misc.c (grub_strcasecmp): Moved from here ...
33807 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33808 * kern/misc.c (grub_strncasecmp): Moved from here ...
33809 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33810 * kern/misc.c (grub_isalpha): Moved from here ...
33811 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33812 * kern/misc.c (grub_isdigit): Moved from here ...
33813 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33814 * kern/misc.c (grub_isgraph): Moved from here ...
33815 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33816 * kern/misc.c (grub_tolower): Moved from here ...
33817 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33818
48e40bff 338192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33820
33821 * script/sh/function.c (grub_script_function_find): Cut error message
33822 not to flood terminal.
33823 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33824 limit.
33825 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33826
c385bfc3 338272009-08-24 Colin Watson <cjwatson@ubuntu.com>
33828
33829 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33830 `report' grub_uint8_t *.
33831 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33832 Use a 50-millisecond timeout rather than just repeating
33833 grub_usb_keyboard_getreport 50 times.
33834 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33835
2d21e3e8 338362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33837
33838 Rename *_partition_map to part_*
33839
33840 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33841 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33842 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33843 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33844 All users updated.
33845 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33846 All users updated.
33847 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33848 * util/grub-probe.c (probe_partmap): Don't transform partition name
33849 to get module name.
33850
dd103c4e 338512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33852
33853 Fix OpenBSD and NetBSD support.
33854
33855 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33856 memory address conflict.
33857 (OPENBSD_MMAP_ACPI): New definition.
33858 (OPENBSD_MMAP_NVS): Likewise.
33859 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33860 and OPENBSD_MMAP_NVS.
33861 Add memory map terminator
33862 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33863 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33864
16c84d74 338652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33866
33867 Let user specify NetBSD root device.
33868
33869 * loader/i386/bsd.c (netbsd_root): New variable.
33870 (netbsd_opts): New option 'root'.
33871 (NETBSD_ROOT_ARG): New macro.
33872 (grub_netbsd_boot): Use 'netbsd_root'.
33873 (grub_bsd_unload): Free 'netbsd_root'.
33874 (grub_cmd_netbsd): Fill 'netbsd_root'.
33875
adb29902 338762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33877
33878 Support for 64-bit NetBSD.
33879
33880 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33881 point when booting non-FreeBSD.
33882
f5ae9f74 338832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33884
33885 Support --no-smp and --no-acpi for NetBSD.
33886
33887 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33888 (NETBSD_AB_NOACPI): Likewise.
33889 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33890 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33891
de74f136 338922009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33893
33894 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33895 errors.
33896 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33897 errors. Call grub_error when needed.
33898
e9a925da 338992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33900
33901 * commands/search.c (search_fs): Try searching without autoload first.
33902 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33903 filesystem module explicitly for faster booting.
33904
5174302b 339052009-08-23 Colin Watson <cjwatson@ubuntu.com>
33906
33907 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33908
c8c80635 339092009-08-23 Colin Watson <cjwatson@ubuntu.com>
33910
33911 * util/grub.d/30_os-prober.in: Disable os-prober if
33912 `GRUB_DISABLE_OS_PROBER' was set to true.
33913
71acf5e5 339142009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33915
33916 * partmap/pc.c: Rename to ...
33917 * partmap/msdos.c: ... this. Update all users.
33918 (grub_pc_partition_map): Rename to ...
33919 (grub_msdos_partition_map): ... this. Update all users.
33920
33921 * parttool/pcpart.c: Rename to ...
33922 * parttool/msdospart.c: ... this. Update all users.
33923
33924 * include/grub/pc_partition.h: Rename to ...
33925 * include/grub/msdos_partition.h: ... this. Update all users.
33926 (grub_pc_partition_bsd_entry): Rename to ...
33927 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33928 (grub_pc_partition_disk_label): Rename to ...
33929 (grub_msdos_partition_disk_label): ... this. Update all users.
33930 (grub_pc_partition_entry): Rename to ...
33931 (grub_msdos_partition_entry): ... this. Update all users.
33932 (grub_pc_partition_mbr): Rename to ...
33933 (grub_msdos_partition_mbr): ... this. Update all users.
33934 (grub_pc_partition): Rename to ...
33935 (grub_msdos_partition): ... this. Update all users.
33936 (grub_pc_partition_is_empty): Rename to ...
33937 (grub_msdos_partition_is_empty): ... this. Update all users.
33938 (grub_pc_partition_is_extended): Rename to ...
33939 (grub_msdos_partition_is_extended): ... this. Update all users.
33940 (grub_pc_partition_is_bsd): Rename to ...
33941 (grub_msdos_partition_is_bsd): ... this. Update all users.
33942
33943 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33944 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33945 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33946 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33947 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33948 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33949 (gpt_mod_LDFLAGS): Rename to ...
33950 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33951 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33952 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33953 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33954 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33955 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33956 (part_gpt_mod_LDFLAGS): ... this.
33957 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33958 `pcpart.mod' to `msdospart.mod'.
33959 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33960 to ...
33961 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33962 (msdospart_mod_LDFLAGS): ... this.
33963
c11fded5 339642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33965
33966 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33967 (openbsd_opts): Likewise.
33968 (netbsd_opts): Likewise.
33969 (freebsd_flags): Added 0 terminator.
33970 (openbsd_flags): Likewise.
33971 (netbsd_flags): Likewise.
33972 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33973 (grub_cmd_freebsd): Transformed into extended command.
33974 (grub_cmd_openbsd): Likewise.
33975 (grub_cmd_netbsd): Likewise.
33976 (cmd_freebsd): Changed type to grub_extcmd_t.
33977 (cmd_openbsd): Likewise.
33978 (cmd_netbsd): Likewise.
33979 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33980 grub_cmd_openbsd as extended commands.
33981 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33982 cmd_netbsd and cmd_openbsd
33983
11d1c769 339842009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33985
33986 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33987
7a9094e5 339882009-08-21 Pavel Roskin <proski@gnu.org>
33989
5496c37e 33990 * Makefile.in (install-local): When checking if a file is in the
33991 build directory, use "test -e" to detect symlinks.
33992
7a9094e5 33993 * Makefile.in (install-local): Remove all files in
33994 $(DESTDIR)$(pkglibdir) before installing new files there.
33995
e53cea11 339962009-08-18 Felix Zielcke <fzielcke@z-51.de>
33997
33998 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33999 grub-mkelfimage.
34000
9aced544 340012009-08-18 Felix Zielcke <fzielcke@z-51.de>
34002
34003 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34004 explicitly specified by the user.
34005
b7da6bab 340062009-08-18 Pavel Roskin <proski@gnu.org>
34007
34008 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34009 grub_uint8_t pointer for data.
34010 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34011 Likewise.
34012 * video/fb/fbutil.c: Remove unnecessary casts.
34013
19f1b335 340142009-08-17 Michal Suchanek <hramrach@centrum.cz>
34015
34016 VBE cleanup.
34017
34018 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34019 (grub_vbe_set_video_mode): Save active mode info
34020 only after setting the mode.
34021 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34022 second argument.
34023
2f467aa9 340242009-08-17 Michal Suchanek <hramrach@centrum.cz>
34025
34026 Rename variables for clarity.
34027
34028 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34029 (active_vbe_mode_info): ... this. All users updated.
34030 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34031 All users updated.
34032 (initial_mode): Rename to ...
34033 (initial_vbe_mode): ... this. All users updated.
34034 (mode_in_use): Rename to ..
34035 (vbe_mode_in_use): ... this. All users updated.
34036 (mode_list): Rename to ..
34037 (vbe_mode_list): ... this. All users updated.
34038 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34039 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34040 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34041 'mode_list_size' to 'vbe_mode_list_size'.
34042 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34043 'best_mode_info' to 'best_vbe_mode_info' and
34044 'best_mode' to 'best_vbe_mode'
34045
6025fcd7 340462009-08-17 Michal Suchanek <hramrach@centrum.cz>
34047
34048 Remove duplicate grub_video_fb_get_video_ptr.
34049
34050 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34051 (grub_video_fb_get_video_ptr): ... this.
34052 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34053 * video/fb/fbutil.c: Add comment about addressing.
34054 (get_data_ptr): Rename to ...
34055 (grub_video_fb_get_video_ptr): ... this. All users updated.
34056 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34057
cc8c6faf 340582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34059
34060 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34061 grub_dprintf() that was just added.
34062
08aa61f0 340632009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34064
34065 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34066 (DEFAULT_VIDEO_MODE): Remove macros.
34067 (grub_linux_boot): Remove assumption that Linux has FB support,
34068 and use "text" as default video mode.
34069
7cef4f75 340702009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34071
34072 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34073 grub_dprintf.
34074 * fs/fat.c (grub_fat_read_data): Likewise.
34075
e1f39873 340762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34077
34078 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34079 payload.
34080 (grub_module): Likewise.
34081
c166d79e 340822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34083
34084 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34085 mbi->cmdline but free playground.
34086
c60cee8e 340872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34088
34089 Handle group offset on UFS1.
34090
34091 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34092 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34093
c0d8b5d4 340942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34095
34096 Split ufs.mod into ufs1.mod and ufs2.mod.
34097
34098 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34099 (grub_fstest_SOURCES): Likewise.
34100 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34101 (ufs_mod_SOURCES): Remove.
34102 (ufs_mod_CFLAGS): Likewise.
34103 (ufs_mod_LDFLAGS): Likewise.
34104 (ufs1_mod_SOURCES): New variable.
34105 (ufs1_mod_CFLAGS): Likewise.
34106 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34107 (ufs2_mod_SOURCES): New variable.
34108 (ufs2_mod_CFLAGS): Likewise.
34109 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34111 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34112 Likewise.
34113 (grub_emu_SOURCES): Likewise.
34114 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34115 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34116 (grub_setup_SOURCES): Likewise.
34117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34118 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34119 (grub_setup_SOURCES): Likewise.
34120 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34121 Likewise.
34122 * fs/ufs2.c: New file.
34123 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34124
d3539132 341252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34126
34127 Framebuffer split.
34128
34129 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34130 subsystem at the end.
34131 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34132 (video_fb_mod_SOURCES): New variable.
34133 (video_fb_mod_CFLAGS): Likewise.
34134 (video_fb_mod_LDFLAGS): Likewise.
34135 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34136 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34137 * video/i386/pc/vbeblit.c: Moved from here ...
34138 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34139 * video/i386/pc/vbefill.c: Moved from here ...
34140 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34141 * video/i386/pc/vbeutil.c: Moved from here ...
34142 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34143 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34144 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34145 * include/grub/i386/pc/vbefill.h: Moved from here ...
34146 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34147 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34148 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34149 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34150 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34151 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34152 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34153 (grub_video_adapter): Added 'get_info_and_fini'.
34154 (grub_video_get_info_and_fini): New prototype.
34155 (grub_video_set_mode): make modestring const char *.
34156 * loader/i386/linux.c (grub_linux_setup_video): Use
34157 grub_video_get_info_and_fini.
34158 (grub_linux_boot): Move modesetting just before booting.
34159 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34160 grub_video_get_info_and_fini.
34161 * video/i386/pc/vbe.c: Moved framebuffer part ...
34162 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34163 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34164 grub_video_fbstd_colors and grub_video_fb_set_palette.
34165 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34166 grub_video_fb_init.
34167 (grub_video_vbe_fini): Use grub_video_fb_fini.
34168 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34169 render_target and use grub_video_fb_set_active_render_target and
34170 grub_video_fb_set_palette.
34171 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34172 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34173 (grub_video_vbe_adapter): Use framebuffer.
34174 * video/video.c (grub_video_get_info_and_fini): New function.
34175 (grub_video_set_mode): Make modestring const char *.
34176 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34177 values are already initialised.
34178
d404ee56 341792009-08-14 Pavel Roskin <proski@gnu.org>
34180
34181 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34182 ABS and APPLE_CC.
34183 * boot/i386/pc/diskboot.S: Likewise.
34184 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34185 sectors allow compilation on MacOSX.
34186 * conf/i386-pc.rmk: Enable unconditional compilation of
34187 lnxboot.img.
34188
9a10df16 341892009-08-13 Colin Watson <cjwatson@ubuntu.com>
34190
34191 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34192 * util/grub.d/00_header.in: Enter interruptible sleep if
34193 GRUB_HIDDEN_TIMEOUT is set.
34194
be3c9ca7 341952009-08-13 Yves Blusseau <blusseau@zetam.org>
34196
34197 * include/grub/symbol.h: Add the LOCAL macro.
34198 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34199 starting with "L_".
34200
1f9e557e 342012009-08-13 Pavel Roskin <proski@gnu.org>
34202
9ca62843 34203 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34204 any modern compilers we support.
34205
1f9e557e 34206 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34207 Use local labels starting with "L_" so that Apple assembler
34208 knows they are local.
34209
81623db6 342102009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34211
34212 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34213 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34214 (bsd_kernel_types): ... this enum.
34215
34216 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34217 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34218 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34219
34220 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34221 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34222 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34223 messages.
34224
f5d35e7a 342252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34226
34227 * util/grub-dumpdevtree: Moved from here ...
34228 * util/i386/efi/grub-dumpdevtree: ... to here.
34229 (hexify): New function. Converts a string to its hex version.
34230 Generate hex versions of "efi" and "device-properties" by calling
34231 hexify() on the ASCII strings rather than by hardcoding numbers.
34232
d1e1d527 342332009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34234
34235 * fs/jfs.c: Update copyright year.
34236
1ebbe064 342372009-08-08 Felix Zielcke <fzielcke@z-51.de>
34238
34239 * util/grub.d/00_header.in: Fix a comment.
34240 * util/grub.d/10_linux.in: Likewise.
34241 * util/grub.d/10_windows.in: Likewise.
34242 * util/grub.d/10_hurd.in: Likewise.
34243
a78c8d24 342442009-08-08 Felix Zielcke <fzielcke@z-51.de>
34245
34246 * util/grub-mkconfig.in: Allow the user to specify the used font
34247 with GRUB_FONT.
34248
29a6b9e8 342492009-08-08 Pavel Roskin <proski@gnu.org>
34250
b5f16cc4 34251 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34252 available, xfs.mod needs it now.
34253
2f5cb827 34254 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34255 the "g" modifier in sed when the intention is to strip something
34256 once. This fixes comparison of kernels with multiple dashes.
34257
29a6b9e8 34258 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34259 on it. Add missing space before closing bracket. Fix
34260 misleading formatting.
34261
892a3d98 342622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34263
34264 * docs/grub.texi: Major overhaul. Remove all sections that are
34265 specific to GRUB Legacy, or mostly composed of Legacy-specific
34266 information.
34267
ed94253f 342682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34269
34270 * docs/version.texi: New file. Provides version information for
34271 grub.texi.
34272
126d6628 342732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34274
34275 * docs/grub.texi: Update CVS information to SVN.
34276 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34277
998b5aa9 342782009-08-07 Felix Zielcke <fzielcke@z-51.de>
34279
34280 * util/grub-mkconfig.in: Remove a wrong `fi'.
34281
818e094a 342822009-08-07 Felix Zielcke <fzielcke@z-51.de>
34283
34284 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34285 (grub_jfs_uuid): New function.
34286 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34287
b969c52f 342882009-08-07 Felix Zielcke <fzielcke@z-51.de>
34289
34290 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34291 of it to ...
34292 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34293 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34294
7a4894cc 342952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34296
34297 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34298 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34299 Update all users.
34300
34301 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34302 not just "vmlinu[zx]".
34303 Moved from here ...
34304 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34305 all users.
34306
34307 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34308 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34309 all users.
34310
4e2171f8 343112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34312
34313 * util/grub.d/10_freebsd.in: Use an absolute device path for
34314 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34315
6dcfcb32 343162009-08-06 Felix Zielcke <fzielcke@z-51.de>
34317
34318 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34319 handling of multiple abstraction modules.
34320
f56a8756 343212009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34322
34323 Fix a bug resulting in black screen when loading Linux using a
34324 packed video mode.
34325
34326 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34327 function.
34328
34329 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34330 (grub_vbe_bios_getset_dac_palette_width): New function.
34331 (grub_vbe_bios_get_dac_palette_width)
34332 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34333 grub_vbe_bios_getset_dac_palette_width()).
34334
34335 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34336 check for return status.
34337 (grub_vbe_get_video_mode_info): When getting information for a packed
34338 mode (<= 8 bpp), obtain DAC palette width using
34339 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34340 {red,green,blue}_mark_size.
34341
222671b2 343422009-08-04 Felix Zielcke <fzielcke@z-51.de>
34343
ecb1a6d9 34344 * commands/search.c (options): Fix help output to match actual code.
222671b2 34345
f84114f5 343462009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34347
34348 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34349 of homegrown code.
34350
bd288a20 343512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34352
34353 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34354 on XFS or ReiserFS.
34355
8aab5e25 343562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34357
34358 Support Apple partition map with sector size different from 512 bytes.
34359
34360 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34361 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34362 and 'apart.partmap_size'.
34363
6ad6258a 343642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
343652009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34366
34367 Fix cpuid command.
34368
34369 * commands/i386/cpuid.c (options): New variable.
34370 (grub_cmd_cpuid): Return real error.
34371 (GRUB_MOD_INIT(cpuid)): Declare options.
34372
67459bc6 343732009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34374
34375 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34376 valid.
34377
fbc6ab54 343782009-07-31 Bean <bean123ch@gmail.com>
34379
34380 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34381 log2_inode.
34382 (grub_fshelp_node): Move inode field to the end.
34383 (grub_xfs_data): Remove inode field.
34384 (grub_xfs_inode_block): Calculate inode size using sblock.
34385 (grub_xfs_inode_offset): Likewise.
34386 (grub_xfs_read_inode): Calculate inode size using sblock.
34387 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34388 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34389 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34390 to match inode size.
34391 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34392 not accessible when data is null.
34393 (grub_xfs_open): Likewise.
34394
f45d6cfc 343952009-07-31 Bean <bean123ch@gmail.com>
34396
34397 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34398 Don't change pv->disk if it's already set.
34399
34400 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34401 (grub_raid_register): ... here.
34402 (grub_raid_rescan): Removed.
34403
34404 * include/grub/raid.h (grub_raid_rescan): Removed.
34405
34406 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34407 (fstest): Replace grub_raid_rescan with module fini function followed
34408 by init function.
34409
34410 * util/grub-probe.c: Add include file <grub/raid.h>.
34411 (probe_raid_level): New function.
34412 (probe): Detect abstraction by walking the disk device, support two
34413 level of abstraction (LVM on RAID) when detecting partition map.
34414
24443b5a 344152009-07-31 Pavel Roskin <proski@gnu.org>
34416
34417 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34418 to grub_zalloc(), it was erroneous.
34419 Reported by Bean <bean123ch@gmail.com>
34420
a275d9e7 344212009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34422
34423 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34424 embedding zone, not only the first one.
a275d9e7 34425
56c5a47f 344262009-07-29 Joe Auricchio <jauricchio@gmail.com>
34427
34428 * term/gfxterm.c (clear_char): New function.
34429 (grub_virtual_screen_setup): Use clear_char.
34430 (scroll_up): Likewise.
34431 (grub_virtual_screen_cls): Likewise.
34432
67bb323a 344332009-07-29 Felix Zielcke <fzielcke@z-51.de>
34434
34435 * util/deviceiter.c (get_acceleraid_disk_name): New static
34436 function.
34437 (grub_util_iterate_devices): Handle Accelraid devices.
34438 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34439
388a7c75 344402009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34441
34442 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34443 separator for the suggested gfxpayload string (';' collides with the
34444 parser and needs escaping).
34445
3bb7abcf 344462009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34447
34448 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34449 Clear direction flag before jumping to OS.
34450 (grub_multiboot2_real_boot): Likewise.
34451
2ddd36d7 344522009-07-28 Felix Zielcke <fzielcke@z-51.de>
34453
34454 * util/i386/pc/grub-install: Fix parsing of --disk-module
34455 option.
34456
c521b62b 344572009-07-28 Felix Zielcke <fzielcke@z-51.de>
34458
34459 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34460 when embedding.
34461
880e0a0c 344622009-07-26 Felix Zielcke <fzielcke@z-51.de>
34463
34464 * util/grub-mkconfig.in (package_version): New variable.
34465 Use it do display the version.
34466
2366e356 344672009-07-25 Felix Zielcke <fzielcke@z-51.de>
34468
34469 * kern/file.c (grub_file_open): Revert to previous check with
34470 grub_errno.
34471
7ad8c80e 344722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34473
34474 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34475 from help line. It's out of sync with code.
34476
72b9658b 344772009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34478
34479 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34480 entries on failed boot.
34481
77435277 344822009-07-25 Felix Zielcke <fzielcke@z-51.de>
34483
34484 * kern/file.c (grub_file_open): Fix an error check.
34485
fcaa8b21 344862009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34487
35d16c74 34488 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34489 partition map couldn't be identified.
fcaa8b21 34490
48904cd1 344912009-07-23 Pavel Roskin <proski@gnu.org>
34492
ef3c317f 34493 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34494 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34495 case of little endian words becomes just an optimization.
34496 Respect const modifier.
ad8ea1f4 34497 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34498
48904cd1 34499 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34500 to avoid loss of upper bits if align is unsigned and shorter
34501 than addr.
34502
260c9a89 345032009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34504
34505 UUID support for UFS
34506
34507 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34508 (grub_ufs_uuid): New function.
34509 (grub_ufs_fs): add .uuid
34510
f76ce889 345112009-07-21 Pavel Roskin <proski@gnu.org>
34512
34513 * kern/dl.c (grub_dl_check_header): Make static.
34514
6a6cbcaf 345152009-07-21 Felix Zielcke <fzielcke@z-51.de>
34516
34517 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34518 add drivemap for Vista. It breaks Windows 7.
34519
cffcddb2 345202009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34521
34522 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34523 128 bytes
34524
1ef44b80 345252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34526
34527 Add BFS support
34528
34529 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34530 (grub_fstest_SOURCES): Likewise.
34531 (pkglib_MODULES): Add befs.mod.
34532 (befs_mod_SOURCES): New variable.
34533 (befs_mod_CFLAGS): Likewise.
34534 (befs_mod_LDFLAGS): Likewise.
34535 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34536 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34538 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34539 (grub_setup_SOURCES): Likewise.
34540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34541 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34542 (grub_setup_SOURCES): Likewise.
34543 * fs/befs.c: New file.
34544 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34545 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34546 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34547 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34548 (B_KEY_INDEX_ALIGN): New declaration.
34549 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34550 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34551 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34552 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34553 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34554 (grub_afs_mount) [MODE_BFS]: Likewise.
34555 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34556 (grub_afs_fs): Use GRUB_AFS_FSNAME
34557 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34558 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34559 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34560 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34561
4f253044 345622009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34563
34564 * util/getroot.c (find_root_device): Add support for MacOSX.
34565 * util/hostdisk.c: Likewise.
34566
57a55913 345672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34568
34569 * font/font.c (find_glyph): Check whether a font is present to avoid
34570 segmentation fault.
75421ca9 34571
345722009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34573
34574 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34575
e98cd0c2 345762009-07-20 Pavel Roskin <proski@gnu.org>
34577
34578 * configure.ac: Trim excessively wordy excuses.
34579
1d2d169a 345802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34581
34582 Add symlink, mtime and label support to AtheFS.
34583
34584 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34585 (grub_afs_iterate_dir): Handle symlinks.
34586 (grub_afs_open): Use grub_afs_read_symlink.
34587 (grub_afs_dir): Likewise.
34588 Pass mtime.
34589 (grub_afs_label): New function.
34590 (grub_afs_fs): Add grub_afs_label.
34591 (grub_afs_read_symlink): New function.
34592
186f3189 345932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34594
34595 Fix AtheFS support.
34596
34597 * fs/afs.c: Fix comments style.
34598 (grub_afs_blockrun): Declare as packed.
34599 (grub_afs_datastream): Likewise.
34600 (grub_afs_bnode): Likewise.
34601 (grub_afs_btree): Likewise.
34602 (grub_afs_sblock): Likewise.
34603 Declare `name' as char.
34604 (grub_afs_inode): Declare as packed.
34605 Change void *vnode to grub_uint32_t unused.
34606 (grub_afs_iterate_dir): Check that key_size is positive.
34607 (grub_afs_mount): Don't read superblock twice.
75421ca9 34608 (grub_afs_dir): Don't free node in case of error,
186f3189 34609 grub_fshelp_find_file already handles this.
34610 (grub_afs_open): Likewise.
34611
5680109e 346122009-07-19 Pavel Roskin <proski@gnu.org>
34613
34614 * Makefile.in: Remove LIBLZO and enable_lzo.
34615 * conf/i386-pc.rmk: Remove lzo support.
34616 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34617 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34618 support.
34619 * kern/i386/pc/lzo1x.S: Remove.
34620 * kern/i386/pc/startup.S: Remove lzo support.
34621 * util/i386/pc/grub-mkimage.c: Likewise.
34622
ac70fa32 346232009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34624
34625 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34626 * fs/xfs.c (grub_xfs_dir): Likewise.
34627 * fs/afs.c (grub_afs_dir): Likewise.
34628 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34629 (grub_iso9660_open): Likewise.
34630 * fs/jfs.c (grub_jfs_open): Likewise.
34631 * fs/ext2.c (grub_ext2_dir): Likewise.
34632 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34633 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34634
eab58da2 346352009-07-16 Pavel Roskin <proski@gnu.org>
34636
d2838156 34637 * configure.ac: Never add "-c" to CFLAGS.
34638
55c70904 34639 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34640
43e6200c 34641 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34642 grub_cv_cc_efiemu should be used.
34643
ce7a733d 34644 * configure.ac: Typo fixes.
34645
eab58da2 34646 * kern/mm.c (grub_zalloc): New function.
34647 (grub_debug_zalloc): Likewise.
34648 * include/grub/mm.h: Declare grub_zalloc() and
34649 grub_debug_zalloc().
34650 * util/misc.c (grub_zalloc): New function.
34651 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34652 instead of grub_malloc(), remove unneeded initializations.
34653 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34654 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34655 * commands/parttool.c (grub_cmd_parttool): Likewise.
34656 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34657 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34658 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34659 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34660 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34661 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34662 (grub_cmd_efiemu_pnvram): Likewise.
34663 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34664 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34665 (grub_iso9660_iterate_dir): Likewise.
34666 * fs/jfs.c (grub_jfs_opendir): Likewise.
34667 * fs/ntfs.c (list_file): Likewise.
34668 (grub_ntfs_mount): Likewise.
34669 * kern/disk.c (grub_disk_open): Likewise.
34670 * kern/dl.c (grub_dl_load_core): Likewise.
34671 * kern/elf.c (grub_elf_file): Likewise.
34672 * kern/env.c (grub_env_context_open): Likewise.
34673 (grub_env_set): Likewise.
34674 (grub_env_set_data_slot): Likewise.
34675 * kern/file.c (grub_file_open): Likewise.
34676 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34677 * loader/i386/multiboot.c (grub_module): Likewise.
34678 * loader/xnu.c (grub_xnu_create_key): Likewise.
34679 (grub_xnu_create_value): Likewise.
34680 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34681 (read_config_file): Likewise.
34682 * normal/menu_entry.c (make_screen): Likewise.
34683 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34684 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34685 * script/sh/script.c (grub_script_parse): Likewise.
34686 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34687 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34688 * video/readers/png.c (grub_png_output_byte): Likewise.
34689 (grub_video_reader_png): Likewise.
34690
830afef7 346912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34692
34693 Enable all targets that can be built by default
34694
830afef7 34695 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34696 grub-mkfont and grub-fstest if they can be built
34697
ee293aee 346982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34699
34700 Fix hang and segmentation fault in grub-emu-usb
34701
34702 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34703 * util/usb.c (grub_libusb_devices): likewise
34704 (grub_libusb_init): rename to ...
34705 (GRUB_MOD_INIT (libusb)):...this
34706 (grub_libusb_fini): rename to ..
34707 (GRUB_MOD_FINI (libusb)):...this
34708 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34709 * include/grub/disk.h (grub_raid_init): removed, it's useless
34710 (grub_raid_fini): likewise
34711 (grub_lvm_init): likewise
34712 (grub_lvm_fini): likewise
34713 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34714 by grub_init_all
34715
94414221 347162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34717
34718 Fix libusb
34719
34720 * Makefile.in (LIBUSB): new macro
34721 * genmk.rb (Utility/print_tail): new method
34722 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34723 (top level): call util.print_tail at the end.
34724
59ade63d 347252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34726
34727 Make FreeBSD accept zpool.cache
34728
34729 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34730 type is /boot/zfs/zpool.cache
34731
a58da8c7 347322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34733
34734 Fix 64-bit efiemu
34735
34736 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34737 correct wrong typedef
34738 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34739
20591577 347402009-07-15 Pavel Roskin <proski@gnu.org>
34741
560ca572 34742 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34743 * kern/disk.c (struct grub_disk_cache): Likewise.
34744
e8e8e4fd 34745 * commands/probe.c (options): Typo fix.
34746
fde24e10 34747 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34748 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34749 accordingly.
34750 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34751
379c54c1 34752 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34753 the end of "Error" to make the message more readable.
34754
7bd8f5bf 34755 * boot/i386/pc/boot.S (kernel_segment): Remove.
34756 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34757 for destination.
34758
40b132c5 34759 * boot/i386/pc/boot.S (boot_version): Remove.
34760 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34761 Remove.
34762
20591577 34763 * include/grub/i386/pc/boot.h: Sort all offsets.
34764 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34765 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34766 * boot/i386/pc/boot.S: Assert location of every offset listed in
34767 include/grub/i386/pc/boot.h.
34768
2df32b2c 347692009-07-13 Pavel Roskin <proski@gnu.org>
34770
44b5d879 34771 * include/grub/i386/coreboot/machine.h: Rename
34772 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34773 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34774 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34775
17dc3751 34776 * kern/dl.c: Force native word size to suppress warnings when
34777 compiling grub-emu.
34778
2df32b2c 34779 * kern/device.c (grub_device_iterate): Change struct part_ent to
34780 hold the name, not a pointer to it. Use one grub_malloc() per
34781 partition, not two. Free partition_name if grub_malloc() fails.
34782 Set ents to NULL only before grub_partition_iterate() is called.
34783
75c59f59 347842009-07-11 Bean <bean123ch@gmail.com>
34785
34786 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34787 childname.
34788
0ae1bf88 347892009-07-10 Bean <bean123ch@gmail.com>
347902009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34791
34792 * kern/ieee1275/openfw.c (grub_children_iterate)
34793 (grub_devalias_iterate): Fix size evaluation for property or path
34794 strings, which was broken since r2132.
34795
8279cade 347962009-07-07 Pavel Roskin <proski@gnu.org>
34797
7d8a52d3 34798 * commands/search.c (search_file): Merge into ...
34799 (search_fs): ... this. Accept search type as argument.
34800 (grub_cmd_search): Pass search type to search_fs().
34801
25f9a05a 34802 * include/grub/util/console.h: New file.
34803 * util/console.c: Use it instead of grub/machine/console.h.
34804 * util/grub-emu.c: Likewise.
34805
8279cade 34806 * lib/arg.c (find_long_option): Remove.
34807 (find_long): Add `len' argument, make `s' const char *.
34808 (grub_arg_parse): Parse long options in place, not in a
34809 temporary buffer.
34810
4a11b60f 348112009-07-06 Pavel Roskin <proski@gnu.org>
34812
99f68041 34813 * commands/search.c (search_fs): Fix potential NULL pointer
34814 dereference.
34815
4a11b60f 34816 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34817 function pointer.
34818
e110f4de 348192009-07-06 Daniel Mierswa <impulze@impulze.org>
34820
34821 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34822 comparison.
34823
46eeb6a2 348242009-07-05 Pavel Roskin <proski@gnu.org>
34825
bab74958 34826 * include/grub/i386/linux.h (struct linux_kernel_params):
34827 Restore padding3, it's still needed.
34828
46eeb6a2 34829 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34830 FreeBSD.
34831 * util/osdetect.lua: Likewise.
34832
b4a1dc79 348332009-07-05 Bean <bean123ch@gmail.com>
34834
34835 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34836
34837 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34838 (grub_lua_getenv): Likewise.
34839 (grub_lua_setenv): Likewise.
34840 (save_errno): New function.
34841 (push_result): Likewise.
34842 (grub_lua_enum_device): Likewise.
34843 (grub_lua_enum_file): Likewise.
34844 (grub_lua_file_open): Likewise.
34845 (grub_lua_file_close): Likewise.
34846 (grub_lua_file_seek): Likewise.
34847 (grub_lua_file_read): Likewise.
34848 (grub_lua_file_getline): Likewise.
34849 (grub_lua_file_getsize): Likewise.
34850 (grub_lua_file_getpos): Likewise.
34851 (grub_lua_file_eof): Likewise.
34852 (grub_lua_file_exist): Likewise.
34853 (grub_lua_add_menu): Likewise.
34854
34855 * script/lua/grub_lua.h (isupper): New inline function.
34856 (islower): Likewise.
34857 (ispunct): Likewise.
34858 (isxdigit): Likewise.
34859 (strcspn): Change to normal function.
34860 (strpbkr): New function declaration.
34861 (memchr): Likewise.
34862
34863 * script/lua/grub_main.c (scan_str): New function.
34864 (strcspn): Likewise.
34865 (strpbrk): Likewise.
34866 (memchr): Likewise.
34867
34868 * script/lua/linit.c (lualibs): Enable the string library.
34869
34870 * util/osdetect.lua: New file.
34871
2da92295 348722009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34873
34874 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34875 `capabilities' member.
34876
b2582ec9 348772009-07-02 Pavel Roskin <proski@gnu.org>
34878
34879 * genparttoollist.sh: Add missing newline at the end.
34880
32622956 348812009-07-01 Pavel Roskin <proski@gnu.org>
34882
87a7339e 34883 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34884
d23af54e 34885 * util/hostdisk.c (open_device): Remove `const' from
34886 `sysctl_size', as sysctlbyname() can change it (in this case it
34887 doesn't actually happen).
34888
c94b18a9 34889 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34890 using signed long int constants.
34891
c6cd3ef0 34892 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34893 constant to avoid a warning on FreeBSD.
34894
0df63420 34895 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34896 where it's needed.
34897
999577f1 34898 * Makefile.in: Install include/grub/machine symlink.
34899
6f41557f 34900 * Makefile.in: When installing symlinks, use "cp -fR", which
34901 works on FreeBSD and MacOSX.
34902 From Yves Blusseau <cl7m42e02@sneakemail.com>
34903
c8d22988 34904 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34905 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34906
1b96e952 34907 * util/misc.c: Move grub_reboot() and grub_halt() ...
34908 * util/grub-emu.c: ... here. Make main_env static.
34909 * include/grub/util/misc.h: Remove main_env.
34910
2ef0084d 34911 * kern/mm.c: Use correct format to print size_t.
34912
32622956 34913 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34914 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34915 * kern/powerpc/dl.c: Likewise.
34916 * kern/sparc64/dl.c: Likewise.
34917 * kern/x86_64/dl.c: Likewise.
34918
3f7f0cd0 349192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34920
34921 Fix grub-emu build on sparc64-ieee1275.
34922
75421ca9 34923 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34925
211d06b5 349262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34927
34928 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34929 (grub_reboot, grub_halt): New functions.
34930
34931 * util/i386/pc/misc.c: Delete. Update all users.
34932 * util/sparc64/ieee1275/misc.c: Likewise.
34933 * util/powerpc/ieee1275/misc.c: Likewise.
34934
aaf53e3c 349352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34936
34937 * conf/i386.rmk (setjmp_mod_SOURCES)
34938 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34939 * conf/common.rmk (setjmp_mod_SOURCES)
34940 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34941 to use $(target_cpu).
34942 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34943 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34944 * conf/powerpc-ieee1275.rmk: Likewise.
34945 * conf/sparc64-ieee1275.rmk: Likewise.
34946
34947 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34948 $(target_cpu) for kern/$(target_cpu)/dl.c.
34949 * conf/i386-efi.rmk: Likewise.
34950 * conf/i386-ieee1275.rmk: Likewise.
34951 * conf/x86_64-efi.rmk: Likewise.
34952 * conf/i386-coreboot.rmk: Likewise.
34953 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34954 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34955 kern/$(target_cpu)/cache.S.
34956 * conf/sparc64-ieee1275.rmk: Likewise.
34957
a337130b 349582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34959
34960 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34961 type to `grub_uint8_t', and adjust `padding9' accordingly.
34962
c6fe4d53 349632009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34964
b09db61d 34965 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34966
c6fe4d53 34967 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34968 assembly in final jump, using register constraints.
34969
b09db61d 34970 (grub_linux_boot): For text mode, initialize `have_vga' using
34971 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34972
34973 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34974 right before the final jump.
34975
34976 Set `video_mode' to 0x3.
34977
34978 Document initialization of `video_page', `video_mode' and
34979 `video_ega_bx'.
34980
28333ad0 349812009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34982
34983 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34984 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34985 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34986
02164e1b 349872009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34988
34989 Fix build on Debian / sparc.
34990
34991 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34992
18b6c557 349932009-06-28 Pavel Roskin <proski@gnu.org>
34994
85f2aab6 34995 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34996 fix a warning.
34997
18b6c557 34998 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34999
ad760f81 350002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35001
35002 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35003 `err'.
35004
87a4623b 350052009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35006
35007 Revert r2338.
35008
35009 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35010 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35011 grub_errno / grub_errmsg appropriately.
87a4623b 35012 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35013
8231fb77 350142009-06-27 Pavel Roskin <proski@gnu.org>
350152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35016
35017 * include/grub/dl.h: Include grub/elf.h.
35018 (struct grub_dl): Add symtab field.
35019 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35020 GRUB_MODULES_MACHINE_READONLY.
35021 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35022 of the header for read-only modules.
35023 (grub_dl_unload): Free mod->symtab for read-only modules.
35024 * kern/i386/dl.c: Use mod->symtab.
35025 * kern/powerpc/dl.c: Likewise.
35026 * kern/sparc64/dl.c: Likewise.
35027 * kern/x86_64/dl.c: Likewise.
35028
35029 * conf/i386-qemu.rmk: New file.
35030 * kern/i386/qemu/startup.S: Likewise.
35031 * kern/i386/qemu/mmap.c: Likewise.
35032 * boot/i386/qemu/boot.S: Likewise.
35033 * include/grub/i386/qemu/time.h: Likewise.
35034 * include/grub/i386/qemu/serial.h: Likewise.
35035 * include/grub/i386/qemu/kernel.h: Likewise.
35036 * include/grub/i386/qemu/console.h: Likewise.
35037 * include/grub/i386/qemu/boot.h: Likewise.
35038 * include/grub/i386/qemu/init.h: Likewise.
35039 * include/grub/i386/qemu/machine.h: Likewise.
35040 * include/grub/i386/qemu/loader.h: Likewise.
35041 * include/grub/i386/qemu/memory.h: Likewise.
35042
35043 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35044 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35045 [qemu] (pkglib_IMAGES): Add `boot.img'.
35046 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35047 [qemu] (boot_img_FORMAT): New variables.
35048 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35049 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35050 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35051 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35052 [qemu] (kernel_img_FORMAT): New variables.
35053
35054 * configure.ac: Recognise `i386-qemu'.
35055
35056 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35057 (for no compression).
35058 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35059 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35060 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35061 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35062 ifdefs).
35063
97fe384e 350642009-06-27 Pavel Roskin <proski@gnu.org>
35065
35066 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35067 read.
35068 * efiemu/prepare32.c: Likewise.
35069 * efiemu/prepare64.c: Likewise.
35070
c402ab17 350712009-06-26 Pavel Roskin <proski@gnu.org>
35072
35073 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35074 * include/grub/elf.h: Define symbols without "32" or "64" based
35075 on GRUB_TARGET_WORDSIZE.
35076 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35077 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35078 ELF definitions.
35079 * efiemu/loadcore64.c: Likewise.
35080 * loader/i386/bsd32.c: Likewise.
35081 * loader/i386/bsd64.c: Likewise.
35082 * kern/dl.c: Remove own ELF definitions.
35083 * util/i386/efi/grub-mkimage.c: Likewise.
35084
9bbdfd4d 350852009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35086
35087 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35088 segment 0x0 unconditionally, because the reference generated by
35089 GAS is an absolute address.
35090
a42ce6e9 350912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35092
35093 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35094 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35095
c952cf92 350962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35097
35098 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35099 indexes. Check for -f explicitly.
cc3752ad 35100 (search_file): Improve error message.
35101 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35102
132a0a59 351032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35104
35105 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35106 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35107
387a140c 351082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35109
35110 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35111 * conf/i386-ieee1275.rmk: Likewise.
35112 * conf/i386-coreboot.rmk: Likewise.
35113
35114 * kern/i386/pc/startup.S (grub_stop): Remove function.
35115 * kern/i386/ieee1275/startup.S: Likewise.
35116 * kern/i386/coreboot/startup.S: Likewise.
35117 * kern/i386/misc.S (grub_stop): New function.
35118
41da9665 351192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35120
35121 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35122 * kern/i386/realmode.S (real_to_prot): ... to here.
35123
bf337234 351242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35125
35126 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35127 with `kernel.img'.
35128 (kernel_elf_SOURCES): Rename to ...
35129 (kernel_img_SOURCES): ... this.
35130 (kernel_elf_HEADERS): Rename to ...
35131 (kernel_img_HEADERS): ... this. Update all users.
35132 (kernel_elf_ASFLAGS): Rename to ...
35133 (kernel_img_ASFLAGS): ... this.
35134 (kernel_elf_CFLAGS): Rename to ...
35135 (kernel_img_CFLAGS): ... this.
35136 (kernel_elf_LDFLAGS): Rename to ...
35137 (kernel_img_LDFLAGS): ... this.
35138 * conf/i386-coreboot.rmk: Likewise.
35139 * conf/powerpc-ieee1275.rmk: Likewise.
35140
35141 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35142 with "kernel.img".
35143
f52196ff 351442009-06-21 Pavel Roskin <proski@gnu.org>
35145
c3cee413 35146 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35147 to match nested functions.
35148 * loader/sparc64/ieee1275/linux.c: Likewise.
35149
f52196ff 35150 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35151
58750afc 351522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35153
35154 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35155 all i386 platforms.
35156
15355c7d 351572009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35158
35159 Fix asm file handling on ELF, and remove workarounds.
35160
35161 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35162 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35163 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35164 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35165
3f3ec72b 351662009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35167
35168 Load BSD ELF modules
35169
35170 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35171 and loader/i386/bsd64.c
35172 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35173 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35174 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35175 (grub_freebsd_load_elfmodule32): New declaration
35176 (grub_freebsd_load_elfmoduleobj64): Likewise
35177 (grub_freebsd_load_elf_meta32): Likewise
35178 (grub_freebsd_load_elf_meta64): Likewise
35179 (grub_freebsd_add_meta): Likewise
35180 (grub_freebsd_add_meta_module): Likewise
35181 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35182 (grub_freebsd_add_meta_module): Likewise and move module-specific
35183 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35184 (grub_cmd_freebsd): Add elf-kernel specific parts
35185 based on grub_freebsd_add_meta_module
35186 (grub_cmd_freebsd_module): Add type parsing moved from
35187 grub_freebsd_add_meta_module
35188 (grub_cmd_freebsd_module_elf): New function
35189 (cmd_freebsd_module_elf): New variable
35190 (GRUB_MOD_INIT): Register freebsd_module_elf
35191 * loader/i386/bsd32.c: New file
35192 * loader/i386/bsd64.c: Likewise
35193 * loader/i386/bsdXX.c: Likewise
35194 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35195 (grub_elf64_load): Likewise
35196 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35197 All users updated
35198 (grub_elf64_load_hook_t): Likewise
35199
0db15301 352002009-06-21 Colin Watson <cjwatson@ubuntu.com>
35201
35202 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35203 variable.
35204 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35205 don't write a menu entry for recovery mode.
35206
546796c1 352072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35208
35209 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35210 after it's no longer needed.
35211
cd7310d5 352122009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35213
35214 * include/grub/i386/loader.h (grub_linux_prot_size)
35215 (grub_linux_tmp_addr, grub_linux_real_addr)
35216 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35217 GRUB_MACHINE_PCBIOS.
35218 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35219 common grub_util_info() call to ...
35220 (generate_image): ... here.
35221 Fix use of uninitialized memory, comparison of signed with
35222 unsigned integers and memory leak.
35223 Remove bogus module address message.
35224
ab32d3b5 352252009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35226
35227 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35228 grub_raid_register
35229 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35230
024ef597 352312009-06-19 Pavel Roskin <proski@gnu.org>
35232
35233 * configure.ac: Remove stray AC_MSG_CHECKING.
35234
3ac72b51 352352009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35236
35237 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35238
e14cd814 352392009-06-18 Pavel Roskin <proski@gnu.org>
35240
35241 * conf/common.rmk: Add fs_file.mod.
35242 * disk/fs_file.c: New file.
35243 * include/grub/disk.h (enum grub_disk_dev_id): Add
35244 GRUB_DISK_DEVICE_FILE_ID.
35245
26586d98 352462009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35247
35248 Fix build with Apple's toolchain. Part 2
35249
35250 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35251 a fake start
35252
26de2bcd 352532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35254
35255 Fix build with Apple's toolchain. Part 1
35256
35257 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35258 for long calls
35259 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35260 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35261 Apple's toolchain
35262
09b3490b 352632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35264
35265 Fix warnings
35266
35267 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35268 (decomp_block): initialize ch
35269 use grub_memcpy instead of memcpy
35270
c22a006a 352712009-06-17 Pavel Roskin <proski@gnu.org>
35272
d3638678 35273 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35274 version, use declarations needed to use vga_text as the startup
35275 console.
35276
c22a006a 35277 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35278 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35279 the kernel.
35280 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35281 and grub_at_keyboard_fini(), it's done on module load and
35282 unload.
35283
05b129e0 352842009-06-17 Felix Zielcke <fzielcke@z-51.de>
35285
35286 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35287 file can't be found.
35288 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35289
cf24ed9e 352902009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35291
35292 Fix newline handling
35293
35294 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35295 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35296 (grub_script_yylex): don't segfault on unterminated script
35297 newline terminates command and variable
35298
74aa8e4b 352992009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35300
35301 avoid double grub_adjust_range call. Bug reported by David Simner
35302
35303 * kern/disk.c (grub_disk_write): change to raw disk access before
35304 calling disk_read
35305
1bd265f3 353062009-06-17 Colin Watson <cjwatson@ubuntu.com>
35307
35308 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35309 spaces, for the benefit of help2man.
35310 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35311
a2d08c06 353122009-06-16 Pavel Roskin <proski@gnu.org>
35313
35314 * kern/i386/halt.c: Include grub/machine/init.h.
35315 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35316
b97bcb19 353172009-06-16 Felix Zielcke <fzielcke@z-51.de>
35318
35319 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35320 drivemap menuentry.
35321
0644f96c 353222009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35323
35324 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35325 `echo' command.
35326
3ef17a2e 353272009-06-16 Pavel Roskin <proski@gnu.org>
35328
35329 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35330 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35331 save %dx, we only need %dl and we never change it.
35332 * boot/i386/pc/cdboot.S: Don't set the root drive.
35333 * boot/i386/pc/pxeboot.S: Likewise.
35334 * include/grub/i386/pc/boot.h: Remove
35335 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35336 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35337 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35338 * kern/i386/pc/init.c (make_install_device): Remove references
35339 to grub_root_drive.
35340 * kern/i386/pc/startup.S: Likewise.
35341 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35342
693fe637 353432009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35344
35345 xnu_uuid command
35346
35347 * commands/xnu_uuid.c: new file
35348 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35349 (xnu_uuid_mod_SOURCES): new variable
35350 (xnu_uuid_mod_CFLAGS): likewise
35351 (xnu_uuid_mod_LDFLAGS): likewise
35352 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35353 * conf/i386-ieee1275.rmk: likewise
35354 * conf/i386-pc.rmk: likewise
35355 * conf/powerpc-ieee1275.rmk: likewise
35356 * conf/sparc64-ieee1275.rmk: likewise
35357 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35358
c9da87d0 353592009-06-16 Pavel Roskin <proski@gnu.org>
35360
35361 * configure.ac: Avoid '==' in test command, it's not portable.
35362
9c6f4596 353632009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35364
35365 Probe command
35366
35367 * commands/probe.c: new file
35368 * conf/common.rmk (pkglib_MODULES): add probe.mod
35369 (probe_mod_SOURCES): new variable
35370 (probe_mod_CFLAGS): likewise
35371 (probe_mod_LDFLAGS): likewise
35372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35373 * conf/i386-ieee1275.rmk: likewise
35374 * conf/i386-pc.rmk: likewise
35375 * conf/powerpc-ieee1275.rmk: likewise
35376 * conf/sparc64-ieee1275.rmk: likewise
35377
70b7f9fd 353782009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35379
35380 Fix handling of string like \"hello\" and "a
35381 b"
35382
35383 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35384 (grub_script_yylex): fix parsing of quoting, escaping and newline
35385
71c79a6b 353862009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35387
dd74360c 35388 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35389 handling
dd74360c 35390
0644f96c 353912009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35392
35393 * util/grub-mkconfig.in: Fix parsing of --output option.
35394
e40893c3 353952009-06-12 Pavel Roskin <proski@gnu.org>
35396
35397 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35398 genmk.rb don't need to be generated or installed.
35399
3a1acfe2 354002009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35401
35402 * commands/i386/pc/drivemap_int13h.S: add more comments
35403
3a4575d4 354042009-06-11 Pavel Roskin <proski@gnu.org>
35405
0658e928 35406 * Makefile.in (uninstall): Uninstall manuals.
35407
ca0388f0 35408 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35409 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35410 and update-grub_lib in two places.
35411 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35412
e3b27c39 35413 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35414 a compiler warning.
35415
3a4575d4 35416 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35417 `entry_lo' to fix variable shadowing.
35418
af1f4f55 354192009-06-11 Christian Franke <franke@computer.org>
35420
35421 * kern/misc.c (__enable_execute_stack): Add missing return type
35422 to prevent gcc warning.
35423
5225e649 354242009-06-11 Felix Zielcke <fzielcke@z-51.de>
35425
35426 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35427
7d83bd47 354282009-06-11 Pavel Roskin <proski@gnu.org>
35429
c1cb63ba 35430 * Makefile.in: Don't rely on any scripts being executable.
35431 Always use $(SHELL) to run shell scripts.
35432
7d83bd47 35433 * configure.ac: Always define ___main if using -nostdlib. This
35434 fixes tests on Cygwin.
35435
948f48e7 354362009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35437
35438 UDF fix
35439
7d83bd47 35440 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35441 is in bytes and not in blocks
7d83bd47 35442
8ada9bc1 354432009-06-11 Pavel Roskin <proski@gnu.org>
35444
35445 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35446 warning.
35447
25ad2323 354482009-06-11 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * util/grub.d/30_os-prober.in: Fix a comment. Source
35451 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35452 to set the root device. Place drivemap command in the generated
35453 chain entry.
35454
e65acb0c 354552009-06-11 Pavel Roskin <proski@gnu.org>
35456
35457 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35458 have long been resolved.
35459
f285fe2d 354602009-06-11 Colin Watson <cjwatson@ubuntu.com>
35461
bd47b0b5 35462 * util/grub.d/10_linux.in: Capitalise "Linux".
35463
f285fe2d 35464 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35465
a0c62e4e 354662009-06-11 Pavel Roskin <proski@gnu.org>
35467
b6783cb2 35468 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35469 fix a gcc warning and ensure that the function won't ever exit.
35470
dde032e8 35471 * kern/i386/ieee1275/init.c: Add missing prototype for
35472 grub_stop_floppy().
35473
22cd079d 35474 * loader/ieee1275/multiboot2.c [__i386__]: Include
35475 grub/cpu/multiboot.h.
35476
a0c62e4e 35477 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35478 casts to short - they are not portable and cause warnings. Fix
35479 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35480
63963d17 354812009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35482
35483 Drivemap fixes
35484
35485 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35486 new function
35487 (grub_get_root_biosnumber_saved): new variable
35488 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35489 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35490 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35491 %dx after the call if necessary
35492 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35493 (boot_mod_SOURCES): remove
35494 (boot_mod_CFLAGS): remove
35495 (boot_mod_LDFLAGS): remove
35496 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35497 (boot_mod_SOURCES): new variable
35498 (boot_mod_CFLAGS): likewise
35499 (boot_mod_LDFLAGS): likewise
35500 * conf/i386-efi.rmk: likewise
35501 * conf/i386-ieee1275.rmk: likewise
35502 * conf/i386-pc.rmk: likewise
35503 * conf/powerpc-ieee1275.rmk: likewise
35504 * conf/sparc64-ieee1275.rmk: likewise
35505 * conf/x86_64-efi.rmk: likewise
35506 * include/grub/i386/pc/biosnum.h: new file
35507 * lib/i386/pc/biosnum.c: likewise
35508 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35509 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35510 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35511
33abf7ae 355122009-06-10 Pavel Roskin <proski@gnu.org>
35513
5ac35b35 35514 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35515 Use separate variables. Read only the file size at the end, but
35516 not the checksum that we don't use.
35517
5c5215d5 35518 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35519 Adjust all callers.
35520
27d5fef7 35521 * kern/ieee1275/openfw.c: Remove libc includes.
35522 * kern/ieee1275/cmain.c: Likewise.
35523 * include/grub/ieee1275/ieee1275.h: Likewise.
35524
33abf7ae 35525 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35526 compiler warnings.
35527
19d50c2b 355282009-06-10 Felix Zielcke <fzielcke@z-51.de>
35529
35530 * Makefile.in: Remove all trailing whitespace.
35531 * conf/i386-pc.rmk: Likewise.
35532 * conf/powerpc-ieee1275.rmk: Likewise.
35533 * conf/sparc64-ieee1275.rmk: Likewise.
35534 * docs/grub.texi: Likewise.
35535 * docs/texinfo.tex: Likewise.
35536 * disk/fs_uuid.c: Likewise.
35537 * disk/lvm.c: Likewise.
35538 * disk/scsi.c: Likewise.
35539 * disk/ata.c: Likewise.
35540 * disk/ieee1275/ofdisk.c: Likewise.
35541 * disk/i386/pc/biosdisk.c: Likewise.
35542 * disk/host.c: Likewise.
35543 * disk/raid.c: Likewise.
35544 * disk/efi/efidisk.c: Likewise.
35545 * disk/usbms.c: Likewise.
35546 * disk/memdisk.c: Likewise.
35547 * disk/loopback.c: Likewise.
35548 * kern/powerpc/dl.c: Likewise.
35549 * kern/device.c: Likewise.
35550 * kern/dl.c: Likewise.
35551 * kern/sparc64/dl.c: Likewise.
35552 * kern/ieee1275/ieee1275.c: Likewise.
35553 * kern/term.c: Likewise.
35554 * kern/fs.c: Likewise.
35555 * kern/i386/dl.c: Likewise.
35556 * kern/i386/pc/startup.S: Likewise.
35557 * kern/i386/pc/init.c: Likewise.
35558 * kern/i386/pc/mmap.c: Likewise.
35559 * kern/i386/pc/lzo1x.S: Likewise.
35560 * kern/i386/ieee1275/init.c: Likewise.
35561 * kern/i386/realmode.S: Likewise.
35562 * kern/i386/tsc.c: Likewise.
35563 * kern/partition.c: Likewise.
35564 * kern/corecmd.c: Likewise.
35565 * kern/file.c: Likewise.
35566 * kern/efi/efi.c: Likewise.
35567 * kern/efi/init.c: Likewise.
35568 * kern/efi/mm.c: Likewise.
35569 * kern/main.c: Likewise.
35570 * kern/err.c: Likewise.
35571 * kern/env.c: Likewise.
35572 * kern/disk.c: Likewise.
35573 * kern/generic/millisleep.c: Likewise.
35574 * kern/generic/rtc_get_time_ms.c: Likewise.
35575 * kern/misc.c: Likewise.
35576 * kern/parser.c: Likewise.
35577 * genmk.rb: Likewise.
35578 * configure.ac: Likewise.
35579 * boot/i386/pc/diskboot.S: Likewise.
35580 * boot/i386/pc/pxeboot.S: Likewise.
35581 * boot/i386/pc/boot.S: Likewise.
35582 * boot/i386/pc/lnxboot.S: Likewise.
35583 * boot/i386/pc/cdboot.S: Likewise.
35584 * parttool/pcpart.c: Likewise.
35585 * video/readers/tga.c: Likewise.
35586 * video/video.c: Likewise.
35587 * video/bitmap.c: Likewise.
35588 * lib/envblk.c: Likewise.
35589 * lib/i386/setjmp.S: Likewise.
35590 * fs/xfs.c: Likewise.
35591 * fs/afs.c: Likewise.
35592 * fs/fat.c: Likewise.
35593 * fs/ntfs.c: Likewise.
35594 * fs/udf.c: Likewise.
35595 * fs/affs.c: Likewise.
35596 * fs/iso9660.c: Likewise.
35597 * fs/hfs.c: Likewise.
35598 * fs/fshelp.c: Likewise.
35599 * fs/ext2.c: Likewise.
35600 * fs/jfs.c: Likewise.
35601 * fs/reiserfs.c: Likewise.
35602 * fs/hfsplus.c: Likewise.
35603 * fs/minix.c: Likewise.
35604 * fs/cpio.c: Likewise.
35605 * fs/sfs.c: Likewise.
35606 * fs/ufs.c: Likewise.
35607 * efiemu/prepare.c: Likewise.
35608 * efiemu/loadcore_common.c: Likewise.
35609 * efiemu/runtime/efiemu.sh: Likewise.
35610 * efiemu/runtime/efiemu.S: Likewise.
35611 * efiemu/runtime/efiemu.c: Likewise.
35612 * efiemu/pnvram.c: Likewise.
35613 * efiemu/main.c: Likewise.
35614 * efiemu/i386/pc/cfgtables.c: Likewise.
35615 * efiemu/i386/loadcore64.c: Likewise.
35616 * efiemu/i386/loadcore32.c: Likewise.
35617 * efiemu/loadcore.c: Likewise.
35618 * efiemu/symbols.c: Likewise.
35619 * efiemu/mm.c: Likewise.
35620 * include/grub/autoefi.h: Likewise.
35621 * include/grub/datetime.h: Likewise.
35622 * include/grub/term.h: Likewise.
35623 * include/grub/hfs.h: Likewise.
35624 * include/grub/lvm.h: Likewise.
35625 * include/grub/i386/tsc.h: Likewise.
35626 * include/grub/i386/linux.h: Likewise.
35627 * include/grub/i386/xnu.h: Likewise.
35628 * include/grub/i386/efiemu.h: Likewise.
35629 * include/grub/i386/pc/biosdisk.h: Likewise.
35630 * include/grub/i386/pc/memory.h: Likewise.
35631 * include/grub/i386/pc/vbe.h: Likewise.
35632 * include/grub/parttool.h: Likewise.
35633 * include/grub/video.h: Likewise.
35634 * include/grub/memory.h: Likewise.
35635 * include/grub/fs.h: Likewise.
35636 * include/grub/partition.h: Likewise.
35637 * include/grub/xnu.h: Likewise.
35638 * include/grub/efi/api.h: Likewise.
35639 * include/grub/efi/pe32.h: Likewise.
35640 * include/grub/efi/memory.h: Likewise.
35641 * include/grub/multiboot.h: Likewise.
35642 * include/grub/usbdesc.h: Likewise.
35643 * include/grub/multiboot2.h: Likewise.
35644 * include/grub/acpi.h: Likewise.
35645 * include/grub/efiemu/efiemu.h: Likewise.
35646 * include/grub/disk.h: Likewise.
35647 * include/grub/ieee1275/ieee1275.h: Likewise.
35648 * include/grub/net.h: Likewise.
35649 * include/grub/machoload.h: Likewise.
35650 * include/grub/macho.h: Likewise.
35651 * include/multiboot.h: Likewise.
35652 * genmoddep.awk: Likewise.
35653 * normal/main.c: Likewise.
35654 * normal/menu_entry.c: Likewise.
35655 * normal/menu_viewer.c: Likewise.
35656 * normal/completion.c: Likewise.
35657 * normal/cmdline.c: Likewise.
35658 * normal/misc.c: Likewise.
35659 * normal/datetime.c: Likewise.
35660 * bus/usb/usbtrans.c: Likewise.
35661 * bus/usb/ohci.c: Likewise.
35662 * bus/usb/uhci.c: Likewise.
35663 * bus/usb/usb.c: Likewise.
35664 * mmap/efi/mmap.c: Likewise.
35665 * mmap/i386/pc/mmap_helper.S: Likewise.
35666 * mmap/i386/pc/mmap.c: Likewise.
35667 * mmap/i386/mmap.c: Likewise.
35668 * mmap/i386/uppermem.c: Likewise.
35669 * mmap/mmap.c: Likewise.
35670 * commands/acpi.c: Likewise.
35671 * commands/echo.c: Likewise.
35672 * commands/blocklist.c: Likewise.
35673 * commands/loadenv.c: Likewise.
35674 * commands/usbtest.c: Likewise.
35675 * commands/boot.c: Likewise.
35676 * commands/parttool.c: Likewise.
35677 * commands/search.c: Likewise.
35678 * commands/cat.c: Likewise.
35679 * commands/i386/pc/play.c: Likewise.
35680 * commands/i386/pc/drivemap.c: Likewise.
35681 * commands/i386/pc/vbeinfo.c: Likewise.
35682 * commands/i386/pc/acpi.c: Likewise.
35683 * commands/i386/pc/vbetest.c: Likewise.
35684 * commands/ls.c: Likewise.
35685 * commands/cmp.c: Likewise.
35686 * commands/test.c: Likewise.
35687 * commands/efi/acpi.c: Likewise.
35688 * commands/gptsync.c: Likewise.
35689 * commands/help.c: Likewise.
35690 * partmap/amiga.c: Likewise.
35691 * partmap/apple.c: Likewise.
35692 * partmap/acorn.c: Likewise.
35693 * partmap/pc.c: Likewise.
35694 * partmap/sun.c: Likewise.
35695 * partmap/gpt.c: Likewise.
35696 * script/sh/lexer.c: Likewise.
35697 * script/sh/function.c: Likewise.
35698 * font/font.c: Likewise.
35699 * font/font_cmd.c: Likewise.
35700 * loader/powerpc/ieee1275/linux.c: Likewise.
35701 * loader/efi/chainloader.c: Likewise.
35702 * loader/multiboot_loader.c: Likewise.
35703 * loader/macho.c: Likewise.
35704 * loader/i386/multiboot.c: Likewise.
35705 * loader/i386/linux.c: Likewise.
35706 * loader/i386/pc/linux.c: Likewise.
35707 * loader/i386/pc/multiboot2.c: Likewise.
35708 * loader/i386/pc/chainloader.c: Likewise.
35709 * loader/i386/pc/xnu.c: Likewise.
35710 * loader/i386/bsd_trampoline.S: Likewise.
35711 * loader/i386/efi/linux.c: Likewise.
35712 * loader/i386/multiboot_elfxx.c: Likewise.
35713 * loader/i386/bsd_helper.S: Likewise.
35714 * loader/i386/bsd.c: Likewise.
35715 * loader/i386/linux_trampoline.S: Likewise.
35716 * loader/i386/xnu_helper.S: Likewise.
35717 * loader/i386/xnu.c: Likewise.
35718 * loader/i386/bsd_pagetable.c: Likewise.
35719 * loader/i386/multiboot_helper.S: Likewise.
35720 * loader/xnu.c: Likewise.
35721 * loader/xnu_resume.c: Likewise.
35722 * io/gzio.c: Likewise.
35723 * term/efi/console.c: Likewise.
35724 * term/terminfo.c: Likewise.
35725 * term/ieee1275/ofconsole.c: Likewise.
35726 * term/i386/pc/serial.c: Likewise.
35727 * term/i386/pc/vesafb.c: Likewise.
35728 * term/i386/pc/vga.c: Likewise.
35729 * term/usb_keyboard.c: Likewise.
35730 * term/gfxterm.c: Likewise.
35731 * aclocal.m4: Likewise.
35732 * util/lvm.c: Likewise.
35733 * util/grub.d/30_os-prober.in: Likewise.
35734 * util/grub.d/10_hurd.in: Likewise.
35735 * util/console.c: Likewise.
35736 * util/grub-macho2img.c: Likewise.
35737 * util/grub-probe.c: Likewise.
35738 * util/hostfs.c: Likewise.
35739 * util/i386/pc/grub-mkimage.c: Likewise.
35740 * util/i386/pc/grub-setup.c: Likewise.
35741 * util/i386/efi/grub-mkimage.c: Likewise.
35742 * util/grub-mkconfig.in: Likewise.
35743 * util/raid.c: Likewise.
35744 * util/resolve.c: Likewise.
35745 * util/grub-mkdevicemap.c: Likewise.
35746 * util/grub-emu.c: Likewise.
35747 * util/getroot.c: Likewise.
35748 * util/hostdisk.c: Likewise.
35749 * util/usb.c: Likewise.
35750 * util/grub-editenv.c: Likewise.
35751 * util/misc.c: Likewise.
35752
d2d49665 357532009-06-10 Felix Zielcke <fzielcke@z-51.de>
35754
35755 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35756 `genparttoollist.sh'.
35757 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35758 Add `*.sh' to the list find searches for and change `mdate.sh'
35759 to `mdate-sh'.
35760
fe052e37 357612009-06-10 Pavel Roskin <proski@gnu.org>
35762
2763ac18 35763 * include/grub/multiboot2.h: Provide compatibility defines for
35764 multiboot2.h.
35765 * include/multiboot2.h: Include stdint.h only if needed, using
35766 angle brackets.
35767 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35768 grub/multiboot2.h.
35769 * loader/ieee1275/multiboot2.c: Likewise.
35770 * loader/multiboot2.c: Likewise.
35771 * loader/multiboot_loader.c: Likewise.
35772
437e6adc 35773 * configure.ac: Use -nostdlib when probing for the target. It
35774 should not be required to have libc for the target.
35775
06a6836c 35776 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35777 they fail without libc headers for the target.
35778 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35779 exports.
35780 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35781 preprocessor conditionals.
35782
fe052e37 35783 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35784 build system doesn't need to be aware of the tar.c internals.
35785
afd22553 357862009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35787
afd22553 35788 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35789
6b787c4f 357902009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35791
35792 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35793 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35794
357952009-06-09 Felix Zielcke <fzielcke@z-51.de>
35796
35797 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35798 aren't available if ata.mod gets used.
6b787c4f 35799
473d1e45 358002009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35801
473d1e45 35802 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35803 initialising controller.
473d1e45 35804 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35805
255a27d4 358062009-06-08 Felix Zielcke <fzielcke@z-51.de>
35807
35808 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35809 to choose between ata and biosdisk module on i386-pc.
35810
473d1e45 358112009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35812
d55842d8 35813 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35814 Subclass and Programming Interface fields in terms of the 3 byte
35815 Class Code register.
35816 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35817
fa5db0b1 35818 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35819 interface is OHCI. Add grub_dprintf for symmetry with
35820 bus/usb/uhci.c.
35821 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35822 interface is UHCI. Add interf variable for programming
35823 interface. Print interface with class/subclass.
35824
c0947beb 35825 * bus/usb/ohci.c: Set interf with correct field.
35826
69da8877 35827 * bus/usb/uhci.c: Remove unneeded doubled lines.
35828 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35829 Remove whitespace inside comment.
35830
9e172e30 358312009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35832
35833 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35834 as fallback an equivalent option without depth.
35835
de65ee2b 358362009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35837
35838 Not fail if unable to retrieve C/H/S on LBA disks
35839
473d1e45 35840 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35841 if unable to retrieve C/H/S on LBA disks
35842
b57ea2c9 358432009-06-08 Pavel Roskin <proski@gnu.org>
35844
35845 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35846 about aliasing.
35847
af361263 358482009-06-08 Felix Zielcke <fzielcke@z-51.de>
35849
35850 * Makefile.in (uninstall): Remove all $lib_DATA files.
35851
4c9ec6b3 358522009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35853
35854 Bugfix: install on partitionless device
35855
35856 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35857 is a whole disk
35858
e76fc924 358592009-06-08 Felix Zielcke <fzielcke@z-51.de>
35860
35861 * Makefile.in (uninstall): Remove all $include_DATA files.
35862
ba5a0d05 358632009-06-08 Felix Zielcke <fzielcke@z-51.de>
35864
35865 * commands/true.c: New file. Implement the true and false commands.
35866 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35867 (true_mod_SOURCES): New variable.
35868 (true_mod_CFLAGS): Likewise.
35869 (true_mod_LDFLAGS): Likewise.
35870
c8048e32 358712009-06-05 Colin D Bennett <colin@gibibit.com>
35872
35873 Optimized font character lookup using binary search instead of linear
35874 search. Fonts now are required to have the character index ordered by
35875 code point.
35876
35877 * font/font.c (load_font_index): Verify that fonts have ordered
35878 character indices.
35879 (find_glyph): Use binary search instead of linear search to find a
35880 character in a font.
35881
408305be 358822009-06-05 Michael Scherer <misc@mandriva.org>
35883
35884 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35885 uses case sensitive btree.
35886 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35887 only for case insensitive filesystems.
35888
8ee1e0d9 358892009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35890
35891 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35892 * conf/common.rmk (search_mod_CFLAGS): likewise
35893
a9966eb1 358942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35895
473d1e45 35896 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35897 compensate a compiler bug
35898
9e7100fb 358992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35900
473d1e45 35901 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35902 instead of '\b'
473d1e45 35903
ede21d71 359042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35905
35906 Definitions for creating asm symbols with Apple's CC
35907
35908 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35909 [APPLE_CC] (VARIABLE): likewise
35910
9dbf7653 359112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35912
35913 Disable lnxboot.img when compiled
35914 with Apple's CC
35915
35916 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35917 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35918 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35919 [! APPLE_CC] (CODE_LENG): skip
35920 [! APPLE_CC] (setup_sects): likewise
35921 [! APPLE_CC]: skip filling
473d1e45 35922
e93cdc3d 359232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35924
35925 Address in trampolines based on 32-bit registers when compiled
35926 with Apple's CC
35927
473d1e45 35928 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35929 for addresses
35930 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35931
6c688477 359322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35933
35934 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35935
35936 * kern/misc.c [APPLE_CC] (memcpy): new function
35937 [APPLE_CC] (memmove): likewise
35938 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35939 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35940 (memset): likewise
35941 (abort): likewise
35942 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35943 APPLE_CC are defined
35944 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35945 (grub_assert_fail): make prototype conditional
35946
e37ffc5c 359472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35948
35949 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35950
473d1e45 35951 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35952 grub-macho2img
e37ffc5c 35953 (CLEANFILES): add grub-macho2img
35954 (grub_macho2img_SOURCES): new variable
35955 * kern/i386/pc/startup.S (bss_start): new variable
35956 (bss_end): likewise
35957 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35958 * util/grub-macho2img.c: new file
35959
cf00df31 359602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35961
35962 Use objconv when compiling with Apple's CC
35963
35964 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35965 (efiemu64.o): likewise
35966 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35967 when compiling with Apple's CC
35968 (efiemu64_s.o): likewise
35969 * configure.ac: check for objconv when compiling with Apple's CC
35970 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35971
d119a20c 359722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35973
35974 Define segment as well as section when compiling with
35975 Apple's CC
35976
35977 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35978 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35979 (efiemu_convert_pointer): likewise
35980 (efiemu_set_virtual_address_map): likewise
35981 (efiemu_convert_pointer): likewise
35982 (efiemu_getcrc32): likewise
35983 (init_crc32_table): likewise
35984 (reflect): likewise
35985 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35986 (GRUB_MOD_DEP): likewise
473d1e45 35987
c8600122 359882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35989
35990 Allow a compilation without -mcmodel=large
35991
35992 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35993 when compiled without -mcmodel=large
473d1e45 35994 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35995 without -mcmodel=large
473d1e45 35996 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35997 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35998
e8df1d4e 359992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36000
36001 Remove nested functions in efiemu core
36002
36003 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36004
cc6c3ac1 360052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36006
36007 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36008
36009 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36010 temporary storage
473d1e45 36011 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36012 using Apple's CC
cc6c3ac1 36013 (grub_cpu_is_tsc_supported): likewise
36014 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36015
3e325901 360162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36017
36018 Absolute addressing through constant with Apple's cc
36019
36020 * kern/i386/pc/startup.S: Define necessary constants
36021 and address through it when using ABS with Apple's CC
36022 * boot/i386/pc/diskboot.S: likewise
36023 * boot/i386/pc/boot.S: likewise
36024 * boot/i386/pc/lnxboot.S: likewise
36025 * boot/i386/pc/cdboot.S: likewise
36026 * mmap/i386/pc/mmap_helper.S: likewise
36027 * commands/i386/pc/drivemap_int13h.S: likewise
36028
2b167a72 360292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36030
36031 Check if compiler is apple cc
36032
36033 * Makefile.in (ASFLAGS): new variable
36034 (TARGET_ASFLAGS): likewise
36035 (TARGET_MODULE_FORMAT): likewise
36036 (TARGET_APPLE_CC): likewise
36037 (OBJCONV): likewise
36038 (TARGET_IMG_CFLAGS): likewise
36039 (TARGET_CPPFLAGS): add includedir
36040 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36041 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36042 Check for linker script only if compiler isn't Apple's CC
36043 (TARGET_MODULE_FORMAT): set
36044 (TARGET_APPLE_CC): likewise
36045 (TARGET_ASFLAGS): likewise
36046 (ASFLAGS): likewise
36047 Check for objcopy only if compiler isn't Apple's CC
36048 Check for BSS symbol only if compiler isn't Apple's CC
36049 * genmk.rb: adapt nm options if we use Apple's utils
36050 * aclocal.m4 (grub_apple_cc): new test
36051 (grub_apple_target_cc): likewise
473d1e45 36052
fb14123e 360532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36054
36055 Simplify sed expressions and improve awk
36056
36057 * Makefile.in (install-local): simplify sed expression
36058 * gencmdlist.sh: likewise
36059 * genmoddep.awk: avoid adding module as a dependency of itself
36060
5b889789 360612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36062
36063 Add missing start symbols
36064
36065 * boot/i386/pc/boot.S: add start
fb14123e 36066 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36067
fd2bf2e3 360682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36069
36070 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36071
36072 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36073 (relocate_addresses): consider both r_addend and value at offset
36074 (make_mods_section): zerofill modinfo and header
36075 (convert_elf): write prefix here
473d1e45 36076
5389763d 360772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36078
36079 Use .asciz instead of .string
36080
36081 * i386/pc/diskboot.S: use .asciz instead of .string
36082 * i386/pc/boot.S: likewise
36083 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36084 (GRUB_MOD_NAME): likewise
473d1e45 36085
3eb5ed4e 360862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36087
36088 gfxpayload support
36089
36090 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36091 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36092 (grub_video_setup): remove
36093 (grub_video_set_mode): new prototype
36094 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36095 (vid_mode): remove
36096 (linux_vesafb_res): compile only on PCBIOS
36097 (grub_linux_boot): support gfxpayload
36098 * loader/i386/pc/xnu.c (video_hook): new function
36099 (grub_xnu_set_video): support gfxpayload
36100 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36101 (DEFAULT_VIDEO_HEIGHT): likewise
36102 (DEFAULT_VIDEO_FLAGS): likewise
36103 (DEFAULT_VIDEO_MODE): new definition
36104 (video_hook): new function
36105 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36106 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36107 loading xnu
36108 * video/video.c (grub_video_setup): removed
473d1e45 36109 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36110 grub_video_setup
36111
4b0e1143 361122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36113
36114 Avoid calling biosdisk in drivemap
36115
36116 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36117 (revparse_biosdisk): likewise
36118 (list_mappings): derive name from id directly
36119 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36120
fda6cb98 361212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36122
36123 Script fixes
36124
36125 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36126 (grub_lexer_param): add tokenonhold
36127 (grub_script_create_cmdline): remove cmdline. All callers updated
36128 (grub_script_function_create): make functionname
36129 grub_script_arg. All callers updated
36130 (grub_script_execute_argument_to_string): new prototype
36131 * kern/parser.c (state_transitions): reorder
36132 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36133 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36134 make global
36135 (grub_script_execute_cmdline): use new format
36136 * script/sh/function.c (grub_script_function_create): make functionname
36137 grub_script_arg. All callers updated
473d1e45 36138 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36139 (grub_script_yylex): remove
36140 (grub_script_yylex2): renamed to ...
36141 (grub_script_yylex): ...renamed
36142 parse the expressions like a${b}c
36143 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36144 (GRUB_PARSER_TOKEN_VAR): remove
36145 (GRUB_PARSER_TOKEN_NAME): likewise
36146 ("if"): declare as typeless
36147 ("while"): likewise
36148 ("function"): likewise
36149 ("else"): likewise
36150 ("then"): likewise
36151 ("fi"): likewise
36152 (text): remove
36153 (argument): likewise
36154 (script): accept empty scripts and make exit on error
36155 (arguments): use GRUB_PARSER_TOKEN_ARG
36156 (function): likewise
36157 (command): move error handling to script
36158 (menuentry): move grub_script_lexer_ref before
473d1e45 36159 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36160 argument. All callers updated
36161
f4448a07 361622009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36163
36164 Prevent GRUB from probing floppies during boot.
36165
36166 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36167 * commands/search.c (options): Add --no-floppy.
36168 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36169 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36170 --no-floppy when searching for UUIDs.
36171
2bf5885a 361722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36173
36174 Simplify the code duplication in commands/search.c.
36175
36176 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36177 (search_fs): ... this. Update all users.
36178
f6fd460a 361792009-06-03 Felix Zielcke <fzielcke@z-51.de>
36180
36181 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36182
cbb3c83e 361832009-05-28 Pavel Roskin <proski@gnu.org>
36184
57788cfd 36185 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36186 Remove the original symlink explicitly.
36187
cbb3c83e 36188 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36189 just one slash. That's how grub_fshelp_find_file() does it.
36190
cd0d5e30 361912009-05-26 Pavel Roskin <proski@gnu.org>
36192
f0f8bbe2 36193 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36194 to `str'.
36195
cd0d5e30 36196 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36197 possibly unused.
36198
8c2cab51 361992009-05-25 Christian Franke <franke@computer.org>
36200
36201 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36202 register.
36203 (grub_atapi_identify): Add wait after drive select.
36204 (grub_ata_identify): Do more strict status register check before
36205 calling grub_atapi_identify (). Suppress error message if status
36206 register is 0x00 after command failure. Add status register
36207 check after PIO read to avoid bogus identify due to stuck DRQ.
36208 Thanks to Pavel Roskin for testing.
36209 (grub_device_initialize): Remove unsafe status register check.
36210 Thanks to 'phcoder' for problem report and patch.
36211 Prevent sign extension in debug message.
36212
230c0ad6 362132009-05-23 Colin D Bennett <colin@gibibit.com>
36214
36215 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36216 definition file, and functions defined in `normal/menu.c' have had
36217 their prototypes moved to `include/grub/menu.h' for consistency.
36218
36219 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36220 from normal.h.
36221 (grub_menu_get_entry): Likewise.
36222 (grub_menu_get_timeout): Likewise.
36223 (grub_menu_set_timeout): Likewise.
36224 (grub_menu_execute_entry): Likewise.
36225 (grub_menu_execute_with_fallback): Likewise.
36226 (grub_menu_entry_run): Likewise.
36227
36228 * include/grub/normal.h: Re-ordered and grouped function
36229 prototypes by file that the function is defined in.
36230 (grub_menu_execute_callback): Removed; moved to menu.h.
36231 (grub_menu_get_entry): Likewise.
36232 (grub_menu_get_timeout): Likewise.
36233 (grub_menu_set_timeout): Likewise.
36234 (grub_menu_execute_entry): Likewise.
36235 (grub_menu_execute_with_fallback): Likewise.
36236 (grub_menu_entry_run): Likewise.
36237 (grub_menu_addentry): Renamed from this ...
36238 (grub_normal_add_menu_entry): ... to this.
36239
36240 * normal/main.c (grub_menu_addentry): Renamed from this ...
36241 (grub_normal_add_menu_entry): ... to this.
36242
36243 * script/sh/execute.c (grub_script_execute_menuentry): Update
36244 reference to renamed grub_menu_addentry function.
36245
861f03a5 362462009-05-23 Felix Zielcke <fzielcke@z-51.de>
36247
36248 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36249
96b1619a 362502009-05-22 Pavel Roskin <proski@gnu.org>
36251
bf6a5fb2 36252 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36253 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36254 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36255 compiling for the i386 targets, but not for the utilities.
36256
96b1619a 36257 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36258 to grub_uint8_t.
36259 (grub_root_drive): Likewise.
36260 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36261 remove alignment.
36262 (grub_root_drive): Change size to byte.
36263 (grub_start_addr): Remove.
36264 (grub_end_addr): Likewise.
36265 (grub_apm_bios_info): Likewise.
36266
b729776b 362672009-05-21 Felix Zielcke <fzielcke@z-51.de>
36268
36269 * normal/i386: Remove.
36270 * normal/powerpc: Likewise.
36271 * normal/sparc64: Likewise.
36272 * normal/x86_64: Likewise.
36273
0a15ce80 362742009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36275
36276 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36277 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36278 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36279
33db9015 362802009-05-18 Colin D Bennett <colin@gibibit.com>
36281
d6da58e6 36282 Display error messages when parsing a Lua statement fails.
36283 Previously, executing a syntactically invalid statement like
36284 ")foo" or "bar;" would silently fail.
33db9015 36285
36286 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36287 (grub_lua_parse_line): Improved reporting of Lua parser and
36288 execution errors.
33db9015 36289
46422c89 362902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36291
36292 Remove -Werror which causes build to fail on some systems
36293
36294 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36295 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36296 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36297
22f53a96 362982009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36299
36300 trampoline for linux on 64-bit platform
36301
18f547ad 36302 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36303 loader/i386/efi/linux_trampoline.S
36304 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36305 declaration
d6da58e6 36306 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36307 here
22f53a96 36308 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36309 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36310 trampoline
22f53a96 36311 (jumpvector): removed
36312 (grub_linux_trampoline_start): new declaration
36313 (grub_linux_trampoline_end): likewise
36314 (grub_linux_boot): use trampoline when on 64-bit platform
36315 * loader/i386/linux.c: likewise
36316
cb5a0f40 363172009-05-16 Pavel Roskin <proski@gnu.org>
36318
36319 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36320 const to avoid a warning.
36321 (grub_lua_setenv): Likewise.
36322 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36323 lmsg to fix a warning.
36324
334f2c28 363252009-05-16 Felix Zielcke <fzielcke@z-51.de>
36326
36327 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36328 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36329 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36330 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36331 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36332 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36333 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36334 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36335
59e5d3ec 363362009-05-16 Felix Zielcke <fzielcke@z-51.de>
36337
36338 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36339
9d87a1ba 363402009-05-16 Bean <bean123ch@gmail.com>
36341
36342 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36343 (lua_mod_SOURCES): New variable.
36344 (lua_mod_CFLAGS): Likewise.
36345 (lua_mod_LDFLAGS): Likewise.
36346
36347 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36348 (setjmp_mod_SOURCES): New variable.
36349 (setjmp_mod_CFLAGS): Likewise.
36350 (setjmp_LDFLAGS): Likewise.
36351
36352 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36353 (setjmp_mod_SOURCES): New variable.
36354 (setjmp_mod_CFLAGS): Likewise.
36355 (setjmp_LDFLAGS): Likewise.
36356
36357 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36358 (setjmp_mod_SOURCES): New variable.
36359 (setjmp_mod_CFLAGS): Likewise.
36360 (setjmp_LDFLAGS): Likewise.
36361
36362 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36363 (setjmp_mod_SOURCES): New variable.
36364 (setjmp_mod_CFLAGS): Likewise.
36365 (setjmp_LDFLAGS): Likewise.
36366
36367 * normal/i386/setjmp.S: Moved from here ...
36368 * lib/i386/setjmp.S: ... Moved here
36369 * normal/x86_64/setjmp.S: Moved from here ...
36370 * lib/x86_64/setjmp.S: ... Moved here
36371 * normal/powerpc/setjmp.S: Moved from here ...
36372 * lib/powerpc/setjmp.S: ... Moved here
36373 * normal/sparc64/setjmp.S: Moved from here ...
36374 * lib/sparc64/setjmp.S: ... Moved here
36375
36376 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36377 returns_twice in mingw.
36378
36379 * script/lua/grub_lib.c: New file.
36380 * script/lua/grub_lib.h: Likewise.
36381 * script/lua/grub_lua.h: Likewise.
36382 * script/lua/grub_main.c: Likewise.
36383 * script/lua/lapi.c: Likewise.
36384 * script/lua/lapi.h: Likewise.
36385 * script/lua/lauxlib.c: Likewise.
36386 * script/lua/lauxlib.h: Likewise.
36387 * script/lua/lbaselib.c: Likewise.
36388 * script/lua/lcode.c: Likewise.
36389 * script/lua/lcode.h: Likewise.
36390 * script/lua/ldblib.c: Likewise.
36391 * script/lua/ldebug.c: Likewise.
36392 * script/lua/ldebug.h: Likewise.
36393 * script/lua/ldo.c: Likewise.
36394 * script/lua/ldo.h: Likewise.
36395 * script/lua/ldump.c: Likewise.
36396 * script/lua/lfunc.c: Likewise.
36397 * script/lua/lfunc.h: Likewise.
36398 * script/lua/lgc.c: Likewise.
36399 * script/lua/lgc.h: Likewise.
36400 * script/lua/linit.c: Likewise.
36401 * script/lua/liolib.c: Likewise.
36402 * script/lua/llex.c: Likewise.
36403 * script/lua/llex.h: Likewise.
36404 * script/lua/llimits.h: Likewise.
36405 * script/lua/lmathlib.c: Likewise.
36406 * script/lua/lmem.c: Likewise.
36407 * script/lua/lmem.h: Likewise.
36408 * script/lua/loadlib.c: Likewise.
36409 * script/lua/lobject.c: Likewise.
36410 * script/lua/lobject.h: Likewise.
36411 * script/lua/lopcodes.c: Likewise.
36412 * script/lua/lopcodes.h: Likewise.
36413 * script/lua/loslib.c: Likewise.
36414 * script/lua/lparser.c: Likewise.
36415 * script/lua/lparser.h: Likewise.
36416 * script/lua/lstate.c: Likewise.
36417 * script/lua/lstate.h: Likewise.
36418 * script/lua/lstring.c: Likewise.
36419 * script/lua/lstring.h: Likewise.
36420 * script/lua/lstrlib.c: Likewise.
36421 * script/lua/ltable.c: Likewise.
36422 * script/lua/ltable.h: Likewise.
36423 * script/lua/ltablib.c: Likewise.
36424 * script/lua/ltm.c: Likewise.
36425 * script/lua/ltm.h: Likewise.
36426 * script/lua/lua.h: Likewise.
36427 * script/lua/luaconf.h: Likewise.
36428 * script/lua/lualib.h: Likewise.
36429 * script/lua/lundump.c: Likewise.
36430 * script/lua/lundump.h: Likewise.
36431 * script/lua/lvm.c: Likewise.
36432 * script/lua/lvm.h: Likewise.
36433 * script/lua/lzio.c: Likewise.
36434 * script/lua/lzio.h: Likewise.
36435
5e898c9d 364362009-05-16 Bean <bean123ch@gmail.com>
36437
36438 * include/grub/kernel.h (grub_module_header_types): Add type
36439 OBJ_TYPE_CONFIG.
36440
36441 * kern/main.c (grub_load_config): New function.
36442 (grub_main): Call grub_load_config to read boot config.
36443
36444 * grub-mkimage (generate_image): New parameter config_path.
36445 (options): New option --config.
36446 (main): Parse --config option, and pass it to generate_image.
36447
cf353a47 364482009-05-14 Christian Franke <franke@computer.org>
36449
36450 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36451 This fixes build on Cygwin.
36452
3834887f 364532009-05-14 Pavel Roskin <proski@gnu.org>
36454
36455 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36456 jump. This saves two bytes, so the typical case of 2 swapped
36457 drives would fit 32 bytes.
36458
8090fc01 364592009-05-13 Pavel Roskin <proski@gnu.org>
36460
ac963883 36461 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36462 grub_uint32_t to avoid a warning.
36463
8090fc01 36464 * loader/i386/linux.c (allocate_pages): When assigning
36465 real_mode_mem, cast through grub_size_t to fix a warning. The
36466 code already makes sure that the value would fit a pointer.
36467 (grub_linux_setup_video): Cast render_target->data to
36468 grub_size_t to fix a warning.
36469
18f547ad 364702009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36471
36472 * commands/i386/pc/drivemap.c: New file - implement drivemap
36473 command.
36474 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36475 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36476
6f6a8b28 364772009-05-13 Pavel Roskin <proski@gnu.org>
36478
36479 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36480 embedding_area_exists.
36481
15fbf4c4 364822009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36483
36484 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36485 it easier to understand / work with.
59978c8a 36486 Improve warning messages for cases where there's no embedding area,
36487 or when it is too small (or core.img too large).
15fbf4c4 36488
238e871f 364892009-05-13 Pavel Roskin <proski@gnu.org>
36490
0ab3a9a4 36491 * loader/i386/pc/multiboot2.c: Add necessary includes for
36492 grub_multiboot2_real_boot().
36493
a2c8c5f8 36494 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36495 PX record is always little-endian. We only need the lower 2
36496 bytes of the mode.
36497
faec96af 36498 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36499 facilitate code reuse.
36500 (grub_cpio_mount): Use "struct head", not a char buffer. This
36501 fixes a warning reported by gcc 4.4.
36502
238e871f 36503 * kernel/disk.c (grub_disk_read): Use void pointer for the
36504 buffer.
36505 (grub_disk_write): Use const void pointer for the buffer.
36506 Adjust all callers. Remove unnecessary casts.
36507
901d2f0c 365082009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36509
36510 * util/i386/pc/grub-install.in: Update copyright year.
36511
18f547ad 365122009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36513
36514 gptsync
36515
36516 * commands/gptsync.c: new file
36517 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36518 (gptsync_mod_SOURCES): new variable
36519 (gptsync_mod_CFLAGS): likewise
36520 (gptsync_mod_LDFLAGS): likewise
18f547ad 36521 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36522 new definition
36523 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36525 * conf/i386-ieee1275.rmk: likewise
36526 * conf/i386-pc.rmk: likewise
36527 * conf/powerpc-ieee1275.rmk: likewise
36528
b4ba690a 365292009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36530
36531 Fixed grub-emu
36532
36533 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36534 (grub_dl_ref): likewise
36535
317e1a44 365362009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36537
36538 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36539 split in two functions (one for msdos and one for gpt).
36540
041b8094 365412009-05-08 Pavel Roskin <proski@gnu.org>
36542
752473c2 36543 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36544 not modified.
36545
041b8094 36546 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36547 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36548 Initialize them with -1. Add sanity check for bad1. Eliminate
36549 nerr variable.
36550
172800ce 365512009-05-08 David S. Miller <davem@davemloft.net>
36552
36553 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36554
29aa5e81 365552009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36556
36557 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36558 existence.
29aa5e81 36559
96613b62 365602009-05-05 Felix Zielcke <fzielcke@z-51.de>
36561
36562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36563 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36564
eef73c8a 365652009-05-05 David S. Miller <davem@davemloft.net>
36566
36567 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36568
119494b5 365692009-05-05 Pavel Roskin <proski@gnu.org>
36570
36571 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36572 of grub_dl_ref() and grub_dl_unref().
36573 * commands/parttool.c: Remove preprocessor conditionals around
36574 grub_dl_ref() and grub_dl_unref().
36575 * fs/affs.c: Likewise.
36576 * fs/afs.c: Likewise.
36577 * fs/cpio.c: Likewise.
36578 * fs/ext2.c: Likewise.
36579 * fs/fat.c: Likewise.
36580 * fs/hfs.c: Likewise.
36581 * fs/hfsplus.c: Likewise.
36582 * fs/iso9660.c: Likewise.
36583 * fs/jfs.c: Likewise.
36584 * fs/minix.c: Likewise.
36585 * fs/ntfs.c: Likewise.
36586 * fs/reiserfs.c: Likewise.
36587 * fs/sfs.c: Likewise.
36588 * fs/udf.c: Likewise.
36589 * fs/ufs.c: Likewise.
36590 * fs/xfs.c: Likewise.
36591 * include/grub/dl.h: Likewise.
36592 * loader/xnu.c: Likewise.
36593
de5fd76e 365942009-05-04 Pavel Roskin <proski@gnu.org>
36595
36596 * commands/acpi.c: Remove unused variable my_mod.
36597 * partmap/amiga.c: Likewise.
36598 * partmap/apple.c: Likewise.
36599 * partmap/gpt.c: Likewise.
36600 * partmap/pc.c: Likewise.
36601 * partmap/sun.c: Likewise.
36602 * term/gfxterm.c: Likewise.
36603 * term/i386/pc/vesafb.c: Likewise.
36604 * term/i386/pc/vga.c: Likewise.
36605
983598ad 366062009-05-04 David S. Miller <davem@davemloft.net>
36607
36608 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36609 pointer args to grub_ieee1275_get_property().
36610
8aadec43 36611 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36612
9554b15e 36613 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36614 devices, and do not traverse down under controller nodes.
36615
67e23c90 36616 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36617 (grub_ofdisk_open): Use it to un-escape "," characters.
36618 * kern/disk.c (find_part_sep): New.
36619 (grub_disk_open): Use it to find the first non-escaped ','
36620 character in the disk name.
36621 * util/ieee1275/devicemap.c (escape_of_path): New.
36622 (grub_util_emit_devicemap_entry): Use it.
36623 * util/sparc64/ieee1275/grub-install.in: Update script to
36624 strip partition specifiers properly by not triggering on
36625 '\' escaped ',' characters.
36626
74bfdd2f 366272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36628
36629 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36630 to 0x300.
36631 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36632 resolutions.
36633 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36634 on documentation from Wikipedia).
36635
4241d2b1 366362009-05-04 Pavel Roskin <proski@gnu.org>
36637
36638 * disk/ata.c: Spelling fixes.
36639 * disk/raid.c: Likewise.
36640 * disk/usbms.c: Likewise.
36641 * disk/dmraid_nvidia.c: Likewise.
36642 * kern/ieee1275/openfw.c: Likewise.
36643 * kern/ieee1275/init.c: Likewise.
36644 * kern/ieee1275/cmain.c: Likewise.
36645 * boot/i386/pc/cdboot.S: Likewise.
36646 * video/readers/png.c: Likewise.
36647 * video/i386/pc/vbe.c: Likewise.
36648 * fs/udf.c: Likewise.
36649 * fs/hfs.c: Likewise.
36650 * fs/reiserfs.c: Likewise.
36651 * efiemu/runtime/efiemu.c: Likewise.
36652 * efiemu/main.c: Likewise.
36653 * efiemu/mm.c: Likewise.
36654 * include/grub/elf.h: Likewise.
36655 * include/grub/xnu.h: Likewise.
36656 * include/grub/usbdesc.h: Likewise.
36657 * include/grub/usb.h: Likewise.
36658 * include/grub/script_sh.h: Likewise.
36659 * include/grub/lib/LzmaEnc.h: Likewise.
36660 * include/grub/efiemu/efiemu.h: Likewise.
36661 * include/grub/command.h: Likewise.
36662 * normal/menu.c: Likewise.
36663 * normal/main.c: Likewise.
36664 * normal/datetime.c: Likewise.
36665 * bus/usb/uhci.c: Likewise.
36666 * mmap/i386/uppermem.c: Likewise.
36667 * mmap/mmap.c: Likewise.
36668 * commands/acpi.c: Likewise.
36669 * commands/test.c: Likewise.
36670 * partmap/apple.c: Likewise.
36671 * font/font.c: Likewise.
36672 * loader/sparc64/ieee1275/linux.c: Likewise.
36673 * loader/macho.c: Likewise.
36674 * loader/i386/bsd_trampoline.S: Likewise.
36675 * loader/i386/bsd.c: Likewise.
36676 * loader/xnu.c: Likewise.
36677 * term/i386/pc/vesafb.c: Likewise.
36678 * term/usb_keyboard.c: Likewise.
36679 * util/resolve.c: Likewise.
36680 * util/getroot.c: Likewise.
36681
0cfc0083 366822009-05-04 Felix Zielcke <fzielcke@z-51.de>
36683
36684 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36685
7c1d00cd 366862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36687
36688 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36689 build error.
36690
b01f0548 366912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36692
36693 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36694 parameter only available on BIOS.
36695
ecc3eb22 366962009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36697
36698 Removed wrong semicolon in declaration
36699
36700 * grub/misc.h (grub_dprintf): remove semicolon
36701
112972a9 367022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36703
36704 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36705 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36706 is done by grub_cmd_linux() now).
36707 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36708 restore video to text mode.
36709 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36710 indicates lack of "vga=" parameter. "vga=0" is mapped to
36711 `GRUB_LINUX_VID_MODE_NORMAL'.
36712
afd5c115 367132009-05-04 Felix Zielcke <fzielcke@z-51.de>
36714
36715 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36716 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36717 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36718 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36719 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36720 `grub_script.tab.c'.
36721
36722 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36723 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36725 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36726 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36727
faa517ce 36728 * Makefile.in: Remove duplicated 2008 in Copyright line.
36729
ae0c0bdc 367302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36731
473d1e45 36732 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36733 unconditionally.
36734 * include/grub/util/misc.h (grub_util_warn): New declaration.
36735
36736 * util/i386/pc/grub-install.in: Understand --force and pass it down
36737 to grub-setup.
36738
36739 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36740 down to setup().
36741 (setup): Improve error messages and add warnings when requested to
36742 install in odd layouts. Refuse to install using blocklists unless
36743 --force was set.
36744
18f547ad 367452009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36746
36747 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36748
6d260daa 367492009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36750
36751 Updated copyright year
36752
36753 * fs/hfsplus.c: updated copyright year
18f547ad 36754
69f853f8 367552009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36756
36757 HFS+ UUID
36758
18f547ad 36759 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36760 in the space previously used by unused3
36761 (grub_hfsplus_uuid): new function
36762 (grub_hfsplus_fs): added uuid field
36763
4c402e73 367642009-05-03 Pavel Roskin <proski@gnu.org>
36765
36766 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36767 suppress warnings. It's no longer needed.
36768 * disk/host.c: Likewise.
36769 * disk/ata_pthru.c: Likewise.
36770 * disk/loopback.c: Likewise.
36771 * hook/datehook.c: Likewise.
36772 * parttool/pcpart.c: Likewise.
36773 * fs/i386/pc/pxe.c: Likewise.
36774 * fs/ntfscomp.c: Likewise.
36775 * efiemu/main.c: Likewise.
36776 * mmap/mmap.c: Likewise.
36777 * commands/crc.c: Likewise.
36778 * commands/hexdump.c: Likewise.
36779 * commands/hdparm.c: Likewise.
36780 * commands/acpi.c: Likewise.
36781 * commands/echo.c: Likewise.
36782 * commands/minicmd.c: Likewise.
36783 * commands/blocklist.c: Likewise.
36784 * commands/memrw.c: Likewise.
36785 * commands/loadenv.c: Likewise.
36786 * commands/usbtest.c: Likewise.
36787 * commands/lsmmap.c: Likewise.
36788 * commands/boot.c: Likewise.
36789 * commands/parttool.c: Likewise.
36790 * commands/configfile.c: Likewise.
36791 * commands/search.c: Likewise.
36792 * commands/ieee1275/suspend.c: Likewise.
36793 * commands/cat.c: Likewise.
36794 * commands/i386/pc/pxecmd.c: Likewise.
36795 * commands/i386/pc/play.c: Likewise.
36796 * commands/i386/pc/halt.c: Likewise.
36797 * commands/i386/pc/vbeinfo.c: Likewise.
36798 * commands/i386/pc/vbetest.c: Likewise.
36799 * commands/lspci.c: Likewise.
36800 * commands/date.c: Likewise.
36801 * commands/handler.c: Likewise.
36802 * commands/ls.c: Likewise.
36803 * commands/test.c: Likewise.
36804 * commands/cmp.c: Likewise.
36805 * commands/efi/loadbios.c: Likewise.
36806 * commands/efi/fixvideo.c: Likewise.
36807 * commands/halt.c: Likewise.
36808 * commands/help.c: Likewise.
36809 * commands/reboot.c: Likewise.
36810 * hello/hello.c: Likewise.
36811 * script/sh/main.c: Likewise.
36812 * loader/xnu.c: Likewise.
36813 * term/terminfo.c: Likewise.
36814 * term/i386/pc/serial.c: Likewise.
36815 * term/usb_keyboard.c: Likewise.
36816
515b5079 368172009-05-03 David S. Miller <davem@davemloft.net>
36818
36819 * normal/menu.c: Include grub/parser.h
36820
dfc31a22 368212009-05-03 Pavel Roskin <proski@gnu.org>
36822
2fee74f1 36823 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36824 not char*.
36825 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36826 Suggested by Javier Martín <lordhabbit@gmail.com>
36827
dfc31a22 36828 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36829 efiemu??.o doesn't exist.
36830 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36831 copying.
36832
18f547ad 368332009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36834
36835 FreeBSD 64-bit support
36836
18f547ad 36837 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36838 and loader/i386/bsd_trampoline.S
36839 (bsd_mod_ASFLAGS): new variable
36840 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36841 (FREEBSD_MODTYPE_KERNEL64): likewise
36842 (grub_bsd64_trampoline_start): likewise
36843 (grub_bsd64_trampoline_end): likewise
36844 (grub_bsd64_trampoline_selfjump): likewise
36845 (grub_bsd64_trampoline_gdt): likewise
36846 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36847 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36848 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36849 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36850 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36851 of "attrib" member
36852 * loader/i386/bsd_pagetable.c: new file
36853 * loader/i386/bsd_trampoline.S: likewise
36854 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36855 (ALIGN_VAR): likewise
36856 (entry_hi): new variable
36857 (kern_end_mdofs): likewise
36858 (is_64bit): likewise
36859 (grub_freebsd_add_meta): use ALIGN_VAR
36860 (grub_e820_mmap): new declaration
36861 (grub_freebsd_add_mmap): new function
36862 (grub_freebsd_add_meta_module): support 64 bit kernels
36863 (grub_freebsd_list_modules): use ALIGN_VAR
36864 (gdt_descriptor): new declaration
36865 (grub_freebsd_boot): support 64 bit kernels
36866 (grub_bsd_elf64_hook): new function
36867 (grub_bsd_load_elf): support elf64
36868
038c5720 368692009-05-03 Bean <bean123ch@gmail.com>
36870
36871 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36872 after we get the result of if statement.
36873
fc45fb58 368742009-05-03 Bean <bean123ch@gmail.com>
36875
36876 * Makefile.in (enable_efiemu): New variable.
36877
36878 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36879 set.
36880 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36881 path.
36882 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36883 path, add -mno-red-zone option.
36884 (efiemu64_s.o): Likewise.
36885 (efiemu64.o): Use macro $^ for source file.
36886
36887 * configure.ac (--enable-efiemu): New option.
36888
bbee0f2b 368892009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36890
36891 xnu support
36892
36893 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36894 (pkglib_MODULES): add xnu.mod
36895 (xnu_mod_SOURCES): new variable
36896 (xnu_mod_CFLAGS): likewise
36897 (xnu_mod_LDFLAGS): likewise
36898 (xnu_mod_ASFLAGS): likewise
36899 * conf/i386-pc.rmk: likewise
36900 * conf/x86_64-efi.rmk: likewise
7dd4a573 36901 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36902 new declaration
36903 * include/grub/i386/macho.h: new file
36904 * include/grub/i386/xnu.h: likewise
36905 * include/grub/macho.h: likewise
36906 * include/grub/machoload.h: likewise
36907 * include/grub/x86_64/macho.h: likewise
36908 * include/grub/x86_64/xnu.h: likewise
36909 * include/grub/xnu.h: likewise
36910 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36911 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36912 * loader/i386/efi/xnu.c: new file
36913 * loader/i386/pc/xnu.c: likewise
36914 * loader/i386/xnu.c: likewise
36915 * loader/i386/xnu_helper.S: likewise
36916 * loader/macho.c: likewise
36917 * loader/xnu.c: likewise
36918 * loader/xnu_resume.c: likewise
36919 * util/grub-dumpdevtree: likewise
36920 * include/grub/i386/pit.h: include grub/err.h
36921 (grub_pit_wait): export
36922 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36923
5caf964d 369242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36925
36926 Efiemu
7dd4a573 36927
5caf964d 36928 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36929 _linux_efi, linux_efi.
36930 new files in grub-emu
5caf964d 36931 new targets efiemu32.o and efiemu64.o
36932 * loader/linux_normal_efiemu.c: likewise
36933 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36934 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36935 files to copy
36936 * include/grub/autoefi.h: new file
7dd4a573 36937 * include/grub/i386/efiemu.h: likewise
5caf964d 36938 * include/grub/i386/pc/efiemu.h: likewise
36939 * include/grub/efi/api.h: add LL suffix when necessary
36940 new definitions relating to tables
36941 * include/grub/efiemu/efiemu.h: new file
36942 * include/grub/efiemu/runtime.h: likewise
36943 * efiemu/prepare.c: likewise
36944 * efiemu/loadcore_common.c: likewise
36945 * efiemu/loadcore64.c: likewise
36946 * efiemu/runtime/efiemu.sh: likewise
36947 * efiemu/runtime/efiemu.S: likewise
36948 * efiemu/runtime/efiemu.c: likewise
36949 * efiemu/runtime/config.h: likewise
36950 * efiemu/prepare32.c: likewise
36951 * efiemu/main.c: likewise
36952 * efiemu/modules/pnvram.c: likewise
36953 * efiemu/modules/i386: likewise
36954 * efiemu/modules/i386/pc: likewise
36955 * efiemu/modules/acpi.c: likewise
36956 * efiemu/i386/pc/cfgtables.c: likewise
36957 * efiemu/i386/loadcore64.c: likewise
36958 * efiemu/i386/loadcore32.c: likewise
36959 * efiemu/prepare64.c: likewise
36960 * efiemu/loadcore.c: likewise
36961 * efiemu/symbols.c: likewise
36962 * efiemu/mm.c: likewise
36963 * efiemu/loadcore32.c: likewise
7dd4a573 36964
369652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36966
36967 ACPI spoofing
36968
36969 * commands/acpi.c: new file
36970 * commands/i386/pc/acpi.c: likewise
36971 * commands/efi/acpi.c: likewise
36972 * include/grub/acpi.h: likewise
36973 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36974 (acpi_mod_SOURCES): new variable
36975 (acpi_mod_CFLAGS): likewise
36976 (acpi_mod_LDFLAGS): likewise
36977 * conf/i386-efi.rmk: likewise
36978 * conf/x86_64-efi.rmk: likewise
36979
7dd4a573 369802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36981
36982 Missing part from mmap patch
36983
36984 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36985 (grub_mmap_unregister)
36986 (grub_mmap_free_and_unregister): use grub_mmap_register
36987
7dd4a573 369882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36989
36990 Mmap services
36991
36992 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36993 * loader/i386/linux.c (find_mmap_size): likewise
36994 (allocate_pages): likewise
36995 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36996 (grub_fill_multiboot_mmap): likewise
36997 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36998 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36999 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37000 (OPENBSD_MMAP_RESERVED): likewise
37001 * include/grub/i386/pc/memory.h: include grub/memory.h
37002 (grub_lower_mem): removed
37003 (grub_upper_mem): likewise
37004 (GRUB_MACHINE_MEMORY_ACPI): new definition
37005 (GRUB_MACHINE_MEMORY_NVS): likewise
37006 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37007 (GRUB_MACHINE_MEMORY_HOLE): likewise
37008 (grub_machine_mmap_register): likewise
37009 (grub_machine_mmap_unregister): likewise
37010 (grub_machine_get_upper): likewise
37011 (grub_machine_get_lower): likewise
37012 (grub_machine_get_post64): likewise
37013 * include/grub/i386/efi/memory.h: new file
37014 * include/grub/x86_64/efi/memory.h: likewise
37015 * include/grub/efi/memory.h: likewise
37016 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37017 (mmap_mod_SOURCES): new variable
37018 (mmap_mod_LDFLAGS): likewise
37019 (mmap_mod_ASFLAGS): likewise
37020 * conf/i386-coreboot.rmk: likewise
37021 * conf/i386-ieee1275.rmk: likewise
37022 * conf/i386-efi.rmk: likewise
37023 * conf/x86_64-efi.rmk: likewise
37024 * include/grub/types.h (UINT_TO_PTR): new macro
37025 (PTR_TO_UINT32): likewise
37026 (PTR_TO_UINT64): likewise
37027 * include/grub/memory.h: new file
37028 * mmap/i386/pc/mmap.c: likewise
37029 * mmap/i386/pc/mmap_helper.S: likewise
37030 * mmap/i386/uppermem.c: likewise
37031 * mmap/mmap.c: likewise
37032 * mmap/efi/mmap.c: likewise
7dd4a573 37033 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37034 grub_upper_mem
37035 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37036 (grub_upper_mem): likewise
37037 (grub_machine_init): don't use grub_upper_mem,
37038 make grub_lower_mem local
37039 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37040 grub_mmap_iterate and grub_mmap_get_upper
37041 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37042
d558e6b5 370432009-05-02 Bean <bean123ch@gmail.com>
37044
37045 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37046 script/sh/parser.y.
37047 (pkglib_MODULES): Add normal.mod and sh.mod.
37048 (normal_SOURCES): New variable.
37049 (normal_mod_CFLAGS): Likewise.
37050 (normal_mod_LDFLAGS): Likewise.
37051 (sh_mod_SOURCES): Likewise.
37052 (sh_mod_CFLAGS): Likewise.
37053 (sh_mod_LDFLAGS): Likewise.
37054
37055 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37056 script/sh/lexer.c_DEPENDENCIES.
37057 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37058 kern/rescue_reader.c and kern/rescue_parser.c.
37059 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37060 (grub_emu_SOURCES): Change source files.
37061 (pkglib_MODULES): Remove normal.mod.
37062 (normal_SOURCES): Removed.
37063 (normal_mod_CFLAGS): Likewise.
37064 (normal_mod_LDFLAGS): Likewise.
37065 * conf/i386-coreboot.rmk: Likewise.
37066 * conf/i386-efi.rmk: Likewise.
37067 * conf/i386-ieee1276.rmk: Likewise.
37068 * conf/powerpc-ieee1275.rmk: Likewise.
37069 * conf/sparc64-ieee1275.rmk: Likewise.
37070 * conf/x86_64-efi.rmk: Likewise.
37071
37072 * include/grub/command.h (grub_command_execute): New inline function.
37073
37074 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37075
37076 * include/grub/normal.h: Remove <grub/setjmp.h>.
37077 (grub_fs_module_list): Moved to normal/autofs.c.
37078 (grub_exit_env): Removed.
37079 (grub_command_execute): Likewise.
37080 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37081 parameter script.
37082 (read_command_list): New function declaration.
37083 (read_fs_list): Likewise.
37084
37085 * include/parser.h: Include <grub/reader.h>.
37086 (grub_parser_split_cmdline): Change type of getline parameter.
37087 (grub_parser): New structure.
37088 (grub_parser_class): New variable.
37089 (grub_parser_execute): New function declaration.
37090 (grub_register_rescue_parser): Likewise.
37091 (grub_parser_register): New inline function.
37092 (grub_parser_unregister): Likewise.
37093 (grub_parser_get_current): Likewise.
37094 (grub_parser_set_current): Likewise.
37095
37096 * include/grub/reader.h: New file.
37097 * kern/reader.c: Likewise.
37098 * kern/rescue_parser.c: Likewise.
37099 * kern/rescue_reader.c: Likewise.
37100 * normal/autofs.c: Likewise.
37101 * normal/dyncmd.c: Likewise.
37102
37103 * include/grub/rescue.h: Removed.
37104 * normal/command.h: Likewise.
37105
37106 * include/grub/script.h: Moved to ...
37107 * include/grub/script_sh.h: ... Moved here.
37108 * normal/execute.c: Moved to ...
37109 * script/sh/execute.c: ... Moved here.
37110 * normal/function.c: Moved to ...
37111 * script/sh/function.c: ... Moved here.
37112 * normal/lexer.c: Moved to ...
37113 * script/sh/lexer.c: ... Moved here.
37114 * normal/parser.y: Moved to ...
37115 * script/sh/parser.y: ... Moved here.
37116 * normal/script.c: Moved to ...
37117 * script/sh/script.c: ... Moved here.
37118
37119 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37120 <grub/reader.h>.
37121 (grub_exit_env): Removed.
37122 (fs_module_list): Moved to normal/autofs.c.
37123 (grub_file_getline): Don't handle comment here.
37124 (free_menu): Skip removed field entry->commands.
37125 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37126 script parameter.
37127 (read_config_file): Removed nested parameter, change getline function.
37128 (grub_enter_normal_mode): Removed.
37129 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37130 (read_command_list): Likewise.
37131 (autoload_fs_module): Moved to normal/autofs.c.
37132 (read_fs_list): Likewise.
37133 (reader_nested): New variable.
37134 (grub_normal_execute): Run parser.sh to switch to sh parser.
37135 (grub_cmd_rescue): Removed.
37136 (cmd_normal): Removed.
37137 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37138 rescue command.
37139 (grub_cmdline_run): New function.
37140 (grub_normal_reader_init): Likewise.
37141 (grub_normal_read_line): Likewise.
37142 (grub_env_write_pager): Likewise.
37143 (cmdline): New variable.
37144 (grub_normal_reader): Likewise.
37145 (GRUB_MOD_INIT): Register normal reader and set as current, register
37146 pager hook, register normal command with grub_register_command_prio,
37147 so that it won't show up in command.lst.
37148 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37149 grub_fs_autoload_hook.
37150
37151 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37152 (grub_menu_execute_entry): Replace grub_script_execute with
37153 grub_parser_execute, change parameter to grub_command_execute.
37154
37155 * normal/menu_text.c: Remove <grub/script.h>.
37156
37157 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37158 and <grub/parser.h>.
37159 (run): Change editor_getline to use new parser interface. Change
37160 parameter to grub_command_execute.
37161
37162 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37163 <grub/reader.h> and <grub/parser.h>.
37164 (grub_load_normal_mode): Execute normal command.
37165 (grub_main): Call grub_register_core_commands,
37166 grub_register_rescue_parser and grub_register_rescue_reader, use
37167 grub_reader_loop to enter input loop.
37168
7dd4a573 37169 * kern/parser.c (grub_parser_split_cmdline): Change type of
37170 getline parameter.
d558e6b5 37171 (grub_parser_class): New variable.
37172 (grub_parser_execute): New function.
37173
37174 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37175 * loader/multiboot2.c: Likewise.
37176 * loader/sparc64/ieee1275/linux.c: Likewise.
37177
37178 * util/grub-emu.c (read_command_list): New dummy function.
37179
18db813d 371802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37181
37182 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37183 count to 16 for CCISS and IDA.
37184
6c67de15 371852009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37186
37187 * normal/menu_text.c (grub_wait_after_message): Print a newline
37188 after waiting for user input.
37189
37190 * loader/i386/linux.c: Include `<grub/normal.h>'.
37191 (grub_cmd_linux): Improve the error message about `ask' mode, by
37192 waiting for user input so it's not missed (we can do this, since
37193 user requested interaction).
37194
d9dc87b0 371952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37196
37197 Added missing lst to grub-mkrescue
37198
37199 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37200 and ${input_dir}/parttool.lst
37201
ac8a2baa 372022009-04-30 David S. Miller <davem@davemloft.net>
37203
ad22a610 37204 * util/hostdisk.c (device_is_wholedisk): New function.
37205 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37206 zero only if device_is_wholedisk() returns true.
37207
6966215d 37208 * util/hostdisk.c (convert_system_partition_to_system_disk):
37209 Handle virtual disk devices named /dev/vdiskX as found on sparc
37210 and powerpc.
37211
ac8a2baa 37212 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37213 lettered partition specifier is found, convert to numbered.
37214
979b4fb4 372152009-04-29 David S. Miller <davem@davemloft.net>
37216
e2bf39b2 37217 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37218 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37219
3c64e104 37220 * normal/command.c: Add missing newline at end of file.
37221
979b4fb4 37222 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37223 warnings.
37224 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37225 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37226 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37227 ihandles have a 32-bit type but need to be stored in a "void *".
37228
136d9f82 372292009-04-28 Pavel Roskin <proski@gnu.org>
37230
9459c306 37231 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37232 not disk. Adjust all dependencies.
2e08a26a 37233 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37234 grub_disk_close().
37235
136d9f82 37236 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37237 parent's partition, don't copy it by reference, as it gets freed
37238 on close.
37239
7dd4a573 372402009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37241
37242 Preboot hooks support
37243
37244 * commands/boot.c (struct grub_preboot_t): new declaration
37245 (preboots_head): new variable
37246 (preboots_tail): likewise
37247 (grub_loader_register_preboot_hook): new function
37248 (grub_loader_unregister_preboot_hook): likewise
37249 (grub_loader_set): launch preboot hooks
37250 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37251 (grub_loader_register_preboot_hook): new declaration
37252 (grub_loader_unregister_preboot_hook): likewise
37253
5af922b5 372542009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37255
37256 Warning fix
37257
7dd4a573 37258 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37259 calling grub_dprintf
37260
a5562c30 372612009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37262
37263 Bug and warning fixes
37264
7dd4a573 37265 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37266 declaration
37267 * commands/test.c (test_parse): fixed bug with file tests and corrected
37268 declaration of find_file
37269
4006f85c 372702009-04-26 Pavel Roskin <proski@gnu.org>
37271
37272 * Makefile.in: Don't install empty manual pages if help2man is
37273 missing. Use help2man option for output, not shell redirection.
37274
5c77c3de 372752009-04-26 David S. Miller <davem@davemloft.net>
37276
37277 * util/grub-mkdevicemap.c (make_device_map): Add missing
37278 NESTED_FUNC_ATTR to process_device().
37279
033b10a8 372802009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37281
37282 Test command
37283
37284 * commands/test.c: rewritten to use bash-like test
37285
e4343593 372862009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37287
37288 Parttool autoloading and improvements
37289
7dd4a573 37290 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37291 (parttool.lst): new target
37292 * genmk.rb: generate parttool-*
37293 (CLEANFILES): add #{parttool}
37294 (PARTTOOLFILES): new variable
37295 * genparttoollist.sh: new file
7dd4a573 37296 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37297 (grub_pcpart_type): likewise
37298 * commands/parttool.c (helpmsg): new variable
37299 (grub_cmd_parttool): output help if not enough arguments are supplied
37300 autoload modules
37301 (GRUB_MOD_INIT(parttool)): use helpmsg
37302
0d312500 373032009-04-24 David S. Miller <davem@davemloft.net>
37304
7dd4a573 37305 Avoiding opening same device multiple times in device iterator.
0d312500 37306
37307 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37308 and use it to build a list of partitions in iterate_disk() and
0d312500 37309 iterate_partition().
37310
ac20caff 37311 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37312 on disk->data.
37313
0dcf7495 37314 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37315 grub_devalias_iterate() result instead of unconditional 0.
37316 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37317 Also, capture hook return value, either directly or via
37318 grub_children_iterate(), and propagate to caller.
37319 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37320 grub_children_iterate): Return value is now 'int' instead of
37321 'grub_err_t'.
37322 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37323 like a proper iterator, stopping when hooks return non-zero.
37324 (grub_devalias_iterate): Likewise.
37325
c8c08833 373262009-04-23 David S. Miller <davem@davemloft.net>
37327
37328 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37329
f01005a8 373302009-04-22 David S. Miller <davem@davemloft.net>
37331
37332 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37333 is larger than address_cells, use that value for address_cells too.
37334
4e8269da 37335 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37336 IEEE1275_MAX_PATH_LEN): Define.
37337 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37338 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37339 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37340 'devtype'. Explicitly NULL terminate devalias expansion.
37341
a1447506 37342 * util/sparc64/ieee1275/misc.c: New file.
37343 * util/sparc64/ieee1275/grub-setup.c: New file.
37344 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37345 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37346 * util/sparc64/ieee1275/grub-install.in: New file.
37347 * util/ieee1275/ofpath.c: New file.
37348 * util/ieee1275/devicemap.c: New file.
37349 * util/devicemap.c: New file.
37350 * util/deviceiter.c: New file.
37351 * kern/sparc64/ieee1275/init.c: New file.
37352 * include/grub/util/ofpath.h: New file.
37353 * include/grub/util/deviceiter.h: New file.
37354 * util/grub-mkdevicemap.c: Include deviceiter.h.
37355 Implement using grub_util_emit_devicemap_entry and
37356 grub_util_iterate_devices.
37357 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37358 util/devicemap.c into grub-mkdevicemap
37359 * conf/i386-efi.rmk: Likewise.
37360 * conf/i386-ieee1275.rmk: Likewise.
37361 * conf/i386-pc.rmk: Likewise.
37362 * conf/powerpc-ieee1275.rmk: Likewise.
37363 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37364 images and installation utilities. Build kernel as image
37365 instead of as elf binary. Use common rules as much as possible.
37366
7dd4a573 373672009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37368
37369 Correct GPT definition
37370
7dd4a573 37371 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37372 of "attrib" member
37373
c6c5219f 373742009-04-19 Felix Zielcke <fzielcke@z-51.de>
37375
37376 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37377
0552ff9f 373782009-04-19 David S. Miller <davem@davemloft.net>
37379
37380 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37381 (grub_rescue_cmd_linux): Rename to...
37382 (grub_cmd_linux): and fix prototype.
37383 (grub_rescue_cmd_initrd): Rename to...
37384 (grub_cmd_initrd): and fix prototype.
37385 (cmd_linux, cmd_initrd): New.
37386 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37387 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37388
d1a282fc 373892009-04-17 Pavel Roskin <proski@gnu.org>
37390
07c5039f 37391 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37392 format.
37393 (grub_ohci_transfer): Likewise.
37394
b012002d 37395 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37396
1bc09c35 37397 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37398 return without a value. Fix inconsistent indentation.
37399
e0ff9126 37400 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37401 match struct grub_fs.
37402
d1a282fc 37403 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37404 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37405 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37406 * commands/lspci.c (grub_lspci_iter): Likewise.
37407
a96df3f2 374082009-04-16 Bean <bean123ch@gmail.com>
37409
37410 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37411 value.
37412
41bb0fe9 374132009-04-15 Pavel Roskin <proski@gnu.org>
37414
37415 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37416 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37417 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37418 definitions.
37419
596c6970 374202009-04-15 Felix Zielcke <fzielcke@z-51.de>
37421
37422 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37423 that no multiple data or metadata areas are supported and `Unknown
596c6970 37424 metadata header'.
37425
7dd4a573 374262009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37427
37428 Move loader out of the kernel
37429
37430 * kern/loader.c: moved to ...
37431 * commands/boot.c: ... moved here
37432 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37433 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37434 * include/grub/kernel.h (grub_machine_fini): export
37435 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37436 (grub_loader_set): likewise
37437 (grub_loader_unset): likewise
37438 (grub_loader_boot): likewise
37439 * conf/common.rmk: new module boot.mod
37440 (pkglib_MODULES): add boot.mod
37441 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37442 (grub_emu_SOURCES): likewise
37443 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37444 (grub_emu_SOURCES): likewise
37445 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37446 (grub_emu_SOURCES): likewise
37447 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37448 (grub_emu_SOURCES): likewise
37449 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37450 (grub_emu_SOURCES): likewise
7dd4a573 37451 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37452 (grub_emu_SOURCES): likewise
0d5d5653 37453 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37454 (grub_emu_SOURCES): likewise
0d5d5653 37455
7dd4a573 374562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37457
37458 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37459
5999d619 37460 * kern/misc.c (grub_itoa): Removed function
37461 (grub_ltoa): likewise
37462 (grub_vsprintf): use grub_lltoa
37463
7dd4a573 374642009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37465
37466 Restore grub-emu
37467
37468 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37469 * conf/i386-coreboot.rmk: likewise
37470 * conf/i386-ieee1275.rmk: likewise
37471 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37472
20318222 374732009-04-15 Felix Zielcke <fzielcke@z-51.de>
37474
37475 * INSTALL: Add that `./autogen.sh' needs to be run before
37476 `./configure.'.
37477
d05f0df3 374782009-04-14 Bean <bean123ch@gmail.com>
37479
37480 * Makefile.in (pkglib_DATA): Add handler.lst.
37481 (handler.lst): New rule.
37482
37483 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37484 * conf/i386-coreboot.rmk: Likewise.
37485 * conf/i386-ieee1275.rmk: Likewise.
37486 * conf/i386-efi.rmk: Likewise.
37487 * conf/x86_64-efi.rmk: Likewise.
37488 * conf/powerpc-ieee1275.rmk: Likewise.
37489 * conf/sparc64-ieee1275.rmk: Likewise.
37490
37491 * genhandlerlist.sh: New file.
37492
37493 * genmk.rb: Add rules to generate handler.lst.
37494
37495 * include/grub/normal.h (grub_file_getline): New function definition.
37496 (read_handler_list): Likewise.
37497 (free_handler_list): Likewise.
37498
37499 * include/grub/term.h (grub_term_register_input): Add name parameter
37500 for auto generation of handler.lst.
37501 (grub_term_register_output): Likewise.
37502
37503 * normal/handler.c: New file.
37504
37505 * normal/main.c (get_line): Renamed to grub_file_getline.
37506 (read_config_file): Use the newly renamed grub_file_getline.
37507 (read_command_list): Likewise.
37508 (read_fs_list): Likewise.
37509 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37510 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37511
37512 * term/efi/console.c (grub_console_init): Add name parameter for auto
37513 generation of handler.lst.
37514 * term/gfxterm.c: Likewise.
37515 * term/i386/pc/at_keyboard.c: Likewise.
37516 * term/i386/pc/console.c: Likewise.
37517 * term/i386/pc/serial.c: Likewise.
37518 * term/i386/pc/vesafb.c: Likewise.
37519 * term/i386/pc/vga.c: Likewise.
37520 * term/i386/pc/vga_text.c: Likewise.
37521 * term/ieee1275/ofconsole.c: Likewise.
37522 * term/usb_keyboard.c: Likewise.
37523
33c846be 375242009-04-14 Bean <bean123ch@gmail.com>
37525
37526 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37527 properly with null character.
37528
4484e01e 375292009-04-14 Felix Zielcke <fzielcke@z-51.de>
37530
37531 * configure: Remove.
37532 * config.h.in: Likewise.
f93d668e 37533 * stamp-h.in: Likewise.
4484e01e 37534 * DISTLIST: Likewise.
37535 * conf/common.mk: Likewise.
37536 * conf/i386-coreboot.mk: Likewise.
37537 * conf/i386-efi.mk: Likewise.
37538 * conf/i386-ieee1275.mk: Likewise.
37539 * conf/i386.mk: Likewise.
37540 * conf/i386-pc.mk: Likewise.
37541 * conf/powerpc-ieee1275.mk: Likewise.
37542 * conf/sparc64-ieee1275.mk: Likewise.
37543 * conf/x86_64-efi.mk: Likewise.
37544
37545 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37546 develop on GRUB.
37547
7dd4a573 375482009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37549 David S. Miller <davem@davemloft.net>
37550
37551 * util/hostdisk.c (make_device_name): Fix buffer length
37552 calculations.
37553
e25b5a8c 375542009-04-14 Felix Zielcke <fzielcke@z-51.de>
37555
37556 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37557 <sys/param.h> and <sys/sysctl.h>.
37558 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37559 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37560 opening the device and reset them afterwards.
37561
1f1f580c 375622009-04-13 Pavel Roskin <proski@gnu.org>
37563
37564 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37565 Reported by John Stanley <jpsinthemix@verizon.net>
37566
7ebc2d6b 375672009-04-13 Robert Millan <rmh@aybabtu.com>
37568
37569 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37570 that name for menuentries when appropriate.
7ebc2d6b 37571
d8ba3667 375722009-04-13 Felix Zielcke <fzielcke@z-51.de>
37573
37574 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37575
cba416eb 375762009-04-13 Robert Millan <rmh@aybabtu.com>
37577
37578 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37579 to Linux, simply abort telling the user it's no longer supported.
37580
a547a745 375812009-04-13 Felix Zielcke <fzielcke@z-51.de>
37582
37583 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37584 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37585 `freebsd_loadenv' only when devices.hints exist.
37586
232a769c 375872009-04-13 Pavel Roskin <proski@gnu.org>
37588
37589 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37590
c3012039 375912009-04-13 Felix Zielcke <fzielcke@z-51.de>
37592
37593 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37594 partition number.
37595 (grub_drive): Likewise.
37596
234022fe 375972009-04-13 David S. Miller <davem@davemloft.net>
37598
37599 * kern/sparc64/ieee1275/ieee1275.c: New file.
37600 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37601 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37602 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37603 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37604 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37605 grub_ieee1275_alloc_physmem): Declare new exported functions.
37606
d8e1836c 37607 * include/grub/sparc64/ieee1275/loader.h: New file.
37608 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37609 * include/grub/sparc64/kernel.h: Likewise.
37610 * loader/sparc64/ieee1275/linux.c: Likewise.
37611
96bd81ec 37612 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37613 (grub_fstest_SOURCES): Likewise.
37614
6a4737e5 37615 * util/hostdisk.c (make_device_name): Do not make any assumptions
37616 about the length of drive names.
37617
1d7a72fd 37618 * kern/dl.c (grub_dl_load_file): Close file immediately when
37619 we are done using it.
37620
56bc2471 376212009-04-12 David S. Miller <davem@davemloft.net>
37622
37623 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37624 values. Noticed by Pavel Roskin.
37625
df38d0bb 37626 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37627 target compiler.
7dd4a573 37628
e382e93a 37629 * genmk.rb: Add more flexible image type specification, also
37630 pass --strip-unneeded to objcopy.
37631 * conf/i386-pc.rmk: Use *_FORMAT.
37632 * conf/i386-pc.mk: Rebuilt.
37633
f5dbbca9 37634 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37635 (OFDISK_HASH_SZ): Define.
37636 (ofdisk_hash): New hash table.
37637 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37638 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37639 instead of device phandle which is not unique.
37640
91c88b12 37641 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37642 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37643 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37644 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37645 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37646 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37647 GRUB_KERNEL_MACHINE_DATA_END): Define.
37648 (grub_kernel_image_size, grub_total_module_size): Declare.
37649
5b5d4aa5 376502009-04-12 Pavel Roskin <proski@gnu.org>
37651
7dd4a573 37652 * configure.ac: Change the logic when we check for target tools.
37653 Do it when the target is specified and it's different from the
37654 specified value of the host.
5b5d4aa5 37655
c91e1793 376562009-04-11 Felix Zielcke <fzielcke@z-51.de>
37657
37658 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37659 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37660 GNU/kFreeBSD. Check if a device is a character device. Use
37661 DIOCGMEDIASIZE to get the size.
37662 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37663 support for GNU/kFreeBSD.
37664 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37665 is a character device instead of a block device. Add support for
37666 FreeBSD device names.
37667
37668 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37669 is a character device instead of a block device.
37670
37671 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37672 is a character device instead of a block device.
37673
b1ac8644 376742009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37675
37676 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37677 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37678 FreeBSD. Check if a device is a character device. Use
37679 DIOCGMEDIASIZE to get the size.
37680 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37681 support for FreeBSD.
37682 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37683 is a character device instead of a block device. Add support for
37684 FreeBSD device names.
37685
37686 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37687 a character device instead of a block device.
37688 (grub_util_check_char_device): New function.
37689
37690 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37691 a character device instead of a block device.
37692
37693 * include/grub/util/getroot.h (grub_util_check_char_device): New
37694 prototype.
37695
a3f7515a 376962009-04-11 David S. Miller <davem@davemloft.net>
37697
37698 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37699 static libgcc.
37700 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37701 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37702 function, if present.
37703 (__bswapdi2): Likewise.
37704
0d44993d 37705 * include/grub/sparc64/ieee1275/boot.h: New file.
37706 * boot/sparc64/ieee1275/boot.S: Likewise.
37707 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37708
ed3d2bc2 37709 * kern/misc.c (grub_ltoa): New function.
37710 (grub_vsprintf): Use it to format 'long' integers.
37711
d3bfb59c 377122009-04-10 David S. Miller <davem@davemloft.net>
37713
37714 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37715 slots are of type grub_ieee1275_cell_t.
37716 (grub_nand_read): Likewise.
37717 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37718 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37719 macros are used to compare values in arg/ret block of the call.
37720 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37721 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37722 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37723 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37724 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37725 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37726 grub_ieee1275_close, grub_ieee1275_set_property,
37727 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37728 grub_ieee1275_cell_t.
37729 * kern/ieee1275/openfw.c (grub_map): Likewise.
37730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37731 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37732
450e2238 37733 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37734 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37735 (grub_devalias_iterate): Likewise.
37736
7dd4a573 377372009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37738
37739 UFS improvements
37740
37741 * fs/ufs.c (INODE_NBLOCKS): new definition
37742 (struct grub_ufs_dirent): added fields for non-BSD dirents
37743 (grub_ufs_get_file_block): fixed double indirect handling
37744 (grub_ufs_lookup_symlink): use more robust way to determine whether
37745 symlink is inline
37746 (grub_ufs_find_file): support for non-BSD dirents
37747 (grub_ufs_dir): support for non-BSD dirents
37748
e7e6862a 377492009-04-10 Bean <bean123ch@gnail.com>
37750
37751 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37752 attribute, otherwise the size would be wrong for i386 platform.
37753
37754 * include/grub/pci.h (grub_pci_read_word): New inline function.
37755 (grub_pci_read_byte): Likewise.
37756 (grub_pci_write): Likewise.
37757 (grub_pci_write_word): Likewise.
37758 (grub_pci_write_byte): Likewise.
37759
37760 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37761
37762 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37763 (find_framebuf): Scan pci to locate the frame buffer address.
37764
37765 * commands/efi/fixvideo.c: New file.
37766
37767 * commands/efi/loadbios.c: Likewise.
37768
37769 * commands/memrw.c: Likewise.
37770
37771 * util/grub-dumpbios.in: Likewise.
37772
37773 * conf/common.rmk (grub-dumpbios): New utility.
37774 (pkglib_MODULES): New module memrw.mod.
37775 (memrw_mod_SOURCE): New macro.
37776 (memrw_mod_CFLAGS): Likewise.
37777 (memrw_mod_LDFLAGS): Likewise.
37778
7dd4a573 37779 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37780 fixvideo.mod.
37781 (loadbios_mod_SOURCE): New macro.
37782 (loadbios_mod_CFLAGS): Likewise.
37783 (loadbios_mod_LDFLAGS): Likewise.
37784 (fixvideo_mod_SOURCE): Likewise.
37785 (fixvideo_mod_CFLAGS): Likewise.
37786 (fixvideo_mod_LDFLAGS): Likewise.
37787
7dd4a573 37788 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37789 fixvideo.mod.
37790 (loadbios_mod_SOURCE): New macro.
37791 (loadbios_mod_CFLAGS): Likewise.
37792 (loadbios_mod_LDFLAGS): Likewise.
37793 (fixvideo_mod_SOURCE): Likewise.
37794 (fixvideo_mod_CFLAGS): Likewise.
37795 (fixvideo_mod_LDFLAGS): Likewise.
37796
af63ada2 377972009-04-08 Felix Zielcke <fzielcke@z-51.de>
37798
37799 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37800
c2cdde70 378012009-04-07 David S. Miller <davem@davemloft.net>
37802
37803 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37804 support for R_SPARC_OLO10 relocations. Fix compile warning for
37805 R_SPARC_WDISP30 case.
ea3f72cf 37806 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37807
761319cf 378082009-04-06 Pavel Roskin <proski@gnu.org>
37809
1007d1f5 37810 * include/grub/misc.h (ARRAY_SIZE): New macro.
37811 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37812 New macro.
37813 * loader/i386/linux.c (allocate_pages): Use free_pages().
37814 (grub_linux_unload): Don't use free_pages().
37815 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37816 wrong index. Treat all other modes as text modes.
37817 (grub_cmd_linux): Initialize vid_mode unconditionally to
37818 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37819
761319cf 37820 * commands/help.c (print_command_help): Use cmd->prio, not
37821 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37822
ea761d40 378232009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37824
ea761d40 37825 Parttool
37826
37827 * parttool/pcpart.c: new file
37828 * commands/parttool.c: likewise
37829 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37830 (parttool_mod_SOURCES): new variable
37831 (parttool_mod_CFLAGS): likewise
37832 (parttool_mod_LDFLAGS): likewise
37833 (pcpart_mod_SOURCES): likewise
37834 (pcpart_mod_CFLAGS): likewise
37835 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37837 and parttool/pcpart.c
37838 * conf/i386-efi.rmk: likewise
37839 * conf/i386-ieee1275.rmk: likewise
37840 * conf/i386-pc.rmk: likewise
37841 * conf/powerpc-ieee1275.rmk: likewise
37842 * conf/sparc64-ieee1275.rmk: likewise
37843 * conf/x86_64-ieee1275.rmk: likewise
37844
05aaebfb 378452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37846
37847 Support for mtime and further expandability of dir command
37848
37849 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37850 * include/grub/datetime.h: ... moved here and added
05aaebfb 37851 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37852 * include/grub/fs.h: new syntax for dir and mtime functions in
37853 struct grub_fs
05aaebfb 37854 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37855 and GRUB_FSHELP_FLAGS_MASK
37856 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37857 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37858 (grub_ext2_mtime): new function
37859 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37860 (grub_hfsplus_mtime): new function
37861 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37862 (GRUB_UFS_ATTR_FILE): likewise
37863 (GRUB_UFS_ATTR_LNK): likewise
37864 (struct grub_ufs_sblock): new fields mtime
37865 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37866 all users updated
37867 (grub_ufs_dir): mtime support
37868 (grub_ufs_mtime): new function
37869 * fs/affs.c (grub_affs_dir): use new dir syntax
37870 * fs/afs.c (grub_afs_dir): likewise
37871 * fs/cpio.c (grub_cpio_dir): likewise
37872 * fs/fat.c (grub_fat_find_dir): likewise
37873 * fs/hfs.c (grub_hfs_dir): likewise
37874 * fs/iso9660.c (grub_iso9660_dir): likewise
37875 * fs/jfs.c (grub_jfs_dir): likewise
37876 * fs/minix.c (grub_minix_dir): likewise
37877 * fs/ntfs.c (grub_ntfs_dir): likewise
37878 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37879 * fs/sfs.c (grub_sfs_dir): likewise
37880 * fs/xfs.c (grub_xfs_dir): likewise
37881 * util/hostfs.c (grub_hostfs_dir): likewise
37882 * lib/datetime.c: moved to ...
37883 * normal/datetime.c: ... moved here
37884 (grub_unixtime2datetime): new function
37885 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37886 * normal/completion.c (iterate_dir): use new dir syntax
37887 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37888 last modification time of a volume
7dd4a573 37889 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37890 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37891 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37892 (normal_mod_SOURCES): likewise
37893 (datetime_mod_SOURCES): Removed lib/datetime.c
37894 * conf/i386-efi.rmk: likewise
7dd4a573 37895 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37896 * conf/i386-pc.rmk: likewise
37897 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37898 * conf/sparc64-ieee1275.rmk: likewise
37899 * conf/x86_64-efi.rmk: likewise
05aaebfb 37900
8a7e1a14 379012009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37902
37903 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37904
37905 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37906 on grub_fat_find_dir
37907 (grub_fat_find_dir): use grub_fat_iterate_dir
37908 (grub_fat_label): likewise
37909
04186a9c 379102009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37911
7dd4a573 37912 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37913 and command.h
37914 remove extraneous kernel_elf_HEADERS
37915
da4c0bb6 379162009-04-04 Bean <bean123ch@gnail.com>
37917
37918 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37919
37920 * util/misc.c: Likewise.
37921
54ad9555 379222009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37923
37924 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37925 instead of grub_printf.
37926
7a6bf9f2 379272009-04-03 Robert Millan <rmh@aybabtu.com>
37928
37929 * loader/i386/linux.c (grub_linux_setup_video): Fill
37930 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37931 values from `mode info' structure instead of hardcoded
37932 values.
37933
3fcc2083 379342009-04-01 Pavel Roskin <proski@gnu.org>
37935
37936 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37937 unused now.
37938 * genmk.rb: Likewise.
37939 * configure.ac: Likewise.
37940
5ec9740b 379412009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37942
37943 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37944 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37945
5270cec8 379462009-04-01 David S. Miller <davem@davemloft.net>
37947
37948 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37949 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37950 (grub_setjmp): Mark with 'returns_twice' attribute.
37951 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37952 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37953 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37954
9c3dd854 379552009-04-01 Robert Millan <rmh@aybabtu.com>
37956
37957 Reapply fix from 2008-07-28 which was accidentally reverted; also
37958 perform the same fix to a similar check in same function.
37959
37960 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37961 with the same number are found, just use issue a warning with
37962 grub_dprintf(), as this error has been reported to be non-fatal.
37963
0d818b7e 379642009-03-31 Pavel Roskin <proski@gnu.org>
37965
37966 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37967 for cross-compilation.
37968
95646d92 379692009-03-30 Robert Millan <rmh@aybabtu.com>
37970
37971 Fix i386-ieee1275 build.
37972
37973 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37974 Remove declaration.
37975
6a003ed1 379762009-03-30 Pavel Roskin <proski@gnu.org>
37977
37978 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37979 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37980 zero-terminated, rely only on the strlen value. Fix comparison
37981 of strings differing in length.
37982
92f33540 379832009-03-30 Robert Millan <rmh@aybabtu.com>
37984
37985 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37986 checking for abi version. Improve error messages on BIOS to notify
37987 user about `linux16' command.
37988
a8c48fd5 379892009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37990
f968172e 37991 Leak fixes
a8c48fd5 37992
f968172e 37993 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37994 in case of collision
37995 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37996
9c323f09 379972009-03-29 Robert Millan <rmh@aybabtu.com>
37998
37999 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38000 set `vid_mode' accordingly.
38001 (grub_linux_boot): Process `vid_mode' and set video mode.
38002
ae68f423 380032009-03-29 Robert Millan <rmh@aybabtu.com>
38004
38005 * util/grub.d/10_linux.in (linux_entry): New function.
38006 Factorize generation of Linux boot entries.
38007
5709cfc4 380082009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38009
38010 Make the format of Environment Block plain text. The boot loader
38011 part is not tested well yet.
7dd4a573 38012
5709cfc4 38013 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38014 (buffer): Removed.
38015 (envblk): Likewise.
38016 (usage): Remove "info" and "clear". Add "unset". Update the
38017 description of "set", as this does not delete variables any
38018 longer.
38019 (create_envblk_file): Complete rewrite.
38020 (open_envblk_file): Likewise.
38021 (cmd_info): Removed.
38022 (cmd_list): Likewise.
38023 (cmd_set): Likewise.
38024 (cmd_clear): Likewise.
38025 (list_variables): New function.
38026 (write_envblk): Likewise.
38027 (set_variables): Likewise.
38028 (unset_variables): Likewise.
38029 (main): Complete rewrite.
38030
38031 * commands/loadenv.c (buffer): Removed.
38032 (envblk): Likewise.
38033 (open_envblk_file): New function.
38034 (read_envblk_file): Complete rewrite.
38035 (grub_cmd_load_env): Likewise.
38036 (grub_cmd_list_env): Likewise.
38037 (struct blocklist): New struct.
38038 (free_blocklists): New function.
38039 (check_blocklists): Likewise.
38040 (write_blocklists): Likewise.
38041 (grub_cmd_save_env): Complete rewrite.
38042
38043 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38044 a plain text signature.
38045 (GRUB_ENVBLK_MAXLEN): Removed.
38046 (struct grub_envblk): Complete rewrite.
38047 (grub_envblk_find): Removed.
38048 (grub_envblk_insert): Likewise.
38049 (grub_envblk_open): New prototype.
38050 (grub_envblk_set): Likewise.
38051 (grub_envblk_delete): Put const to VALUE.
38052 (grub_envblk_iterate): Put const to NAME and VALUE.
38053 (grub_envblk_close): New prototype.
38054 (grub_envblk_buffer): New inline function.
38055 (grub_envblk_size): Likewise.
38056
38057 * lib/envblk.c: Include grub/mm.h.
38058 (grub_env_find): Removed.
38059 (grub_envblk_open): New function.
38060 (grub_envblk_close): Likewise.
38061 (escaped_value_len): Likewise.
38062 (find_next_line): Likewise.
38063 (grub_envblk_insert): Removed.
38064 (grub_envblk_set): New function.
38065 (grub_envblk_delete): Complete rewrite.
38066 (grub_envblk_iterate): Likewise.
38067
a9368fd3 380682009-03-28 Robert Millan <rmh@aybabtu.com>
38069
38070 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38071 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38072 variables. Use 16-bit loader.
38073 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38074 loader.
38075 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38076 (grub_linux16_boot): ... this. Update all users.
38077 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38078 (grub_linux_boot): ... this. Update all users.
38079
38080 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38081 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38082 commands to `linux16' and `initrd16'.
38083 (GRUB_MOD_FINI(linux)): Rename to ...
38084 (GRUB_MOD_FINI(linux16)): ... this.
38085
e4dd5a7e 380862009-03-24 Pavel Roskin <proski@gnu.org>
38087
38088 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38089 not just for compilation.
38090
c04d6e05 380912009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38092
38093 Move multiboot helper out of kernel
38094
38095 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38096 `loader/i386/multiboot_helper.S'.
38097 * conf/i386-coreboot.rmk: Likewise
38098 * conf/i386-ieee1275.rmk: Likewise
38099
38100 * kern/i386/loader.S: Move multiboot helpers from here...
38101 * loader/i386/multiboot_helper.S: ...moved here
38102 * include/grub/i386/loader.h: Move declarations of multiboot
38103 helpers from here...
38104 * include/grub/i386/multiboot.h: ...moved here
38105 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38106
42a5b3fc 381072009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38108
38109 * kern/env.c (grub_env_context_open): Added an argument to specify
38110 whether a new context inherits exported variables from current
38111 one. This is useful when making a sandbox to interpret a config
38112 file.
38113 All callers updated.
38114
38115 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38116
b28bbc4e 381172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38118
38119 * kern/env.c (grub_env_context_close): Fix memory leaks.
38120
f04f02e4 381212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38122
38123 * normal/main.c (grub_normal_execute): Added an argument
38124 BATCH to specify if an interactive interface should be provided
38125 after reading a config file.
38126 All callers updated.
38127 (read_command_list): Prevent being executed twice.
38128 (read_fs_list): Likewise.
38129
42a5b3fc 38130 * include/grub/normal.h (grub_normal_execute): Updated the
38131 prototype.
f04f02e4 38132
41473ac2 381332009-03-22 Pavel Roskin <proski@gno.org>
38134
fbc00b0c 38135 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38136 _start.
38137 * kern/i386/pc/startup.S: Likewise.
38138 * kern/i386/efi/startup.S: Likewise.
38139 * kern/i386/ieee1275/startup.S: Likewise.
38140 * kern/i386/coreboot/startup.S: Likewise.
38141 * kern/x86_64/efi/startup.S: Likewise.
38142
41473ac2 38143 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38144 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38145 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38146
2274cc8f 381472009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38148
38149 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38150
38151 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38152 limit detection.
38153 Use vaddr of correct segment for entry_point.
38154
b1b797cb 381552009-03-21 Bean <bean123ch@gmail.com>
38156
38157 * commands/blocklist.c: Add include file <grub/command.h>, remove
38158 <grub/normal.h> and <grub/arg.h>.
38159 (grub_cmd_blocklist): Use the new command interface.
38160 (GRUB_MOD_INIT): Likewise.
38161 (GRUB_MOD_FINI): Likewise.
38162 * commands/boot.c: Likewise.
38163 * commands/cat.c: Likewise.
38164 * commands/cmp.c: Likewise.
38165 * commands/configfile.c: Likewise.
38166 * commands/crc.c: Likewise.
38167 * commands/echo.c: Likewise.
38168 * commands/halt.c: Likewise.
38169 * commands/handler.c: Likewise.
38170 * commands/hdparm.c: Likewise.
38171 * commands/help.c: Likewise.
38172 * commands/hexdump.c: Likewise.
38173 * commands/loadenv.c: Likewise.
38174 * commands/ls.c: Likewise.
38175 * commands/lsmmap.c: Likewise.
38176 * commands/lspci.c: Likewise.
38177 * commands/loadenv.c: Likewise.
38178 * commands/read.c: Likewise.
38179 * commands/reboot.c: Likewise.
38180 * commands/search.c: Likewise.
38181 * commands/sleep.c: Likewise.
38182 * commands/test.c: Likewise.
38183 * commands/usbtest.c: Likewise.
38184 * commands/videotest.c: Likewise.
38185 * commands/i386/cpuid.c: Likewise.
38186 * commands/i386/pc/halt.c: Likewise.
38187 * commands/i386/pc/play.c: Likewise.
38188 * commands/i386/pc/pxecmd.c: Likewise.
38189 * commands/i386/pc/vbeinfo.c: Likewise.
38190 * commands/i386/pc/vbetest.c: Likewise.
38191 * commands/ieee1275/suspend.c: Likewise.
38192 * disk/loopback.c: Likewise.
38193 * font/font_cmd.c: Likewise.
38194 * hello/hello.c: Likewise.
38195 * loader/efi/appleloader.c: Likewise.
38196 * loader/efi/chainloader.c: Likewise.
38197 * loader/i386/bsd.c: Likewise.
38198 * loader/i386/efi/linux.c: Likewise.
38199 * loader/i386/ieee1275/linux.c: Likewise.
38200 * loader/i386/linux.c: Likewise.
38201 * loader/i386/pc/chainloader.c: Likewise.
38202 * loader/i386/pc/linux.c: Likewise.
38203 * loader/powerpc/ieee1275/linux.c: Likewise.
38204 * loader/multiboot_loader.c: Likewise.
38205 * term/gfxterm.c: Likewise.
38206 * term/i386/pc/serial.c: Likewise.
38207 * term/terminfo.c: Likewise.
38208
38209 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38210 * term/i386/pc/vga.c: Likewise.
38211 * video/readers/jpeg.c: Likewise.
38212 * video/readers/png.c: Likewise.
38213 * video/readers/tga.c: Likewise.
38214
38215 * util/grub-fstest (cmd_loopback): Removed.
38216 (cmd_blocklist): Likewise.
38217 (cmd_ls): Likewise.
38218 (grub_register_command): Likewise.
38219 (grub_unregister_command): Likewise.
38220 (execute_command): Use grub_command_find to locate command and execute
38221 it.
38222
38223 * include/grub/efi/chainloader.h: Removed.
38224 * loader/efi/chainloader_normal.c: Likewise.
38225 * loader/i386/bsd_normal.c: Likewise.
38226 * loader/i386/pc/chainloader_normal.c: Likewise.
38227 * loader/i386/pc/multiboot_normal.c: Likewise.
38228 * loader/linux_normal.c: Likewise.
38229 * loader/multiboot_loader_normal.c: Likewise.
38230 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38231
38232 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38233 and grub_register_command_p1.
38234
38235 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38236 kern/command.c, lib/arg.c and commands/extcmd.c.
38237 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38238 (minicmd_mod_SOURCES): New variable.
38239 (minicmd_mod_CFLAGS): Likewise.
38240 (minicmd_mod_LDFLAGS): Likewise.
38241 (extcmd_mod_SOURCES): Likewise.
38242 (extcmd_mod_CFLAGS): Likewise.
38243 (extcmd_mod_LDFLAGS): Likewise.
38244 (boot_mod_SOURCES): Removed.
38245 (boot_mod_CFLAGS): Likewise.
38246 (boot_mod_LDFLAGS): Likewise.
38247
38248 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38249 kern/corecmd.c.
38250 (kernel_img_HEADERS): Add command.h.
38251 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38252 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38253 and lib/arg.c.
38254 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38255 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38256 remove the corresponding normal mode command.
38257 (normal_mod_SOURCES): Remove normal/arg.c.
38258 * conf/i386-coreboot.rmk: Likewise.
38259 * conf/i386-efi.rmk: Likewise.
38260 * conf/i386-ieee1275.rmk: Likewise.
38261 * conf/powerpc-ieee1275.rmk: Likewise.
38262 * conf/x86_64-efi.rmk: Likewise.
38263
38264 * include/grub/arg.h: Move from here ...
38265 * include/grub/lib/arg.h: ... to here.
38266
38267 * normal/arg.c: Move from here ...
38268 * lib/arg.c: ... to here.
38269
38270 * commands/extcmd.c: New file.
38271 * commands/minicmd.c: Likewise.
38272 * include/grub/command.h: Likewise.
38273 * include/grub/extcmd.h: Likewise.
38274 * kern/command.c: Likewise.
38275 * kern/corecmd.c: Likewise.
38276
38277 * kern/list.c (grub_list_iterate): Return int instead of void.
38278 (grub_list_insert): New function.
38279 (grub_prio_list_insert): Likewise.
38280
38281 * kern/rescue.c (grub_rescue_command): Removed.
38282 (grub_rescue_command_list): Likewise.
38283 (grub_rescue_register_command): Likewise.
38284 (grub_rescue_unregister_command): Likewise.
38285 (grub_rescue_cmd_boot): Move to minicmd.c
38286 (grub_rescue_cmd_help): Likewise.
38287 (grub_rescue_cmd_info): Likewise.
38288 (grub_rescue_cmd_boot): Likewise.
38289 (grub_rescue_cmd_testload): Likewise.
38290 (grub_rescue_cmd_dump): Likewise.
38291 (grub_rescue_cmd_rmmod): Likewise.
38292 (grub_rescue_cmd_lsmod): Likewise.
38293 (grub_rescue_cmd_exit): Likewise.
38294 (grub_rescue_print_devices): Moved to corecmd.c.
38295 (grub_rescue_print_files): Likewise.
38296 (grub_rescue_cmd_ls): Likewise.
38297 (grub_rescue_cmd_insmod): Likewise.
38298 (grub_rescue_cmd_set): Likewise.
38299 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38300 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38301 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38302 commands, remove grub_rescue_register_command calls.
b1b797cb 38303
7d074e3c 38304 * normal/command.c (grub_register_command): Removed.
b1b797cb 38305 (grub_unregister_command): Likewise.
38306 (grub_command_find): Likewise.
38307 (grub_iterate_commands): Likewise.
38308 (rescue_command): Likewise.
38309 (export_command): Moved to corecmd.c.
38310 (set_command): Removed.
38311 (unset_command): Likewise.
38312 (insmod_command): Likewise.
38313 (rmmod_command): Likewise.
38314 (lsmod_command): Likewise.
38315 (grub_command_init): Likewise.
38316
38317 * normal/completion.c (iterate_command): Use cmd->prio to check for
38318 active command.
38319 (complete_arguments): Use grub_extcmd_t structure to find options.
38320 (grub_normal_do_completion): Change function grub_iterate_commands to
38321 grub_command_iterate.
38322
38323 * normal/execute.c (grub_script_execute_cmd): No need to parse
38324 argument here.
38325
38326 * normal/main.c (grub_dyncmd_dispatcher): New function.
38327 (read_command_list): Register unload commands as dyncmd.
38328 (grub_cmd_normal): Use new command interface, register rescue,
38329 unregister normal at entry, register normal, unregister rescue at exit.
38330
38331 * include/grub/list.h (grub_list_test_t): New type.
38332 (grub_list_iterate): Return int instead of void.
38333 (grub_list_insert): New function.
38334 (GRUB_AS_NAMED_LIST_P): New macro.
38335 (GRUB_AS_PRIO_LIST): Likewise.
38336 (GRUB_AS_PRIO_LIST_P): Likewise.
38337 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38338 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38339 (grub_prio_list): New structure.
38340 (grub_prio_list_insert): New function.
38341 (grub_prio_list_remove): New inline function.
38342
38343 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38344 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38345 (GRUB_COMMAND_FLAG_MENU): Likewise.
38346 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38347 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38348 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38349 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38350 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38351 (grub_command): Likewise.
38352 (grub_register_command): Likewise.
38353 (grub_command_find): Likewise.
38354 (grub_iterate_commands): Likewise.
38355 (grub_command_init): Likewise.
38356 (grub_arg_parse): Likewise.
38357 (grub_arg_show_help): Likewise.
38358
38359 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38360 (grub_rescue_unregister_command): Likewise.
38361
38362 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38363 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38364 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38365
38366 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38367 grub_rescue_cmd_initrd.
38368 * include/grub/i386/loader.h: Likewise.
38369 * include/grub/x86_64/loader.h: Likewise.
38370
38371 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38372
1f4147aa 383732009-03-21 Bean <bean123ch@gmail.com>
38374
38375 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38376 instead of stat in mingw environment.
38377
38378 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38379
38380 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38381
38382 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38383 AC_CONFIG_LINKS.
38384
2156d5ba 383852009-03-21 Bean <bean123ch@gmail.com>
38386
38387 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38388 out of range error.
38389
177b82ca 383902009-03-18 Michel Dänzer <michel@daenzer.net>
38391
38392 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38393 checking inode flags for EXT4_EXTENTS_FLAG.
38394
14aad807 383952009-03-18 Robert Millan <rmh@aybabtu.com>
38396
38397 * loader/i386/linux.c: Include `<grub/video.h>' and
38398 `<grub/i386/pc/vbe.h>'..
38399 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38400 (grub_linux32_boot): Attempt to configure video settings with
38401 grub_linux_setup_video().
38402 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38403 to avoid grub_console_fini() which would step out of graphical mode
38404 unconditionally.
38405
8cf83a27 384062009-03-14 Robert Millan <rmh@aybabtu.com>
38407
38408 Fix build on powerpc.
38409 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38410
40164e75 384112009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38412
38413 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38414 background image command.
38415
c58bc32a 384162009-03-12 Colin D Bennett <colin@gibibit.com>
38417
38418 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38419 (grub_gfxterm_putchar): Extract pairs of identical calls to
38420 draw_cursor out of conditional blocks.
38421
5415144a 384222009-03-11 Pavel Roskin <proski@gnu.org>
38423
38424 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38425 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38426
6394042e 384272009-03-11 Robert Millan <rmh@aybabtu.com>
38428
38429 * loader/i386/multiboot_elfxx.c
38430 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38431
b7b50e5f 384322009-03-11 Felix Zielcke <fzielcke@z-51.de>
38433
38434 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38435 `kern/handler.c'.
38436
1ca7fc96 384372009-03-11 Robert Millan <rmh@aybabtu.com>
38438
38439 * loader/i386/multiboot.c (code_size): New variable.
38440 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38441 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38442 4-byte alignment to MBI and others by increasing
7d074e3c 38443 `boot_loader_name_length' appropriately.
1ca7fc96 38444
38445 * loader/i386/multiboot_elfxx.c
38446 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38447
a83ea1d2 384482009-03-09 Felix Zielcke <fzielcke@z-51.de>
38449
38450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38451 `fs/ext2.c'.
38452
aa9f3bff 384532009-03-08 Robert Millan <rmh@aybabtu.com>
38454
38455 Make loader/i386/linux.c usable on i386-pc again.
38456
38457 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38458 memory to heap.
38459 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38460 `#error' stanza.
38461
d8b3b60e 384622009-03-07 Bean <bean123ch@gmail.com>
38463
38464 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38465 allocation.
38466
b362c9e9 384672009-03-06 Robert Millan <rmh@aybabtu.com>
38468
38469 Fix display issue on terminals with screen size other than 80x25
38470 (e.g. gfxterm with resolution higher than 640x480).
38471
38472 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38473 position relative to the center of the terminal instead of relying
b362c9e9 38474 on a hardcoded offset.
38475
9304eef1 384762009-03-04 Robert Millan <rmh@aybabtu.com>
38477
38478 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38479 installed.
38480
38481 * Makefile.in (host_kernel): New variable.
38482 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38483 scripts instead of just the windows one.
38484 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38485
eabc95fb 384862009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38487
38488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38489 `kern/handler.c'.
38490 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38494 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38495 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38496
ceb1223c 384972009-03-04 Felix Zielcke <fzielcke@z-51.de>
38498
38499 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38500 or if there's no space for the disk label and print the partition number on a
38501 invalid magic.
38502
4910684a 385032009-03-04 Felix Zielcke <fzielcke@z-51.de>
38504
38505 * util/misc.c: Include <time.h>.
38506 (grub_millisleep): New function.
38507
7e9ca17a 385082009-03-04 Bean <bean123ch@gmail.com>
38509
38510 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38511 another option -mno-red-zone.
38512
38513 * commands/handler.c: Change module description.
38514
38515 * kern/handler.c: Add missing space at the end of description line.
38516
38517 * kern/list.c: Likewise.
38518
f501677c 385192009-03-03 Robert Millan <rmh@aybabtu.com>
38520
38521 Move more components to the relocation area, and fix mbi pointer
38522 handling to use the destination rather than the origin (thanks to
38523 Vladimir Serbinenko for spotting).
38524
38525 * loader/i386/multiboot.c (mbi_dest): New variable.
38526 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38527 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38528 relocation area.
38529
9902d047 385302009-03-01 Bean <bean123ch@gmail.com>
38531
50fb7002 38532 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38533 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38534 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38535 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38536
38537 * loader/i386/efi/linux.c (acpi_guid): New variable.
38538 (acpi_guid): Likewise.
38539 (EBDA_SEG_ADDR): New constant.
38540 (LOW_MEM_ADDR): Likewise.
38541 (FAKE_EBDA_SEG): Likewise.
38542 (fake_bios_data): New function.
38543 (grub_linux_boot): Call fake_bios_data.
38544
71b9f361 385452009-03-01 Bean <bean123ch@gmail.com>
38546
38547 * commands/terminal.c: Removed.
38548
38549 * commands/handler.c: New file.
38550
38551 * include/grub/list.h: Likewise.
38552
38553 * include/grub/handler.h: Likewise.
38554
38555 * kern/list.c: Likewise.
38556
38557 * kern/handler.c: Likewise.
38558
38559 * kern/term.h: Include header file <grub/handler.h>.
38560 (grub_term_input): Move next field to the beginning.
38561 (grub_term_output): Likewise.
38562 (grub_term_input_class): New variable.
38563 (grub_term_output_class): Likewise.
38564 (grub_term_register_input): Changed to inline function.
38565 (grub_term_register_output): Likewise.
38566 (grub_term_unregister_input): Likewise.
38567 (grub_term_unregister_output): Likewise.
38568 (grub_term_set_current_input): Likewise.
38569 (grub_term_set_current_output): Likewise.
38570 (grub_term_get_current_input): Likewise.
38571 (grub_term_get_current_output): Likewise.
38572 (grub_term_iterate_input): Removed.
38573 (grub_term_iterate_output): Likewise.
38574
38575 * kern/term.c (grub_term_list_input): Removed.
38576 (grub_term_list_output): Likewise.
38577 (grub_term_input_class): New variable.
38578 (grub_term_output_class): Likewise.
50fb7002 38579 (grub_cur_term_input): Change variable as macro.
71b9f361 38580 (grub_cur_term_output): Likewise.
38581 (grub_term_register_input): Removed.
38582 (grub_term_register_output): Likewise.
38583 (grub_term_unregister_input): Likewise.
38584 (grub_term_unregister_output): Likewise.
38585 (grub_term_set_current_input): Likewise.
38586 (grub_term_set_current_output): Likewise.
38587 (grub_term_iterate_input): Likewise.
38588 (grub_term_iterate_output): Likewise.
38589 (grub_term_get_current_input): Likewise.
38590 (grub_term_get_current_output): Likewise.
38591
38592 * util/grub-editenv.c: Include header file <grub/handler.h>.
38593 (grub_term_get_current_input): Removed.
38594 (grub_term_get_current_output): Likewise.
38595 (grub_term_input_class): New variable.
50fb7002 38596 (grub_term_output_class): Likewise.
71b9f361 38597
38598 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38599 (grub_term_get_current_output): Likewise.
38600 (grub_term_input_class): New variable.
50fb7002 38601 (grub_term_output_class): Likewise.
71b9f361 38602
38603 * util/grub-probe.c (grub_term_get_current_input): Removed.
38604 (grub_term_get_current_output): Likewise.
38605 (grub_term_input_class): New variable.
50fb7002 38606 (grub_term_output_class): Likewise.
71b9f361 38607
38608 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38609 (grub_term_get_current_output): Likewise.
38610 (grub_term_input_class): New variable.
50fb7002 38611 (grub_term_output_class): Likewise.
71b9f361 38612
38613 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38614 (terminal_mod_SOURCES): Likewise.
38615 (terminal_mod_CFLAGS): Likewise.
38616 (terminal_mod_LDFLAGS): Likewise.
38617
38618 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38619 handler.c.
38620 (kernel_img_SOURCES): Add list.c and handler.c.
38621 (kernel_img_HEADERS): Add list.h and handler.h.
38622
38623 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38624 handler.c.
38625 (kernel_mod_SOURCES): Add list.c and handler.c.
38626 (kernel_mod_HEADERS): Add list.h and handler.h.
38627
38628 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38629 handler.c.
38630 (kernel_elf_SOURCES): Add list.c and handler.c.
38631 (kernel_elf_HEADERS): Add list.h and handler.h.
38632
38633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38634 handler.c.
38635 (kernel_elf_SOURCES): Add list.c and handler.c.
38636 (kernel_elf_HEADERS): Add list.h and handler.h.
38637
38638 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38639 handler.c.
38640 (kernel_mod_SOURCES): Add list.c and handler.c.
38641 (kernel_mod_HEADERS): Add list.h and handler.h.
38642
38643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38644 handler.c.
38645 (kernel_elf_SOURCES): Add list.c and handler.c.
38646 (kernel_elf_HEADERS): Add list.h and handler.h.
38647
8a31787f 386482009-02-27 Robert Millan <rmh@aybabtu.com>
38649
38650 Factorize elf32 / elf64 code in Multiboot loader. This will
38651 prevent it from getting out of sync again.
38652
38653 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38654 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38655 grub_multiboot_load_elf64): Move from here ...
38656 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38657 grub_multiboot_load_elf): ... to here (new file).
38658
51cd3dfc 386592009-02-27 Robert Millan <rmh@aybabtu.com>
38660
38661 * util/grub.d/10_linux.in: Rename "single-user mode" to
38662 "recovery mode".
38663
6e8c9c3a 386642009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38665
38666 Don't leak in SCSI code.
38667 * disk/scsi.c (grub_scsi_close): free `scsi'.
38668
4b6bf4f9 386692009-02-27 Robert Millan <rmh@aybabtu.com>
38670
38671 * loader/i386/pc/multiboot.c: Move from here ...
38672 * loader/i386/multiboot.c: ... to here. Update all users.
38673
b9413424 386742009-02-27 Robert Millan <rmh@aybabtu.com>
38675
38676 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38677 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38678
50fb7002 386792009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38680
38681 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38682 b-tree.
38683
8cc50345 386842009-02-27 Robert Millan <rmh@aybabtu.com>
38685
38686 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38687 `0x' qualifier as 0 when base is specified as parameter).
38688
6e09b8b7 386892009-02-24 Bean <bean123ch@gmail.com>
38690
38691 * configure.ac: Check for -mcmodel=large in x86_64 target.
38692
38693 * include/grub/efi/api.h (efi_call_10): New macro.
38694 (efi_wrap_10): New function.
38695
38696 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38697 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38698 (GRUB_PE32_REL_BASED_LOW): Likewise.
38699 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38700 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38701 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38702 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38703 (GRUB_PE32_REL_BASED_REL): Likewise.
38704 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38705 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38706 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38707
38708 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38709 issue.
38710
38711 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38712 (efi_wrap_10): New function.
38713
38714 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38715
38716 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38717 MB/MBP model (NV chipset).
38718 (devdata_devs): Add devpath_5 to the list.
38719
38720 * load/i386/efi/linux.c (video_base): Remove variable.
38721 (RGB_MASK): New macro.
38722 (RGB_MAGIC): Likewise.
38723 (LINE_MIN): Likewise.
38724 (LINE_MAX): Likewise.
38725 (FBTEST_STEP): Likewise.
38726 (FBTEST_COUNT): Likewise.
38727 (fb_list): New variable.
38728 (grub_find_video_card): Remove function.
38729 (find_framebuf): New function.
38730 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38731 line length.
38732
38733 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38734 problem for x86_64.
38735
74b21bee 387362009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38737
38738 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38739
38740 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38741 coding tool name.
38742
a455f472 387432009-02-22 Robert Millan <rmh@aybabtu.com>
38744
38745 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38746 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38747 in our relocation, instead of using it directly from heap. Also
38748 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38749
6374daf3 387502009-02-21 Robert Millan <rmh@aybabtu.com>
38751
38752 Implement USB keyboard support (based on patch by Marco Gerards)
38753
38754 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38755 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38756 (usb_keyboard_mod_LDFLAGS): New variables.
38757
38758 * term/usb_keyboard.c: New file.
38759
8fa4ea70 387602009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38761
38762 Corrected wrong declaration
38763
38764 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38765
353976ac 387662009-02-14 Christian Franke <franke@computer.org>
38767
38768 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38769 (grub_lspci_iter): Print class code and programming interface byte.
38770
6aa1169b 387712009-02-14 Christian Franke <franke@computer.org>
38772
38773 * gendistlist.sh: Ignore `.svn' directories.
38774
265372ca 387752009-02-14 Felix Zielcke <fzielcke@z-51.de>
38776
38777 * fs/fat.c: Add 2009 to Copyright line.
38778
9ff516f3 387792009-02-14 Christian Franke <franke@computer.org>
38780
38781 * commands/hdparm.c: New file. Provides `hdparm' command
38782 which sends ATA commands via grub_disk_ata_pass_through ().
38783
38784 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38785
38786 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38787 and <grub/cpu/io.h> to include/grub/ata.h.
38788 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38789 (GRUB_CDROM_SECTOR_SIZE): Remove.
38790 (GRUB_ATA_*): Move to include/grub/ata.h.
38791 (GRUB_ATAPI_*): Likewise.
38792 (enum grub_ata_commands): Likewise.
38793 (enum grub_ata_timeout_milliseconds): Likewise.
38794 (struct grub_ata_device): Likewise.
38795 (grub_ata_regset): Likewise.
38796 (grub_ata_regget): Likewise.
38797 (grub_ata_regset2): Likewise.
38798 (grub_ata_regget2): Likewise.
38799 (grub_ata_check_ready): Likewise.
38800 (grub_ata_wait_not_busy): Remove static, exported in
38801 include/grub/ata.h.
38802 (grub_ata_wait_drq): Likewise.
38803 (grub_ata_pio_read): Likewise.
38804
38805 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38806 function for hdparm.mod.
38807
38808 * include/grub/ata.h: New file, contains declarations from
38809 disk/ata.c.
38810 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38811
38812 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38813 (grub_disk_ata_pass_through): New exported variable.
38814
38815 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38816
772e23da 388172009-02-13 Colin D Bennett <colin@gibibit.com>
38818
38819 Support multiple fallback entries, and provide an API to support
38820 executing default+fallback menu entries. Renamed the `terminal' menu
38821 viewer to `text'.
38822
38823 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38824 variable declaration.
38825 (grub_menu_execute_callback): New structure declaration.
38826 (grub_menu_execute_callback_t): New typedef.
38827 (grub_menu_execute_with_fallback): New function declaration.
38828 (grub_menu_get_entry): Likewise.
38829 (grub_menu_get_timeout): Likewise.
38830 (grub_menu_set_timeout): Likewise.
38831
38832 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38833
38834 * normal/menu.c (grub_wait_after_message): Moved to
38835 `normal/menu_text.c'.
38836 (draw_border): Likewise.
38837 (print_message): Likewise.
38838 (print_entry): Likewise.
38839 (print_entries): Likewise.
38840 (grub_menu_init_page): Likewise.
38841 (get_entry_number): Likewise.
38842 (print_timeout): Likewise.
38843 (run_menu): Likewise.
38844 (grub_menu_execute_entry): Likewise.
38845 (show_text_menu): Likewise.
38846 (get_and_remove_first_entry_number): New function.
38847 (grub_menu_execute_with_fallback): Likewise.
38848 (get_entry): Renamed to ...
38849 (grub_menu_get_entry): .. this and made it global.
38850 (get_timeout): Renamed to ...
38851 (grub_menu_get_timeout): ... this and made it global.
38852 (set_timeout): Renamed to ...
38853 (grub_menu_set_timeout): ... this and made it global.
38854 (grub_normal_terminal_menu_viewer): Renamed to ...
38855 (grub_normal_text_menu_viewer): ... this.
38856
38857 * normal/menu_text.c: New file. Extracted text-menu-specific code
38858 from normal/menu.c.
38859
38860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38861 (normal_mod_SOURCES): Likewise.
38862
38863 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38864 (normal_mod_SOURCES): Likewise.
38865
38866 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38867 (normal_mod_SOURCES): Likewise.
38868
38869 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38870 (normal_mod_SOURCES): Likewise.
38871
38872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38873 (normal_mod_SOURCES): Likewise.
38874
38875 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38876 (normal_mod_SOURCES): Likewise.
38877
38878 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38879 (normal_mod_SOURCES): Likewise.
38880
16ac430e 388812009-02-11 Robert Millan <rmh@aybabtu.com>
38882
38883 * util/grub.d/00_header.in: Update old reference to `font' command.
38884
06ff20fc 388852009-02-10 Felix Zielcke <fzielcke@z-51.de>
38886
38887 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38888
38889 Based on patch from Javier Martín.
38890
96da9407 388912009-02-09 Felix Zielcke <fzielcke@z-51.de>
38892
38893 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38894 to avoid false positives with FAT.
96da9407 38895 (grub_fstest_SOURCES): Likewise.
38896 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38897 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38902
6dca6fe4 389032009-02-09 Felix Zielcke <fzielcke@z-51.de>
38904
06ff20fc 38905 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38906 bpb.version_specific.fat12_or_fat16.fstype and
38907 bpb.version_specific.fat32.fstype.
38908
2550c62f 389092009-02-08 Robert Millan <rmh@aybabtu.com>
38910
be110b30 38911 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38912
56978920 389132009-02-08 Robert Millan <rmh@aybabtu.com>
38914
38915 * Makefile.in (host_os, host_cpu): New variables.
38916 (target_os): Remove. Update all users.
38917
d64399b5 389182009-02-08 Marco Gerards <marco@gnu.org>
38919
38920 * Makefile.in (enable_grub_emu_usb): New variable.
38921 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38922 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38923 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38924 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38925 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38926 `usbtest.mod' and `usbms.mod'.
38927 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38928 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38929 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38930 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38931 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38932 variables.
38933
38934 * disk/usbms.c: New file.
38935
38936 * include/grub/usb.h: Likewise.
38937
38938 * include/grub/usbtrans.h: Likewise.
38939
38940 * include/grub/usbdesc.h: Likewise.
38941
38942 * bus/usb/usbtrans.c: Likewise.
38943
38944 * bus/usb/ohci.c: Likewise.
38945
38946 * bus/usb/uhci.c: Likewise.
38947
38948 * bus/usb/usbhub.c: Likewise.
38949
38950 * bus/usb/usb.c: Likewise.
38951
38952 * commands/usbtest.c: Likewise.
38953
38954 * util/usb.c: Likewise.
50fb7002 38955
d64399b5 38956 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38957
38958 * configure.ac: Test for libusb presence.
50fb7002 38959
d64399b5 38960 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38961
2b40d6bb 389622009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38963
38964 * kern/mm.c: Add more comments.
38965
73a4ce81 389662009-02-08 Robert Millan <rmh@aybabtu.com>
38967
38968 Patch from Javier Martín.
38969 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38970 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38971
f821ce59 389722009-02-08 Robert Millan <rmh@aybabtu.com>
38973
38974 * fs/cpio.c: Split tar functionality to ...
38975 * fs/tar.c: ... here (new file). Update all users.
38976
aebfc4b0 389772009-02-07 Robert Millan <rmh@aybabtu.com>
38978
38979 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38980 backward-incompatible features.
38981
38982 Based on patch from Javier Martín, with some adjustments.
38983
50fb7002 389842009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38985
38986 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38987
0bb5115e 389882009-02-07 Robert Millan <rmh@aybabtu.com>
38989
38990 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38991 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38992 after the RAID stuff.
38993
38a0f8e7 389942009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38995
50fb7002 38996 Fixes problem when running vbetest command as reported by
38a0f8e7 38997 Vladimir Serbinenko <phcoder@gmail.com>.
38998
38999 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39000
3143cc1c 390012009-02-04 Felix Zielcke <fzielcke@z-51.de>
39002
39003 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39004 /dev/md/NpN style mdraid devices.
39005
9cba6fce 390062009-02-03 Felix Zielcke <fzielcke@z-51.de>
39007
39008 * util/unifont2pff.rb: Remove.
39009
e507a2c1 390102009-02-03 Felix Zielcke <fzielcke@z-51.de>
39011
39012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39013 `#'.
39014
d2c2b4cd 390152009-02-03 Felix Zielcke <fzielcke@z-51.de>
39016
39017 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39018 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39023 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39024
b4315fb0 390252009-02-02 Christian Franke <franke@computer.org>
39026
39027 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39028
de3aa260 390292009-02-01 Felix Zielcke <fzielcke@z-51.de>
39030
7c3ff286 39031 * INSTALL: Note that we now require at least autoconf 2.59 and
39032 that LZO is optional.
de3aa260 39033
825a182b 390342009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39035
39036 Base on patch on bug #24154 created by Tomas Tintera
39037 <trosos@seznam.cz>.
39038
39039 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39040
a69ef770 390412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39042
7c3ff286 39043 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39044 <bero@arklinux.org>.
39045
39046 * normal/parser.y (script_init): Add missing semicolon.
39047
6fa42fa6 390482009-01-31 Colin D Bennett <colin@gibibit.com>
39049
7c3ff286 39050 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39051 (free_menu_entry_classes): Added.
39052 (grub_normal_menu_addentry): Added class property handling.
39053 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39054 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39055
39056 * normal/menu_viewer.c: New file.
39057
39058 * normal/menu.c (run_menu_entry): Renamed to ...
39059 (grub_menu_execute_entry): ... this and made it as global.
39060 (grub_menu_run): Renamed to ...
39061 (show_text_menu): ... this and made it local.
39062 (show_text_menu): Adapt to new function names.
39063 (grub_normal_terminal_menu_viewer): New global variable.
39064
39065 * include/grub/menu.h: New file.
39066
39067 * include/grub/menu_viewer.h: New file.
39068
39069 * include/grub/normal.h: Added include to grub/menu.h.
39070 (grub_menu_entry): Moved to include/grub/menu.h.
39071 (grub_menu_entry_t): Likewise.
39072 (grub_menu): Likewise.
39073 (grub_menu_t): Likewise.
39074 (grub_normal_terminal_menu_viewer): Added.
39075 (grub_menu_execute_entry): Likewise.
39076 (grub_menu_run): Removed.
39077
39078 * DISTLIST: Added include/grub/menu.h.
39079 Added include/grub/menu_viewer.h.
39080 Added normal/menu_viewer.c.
39081
390822009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39083
39084 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39085 arglist for menutitle arguments.
39086
39087 * normal/main.c (grub_normal_menu_addentry): Likewise.
39088
39089 * normal/parser.y (menuentry): Likewise.
39090
39091 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39092
39093 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39094 (grub_script_create_cmdmenu): Likewise.
39095
39096 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39097
39098 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39099 changes.
39100
39101 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39102
39103 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39104
39105 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39106
39107 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39108
39109 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39110
39111 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39112
56192c23 391132009-01-30 Christian Franke <franke@computer.org>
39114
39115 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39116 in option help text.
39117
d72521b3 391182009-01-27 Pavel Roskin <proski@gnu.org>
39119
39120 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39121
994b5e84 391222009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39123
39124 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39125
39126 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39127
39128 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39129 unregister function.
39130
6a7eab2c 391312009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39132
39133 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39134
39135 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39136
39137 * util/grub-mkfont.c (usage): Fix typo.
39138
39139 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39140
1806b56e 391412009-01-26 Daniel Mierswa <impulze@impulze.org>
39142
3fb18f09 39143 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39144
336e1fb9 39145 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39146
1806b56e 39147 * kern/misc.c (grub_strcasecmp): New function.
39148 (grub_strcasecmp): Use grub_size_t instead of int for length.
39149 Fix return value.
39150 * include/grub/misc.h: Update function prototypes.
39151
580b2a0f 391522009-01-26 Robert Millan <rmh@aybabtu.com>
39153
39154 * configure.ac: Fix cross-compilation check.
ef257b36 39155
d31c24f1 391562009-01-22 Christian Franke <franke@computer.org>
39157
39158 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39159 (precision) digit string. Allow `.format2' without `format1' (width).
39160 Limit input chars for `%s' output to `format2' if specified. This is
39161 compatible with standard printf ().
39162
3138b44c 391632009-01-22 Christian Franke <franke@computer.org>
39164
39165 * disk/ata.c (grub_ata_wait_status): Replace by ...
39166 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39167 other status bits may be invalid while BSY is asserted.
39168 (grub_ata_check_ready): New function.
39169 (grub_ata_cmd): Removed.
39170 (grub_ata_wait_drq): New function.
39171 (grub_ata_strncpy): Remove inline.
39172 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39173 and error check now done by grub_ata_wait_drq ().
39174 (grub_ata_pio_write): Likewise.
39175 (grub_atapi_identify): Set DEV before check for !BSY. Use
39176 grub_ata_wait_drq () to wait for data.
39177 (grub_ata_device_initialize): Add status register check to
39178 detect missing SATA slave devices. Add debug messages.
39179 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39180 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39181 transfer loop by grub_ata_pio_write ().
39182 (grub_ata_identify): Set DEV before check for !BSY. Use
39183 grub_ata_wait_drq () to wait for data.
ef257b36 39184 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39185 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39186 read/write in one loop. Fix invalid command on write. Fix incomplete
39187 command on (size % batch) == 0. Add missing error check after write of
39188 last block. Add debug messages.
39189 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39190
59a64ef6 391912009-01-19 Christian Franke <franke@computer.org>
39192
39193 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39194 (GRUB_ATAPI_IREASON_*): Likewise.
39195 (grub_ata_pio_write): Fix timeout error return.
39196 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39197 (grub_atapi_wait_drq): New function.
39198 (grub_atapi_packet): New parameter `size'.
39199 Use grub_atapi_wait_drq () and direct write instead of
39200 grub_ata_pio_write ().
39201 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39202 reads the number of bytes requested by the device for each DRQ
39203 assertion.
39204 (grub_atapi_write): Remove old implementation, return not
39205 implemented instead.
39206
1cfe20b3 392072009-01-19 Christian Franke <franke@computer.org>
39208
39209 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39210 of 512 to calculate data size.
39211 (grub_scsi_read12): Likewise.
39212 (grub_scsi_write10): Likewise.
39213 (grub_scsi_write12): Likewise.
39214 (grub_scsi_read): Adjust size according to blocksize.
39215 Add checks for invalid blocksize and unaligned transfer.
39216
bee5fe5d 392172009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39218
39219 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39220
ef257b36 39221 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39222 width glyphs.
39223
3e643f8c 392242009-01-19 Robert Millan <rmh@aybabtu.com>
39225
39226 * config.guess: Update to latest version from config git.
39227 * config.sub: Likewise.
39228
4fa80998 392292009-01-17 Felix Zielcke <fzielcke@z-51.de>
39230
39231 * Makefile.in: Change font compilation to use new grub-mkfont instead
39232 of java version.
39233
39234 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39235 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39236 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39237 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39238 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39239 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39240 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39241 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39242 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39243
7086085b 392442009-01-16 Christian Franke <franke@computer.org>
39245
39246 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39247 (enum grub_ata_timeout_milliseconds): New enum.
39248 (grub_ata_wait_status): Add parameter milliseconds.
39249 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39250 recovery from timed-out commands.
39251 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39252 return grub_errno instead of REG_ERROR.
39253 (grub_ata_pio_write): Add parameter milliseconds.
39254 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39255 Pass milliseconds to grub_ata_wait_status () and
39256 grub_ata_pio_read ().
39257 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39258 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39259 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39260 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39261 It is not suitable for device detection, because DEV bit is ignored,
39262 the command may run too long, and not all devices set the signature
39263 properly.
39264 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39265 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39266 Fix device selection, DEV bit must be set first to address the registers
39267 of the correct device.
39268 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39269 grub_ata_pio_read/write ().
39270 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39271 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39272
4a412913 392732009-01-13 Carles Pina i Estany <carles@pina.cat>
39274
39275 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39276
7795c55e 392772009-01-13 Bean <bean123ch@gmail.com>
d913988c 39278
39279 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39280
7795c55e 392812009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39282
39283 * Makefile.in: (enable_grub_mkfont): New variable.
39284 (freetype_cflags): Likewise.
39285 (freetype_libs): Likewise.
39286
39287 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39288 (grub_mkfont_SOURCES): New variable.
39289 (grub_mkfont_CFLAGS): Likewise.
39290 (grub_mkfont_LDFLAGS): Likewise.
39291
39292 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39293 library if `--enable-grub-mkfont' is requested.
39294 (enable_grub_mkfont): New variable.
39295 (freetype_cflags): Likewise.
39296 (freetype_libs): Likewise.
39297
39298 * util/grub-mkfont.c: New file.
39299
093af1fe 393002009-01-12 Christian Franke <franke@computer.org>
39301
39302 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39303 mode check. Fix setting of compat_use[].
39304
f36cc108 393052009-01-10 Robert Millan <rmh@aybabtu.com>
39306
39307 Update a few copyright years which we forgot to do in 2008 (only for
39308 files whose changes made in 2008 were copyright-significant)
39309
39310 * Makefile.in: Add 2008 to Copyright line.
39311 * disk/ieee1275/ofdisk.c: Likewise.
39312 * disk/efi/efidisk.c: Likewise.
39313 * kern/dl.c: Likewise.
39314 * kern/sparc64/ieee1275/init.c: Likewise.
39315 * kern/mm.c: Likewise.
39316 * kern/efi/mm.c: Likewise.
39317 * boot/i386/pc/boot.S: Likewise.
39318 * genfslist.sh: Likewise.
39319 * fs/iso9660.c: Likewise.
39320 * fs/hfs.c: Likewise.
39321 * fs/jfs.c: Likewise.
39322 * fs/minix.c: Likewise.
39323 * fs/ufs.c: Likewise.
39324 * gensymlist.sh.in: Likewise.
39325 * genkernsyms.sh.in: Likewise.
39326 * include/grub/misc.h: Likewise.
39327 * include/grub/types.h: Likewise.
39328 * include/grub/symbol.h: Likewise.
39329 * include/grub/elf.h: Likewise.
39330 * include/grub/kernel.h: Likewise.
39331 * include/grub/disk.h: Likewise.
39332 * include/grub/dl.h: Likewise.
39333 * include/grub/i386/linux.h: Likewise.
39334 * include/grub/i386/pc/biosdisk.h: Likewise.
39335 * include/grub/efi/api.h: Likewise.
39336 * include/grub/efi/pe32.h: Likewise.
39337 * include/grub/util/misc.h: Likewise.
39338 * normal/execute.c: Likewise.
39339 * normal/arg.c: Likewise.
39340 * normal/completion.c: Likewise.
39341 * normal/lexer.c: Likewise.
39342 * normal/parser.y: Likewise.
39343 * normal/misc.c: Likewise.
39344 * commands/i386/pc/vbeinfo.c: Likewise.
39345 * commands/hexdump.c: Likewise.
39346 * commands/terminal.c: Likewise.
39347 * commands/ls.c: Likewise.
39348 * commands/help.c: Likewise.
39349 * partmap/pc.c: Likewise.
39350 * loader/efi/chainloader.c: Likewise.
39351 * loader/multiboot_loader.c: Likewise.
39352 * loader/i386/pc/multiboot2.c: Likewise.
39353 * term/efi/console.c: Likewise.
39354 * term/i386/pc/serial.c: Likewise.
39355 * util/lvm.c: Likewise.
39356 * util/console.c: Likewise.
39357 * util/i386/efi/grub-mkimage.c: Likewise.
39358 * util/raid.c: Likewise.
39359
7f02114b 393602009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39361
39362 * commands/videotest.c: Removed include to grub/machine/memory.h.
39363
39364 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39365 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39366 (video_mod_SOURCES): Removed.
39367 (video_mod_CFLAGS): Likewise.
39368 (video_mod_LDFLAGS): Likewise.
39369 (gfxterm_mod_SOURCES): Likewise.
39370 (gfxterm_mod_CFLAGS): Likewise.
39371 (gfxterm_mod_LDFLAGS): Likewise.
39372 (videotest_mod_SOURCES): Likewise.
39373 (videotest_mod_CFLAGS): Likewise.
39374 (videotest_mod_LDFLAGS): Likewise.
39375 (bitmap_mod_SOURCES): Likewise.
39376 (bitmap_mod_CFLAGS): Likewise.
39377 (bitmap_mod_LDFLAGS): Likewise.
39378 (tga_mod_SOURCES): Likewise.
39379 (tga_mod_CFLAGS): Likewise.
39380 (tga_mod_LDFLAGS): Likewise.
39381 (jpeg_mod_SOURCES): Likewise.
39382 (jpeg_mod_CFLAGS): Likewise.
39383 (jpeg_mod_LDFLAGS): Likewise.
39384 (png_mod_SOURCES): Likewise.
39385 (png_mod_CFLAGS): Likewise.
39386 (png_mod_LDFLAGS): Likewise.
39387
39388 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39389 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39390 (video_mod_SOURCES): Added.
39391 (video_mod_CFLAGS): Likewise.
39392 (video_mod_LDFLAGS): Likewise.
39393 (videotest_mod_SOURCES): Likewise.
39394 (videotest_mod_CFLAGS): Likewise.
39395 (videotest_mod_LDFLAGS): Likewise.
39396 (bitmap_mod_SOURCES): Likewise.
39397 (bitmap_mod_CFLAGS): Likewise.
39398 (bitmap_mod_LDFLAGS): Likewise.
39399 (tga_mod_SOURCES): Likewise.
39400 (tga_mod_CFLAGS): Likewise.
39401 (tga_mod_LDFLAGS): Likewise.
39402 (jpeg_mod_SOURCES): Likewise.
39403 (jpeg_mod_CFLAGS): Likewise.
39404 (jpeg_mod_LDFLAGS): Likewise.
39405 (png_mod_SOURCES): Likewise.
39406 (png_mod_CFLAGS): Likewise.
39407 (png_mod_LDFLAGS): Likewise.
39408 (gfxterm_mod_SOURCES): Likewise.
39409 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39410 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39411
39412 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39413 grub/machine/console.h.
39414
644fff97 394152009-01-04 Jerone Young <jerone@gmail.com>
39416
39417 Make on screen instructions clearer
39418
39419 Based on patch created by Jidanni <jidanni@jidanni.org>
39420
39421 * normal/menu.c: print clearer instructions on the screen
39422
1e901a75 394232009-01-02 Colin D Bennett <colin@gibibit.com>
39424
39425 New font engine.
34c44600 39426
1e901a75 39427 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39428 build system and fixed gfxterm.c to work with different sized fonts.
39429
39430 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39431
1e901a75 39432 * configure: Re-generated.
34c44600 39433
1e901a75 39434 * DISTLIST: Removed font/manager.c.
39435 Added font/font.c.
39436 Added font/font_cmd.c.
34c44600 39437
1e901a75 39438 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39439 compilation.
34c44600 39440
1e901a75 39441 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39442
39443 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39444
39445 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39446
1e901a75 39447 * normal/menu.c: Likewise.
34c44600 39448
1e901a75 39449 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39450 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39451
1e901a75 39452 * include/grub/font.h: Replaced with new file.
34c44600 39453
1e901a75 39454 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39455 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39456 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39457 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39458 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39459 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39460 fg_red, fg_green, fg_blue, fg_alpha.
39461 (grub_video_adapter): Removed blit_glyph.
34c44600 39462 (grub_video_blit_glyph): Removed.
39463
1e901a75 39464 * font/manager.c: Removed file.
34c44600 39465
39466 * font/font.c: New file.
39467
1e901a75 39468 * font/font_cmd.c: Likewise.
34c44600 39469
1e901a75 39470 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39471
1e901a75 39472 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39473 (grub_video_vbe_map_rgba): Likewise.
39474 (grub_video_vbe_unmap_color_int): Likewise.
39475 (grub_video_vbe_blit_glyph): Removed.
39476 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39477
1e901a75 39478 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39479 (get_pixel): Likewise.
34c44600 39480 (set_pixel): Likewise.
39481
1e901a75 39482 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39483
1e901a75 39484 * term/gfxterm.c: Adapted to new font engine.
34c44600 39485
1e901a75 39486 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39487
1e901a75 39488 * term/i386/pc/vga.c: Likewise.
34c44600 39489
1e901a75 39490 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39491
1e901a75 39492 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39493
1e901a75 39494 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39495
1e901a75 39496 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39497
1e901a75 39498 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39499
1e901a75 39500 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39501
1e901a75 39502 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39503
1e901a75 39504 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39505
1e901a75 39506 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39507
39508 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39509
1e901a75 39510 * util/grub-mkconfig_lib.in: Changed font extension.
39511
278922e8 395122008-12-28 Felix Zielcke <fzielcke@z-51.de>
39513
39514 * util/getroot.c (grub_util_get_grub_dev): Add support for
39515 /dev/md/dNNpNN style partitionable mdraid devices.
39516
3ced05cf 395172008-12-12 Alex Smith <alex@alex-smith.me.uk>
39518
39519 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39520 at a time limit of the PXE TFTP API correctly.
39521 (grub_pxefs_close): Likewise.
39522
7fd0ee30 395232008-11-29 Robert Millan <rmh@aybabtu.com>
39524
34c44600 39525 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39526 grub_ata_device_initialize() calls.
39527
34c44600 395282008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39529
39530 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39531 iteration failed.
39532 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39533
89313780 395342008-11-28 Robert Millan <rmh@aybabtu.com>
39535
39536 Fix build on powerpc-ieee1275. Based on patch created by
39537 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39538 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39539 `kern/ieee1275/mmap.c'.
39540 * include/grub/powerpc/ieee1275/memory.h: New file.
39541
15257703 39542 Provide grub-install on coreboot.
39543 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39544 (grub_install_SOURCES): New variable.
39545 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39546 usable on coreboot.
39547
9fc5388a 395482008-11-25 Felix Zielcke <fzielcke@z-51.de>
39549
39550 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39551 to `grub_term_input_t'.
39552 (grub_term_get_current_output): Change return type to
39553 `grub_term_output_t'.
39554
bc3a2f31 395552008-11-22 Robert Millan <rmh@aybabtu.com>
39556
34c44600 39557 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39558 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39559 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39560 grub_vga_text_cls().
39561
80fc88f2 39562 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39563 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39564
cbf36fd3 39565 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39566 to 0x200000 (avoids trouble with some OFW implementations, and matches
39567 with the one in Yaboot).
39568 Reported by Manoel Abranches
39569
73e8e268 395702008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39571
39572 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39573 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39574
73e8e268 39575 * util/grub-mkconfig_lib.in (grub_warn): New function.
39576 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39577 warnings, to obtain consistent formatting.
39578 * util/grub.d/00_header.in: Likewise.
39579 * util/update-grub_lib.in: Likewise.
39580
e94045a1 39581 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39582 Move comment text to `#error' stanza.
e94045a1 39583
79d29fd7 39584 Harmonize ieee1275's grub_available_iterate() with the generic
39585 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39586 build problem on i386-ieee1275):
39587 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39588 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39589 parameter `type'. Update all users of this function.
39590 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39591 `kern/ieee1275/mmap.c'.
39592 * kern/ieee1275/init.c
39593 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39594 with ...
39595 (grub_machine_mmap_iterate): ... this.
39596 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39597 return type to `grub_err_t'. Update all implementations of this
39598 function prototype.
39599 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39600 Likewise.
39601
60d6b16e 39602 Add `lsmmap' command (lists firmware-provided memory map):
39603 * commands/lsmmap.c: New file.
39604 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39605 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39606 variables.
39607 * conf/powerpc-ieee1275.rmk: Likewise.
39608 * conf/i386-coreboot.rmk: Likewise.
39609 * conf/i386-ieee1275.rmk: Likewise.
39610
ebaaf49b 396112008-11-19 Robert Millan <rmh@aybabtu.com>
39612
39613 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39614 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39615 constraints to initrd allocation (based on code from
39616 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39617 for Linux to find it.
ebaaf49b 39618
dfab719f 396192008-11-14 Robert Millan <rmh@aybabtu.com>
39620
39621 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39622 order to cope with duplicate slashes.
39623
10fc3eb9 396242008-11-14 Robert Millan <rmh@aybabtu.com>
39625
39626 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39627 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39628 don't want to mess with lower memory, because it is used in the Linux
39629 loader.
39630
39631 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39632 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39633 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39634 is in our heap (probably as a result of it being corrupted during
2f2a3442 39635 decompression). Add #error instance with comment to explain why this
39636 loader isn't currently usable on PC/BIOS.
10fc3eb9 39637
e2e07847 396382008-11-14 Robert Millan <rmh@aybabtu.com>
39639
39640 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39641 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39642
fe8e8d69 396432008-11-12 Robert Millan <rmh@aybabtu.com>
39644
39645 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39646
39647 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39648 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39649 from here ...
39650 * include/grub/i386/pc/memory.h: ... to here.
39651
976b07d0 396522008-11-12 Robert Millan <rmh@aybabtu.com>
39653
39654 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39655 split).
39656
39657 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39658 (grub_console_cur_color, grub_console_real_putchar)
39659 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39660 (grub_console_setcolorstate, grub_console_setcolor)
39661 (grub_console_getcolor): Move from here ...
39662 * include/grub/i386/vga_common.h: ... to here (new file).
39663
39664 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39665 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39666 `<grub/i386/io.h>'.
39667 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39668 `<grub/i386/vga_common.h>'.
39669
76679cd3 396702008-11-12 Robert Millan <rmh@aybabtu.com>
39671
39672 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39673 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39674 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39675 variables.
39676 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39677 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39678
39679 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39680 grub_console_init() with call to grub_vga_text_init().
39681 (grub_machine_fini): Replace call to
39682 grub_console_fini() with call to grub_vga_text_fini() and
39683 grub_at_keyboard_fini().
39684
39685 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39686 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39687 (grub_console_setcolorstate, grub_console_setcolor)
39688 (grub_console_getcolor): New function prototypes.
39689
39690 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39691 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39692 (grub_vga_text_setcursor): Static-ize.
39693 (grub_vga_text_term): New structure.
39694 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39695
39696 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39697 (grub_console_cur_color, grub_console_standard_color)
39698 (grub_console_normal_color, grub_console_highlight_color)
39699 (map_char, grub_console_putchar, grub_console_getcharwidth)
39700 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39701 (grub_console_getcolor): Move from here ...
39702 * term/i386/vga_common.c: ... to here (same function names).
39703
95b841d3 397042008-11-12 Robert Millan <rmh@aybabtu.com>
39705
39706 Use newly-added Multiboot support in coreboot.
39707
39708 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39709 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39710
39711 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39712 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39713 (codestart): Store the MBI in `startup_multiboot_info' when we're
39714 being loaded using Multiboot.
39715
39716 * kern/i386/coreboot/init.c (grub_machine_init): Move
39717 grub_at_keyboard_init() call to beginning of function (useful for
39718 debugging). Call grub_machine_mmap_init() before attempting to use
39719 grub_machine_mmap_iterate().
39720 (grub_lower_mem, grub_upper_mem): Move from here ...
39721 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39722 here (new file).
39723
39724 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39725 function prototype.
39726
761ca975 397272008-11-12 Robert Millan <rmh@aybabtu.com>
39728
39729 Fix a regression introduced by the at_keyboard.mod split. Because
39730 some terminals are default on some platforms and non-default on
39731 others, the first terminal being registered determines which is
39732 going to be default.
39733
39734 * kern/term.c (grub_term_register_input): If this is the first
39735 terminal being registered, set it as the current one.
39736 (grub_term_register_output): Likewise.
39737
39738 * term/efi/console.c (grub_console_init): Do not call
39739 grub_term_set_current_output() or grub_term_set_current_input().
39740 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39741 * term/i386/pc/console.c (grub_console_init): Likewise.
39742 (grub_console_fini): Do not call grub_term_set_current_input()
39743 (but leave grub_term_set_current_output() to restore text mode).
39744
6c529df7 397452008-11-10 Robert Millan <rmh@aybabtu.com>
39746
39747 * util/grub.d/00_header.in: Add backward compatibility check for
39748 versions of terminal.mod that don't understand `terminal_input' or
39749 `terminal_output'.
39750
132e4113 397512008-11-09 Robert Millan <rmh@aybabtu.com>
39752
39753 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39754 `terminal_input' / `terminal_output', not `terminal'.
39755
ac293d50 397562008-11-08 Robert Millan <rmh@aybabtu.com>
39757
39758 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39759 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39760
0025933a 397612008-11-08 Robert Millan <rmh@aybabtu.com>
39762
39763 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39764 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39765 members. Update all users.
39766 * util/console.c (grub_ncurses_term): Split in ...
39767 (grub_ncurses_term_input): ... this, and ...
39768 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39769 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39770
37c86336 397712008-11-08 Robert Millan <rmh@aybabtu.com>
39772
39773 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39774 (PKGDATA): Add $(pkgdata_SRCDIR).
39775 (pkglib_BUILDDIR): New variable.
39776 (pkgdata_SRCDIR): New variable.
39777 (build_env.mk): New target.
39778 (include_DATA): New variable.
39779 (install-local): Install $(include_DATA) files in $(includedir).
39780
b6c15a2d 397812008-11-07 Pavel Roskin <proski@gnu.org>
39782
d99d46f1 39783 * gendistlist.sh: Use C locale for sorting to ensure consistent
39784 output on all systems.
39785
b6c15a2d 39786 * util/grub.d/00_header.in: Remove incorrect space before
39787 "serial".
39788
c32ee8c9 397892008-11-07 Robert Millan <rmh@aybabtu.com>
39790
39791 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39792 per specification.
39793 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39794 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39795 (based on find_multi_boot1_header).
39796 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39797 using find_multi_boot2_header(), and abort if neither Multiboot or
39798 Multiboot headers were found.
39799
651c29b7 398002008-11-07 Robert Millan <rmh@aybabtu.com>
39801
39802 Modularize at_keyboard.mod:
39803
39804 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39805 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39806 (at_keyboard_mod_LDFLAGS): New variables.
39807
39808 Actual terminal split:
39809
39810 * include/grub/term.h (struct grub_term): Split in ...
39811 (struct grub_term_input): ... this, and ...
39812 (struct grub_term_output): ... this. Update all users.
39813 (grub_term_set_current): Split in ...
39814 (grub_term_set_current_input): ... this, and ...
39815 (grub_term_set_current_output): ... this.
39816 (grub_term_get_current): Split in ...
39817 (grub_term_get_current_input): ... this, and ...
39818 (grub_term_get_current_output): ... this.
39819 (grub_term_register): Split in ...
39820 (grub_term_register_input): ... this, and ...
39821 (grub_term_register_output): ... this.
39822 (grub_term_unregister): Split in ...
39823 (grub_term_unregister_input): ... this, and ...
39824 (grub_term_unregister_output): ... this.
39825 (grub_term_iterate): Split in ...
39826 (grub_term_iterate_input): ... this, and ...
39827 (grub_term_iterate_output): ... this.
39828
39829 * kern/term.c (grub_term_list): Split in ...
39830 (grub_term_list_input): ... this, and ...
39831 (grub_term_list_output): ... this. Update all users.
39832 (grub_cur_term): Split in ...
39833 (grub_cur_term_input): ... this, and ...
39834 (grub_cur_term_output): ... this. Update all users.
39835 (grub_term_set_current): Split in ...
39836 (grub_term_set_current_input): ... this, and ...
39837 (grub_term_set_current_output): ... this.
39838 (grub_term_get_current): Split in ...
39839 (grub_term_get_current_input): ... this, and ...
39840 (grub_term_get_current_output): ... this.
39841 (grub_term_register): Split in ...
39842 (grub_term_register_input): ... this, and ...
39843 (grub_term_register_output): ... this.
39844 (grub_term_unregister): Split in ...
39845 (grub_term_unregister_input): ... this, and ...
39846 (grub_term_unregister_output): ... this.
39847 (grub_term_iterate): Split in ...
39848 (grub_term_iterate_input): ... this, and ...
39849 (grub_term_iterate_output): ... this.
39850
39851 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39852 a check for input and one for output (and only attempt to get keys
39853 from user when input works).
39854
39855 * util/grub-probe.c (grub_term_get_current): Split in ...
39856 (grub_term_get_current_input): ... this, and ...
39857 (grub_term_get_current_output): ... this.
39858 * util/grub-fstest.c: Likewise.
39859 * util/i386/pc/grub-setup.c: Likewise.
39860 * util/grub-editenv.c: Likewise.
39861
39862 Portability adjustments:
39863
39864 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39865 `term/i386/pc/at_keyboard.c'.
39866 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39867 grub_keyboard_controller_init() (now handled by terminal .init).
39868 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39869 grub_at_keyboard_init().
39870 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39871 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39872 at_keyboard.mod via input terminal interface).
39873 * include/grub/i386/coreboot/console.h: Convert into a stub for
39874 `<grub/i386/pc/console.h>'.
39875
39876 Migrate full terminals to new API:
39877
39878 * term/efi/console.c (grub_console_term): Split into ...
39879 (grub_console_term_input): ... this, and ...
39880 (grub_console_term_output): ... this. Update all users.
39881 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39882 (grub_ofconsole_init): Split into ...
39883 (grub_ofconsole_init_input): ... this, and ...
39884 (grub_ofconsole_init_output): ... this.
39885 (grub_ofconsole_term): Split into ...
39886 (grub_ofconsole_term_input): ... this, and ...
39887 (grub_ofconsole_term_output): ... this. Update all users.
39888 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39889 (grub_serial_term_input): ... this, and ...
39890 (grub_serial_term_output): ... this. Update all users.
39891 * term/i386/pc/console.c (grub_console_term): Split into ...
39892 (grub_console_term_input): ... this, and ...
39893 (grub_console_term_output): ... this. Update all users.
39894 (grub_console_term_input): Only enable it on PC/BIOS platform.
39895 (grub_console_init): Remove grub_keyboard_controller_init() call.
39896
39897 Migrate input terminals to new API:
39898
39899 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39900 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39901 i386-specific anyway).
39902 (grub_console_checkkey): Rename to ...
39903 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39904 users.
39905 (grub_keyboard_controller_orig): New variable.
39906 (grub_console_getkey): Rename to ...
39907 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39908 users.
39909 (grub_keyboard_controller_init): Static-ize. Save original
39910 controller value so that it can be restored ...
39911 (grub_keyboard_controller_fini): ... here (new function).
39912 (grub_at_keyboard_term): New structure.
39913 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39914 functions.
39915
39916 Migrate output terminals to new API:
39917
39918 * term/i386/pc/vga.c (grub_vga_term): Change type to
39919 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39920 members. Update all users.
39921 * term/gfxterm.c (grub_video_term): Change type to
39922 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39923 members. Update all users.
39924 * include/grub/i386/pc/console.h (grub_console_checkkey)
39925 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39926 etc).
39927
39928 Migrate `terminal' command and userland tools to new API:
39929
39930 * commands/terminal.c (grub_cmd_terminal): Split into ...
39931 (grub_cmd_terminal_input): ... this, and ...
39932 (grub_cmd_terminal_output): ... this.
39933 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39934 `terminal_input' and `terminal_output'.
39935 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39936 `terminal_input' / `terminal_output' API.
39937 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39938 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39939 provided ${GRUB_TERMINAL}, convert it).
39940
96e5d876 399412008-11-04 Robert Millan <rmh@aybabtu.com>
39942
39943 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39944 for FreeBSD.
39945 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39946
556f3775 399472008-11-03 Bean <bean123ch@gmail.com>
39948
39949 * kern/elf.c (grub_elf32_load): Revert to previous code.
39950 (grub_elf64_load): Likewise.
39951
39952 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39953
926b9823 399542008-11-01 Robert Millan <rmh@aybabtu.com>
39955
39956 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39957 (TARGET_CPPFLAGS): Likewise.
39958 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39959
1432e958 399602008-11-01 Carles Pina i Estany <carles@pina.cat>
39961
39962 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39963
dba3f844 399642008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39965
39966 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39967 addition of objects until the code is not going to be able to fail.
39968
dba3f844 399692008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39970
39971 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39972 (add a missing NULL check, and correct them by moving the pointer
39973 operations after the actual check).
39974
7ab28c21 399752008-10-29 Robert Millan <rmh@aybabtu.com>
39976
39977 * util/i386/pc/grub-install.in: Handle empty string as output from
39978 make_system_path_relative_to_its_root().
39979
1b7748eb 399802008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39981
39982 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39983 circular metadata worst case scenario. If the metadata is circular
39984 then copy the wrap in place.
39985 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39986 project lib/format_text/layout.h
39987 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39988
c9618ab2 399892008-10-03 Felix Zielcke <fzielcke@z-51.de>
39990
7a36edca 39991 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39992
bf981c62 399932008-10-03 Felix Zielcke <fzielcke@z-51.de>
39994
39995 * util/update-grub_lib.in: Mention filename in warning message.
39996
6d994591 399972008-09-29 Felix Zielcke <fzielcke@z-51.de>
39998
39999 * NEWS: Update for rename of update-grub to grub-mkconfig.
40000
18ade780 400012008-09-29 Felix Zielcke <fzielcke@z-51.de>
40002
40003 * util/update-grub_lib.in: Copy to ...
40004 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40005 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40006 * util/update-grub.in: Rename to ...
40007 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40008 option. Add `--output' option to allow users to specify the generated
40009 configuration file. Default to stdout.
40010 (update_grub_dir): Rename to ...
40011 (grub_mkconfig_dir): ... this.
40012 (grub_cfg): Default to an empty string.
40013 * conf/common.rmk (update-grub): Rename to ...
40014 (grub-mkconfig): ... this.
40015 (update-grub_lib): Copy to ...
40016 (grub-mkconfig_lib): ... this.
40017 (update-grub_SCRIPTS): Copy to ...
40018 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40019 (update-grub_DATA): Rename to ...
40020 (grub-mkconfig_DATA): ... this.
40021
556ce6ac 400222008-09-28 Robert Millan <rmh@aybabtu.com>
40023
40024 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40025 to `modified'. Add the real `created' field.
40026 (grub_iso9660_uuid): Use `modified' rather than `created' for
40027 constructing the UUID.
40028
400292008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40030
40031 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40032 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40033
92274e85 400342008-09-28 Bean <bean123ch@gmail.com>
40035
40036 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40037 Thanks to Christian Franke for finding this bug.
40038
add6f17a 400392008-09-25 Robert Millan <rmh@aybabtu.com>
40040
40041 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40042 instances of grub_util_get_disk_name() (see previous commit).
40043
d2a367b8 400442008-09-25 Robert Millan <rmh@aybabtu.com>
40045
40046 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40047 `util/i386/get_disk_name.c'.
40048 * conf/i386-efi.rmk: Likewise.
40049 * conf/x86_64-efi.rmk: Likewise.
40050 * conf/i386-coreboot.rmk: Likewise.
40051 * conf/i386-ieee1275.rmk: Likewise.
40052 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40053 `util/ieee1275/get_disk_name.c'.
40054 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40055 * util/ieee1275/get_disk_name.c: Remove file.
40056 * util/i386/get_disk_name.c: Remove file.
40057 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40058 "hd%d" for device.map entries, rather than using
40059 grub_util_get_disk_name().
40060
81a06771 400612008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40062
40063 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40064 warning.
40065 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40066
5a004279 400672008-09-24 Carles Pina i Estany <carles@pina.cat>
40068
40069 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40070 Changed to 0x5100.
40071 (GRUB_TERM_PPAGE): Changed to 0x4900.
40072
397093d3 400732008-09-24 Robert Millan <rmh@aybabtu.com>
40074
40075 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40076 macros (they were i386-pc specific).
40077 * include/grub/sparc64/ieee1275/console.h: Likewise.
40078 * include/grub/efi/console.h: Likewise.
40079
a91b6c7c 400802008-09-22 Bean <bean123ch@gmail.com>
40081
40082 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40083 resident and in attribute list.
40084
40085 * include/grub/ntfs.h (BMP_LEN): Removed.
40086
c40fd116 400872008-09-22 Bean <bean123ch@gmail.com>
40088
81a06771 40089 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40090 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40091
40092 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40093 error occurs, as grub_disk_open will call grub_disk_close, which will
40094 call p->close (scsi).
40095
81a06771 400962008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40097
40098 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40099 (AC_PREREQ): Bumped to 2.59.
40100 (AC_TRY_COMPILE): Replace obsolete macro with ...
40101 (AC_COMPILE_IFELSE): ... this.
40102 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40103 (AC_LINK_IFELSE): ... this.
40104
5dc43410 401052008-09-21 Felix Zielcke <fzielcke@z-51.de>
40106
40107 * autogen.sh: Add a call to `gendistlist.sh'.
40108
9035dce4 401092008-09-19 Christian Franke <franke@computer.org>
40110
40111 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40112 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40113 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40114 Export __enable_execute_stack() to modules.
40115 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40116 New function.
40117
7fd75377 401182008-09-09 Felix Zielcke <fzielcke@z-51.de>
40119
040030b3 40120 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40121 Sort the list.
40122
401232008-09-09 Felix Zielcke <fzielcke@z-51.de>
40124
40125 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40126 #include <grub/util/hostdisk.h>.
40127
89d5ffcf 401282008-09-08 Robert Millan <rmh@aybabtu.com>
40129
40130 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40131 segments when their filesz is zero (grub_file_read() interprets
81a06771 40132 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40133 Use `lowest_segment' rather than 0 for calculating the current
40134 segment load address.
40135
40da438f 401362008-09-08 Robert Millan <rmh@aybabtu.com>
40137
40138 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40139 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40140 clobbered useful information.
40141
ddbf5556 401422008-09-08 Robert Millan <rmh@aybabtu.com>
40143
40144 * include/grub/util/biosdisk.h: Move to ...
40145 * include/grub/util/hostdisk.h: ... here. Update all users.
40146 * util/biosdisk.c: Move to ...
40147 * util/hostdisk.c: ... here. Update all users.
40148
783d0f48 401492008-09-07 Robert Millan <rmh@aybabtu.com>
40150
40151 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40152 variables.
40153 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40154 and length can be stored directly in the `mbi->mmap_addr' and
40155 `mbi->mmap_length' struct fields.
40156
548e2ea5 401572008-09-07 Robert Millan <rmh@aybabtu.com>
40158
40159 * conf/i386.rmk: New file. Provides declaration for building
40160 `cpuid.mod'.
40161 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40162 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40163 variables.
40164 Include `conf/i386.mk'.
40165 * conf/i386-efi.rmk: Likewise.
40166 * conf/x86_64-efi.rmk: Likewise.
40167 * conf/i386-coreboot.rmk: Likewise.
40168 * conf/i386-ieee1275.rmk: Likewise.
40169
0ea85a37 401702008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40171
40172 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40173 Adds optimization support for BGR based modes.
40174
40175 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40176 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40177 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40178 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40179 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40180 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40181 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40182 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40183 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40184 (grub_video_i386_vbeblit_index_index): Likewise.
40185 (grub_video_i386_vbeblit_replace_directN): Added.
40186 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40187 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40188 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40189 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40190 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40191 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40192 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40193 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40194 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40195 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40196 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40197 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40198 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40199
40200 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40201 (grub_video_i386_vbefill_R8G8B8): Likewise.
40202 (grub_video_i386_vbefill_index): Likewise.
40203 (grub_video_i386_vbefill_direct32): Added.
40204 (grub_video_i386_vbefill_direct24): Likewise.
40205 (grub_video_i386_vbefill_direct16): Likewise.
40206 (grub_video_i386_vbefill_direct8): Likewise.
40207
81a06771 40208 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40209 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40210 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40211 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40212 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40213 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40214
0ea85a37 40215 * video/video.c (grub_video_get_blit_format): Updated to use new
40216 blit formats. Added handling for 16 bit color modes.
81a06771 40217
40218 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40219 fillers.
40220 (common_blitter): Updated to use new blitters.
40221
40222 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40223 Removed.
40224 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40225 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40226 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40227 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40228 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40229 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40230 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40231 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40232 (grub_video_i386_vbeblit_index_index): Likewise.
40233 (grub_video_i386_vbeblit_replace_directN): Added.
40234 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40235 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40236 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40237 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40238 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40239 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40240 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40241 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40242 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40243 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40244 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40245 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40246 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40247
0ea85a37 40248 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40249 (grub_video_i386_vbefill_R8G8B8): Likewise.
40250 (grub_video_i386_vbefill_index): Likewise.
40251 (grub_video_i386_vbefill_direct32): Added.
40252 (grub_video_i386_vbefill_direct24): Likewise.
40253 (grub_video_i386_vbefill_direct16): Likewise.
40254 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40255
0ea85a37 40256 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40257 types.
81a06771 40258
0ea85a37 40259 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40260 types.
81a06771 40261
0ea85a37 40262 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40263 blitter types.
81a06771 40264
0ea85a37 40265 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40266 types.
40267
e8a83df6 402682008-09-06 Felix Zielcke <fzielcke@z-51.de>
40269
40270 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40271 RAID level 1.
40272
6bcd8ee5 402732008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40274
6bcd8ee5 40275 * fs/iso9660.c (grub_iso9660_date): New structure.
40276 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40277 (grub_iso9660_uuid): New function.
c375ae58 40278
59261157 402792008-09-05 Bean <bean123ch@gmail.com>
40280
40281 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40282
40283 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40284 insensitive bit for names in Win32 and Win32 & DOS namespace.
40285
40286 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40287
40288 * include/grub/types.h (LONG_MAX): Likewise.
40289
58b6645a 402902008-09-04 Felix Zielcke <fzielcke@z-51.de>
40291
4ee55921 40292 * util/getroot.c: Include <config.h>.
40293 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40294 add support for /dev/md/N devices and handle LVM double dash escaping.
40295
402962008-09-04 Felix Zielcke <fzielcke@z-51.de>
40297
40298 * config.guess: Update to latest version from config git.
40299 * config.sub: Likewise.
58b6645a 40300
9124f65d 403012008-09-03 Robert Millan <rmh@aybabtu.com>
40302
40303 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40304 `disk->total_sectors'.
40305
81a06771 403062008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40307
40308 * include/grub/normal.h: Fixed incorrect comment for
40309 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40310
81a06771 403112008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40312
40313 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40314 values with defines.
40315
40316 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40317 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40318 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40319 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40320 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40321 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40322 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40323 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40324 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40325 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40326 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40327 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40328 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40329 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40330 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40331 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40332 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40333 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40334 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40335
93d5cbf8 403362008-08-31 Robert Millan <rmh@aybabtu.com>
40337
40338 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40339 declaration.
40340 (grub_multiboot): Fix a few warnings.
40341
21751d50 403422008-08-31 Robert Millan <rmh@aybabtu.com>
40343
40344 * loader/i386/pc/multiboot.c: Update comment not to say that
40345 boot_device support is unimplemented.
40346
e27a75c5 403472008-08-31 Robert Millan <rmh@aybabtu.com>
40348
40349 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40350 or memory map support are unimplemented.
40351
81a06771 403522008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40353
40354 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40355
81a06771 403562008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40357
40358 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40359 total video memory in 'vbeinfo' output; show color format details for
40360 each video mode.
40361
7c5d8d95 403622008-08-30 Pavel Roskin <proski@gnu.org>
40363
40364 * util/genmoddep.c: Remove for real this time.
40365 * DISTLIST: Remove util/genmoddep.c.
40366
4cebd25a 403672008-08-30 Robert Millan <rmh@aybabtu.com>
40368
40369 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40370 as required by Multiboot spec (it was already 4-byte aligned, but
40371 only by chance).
40372
b497a269 403732008-08-29 Pavel Roskin <proski@gnu.org>
40374
e3925185 40375 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40376 * kern/powerpc/ieee1275/startup.S: ... this.
40377 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40378 * DISTLIST: Likewise.
40379
b497a269 40380 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40381 grub/cpu/kernel.h. Add start label for consistency with other
40382 platforms. Add grub_prefix immediately after start. Add jump
40383 to the code after grub_prefix.
40384 * include/grub/powerpc/kernel.h: Provide valid values for
40385 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40386
6e5a42fe 403872008-08-29 Bean <bean123ch@gmail.com>
40388
40389 * configure.ac: Change host_os to cygwin for mingw.
40390 (asprintf): New check for function.
40391
40392 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40393 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40394
40395 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40396 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40397 sync, sleep and grub_util_get_disk_size for mingw.
40398
40399 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40400 to get size in mingw.
40401 (open_device): Use flag O_BINARY if it's defined.
40402 (find_root_device): Add dummy code for mingw.
40403
40404 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40405 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40406 (get_scsi_disk_name): Return 0 for mingw.
40407
40408 * util/hostfs.c: #include <grub/util/misc.h>.
40409 (grub_hostfs_open): Use "rb" flag to open file, use
40410 grub_util_get_disk_size to get disk size for mingw.
40411
40412 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40413 (asprintf): New function if HAVE_ASPRINTF is not set.
40414 (sync): New function for mingw.
40415 (sleep): Likewise.
40416 (grub_util_get_disk_size): Likewise.
40417
ab3f2673 404182008-08-28 Pavel Roskin <proski@gnu.org>
40419
40420 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40421 kern/time.c.
40422
1c282483 404232008-08-28 Robert Millan <rmh@aybabtu.com>
40424
40425 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40426
678e849c 404272008-08-28 Robert Millan <rmh@aybabtu.com>
40428
40429 Change find_grub_drive() syntax so it doesn't prevent it from
40430 detecting NULL names as errors.
40431
40432 * util/biosdisk.c (find_grub_drive): Move free slot search code
40433 from here ...
40434 (find_free_slot): ... to here.
40435 (read_device_map): Use find_free_slot() to search for free slots.
40436
965c75ca 404372008-08-27 Marco Gerards <marco@gnu.org>
40438
40439 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40440 (scsi_mod_SOURCES): New variable.
40441 (scsi_mod_CFLAGS): Likewise
40442 (scsi_mod_LDFLAGS): Likewise.
40443
40444 * disk/scsi.c: New file.
40445
40446 * include/grub/scsi.h: Likewise.
40447
40448 * include/grub/scsicmd.h: Likewise.
40449
40450 * disk/ata.c: Include <grub/scsi.h>.
40451 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40452 instead.
40453 (grub_ata_iterate): Skip ATAPI devices.
40454 (grub_ata_open): Only handle ATAPI devices.
40455 (struct grub_atapi_read): Removed.
40456 (grub_atapi_readsector): Likewise.
40457 (grub_ata_read): No longer handle ATAPI devices.
40458 (grub_ata_write): Likewise.
40459 (grub_atapi_iterate): New function.
40460 (grub_atapi_read): Likewise.
40461 (grub_atapi_write): Likewise.
40462 (grub_atapi_open): Likewise.
40463 (grub_atapi_close): Likewise.
40464 (grub_atapi_dev): New variable.
40465 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40466 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40467
40468 * include/grub/disk.h (enum grub_disk_dev_id): Add
40469 `GRUB_DISK_DEVICE_SCSI_ID'.
40470
c07ae501 404712008-08-26 Robert Millan <rmh@aybabtu.com>
40472
40473 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40474 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40475 descriptive.
40476
5ed20adc 404772008-08-23 Bean <bean123ch@gmail.com>
40478
40479 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40480 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40481 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40482 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40483 dm_nv.mod.
40484 (raid5rec_mod_SOURCES): New macro.
40485 (raid5rec_mod_CFLAGS): Likewise.
40486 (raid5rec_mod_LDFLAGS): Likewise.
40487 (raid6rec_mod_SOURCES): Likewise.
40488 (raid6rec_mod_CFLAGS): Likewise.
40489 (raid6rec_mod_LDFLAGS): Likewise.
40490 (mdraid_mod_SOURCES): Likewise.
40491 (mdraid_mod_CFLAGS): Likewise.
40492 (mdraid_mod_LDFLAGS): Likewise.
40493 (dm_nv_mod_SOURCES): Likewise.
40494 (dm_nv_mod_CFLAGS): Likewise.
40495 (dm_nv_mod_LDFLAGS): Likewise.
40496
40497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40498 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40499 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40500
40501 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40502 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40503
40504 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40505
40506 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40507
40508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40509
40510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40511
40512 * disk/raid5_recover.c: New file.
40513
40514 * disk/raid6_recover.c: Likewise.
40515
40516 * disk/mdraid_linux.c: Likewise.
40517
40518 * disk/dmraid_nvidia.c: Likewise.
40519
40520 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40521 ULONG_MAX.
40522
40523 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40524 calculate the size of raid device.
40525 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40526 different layout of raid5.
40527 (grub_raid_scan_device): Remove code specific to mdraid.
40528 (grub_raid_list): New variable.
40529 (free_array): New function.
40530 (grub_raid_register): Likewise.
40531 (grub_raid_unregister): Likewise.
40532 (grub_raid_rescan): Likewise.
40533 (GRUB_MOD_INIT): Don't iterate device here.
40534 (GRUB_MOD_FINI): Use free_array to release resource.
40535
40536 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40537 (grub_raid5_recover_func_t): New function variable type.
40538 (grub_raid6_recover_func_t): Likewise.
40539 (grub_raid5_recover_func): New variable.
40540 (grub_raid6_recover_func): Likewise.
40541 (grub_raid_register): New function.
40542 (grub_raid_unregister): Likewise.
40543 (grub_raid_rescan): Likewise.
40544 (grub_raid_block_xor): Likewise.
40545
40546 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40547 (CMD_CRC): New macro.
40548 (part): Removed.
40549 (read_file): Handle device as well as file.
40550 (cmd_crc): New function.
40551 (fstest): Handle multiple disks.
40552 (options): Remove part, raw and long, add root and diskcount.
40553 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40554 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40555 add handling for the new options, support multiple disks.
40556
40557 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40558
29c18915 405592008-08-23 Bean <bean123ch@gmail.com>
40560
40561 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40562
40563 * genfslist.sh: Ignore kernel.mod.
40564
40565 * genpartmaplist.sh: Likewise.
40566
8415f261 405672008-08-23 Robert Millan <rmh@aybabtu.com>
40568
40569 * util/getroot.c (find_root_device): Skip anything that starts with
40570 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40571
d5a7dc5b 405722008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40573
d5a7dc5b 40574 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40575 * util/grub.d/00_header.in: Allow the administrator to change default
40576 gfxmode via ${GRUB_GFXMODE}.
40577
380cfbb4 405782008-08-21 Felix Zielcke <fzielcke@z-51.de>
40579
40580 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40581
c9baafe7 405822008-08-21 Robert Millan <rmh@aybabtu.com>
40583
40584 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40585 loader.
40586 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40587 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40588
e290bef2 405892008-08-20 Carles Pina i Estany <carles@pina.cat>
40590
40591 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40592 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40593
f9dbfc96 405942008-08-19 Robert Millan <rmh@aybabtu.com>
40595
40596 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40597 (struct grub_virtual_screen): Remove `cursor_color'.
40598 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40599 initialization.
40600 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40601
dd6bd6ab 406022008-08-18 Robert Millan <rmh@aybabtu.com>
40603
40604 Unify (identical) linux_normal.c files.
40605 * loader/i386/efi/linux_normal.c: Move from here ...
40606 * loader/linux_normal.c: ... to here. Update all users.
40607 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40608 * loader/i386/ieee1275/linux_normal.c: Likewise.
40609
7f42f83e 406102008-08-18 Robert Millan <rmh@aybabtu.com>
40611
40612 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40613 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40614 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40615 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40616 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40617 New macros.
40618 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40619 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40620 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40621 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40622 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40623 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40624 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40625 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40626 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40627 portably using grub_getxy().
40628 Replace `-EFI' with `-bzImage' in boot message.
40629
38487ddb 406302008-08-17 Robert Millan <rmh@aybabtu.com>
40631
40632 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40633
deceb3ec 406342008-08-17 Robert Millan <rmh@aybabtu.com>
40635
40636 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40637
40638 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40639 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40640 (grub_machine_mmap_iterate): New function declaration.
40641 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40642 structure.
40643 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40644 macros.
40645
40646 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40647 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40648 Move e820 parsing from here ...
40649 * kern/i386/pc/mmap.c: New file.
40650 (grub_machine_mmap_iterate): ... to here.
40651
40652 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40653 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40654 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40655 (grub_available_iterate): Redeclare to return `void', and redeclare
40656 its hook to use grub_uint64_t as addr and size parameters, and rename
40657 to ...
40658 (grub_machine_mmap_iterate): ... this. Update all users.
40659
40660 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40661 to make it more readable. Rename to ...
40662 (grub_machine_mmap_iterate): ... this.
40663
40664 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40665 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40666 (grub_multiboot): Allocate an extra region after the payload, and fill
40667 it with a Multiboot memory map. Adjust a.out loader to calculate size
40668 with the extra space.
40669 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40670 with the extra space.
40671
f8aa0f43 406722008-08-17 Carles Pina i Estany <carles@pina.cat>
40673
9807deb9 40674 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40675
605f5bb6 406762008-08-17 Felix Zielcke <fzielcke@z-51.de>
40677
40678 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40679 mdate-sh to the list `find' searches for.
40680 * DISTLIST: Regenerated.
40681
210db6c6 406822008-08-16 Felix Zielcke <fzielcke@z-51.de>
40683
40684 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40685 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40686 genmoddep.awk, gensymlist.sh.in.
40687 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40688 * DISTLIST: Regenerated.
48cdbfd4 40689 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40690
1082b929 406912008-08-16 Robert Millan <rmh@aybabtu.com>
40692
40693 * disk/raid.c (grub_raid_init): Handle/report errors set by
40694 grub_device_iterate().
40695 * disk/lvm.c (grub_lvm_init): Likewise.
40696
42ce5170 406972008-08-15 Bean <bean123ch@gmail.com>
40698
40699 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40700 and datehook.mod.
40701 (datetime_mod_SOURCES): New macro.
40702 (datetime_mod_CFLAGS): Likewise.
40703 (datetime_mod_LDFLAGS): Likewise.
40704 (date_mod_SOURCES): Likewise.
40705 (date_mod_CFLAGS): Likewise.
40706 (date_mod_LDFLAGS): Likewise.
40707 (datehook_mod_SOURCES): Likewise.
40708 (datehook_mod_CFLAGS): Likewise.
40709 (datehook_mod_LDFLAGS): Likewise.
40710
40711 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40712 and datehook.mod.
40713 (datetime_mod_SOURCES): New macro.
40714 (datetime_mod_CFLAGS): Likewise.
40715 (datetime_mod_LDFLAGS): Likewise.
40716 (date_mod_SOURCES): Likewise.
40717 (date_mod_CFLAGS): Likewise.
40718 (date_mod_LDFLAGS): Likewise.
40719 (datehook_mod_SOURCES): Likewise.
40720 (datehook_mod_CFLAGS): Likewise.
40721 (datehook_mod_LDFLAGS): Likewise.
40722
40723 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40724 and datehook.mod.
40725 (datetime_mod_SOURCES): New macro.
40726 (datetime_mod_CFLAGS): Likewise.
40727 (datetime_mod_LDFLAGS): Likewise.
40728 (date_mod_SOURCES): Likewise.
40729 (date_mod_CFLAGS): Likewise.
40730 (date_mod_LDFLAGS): Likewise.
40731 (datehook_mod_SOURCES): Likewise.
40732 (datehook_mod_CFLAGS): Likewise.
40733 (datehook_mod_LDFLAGS): Likewise.
40734
40735 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40736 and datehook.mod.
40737 (datetime_mod_SOURCES): New macro.
40738 (datetime_mod_CFLAGS): Likewise.
40739 (datetime_mod_LDFLAGS): Likewise.
40740 (date_mod_SOURCES): Likewise.
40741 (date_mod_CFLAGS): Likewise.
40742 (date_mod_LDFLAGS): Likewise.
40743 (datehook_mod_SOURCES): Likewise.
40744 (datehook_mod_CFLAGS): Likewise.
40745 (datehook_mod_LDFLAGS): Likewise.
40746
40747 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40748 and datehook.mod.
40749 (datetime_mod_SOURCES): New macro.
40750 (datetime_mod_CFLAGS): Likewise.
40751 (datetime_mod_LDFLAGS): Likewise.
40752 (date_mod_SOURCES): Likewise.
40753 (date_mod_CFLAGS): Likewise.
40754 (date_mod_LDFLAGS): Likewise.
40755 (datehook_mod_SOURCES): Likewise.
40756 (datehook_mod_CFLAGS): Likewise.
40757 (datehook_mod_LDFLAGS): Likewise.
40758
40759 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40760
40761 * commands/date.c: New file.
40762
40763 * hook/datehook.c: Likewise.
40764
40765 * include/grub/lib/datetime.h: Likewise.
40766
40767 * include/grub/i386/cmos.h: Likewise.
40768
40769 * lib/datetime.c: Likewise.
40770
40771 * lib/i386/datetime.c: Likewise.
40772
40773 * lib/efi/datetime.c: Likewise.
40774
0e9242da 407752008-08-14 Robert Millan <rmh@aybabtu.com>
40776
40777 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40778 (grub_mkelfimage_SOURCES): New variable.
40779 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40780
40781 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40782 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40783 * conf/powerpc-ieee1275.rmk: Likewise.
40784 * conf/i386-ieee1275.rmk: Likewise.
40785
40786 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40787 * kern/i386/coreboot/init.c: Likewise.
40788
40789 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40790 with `<grub/cpu/kernel.h>'.
40791 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40792 to ...
40793 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40794 * kern/i386/coreboot/startup.S: Likewise.
40795
40796 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40797 (GRUB_MOD_GAP): Remove.
40798 * include/grub/powerpc/kernel.h: New file.
40799 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40800 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40801 * include/grub/i386/kernel.h: New file.
40802 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40803 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40804 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40805
40806 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40807 `grub-mkelfimage'.
40808 Use --directory when invoking grub_mkimage.
40809
40810 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40811 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40812 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40813 and GRUB_KERNEL_CPU_PREFIX.
40814
b86408f8 408152008-08-14 Felix Zielcke <fzielcke@z-51.de>
40816
d5e619ca 40817 * include/grub/err.h (grub_err_printf): New function prototype.
40818 * util/misc.c (grub_err_printf): New function.
40819 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40820 grub_printf.
40821 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40822
7161f0e0 408232008-08-13 Robert Millan <rmh@aybabtu.com>
40824
40825 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40826
a1967522 408272008-08-13 Robert Millan <rmh@aybabtu.com>
40828
40829 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40830 boot entry.
40831
371458b5 408322008-08-12 Robert Millan <rmh@aybabtu.com>
40833
40834 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40835 of the relocation code from here ...
40836 (grub_multiboot): ... to here.
40837 (forward_relocator, backward_relocator): Move from here ...
40838 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40839 (grub_multiboot_backward_relocator): ... to here.
40840 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40841 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40842 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40843 (grub_multiboot_forward_relocator_end)
40844 (grub_multiboot_backward_relocator)
40845 (grub_multiboot_backward_relocator_end): New variables.
40846
05f9452b 408472008-08-12 Bean <bean123ch@gmail.com>
40848
40849 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40850
20024ab0 408512008-08-11 Robert Millan <rmh@aybabtu.com>
40852
40853 * kern/i386/linuxbios/startup.S: Move from here ...
40854 * kern/i386/coreboot/startup.S: ... to here.
40855
40856 * kern/i386/linuxbios/init.c: Move from here ...
40857 * kern/i386/coreboot/init.c: ... to here.
40858
40859 * kern/i386/linuxbios/table.c: Move from here ...
40860 * kern/i386/coreboot/mmap.c: ... to here.
40861
40862 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40863
e352e9cd 408642008-08-11 Robert Millan <rmh@aybabtu.com>
40865
40866 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40867 errors. Leave it to the upper layer to handle them.
40868
2d05bc6a 408692008-08-09 Christian Franke <franke@computer.org>
40870
40871 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40872 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40873 Install `grub.d/10_windows' only on Cygwin.
40874 * configure.ac: Add subst of `target_os'.
40875 Check `target_os' also before setting TARGET_OBJ2ELF.
40876 Add `--enable-grub-pe2elf'.
40877
042bd419 408782008-08-08 Robert Millan <rmh@aybabtu.com>
40879
40880 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40881 (grub_last_time): Change type to grub_uint64_t.
40882 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40883 (grub_disk_close): Likewise.
40884
40885 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40886 (run_menu): Migrate code from to using grub_get_time_ms().
40887
40888 * util/misc.c (grub_get_time_ms): New function.
40889
7f280db5 408902008-08-08 Marco Gerards <marco@gnu.org>
40891
40892 * disk/ata.c (grub_ata_regget): Change return type to
40893 `grub_uint8_t'.
40894 (grub_ata_regget2): Likewise.
40895 (grub_ata_wait_status): New function.
40896 (grub_ata_wait_busy): Removed function, updated all users to use
40897 `grub_ata_wait_status'.
40898 (grub_ata_wait_drq): Likewise.
40899 (grub_ata_cmd): New function.
40900 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40901 error handling.
40902 (grub_ata_pio_write): Add error handling.
40903 (grub_atapi_identify): Likewise.
40904 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40905 handling.
40906 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40907 handling. Actually use the detected registers. Reorder the
40908 detection logic such that it is easier to read.
40909 (grub_ata_pciinit): Do not assign the same ID to each controller.
40910 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40911 handling.
40912 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40913
40914 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40915
1fbc5e66 409162008-08-08 Marco Gerards <marco@gnu.org>
40917
40918 * NEWS: Update.
40919
819ce6c0 409202008-08-07 Bean <bean123ch@gmail.com>
40921
40922 * include/grub/x86_64/pci.h: New file.
40923
5c41d44d 409242008-08-07 Christian Franke <franke@computer.org>
40925
40926 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40927 (TIMER2_GATE): Likewise.
40928 (grub_pit_wait): Add enable/disable of the timer2 gate
40929 bit of port 0x61. This fixes a possible infinite loop.
40930
5ebc275d 409312008-08-07 Bean <bean123ch@gmail.com>
40932
40933 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40934 kern/i386/tsc.c and kern/i386/pit.c.
40935
40936 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40937 x86_64 platform.
40938
40939 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40940 <grub/i386/tsc.h>.
40941
40942 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40943
e383b3d0 409442008-08-07 Bean <bean123ch@gmail.com>
40945
40946 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40947
40948 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40949
40950 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40951 multiple inclusion. Add #include <grub/types.h>.
40952
1cbb58ac 409532008-08-06 Christian Franke <franke@computer.org>
40954
40955 * conf/common.rmk: Build and install `10_windows'.
40956 * util/grub.d/10_windows.in: New script.
40957
337f5a1e 409582008-08-06 Pavel Roskin <proski@gnu.org>
40959
40960 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40961
057bc4ac 409622008-08-06 Robert Millan <rmh@aybabtu.com>
40963
40964 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40965 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40966
2b99f123 409672008-08-06 Bean <bean123ch@gmail.com>
40968
40969 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40970 (grub_pxefs_fs_int): Remove dummy definition.
40971 (grub_pxefs_open): Use data->block_size to store the current block
40972 size setting.
40973 (grub_pxefs_read): Use block size stored in data->block_size. As the
40974 value of grub_pxe_blksize can be changed after the file is opened.
40975
9f0234cb 409762008-08-06 Bean <bean123ch@gmail.com>
40977
40978 * fs/i386/pc/pxe.c (curr_file): new variable.
40979 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40980 require the dummy internal file system anymore.
40981 (grub_pxefs_read): Removed.
40982 (grub_pxefs_close): Likewise.
40983 (grub_pxefs_fs_int): Likewise.
40984 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40985 connection when we switch file.
40986 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40987
a55d42e0 409882008-08-06 Robert Millan <rmh@aybabtu.com>
40989
40990 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40991 `halt.mod'.
40992 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40993 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40994
40995 * kern/i386/halt.c: New file.
40996 * kern/i386/reboot.c: Likewise.
40997 * include/grub/i386/reboot.h: Likewise.
40998 * include/grub/i386/halt.h: Likewise.
40999
41000 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41001 Include `<grub/cpu/halt.h>'.
41002 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41003 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41004
41005 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41006 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41007 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41008 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41009 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41010 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41011 from here ...
41012 * include/grub/i386/at_keyboard.h: ... to here.
41013
24371d26 410142008-08-05 Robert Millan <rmh@aybabtu.com>
41015
41016 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41017 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41018 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41019 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41020 `kern/generic/millisleep.c'.
41021
41022 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41023 instead of grub_get_rtc().
41024 (grub_tsc_init): Initialize `tsc_boot_time'.
41025
41026 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41027 (grub_machine_init): Use grub_tsc_init() rather than
41028 installing an RTC-based handler via grub_install_get_time_ms().
41029
41030 * kern/i386/pit.c: New file.
41031 * include/grub/i386/pit.h: Likewise.
41032
9e7007b3 410332008-08-05 Bean <bean123ch@gmail.com>
41034
41035 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41036
41037 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41038 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41039 (pxe_mod_SOURCES): New macro.
41040 (pxe_mod_CFLAGS): Likewise.
41041 (pxe_mod_LDFLAGS): Likewise.
41042 (pxecmd_mod_SOURCES): Likewise.
41043 (pxecmd_mod_CFLAGS): Likewise.
41044 (pxecmd_mod_LDFLAGS): Likewise.
41045
41046 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41047 (grub_pxe_call): Likewise.
41048
41049 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41050
41051 * commands/i386/pc/pxecmd.c: New file.
41052
9f0234cb 41053 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41054
41055 * include/grub/i386/pc/pxe.h: Likewise.
41056
6977d49f 410572008-08-05 Bean <bean123ch@gmail.com>
41058
41059 * util/console.c (grub_console_cur_color): New variable.
41060 (grub_console_standard_color): Likewise.
41061 (grub_console_normal_color): Likewise.
41062 (grub_console_highlight_color): Likewise.
41063 (color_map): Likewise.
41064 (use_color): Likewise.
41065 (NUM_COLORS): New macro.
41066 (grub_ncurses_setcolorstate): Handle color properly.
41067 (grub_ncurses_setcolor): Don't change color here, just remember the
41068 settings, color will be set in grub_ncurses_setcolorstate.
41069 (grub_ncurses_getcolor): New function.
41070 (grub_ncurses_init): Initialize color pairs.
41071 (grub_ncurses_term): New member grub_ncurses_getcolor.
41072
9c2ff3ee 410732008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41074
9c2ff3ee 41075 High resolution timer support. Implemented for x86 CPUs using TSC.
41076 Extracted generic grub_millisleep() so it's linked in only as needed.
41077 This requires a Pentium compatible CPU; if the RDTSC instruction is
41078 not supported, then it falls back on the generic grub_get_time_ms()
41079 implementation that uses the machine's RTC.
41080
41081 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41082 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41083 `kern/generic/millisleep.c'.
41084
41085 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41086 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41087
41088 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41089 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41090
41091 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41092
41093 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41094 `kern/generic/millisleep.c'.
41095
41096 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41097
41098 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41099
41100 * kern/generic/rtc_get_time_ms.c: New file.
41101
41102 * kern/generic/millisleep.c: New file.
337f5a1e 41103
9c2ff3ee 41104 * kern/misc.c: Don't include
41105 <kern/time.h> anymore.
41106 (grub_millisleep_generic): Removed.
41107
41108 * commands/sleep.c (grub_interruptible_millisleep): Uses
41109 grub_get_time_ms() instead of grub_get_rtc().
41110
41111 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41112 function.
41113 (grub_cpu_is_cpuid_supported): New inline function.
41114 (grub_cpu_is_tsc_supported): New inline function.
41115 (grub_tsc_init): New function prototype.
41116 (grub_tsc_get_time_ms): New function prototype.
41117
41118 * kern/i386/tsc.c (grub_get_time_ms): New file.
41119
41120 * include/grub/time.h: Include <grub/types.h.
41121 (grub_millisleep_generic): Removed.
41122 (grub_get_time_ms): New prototype.
41123 (grub_install_get_time_ms): New prototype.
41124 (grub_rtc_get_time_ms): New prototype.
41125
41126 * kern/time.c (grub_get_time_ms): New function.
41127 (grub_install_get_time_ms): New function.
41128
41129 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41130 <grub/time.h> anymore.
41131 (grub_millisleep): Removed.
41132 (grub_machine_init): Call grub_tsc_init.
41133
41134 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41135 get_time_ms() implementation.
41136
41137 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41138 (ieee1275_get_time_ms): New function.
41139 (grub_machine_init): Install get_time_ms() implementation.
41140
41141 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41142 (grub_machine_init): Call grub_tsc_init().
41143 (grub_millisleep): Removed.
bf06a93f 41144
9c2ff3ee 41145 * kern/ieee1275/init.c (grub_millisleep): Removed.
41146 (grub_machine_init): Install ieee1275_get_time_ms()
41147 implementation.
41148 (ieee1275_get_time_ms): New function.
41149 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41150 real work.
41151
9ec92aaf 411522008-08-05 Marco Gerards <marco@gnu.org>
41153
41154 * disk/ata.c: Include <grub/pci.h>.
41155 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41156 (grub_ata_initialize): Rewritten.
41157 (grub_ata_device_initialize): New function.
41158
8d23f507 411592008-08-04 Pavel Roskin <proski@gnu.org>
41160
41161 * kern/main.c: Include grub/mm.h.
41162
5e15ee3d 411632008-08-04 Robert Millan <rmh@aybabtu.com>
41164
41165 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41166 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41167 corruption problem).
41168
a9053f8f 411692008-08-04 Robert Millan <rmh@aybabtu.com>
41170
41171 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41172 warnings introduced in my last commit.
41173
dd19c7d7 411742008-08-03 Robert Millan <rmh@aybabtu.com>
41175
41176 Make PCI available on all i386 architectures.
41177
41178 * include/grub/i386/pc/pci.h: Move from here ...
41179 * include/grub/i386/pci.h: ... to here.
41180
41181 * include/grub/i386/pc/pci.h: Remove.
41182 * include/grub/i386/efi/pci.h: Remove.
41183 * include/grub/x86_64/efi/pci.h: Remove.
41184
41185 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41186 `<grub/cpu/pci.h>'.
41187
41188 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41189 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41190 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41191
41192 * conf/i386-ieee1275.rmk: Likewise.
41193
e14a6184 411942008-08-03 Robert Millan <rmh@aybabtu.com>
41195
41196 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41197 (grub_console_setcursor): Make it possible to set cursor off.
41198
52768e37 411992008-08-03 Robert Millan <rmh@aybabtu.com>
41200
41201 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41202 of modules instead of assuming which platform provides what.
41203 * util/update-grub.in: Likewise.
41204
2d52f57f 412052008-08-03 Robert Millan <rmh@aybabtu.com>
41206
41207 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41208 instead of `grub_install_dos_part' to determine whether a drive needs
41209 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41210 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41211
2a5cd121 412122008-08-02 Robert Millan <rmh@aybabtu.com>
41213
41214 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41215
93808428 412162008-08-02 Robert Millan <rmh@aybabtu.com>
41217
41218 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41219 of informational grub_dprintf() calls.
41220
3bd0a12a 412212008-08-02 Robert Millan <rmh@aybabtu.com>
41222
41223 * disk/memdisk.c (memdisk_size): Don't initialize.
41224 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41225
41226 * include/grub/i386/pc/kernel.h
41227 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41228 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41229 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41230 (grub_arch_memdisk_size): Remove.
41231
41232 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41233 field (was only used to transfer a constant). Add `type' field to
41234 support multiple module types.
41235 (grub_module_iterate): New function.
41236
41237 * kern/device.c (grub_device_open): Do not hide error messages
41238 when grub_disk_open() fails. Use grub_print_error() instead.
41239
41240 * kern/i386/pc/init.c (grub_arch_modules_addr)
41241 (grub_arch_memdisk_size): Remove functions.
41242 (grub_arch_modules_addr): Return the module address in high memory
41243 (now that it isn't copied anymore).
41244
41245 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41246 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41247 decompression routine (grub_total_module_size already includes that
41248 now). Don't copy modules back to low memory.
41249
41250 * kern/main.c: Include `<grub/mm.h>'.
41251 (grub_load_modules): Split out (and use) ...
41252 (grub_module_iterate): ... this function, which iterates through
41253 module objects and runs a hook.
41254 Comment out grub_mm_init_region() call, as it would cause non-ELF
41255 modules to be overwritten.
41256
41257 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41258 the memdisk image in its own region, make it part of the module list.
41259 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41260 (main): Parse --memdisk|-m option, and pass user-provided path as
41261 parameter to generate_image().
41262 (add_segments): Pass `memdisk_path' down to load_modules().
41263 (load_modules): Embed memdisk image in module section when requested.
41264 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41265 `header.type' instead of `header.offset'.
41266
41267 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41268 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41269 (memdisk_mod_LDFLAGS): New variables.
41270 * conf/i386-coreboot.rmk: Likewise.
41271 * conf/i386-ieee1275.rmk: Likewise.
41272
a927cc73 412732008-08-02 Robert Millan <rmh@aybabtu.com>
41274
41275 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41276 (backward_relocator): New variables. Used to allocate and relocate
41277 the payload, respectively.
41278 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41279 address, install the appropriate relocator code in each bound of
a927cc73 41280 the payload, and set the entry point such that
41281 grub_multiboot_real_boot() will jump to one of them.
41282
41283 * kern/i386/loader.S (grub_multiboot_payload_size)
41284 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41285 (grub_multiboot_payload_entry_offset): New variables.
41286 (grub_multiboot_real_boot): Set cpu context to what the relocator
41287 expects, and jump to the relocator instead of the payload.
41288
41289 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41290 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41291 (grub_multiboot_payload_entry_offset): Export.
41292
b15d8a0c 412932008-08-01 Bean <bean123ch@gmail.com>
41294
41295 * normal/menu_entry.c (editor_getline): Don't return the original
41296 string as result, as it will be released by lexer once it has done
41297 using it.
41298
cdfb3d22 412992008-08-01 Robert Millan <rmh@aybabtu.com>
41300
41301 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41302 within menuentries, not before them.
41303 util/grub.d/10_hurd.in: Likewise.
41304
9175e93d 413052008-08-01 Bean <bean123ch@gmail.com>
41306
41307 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41308 (bufio_mod_SOURCES): New macro.
41309 (bufio_mod_CFLAGS): Likewise.
41310 (bufio_mod_LDFLAGS): Likewise.
41311
41312 * include/grub/bufio.h: New file.
41313
41314 * io/bufio.c: Likewise.
41315
41316 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41317 (grub_video_reader_png): Use grub_buffile_open to open file.
41318
41319 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41320 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41321
41322 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41323 (grub_video_reader_tga): Use grub_buffile_open to open file.
41324
41325 * font/manager.c: Include <grub/bufio.h>.
41326 (add_font): Use grub_buffile_open to open file.
41327
3d8383e7 413282008-07-31 Robert Millan <rmh@aybabtu.com>
41329
41330 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41331 ELF segments, use a macro for arbitrarily accessing any of them instead
41332 of preparing a pointer that allows access to one at a time.
41333 (grub_multiboot_load_elf64): Likewise.
41334
16e641b6 413352008-07-31 Bean <bean123ch@gmail.com>
41336
41337 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41338 GRUB_KERNEL_MACHINE_DATA_END.
41339
59198b72 413402008-07-30 Robert Millan <rmh@aybabtu.com>
41341
41342 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41343 Increase from 0x50 to 0x60.
41344 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41345 use UUIDs to identify the root drive for them. If that's not
41346 possible, abort.
41347 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41348 check, for cross-disk installs.
41349
ae88bca3 413502008-07-30 Robert Millan <rmh@aybabtu.com>
41351
41352 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41353 is non-empty, use it to set the `prefix' environment variable instead
41354 of the usual approach.
41355 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41356 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41357 environment variable instead of dummy make_install_device().
41358
41359 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41360 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41361 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41362
41363 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41364 New variable reference.
41365 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41366 New macro. Defines offset of `grub_prefix' within startup.S (relative
41367 to `start').
41368 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41369 section within startup.S (relative to `start').
41370 * include/grub/i386/coreboot/kernel.h: Likewise.
41371
41372 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41373 Overwrite grub_prefix with its contents, at the beginning of the
41374 first segment.
41375 (main): Understand -p|--prefix.
41376
14f41dd1 413772008-07-30 Robert Millan <rmh@aybabtu.com>
41378
41379 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41380
4ca049a3 413812008-07-30 Robert Millan <rmh@aybabtu.com>
41382
41383 * term/i386/pc/vga_text.c (grub_console_cls): Use
41384 grub_console_gotoxy() to go back to beginning of the screen.
41385 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41386
2921d337 413872008-07-29 Christian Franke <franke@computer.org>
41388
41389 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41390 Add conversion of emulated mount points on Cygwin.
41391
b609876d 413922008-07-29 Christian Franke <franke@computer.org>
41393
41394 * util/update-grub.in: Add a check for admin
41395 group on Cygwin.
41396 Remove old `grub.cfg.new' before creation.
41397 Add `-f' to `mv' to handle the different filesystem
41398 semantics of Windows.
41399
e93e4679 414002008-07-29 Bean <bean123ch@gmail.com>
41401
41402 * normal/main.c (get_line): Fix buffer overflow bug.
41403
41694fd0 414042008-07-28 Robert Millan <rmh@aybabtu.com>
41405
41406 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41407 (struct grub_apple_header): New struct. Describes the layout of
41408 the partmap header.
41409 (apple_partition_map_iterate): Check the header magic as well as the
41410 partition magic (which was already being checked).
41411
cfd0b4e6 414122008-07-28 Pavel Roskin <proski@gnu.org>
41413
41414 * genmk.rb: Add a warning to the beginning of the output that
41415 it's a generated file and should not be edited.
41416
93cce016 414172008-07-28 Robert Millan <rmh@aybabtu.com>
41418
41419 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41420 with the same number are found, just use issue a warning with
41421 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41422
cd1df915 414232008-07-27 Robert Millan <rmh@aybabtu.com>
41424
41425 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41426 information.
41427
b70a8427 414282008-07-27 Bean <bean123ch@gmail.com>
41429
41430 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41431 (grub_fat_find_dir): Ignore case when comparing filename.
41432
8f5e379f 414332008-07-27 Bean <bean123ch@gmail.com>
41434
41435 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41436 smallino, as it's more descriptive, and i8count can be confused with
41437 the other field count.
41438 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41439 inode type.
41440
a85cd5a0 414412008-07-27 Bean <bean123ch@gmail.com>
41442
41443 * commands/crc.c: New file.
41444
41445 * lib/crc.c: Likewise.
41446
41447 * include/grub/lib/crc.h: Likewise.
41448
41449 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41450
41451 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41452 (hexdump): Move this function to ...
41453
41454 * lib/hexdump.c: ... here.
41455
41456 * include/grub/hexdump.h: Renamed to ...
41457
41458 * include/grub/lib/hexdump.h: ... this.
41459
41460 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41461
41462 * util/grub-editenv.c: Likewise.
41463
41464 * include/envblk.h: Renamed to ...
41465
41466 * include/lib/envblk.h: ... this.
41467
41468 * util/envblk.c: Renamed to ...
41469
41470 * lib/envblk.c: ... this.
41471
41472 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41473 lib/hexdump.c.
41474 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41475 (pkglib_MODULES): Add crc.mod.
41476 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41477 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41478 (crc_mod_SOURCES): New macro.
41479 (crc_mod_CFLAGS): Likewise.
41480 (crc_mod_LDFLAGS): Likewise.
41481
41482 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41483
41484 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41485
41486 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41487
41488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41489
41490 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41491
c298def0 414922008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41493
41494 * commands/help.c: Include <grub/term.h>.
41495 (TERM_WIDTH): Removed. Updated all users.
41496
cc349fb3 414972008-07-27 Pavel Roskin <proski@gnu.org>
41498
41499 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41500 spurious warnings about a comment within a comment.
41501
9051607e 415022008-07-25 Robert Millan <rmh@aybabtu.com>
41503
41504 * util/getroot.c (find_root_device): Skip devices that match
41505 /dev/dm-[0-9]. This lets the real device be found for any type of
41506 abstraction (LVM, EVMS, RAID..).
41507 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41508 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41509 device is found first, find_root_device() will now skip it.
41510
01453bfc 415112008-07-24 Pavel Roskin <proski@gnu.org>
41512
41513 * include/grub/types.h: Use __builtin_bswap32() and
41514 __builtin_bswap64() with gcc 4.3 and newer.
41515
6af9849f 415162008-07-24 Christian Franke <franke@computer.org>
41517
3a0fa256 41518 * util/i386/pc/grub-install.in: If `--debug' is specified,
41519 pass `--verbose' to grub-setup.
41520 Abort script if make_system_path_relative_to_its_root() fails.
41521
7810e747 415222008-07-24 Bean <bean123ch@gmail.com>
41523
41524 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41525 variable `target_platform' should be `platform'.
41526
42290e17 415272008-07-24 Bean <bean123ch@gmail.com>
41528
51cc5193 41529 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41530 (grub_png_init_fixed_block): New function.
41531 (grub_png_decode_image_data): Handle fixed huffman code compression.
41532
2a8a80e4 415332008-07-24 Bean <bean123ch@gmail.com>
41534
41535 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41536 (grub_pe2elf_SOURCES): New macro.
41537 (CLEANFILES): Add grub-pe2elf.
41538
41539 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41540 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41541 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41542 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41543 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41544 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41545 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41546 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41547 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41548 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41549 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41550 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41551 (GRUB_PE32_DT_FUNCTION): Likewise.
41552 (GRUB_PE32_REL_I386_DIR32): Likewise.
41553 (GRUB_PE32_REL_I386_REL32): Likewise.
41554 (grub_pe32_symbol): New structure.
41555 (grub_pe32_reloc): Likewise.
41556
41557 * util/grub-pe2elf.c: New file.
41558
41559 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41560 start symbol in non pc platform.
41561
41562 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41563
41564 The following patches are from Christian Franke.
41565
41566 * include/grub/dl.h: Remove .previous, gas supports this only
41567 for ELF format.
41568
41569 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41570 Remove .type, gas supports this only for ELF format.
41571
41572 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41573 nullbytes in symbol table. This fixes an infinite loop if table is
41574 zero filled.
41575
41576 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41577 TARGET_IMG_LDFLAGS and EXEEXT.
41578
41579 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41580 TARGET_IMG_LDFLAGS_AC.
41581 (grub_CHECK_STACK_ARG_PROBE): New function.
41582
41583 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41584
41585 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41586
41587 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41588 to set TARGET_IMG_LD* accordingly.
41589 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41590 Add call to grub_CHECK_STACK_ARG_PROBE.
41591 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41592
41593 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41594
41595 * genmk.rb: Add EXEEXT to CLEANFILES.
41596
12ccdb75 415972008-07-23 Robert Millan <rmh@aybabtu.com>
41598
41599 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41600 define the codes for arrows and lines used for the menu).
41601 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41602 as well.
41603
41604 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41605 fonts, because the latter are too slow.
41606
18eeaf04 416072008-07-21 Bean <bean123ch@gmail.com>
41608
41609 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41610 a20. Run keyboard test last, as it will cause macbook to halt.
41611
b095e2ad 416122008-07-18 Pavel Roskin <proski@gnu.org>
41613
41614 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41615 load foreign architecture modules correctly anyway. Keep
41616 support for loading host architecture modules, whether we
41617 compile them or not.
41618
737feb35 416192008-07-17 Pavel Roskin <proski@gnu.org>
41620
3f4ce737 41621 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41622 change target_cpu. The compiler default can mismatch target_cpu
41623 in any case.
41624
4ad2d049 41625 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41626 * kern/efi/efi.c: Likewise.
41627
f6130a12 41628 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41629 target compiler is functional.
41630 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41631 are set up.
41632
58393a2d 41633 * configure.ac: Default to efi platform for x86_64-apple. Allow
41634 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41635 adjustments from the rest, only do them if target is not
41636 explicitly given. Merge other adjustments with the final sanity
41637 check. Remove an extraneous check for supported CPU. Be
41638 specific which CPU and which platform is not supported.
41639
737feb35 41640 * configure.ac: Default to pc platform for x86_64.
41641
546f966a 416422008-07-17 Robert Millan <rmh@aybabtu.com>
41643
41644 Partial LinuxBIOS -> Coreboot rename.
41645
41646 * conf/i386-linuxbios.rmk: Renamed to ...
41647 * conf/i386-coreboot.rmk: ... this.
41648 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41649 * configure.ac: Accept "coreboot" as input platform (but maintain
41650 compatibility with "linuxbios").
41651 * include/grub/i386/linuxbios: Renamed to ...
41652 * include/grub/i386/coreboot: ... this.
41653
20011694 416542008-07-17 Bean <bean123ch@gmail.com>
41655
41656 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41657 (appleldr_mod_SOURCE): New variable.
20011694 41658 (appleldr_mod_CFLAGS): Likewise.
41659 (appleldr_mod_LDFLAGS): Likewise.
41660 (pci_mod_SOURCES): Likewise.
41661 (pci_mod_CFLAGS): Likewise.
41662 (pci_mod_LDFLAGS): Likewise.
41663 (lspci_mod_SOURCES): Likewise.
41664 (lspci_mod_CFLAGS): Likewise.
41665 (lspci_mod_LDFLAGS): Likewise.
41666
41667 * conf/x86_64-efi.rmk: New file.
41668
41669 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41670 macro.
41671 (grub_efidisk_write): Likewise.
41672
41673 * include/efi/api.h (efi_call_0): New macro.
41674 (efi_call_1): Likewise.
41675 (efi_call_2): Likewise.
41676 (efi_call_3): Likewise.
41677 (efi_call_4): Likewise.
41678 (efi_call_5): Likewise.
41679 (efi_call_6): Likewise.
41680
41681 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41682 grub_rescue_cmd_chainloader.
41683
41684 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41685 (grub_pe32_optional_header): Change some fields based on i386 or
41686 x86_64 platform.
41687 (GRUB_PE32_PE32_MAGIC): Likewise.
41688
41689 * include/grub/efi/uga_draw.h: New file.
41690
41691 * include/grub/elf.h (STN_ABS): New constant.
41692 (R_X86_64_NONE): Relocation constant for x86_64.
41693 (R_X86_64_64): Likewise.
41694 (R_X86_64_PC32): Likewise.
41695 (R_X86_64_GOT32): Likewise.
41696 (R_X86_64_PLT32): Likewise.
41697 (R_X86_64_COPY): Likewise.
41698 (R_X86_64_GLOB_DAT): Likewise.
41699 (R_X86_64_JUMP_SLOT): Likewise.
41700 (R_X86_64_RELATIVE): Likewise.
41701 (R_X86_64_GOTPCREL): Likewise.
41702 (R_X86_64_32): Likewise.
41703 (R_X86_64_32S): Likewise.
41704 (R_X86_64_16): Likewise.
41705 (R_X86_64_PC16): Likewise.
41706 (R_X86_64_8): Likewise.
41707 (R_X86_64_PC8): Likewise.
41708
41709 * include/grub/i386/efi/pci.h: New file.
41710
41711 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41712 Change it value based on platform.
41713 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41714 (GRUB_E820_RAM): Likewise.
41715 (GRUB_E820_RESERVED): Likewise.
41716 (GRUB_E820_ACPI): Likewise.
41717 (GRUB_E820_NVS): Likewise.
41718 (GRUB_E820_EXEC_CODE): Likewise.
41719 (GRUB_E820_MAX_ENTRY): Likewise.
41720 (grub_e820_mmap): New structure.
41721 (linux_kernel_header): Change the efi field according to different
41722 kernel version, also field from linux_kernel_header.
41723
41724 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41725
41726 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41727 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41728 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41729 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41730 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41731 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41732 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41733 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41734 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41735 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41736
41737 * include/grub/x86_64/efi/kernel.h: New file.
41738
41739 * include/grub/x86_64/efi/loader.h: Likewise.
41740
41741 * include/grub/x86_64/efi/machine.h: Likewise.
41742
41743 * include/grub/x86_64/efi/pci.h: Likewise.
41744
41745 * include/grub/x86_64/efi/time.h: Likewise.
41746
41747 * include/grub/x86_64/linux.h: Likewise.
41748
41749 * include/grub/x86_64/setjmp.h: Likewise.
41750
41751 * include/grub/x86_64/time.h: Likewise.
41752
41753 * include/grub/x86_64/types.h: Likewise.
41754
41755 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41756 GRUB_TARGET_SIZEOF_VOID_P.
41757
41758 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41759 (grub_efi_locate_handle): Likewise.
41760 (grub_efi_open_protocol): Likewise.
41761 (grub_efi_set_text_mode): Likewise.
41762 (grub_efi_stall): Likewise.
41763 (grub_exit): Likewise.
41764 (grub_reboot): Likewise.
41765 (grub_halt): Likewise.
41766 (grub_efi_exit_boot_services): Likewise.
41767 (grub_get_rtc): Likewise.
41768
41769 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41770 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41771 (grub_efi_allocate_pages): Wrap efi calls.
41772 (grub_efi_free_pages): Wrap efi calls.
41773 (grub_efi_get_memory_map): Wrap efi calls.
41774
41775 * kern/x86_64/dl.c: New file.
41776
41777 * kern/x86_64/efi/callwrap.S: Likewise.
41778
41779 * kern/x86_64/efi/startup.S: Likewise.
41780
41781 * loader/efi/appleloader.c: Likewise.
41782
41783 * loader/efi/chainloader.c (cmdline): New variable.
41784 (grub_chainloader_unload): Wrap efi calls.
41785 (grub_chainloader_boot): Likewise.
41786 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41787 command line.
41788
41789 * loader/efi/chainloader_normal.c (chainloader_command):
41790 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41791 command line.
41792
41793 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41794 method.
41795 (grub_e820_add_region): New function.
41796 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41797 booting.
41798 (grub_find_video_card): New function.
41799 (grub_linux_setup_video): New function.
41800 (grub_rescue_cmd_linux): Probe for video information.
41801
41802 * normal/x86_64/setjmp.S: New file.
41803
41804 * term/efi/console.c (map_char): New function.
41805 (grub_console_putchar): Map unicode char.
41806 (grub_console_checkkey): Wrap efi calls.
41807 (grub_console_getkey): Likewise.
41808 (grub_console_getwh): Likewise.
41809 (grub_console_gotoxy): Likewise.
41810 (grub_console_cls): Likewise.
41811 (grub_console_setcolorstate): Likewise.
41812 (grub_console_setcursor): Likewise.
41813
41814 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41815
59652a20 418162008-07-16 Pavel Roskin <proski@gnu.org>
41817
ef294055 41818 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41819 format strings.
41820
59652a20 41821 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41822 pointer, not an integer. This fixes a warning and prevents
41823 precision loss on 64-bit systems.
41824 (relocate_addresses): Remove unneeded cast.
41825
afc3b5d7 418262008-07-15 Pavel Roskin <proski@gnu.org>
41827
506b2b3e 41828 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41829
62ead89c 41830 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41831
c4cd51d7 41832 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41833 Fix comparison between signed and unsigned.
41834
0d3d8f28 41835 * include/grub/i386/ieee1275/console.h: Declare
41836 grub_console_init() and grub_console_fini().
41837
8804b286 41838 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41839 It's empty and unused.
41840
ee01cf35 41841 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41842 beginning to avoid warnings with some compilers.
41843
afc3b5d7 41844 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41845 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41846
e4e8eaa5 418472008-07-14 Pavel Roskin <proski@gnu.org>
41848
407aceb4 41849 * kern/env.c (grub_register_variable_hook): Don't copy empty
41850 string, it leaks memory. Pass "" to grub_env_set(), it should
41851 handle constant strings.
41852
e4e8eaa5 41853 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41854 * commands/cmp.c (grub_cmd_cmp): Likewise.
41855 * kern/dl.c (grub_dl_flush_cache): Likewise.
41856 (grub_dl_load_core): Likewise.
41857 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41858 (grub_elf64_load_phdrs): Likewise.
41859
d4e2dad3 418602008-07-13 Pavel Roskin <proski@gnu.org>
41861
41862 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41863 between signed and unsigned.
41864 (LzmaEnc_Finish): Fix warning about an unused parameter.
41865
aa24b516 418662008-07-13 Bean <bean123ch@gmail.com>
41867
41868 * Makefile.in (enable_lzo): New rule.
41869
41870 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41871
41872 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41873
41874 * boot/i386/pc/lnxboot.S: #include <config.h>.
41875
41876 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41877 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41878
41879 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41880 compression algorithm according to configure macro.
41881
41882 * kern/i386/pc/startup.S (codestart): Likewise.
41883
41884 * kern/i386/pc/lzma_decode.S: New file.
41885
41886 * include/grub/lib/LzFind.h: Likewise.
41887
41888 * include/grub/lib/LzHash.h: Likewise.
41889
41890 * include/grub/lib/LzmaDec.h: Likewise.
41891
41892 * include/grub/lib/LzmaEnc.h: Likewise.
41893
41894 * include/grub/lib/LzmaTypes.h: Likewise.
41895
41896 * lib/LzFind.c: Likewise.
41897
41898 * lib/LzmaDec.c: Likewise.
41899
41900 * lib/LzmaEnc.c: Likewise.
41901
4ae821ac 419022008-07-13 Bean <bean123ch@gmail.com>
41903
41904 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41905 (grub_ext4_extent_header): New structure.
41906 (grub_ext4_extent): Likewise.
41907 (grub_ext4_extent_idx): Likewise.
41908 (grub_ext4_find_leaf): New function.
41909 (grub_ext2_read_block): Handle extents.
41910
9a745147 419112008-07-12 Robert Millan <rmh@aybabtu.com>
41912
41913 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41914
d49a4cf6 419152008-07-11 Robert Millan <rmh@aybabtu.com>
41916
41917 * util/grub.d/40_custom.in: New file. Example on how to add custom
41918 entries to /etc/grub.d.
41919 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41920 40_custom (implicitly, by merging all the grub.d rules).
41921
947414b4 419222008-07-11 Pavel Roskin <proski@gnu.org>
41923
0059cf6f 41924 * commands/read.c (grub_getline): Fix invalid memory access.
41925 Don't add newline to the variable value.
41926
947414b4 41927 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41928 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41929 (serial_hw_get_port): Check validity of the port number.
41930 (grub_cmd_serial): Check return value of serial_hw_get_port().
41931
62a02d00 419322008-07-07 Pavel Roskin <proski@gnu.org>
41933
41934 * boot/i386/pc/diskboot.S (notification_string): Replace
41935 "Loading kernel" with just "loading". This is shorter, less
41936 confusing and saves a few bytes for possible future changes.
41937
3e5581b0 419382008-07-05 Pavel Roskin <proski@gnu.org>
41939
ea387a48 41940 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41941 size for ATAPI devices, they are undefined. Output sector
41942 number in decimal form.
41943
3e5581b0 41944 * disk/ata.c: Use named constants for status bits.
41945
fdecb8fd 419462008-07-04 Pavel Roskin <proski@gnu.org>
41947
bcd35b90 41948 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41949 grub_addr_t before casting it to the void pointer to fix a
41950 warning. Non-addressable regions are discarded earlier.
41951 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41952 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41953 (check_signature): Don't shadow table_header.
41954 (grub_linuxbios_table_iterate): Cast numeric constants to
41955 grub_linuxbios_table_header_t.
41956 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41957 grub_stop().
41958
af58ab3d 41959 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41960 prevent warnings.
41961
1759aa57 41962 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41963 pointer, which can cause warnings. Support 64-bit addresses.
41964
fdecb8fd 41965 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41966 of sizeof(long). This fixes PowerPC image generation on x86_64.
41967
8516d2a8 419682008-07-04 Robert Millan <rmh@aybabtu.com>
41969
41970 This fixes a performance issue when pc & gpt partmap iterators
41971 didn't abort iteration even after our hook found what it was
fe987087 41972 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41973
41974 Some callers relied on previous buggy behaviour, since they would
34c44600 41975 raise an error when their own hooks caused early abortion of its
8516d2a8 41976 iteration.
41977
41978 * kern/device.c (grub_device_open): Improve error message.
41979 * disk/lvm.c (grub_lvm_open): Likewise.
41980 * disk/raid.c (grub_raid_open): Likewise.
41981
41982 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41983 when hook requests it, independently of grub_errno.
41984 (pc_partition_map_probe): Do not fail when find_func() caused
41985 early abortion of pc_partition_map_iterate().
41986
41987 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41988 when hook requests it, independently of grub_errno.
41989 (gpt_partition_map_probe): Do not fail when find_func() caused
41990 early abortion of gpt_partition_map_iterate().
41991
41992 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41993 when hook requests it, independently of grub_errno. Do not fail when
41994 part_map_iterate_hook() caused early abortion of p->iterate().
41995
41996 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41997 when grub_partition_iterate() returned with non-zero.
41998
277d0de9 419992008-07-03 Pavel Roskin <proski@gnu.org>
42000
42001 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42002 like we do in grub_ata_pio_read().
42003 (grub_ata_readwrite): Always write individual sectors. Fix the
42004 sector count for the remainder.
42005 (grub_ata_write): Enable writing to ATA devices. Correctly
42006 report error for ATAPI devices.
42007
d4c9b428 420082008-07-02 Pavel Roskin <proski@gnu.org>
42009
e43fc690 42010 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42011 warning.
42012
f707af42 42013 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42014 for every read sector, we already increment it for the whole
42015 batch. This fixes reading more than 256 sectors at once.
42016
11e16b15 42017 * util/grub-editenv.c (cmd_info): Cast argument to long
42018 explicitly. ptrdiff_t reduces to int on i386.
42019
cbabfdd4 42020 * util/grub-editenv.c (main): Be specific which parameter is
42021 missing.
42022
b8fbce0a 42023 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42024 (memdisk): Make memdisk_orig_addr a pointer.
42025
c9c8e606 42026 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42027 for file offsets, use grub_off_t instead. Fix printf format
42028 warnings.
42029
ca62e598 42030 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42031 there. Real unexpected warnings should not drown in the noise
42032 about known problems.
42033
ce8d1766 42034 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42035 grub_disk_addr_t for memory addresses.
42036
00c7a56a 42037 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42038 explicitly to fix a warning.
42039
08d3ef09 42040 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42041
cb71ba20 42042 * Makefile.in (MODULE_LDFLAGS): New variable.
42043 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42044 the linker accepts --build-id=none.
42045 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42046 MODULE_LDFLAGS.
42047 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42048
d4c9b428 42049 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42050 those in Linux XFS code. Provide a way to access 64-bit parent
42051 inode.
42052 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42053 the end of struct grub_xfs_dir_header.
42054
d4156eee 420552008-07-02 Bean <bean123ch@gmail.com>
42056
42057 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42058 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42059 and GRUB_IEEE1275_FLAG_NO_ANSI.
42060
42061 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42062 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42063 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42064
42065 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42066 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42067
42068 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42069 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42070
42071 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42072 esc sequence on non ANSI terminal.
42073 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42074
42075 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42076 beginning of file.
42077
2270f77b 420782008-07-02 Bean <bean123ch@gmail.com>
42079
42080 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42081 (grub_editenv_SOURCES): New variable.
42082 (pkglib_MODULES): Add loadenv.mod.
42083 (loadenv_mod_SOURCES): New variable.
42084 (loadenv_mod_CFLAGS): Likewise.
42085 (loadenv_mod_LDFLAGS): Likewise.
42086
42087 * include/grub/envblk.h: New file.
42088
42089 * util/envblk.c: New file.
42090
42091 * util/grub-editenv.c: New file.
42092
42093 * commands/loadenv.c: New file.
42094
0e9e51ec 420952008-07-01 Pavel Roskin <proski@gnu.org>
42096
d89b7634 42097 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42098 not unsigned char. This fixes warnings and is consistent with
42099 other tags.
42100
bf1835b1 42101 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42102
8222a04b 42103 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42104
6a42d99d 42105 * term/tparm.c (analyze): Always set *popcount.
42106
10b159d1 42107 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42108 cast to fix a warning.
42109
b8789f6c 42110 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42111 cast to suppress a warning.
42112
29d7e38a 42113 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42114 grub_fshelp_read_file() expects.
42115
f341f669 42116 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42117 write uuid as a 32-bit value in CPU byte order, so declare and
42118 use it as such.
42119
0e9e51ec 42120 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42121 long if the format specifier expects it.
42122 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42123 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42124 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42125 long to fix a warning.
42126 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42127 grub_dprintf() arguments to fix warnings.
42128
3aefa857 421292008-06-30 Pavel Roskin <proski@gnu.org>
42130
56c7668b 42131 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42132 install_bsd_part immediately before core.img is embedded or
42133 modified on disk. This fixes core.img verification if core.img
42134 cannot be embedded.
42135
3aefa857 42136 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42137 core_path to calculate the blocklist.
42138 Patch from Javier Martín <lordhabbit@gmail.com>
42139
5444088d 421402008-06-29 Robert Millan <rmh@aybabtu.com>
42141
42142 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42143 block to disk block.
42144 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42145 Patch from Niels Böhm <bitbucket@arcor.de>
42146
674835c8 421472008-06-29 Robert Millan <rmh@aybabtu.com>
42148
42149 * util/update-grub_lib.in (font_path): Search for fonts in
42150 /boot/grub first, which is more likely to be readable (we aren't
42151 deciding where fonts live, just looking for them).
42152
f527dbc8 421532008-06-26 Pavel Roskin <proski@gnu.org>
42154
6c2d8df6 42155 * util/biosdisk.c (read_device_map): Don't leave dead map
42156 entries for devices failing stat() check.
42157
f527dbc8 42158 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42159 core_path_dev for the core.img path on the target device.
42160
aebe3d13 421612008-06-26 Robert Millan <rmh@aybabtu.com>
42162
42163 * disk/fs_uuid.c: New file.
42164 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42165 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42166 (fs_uuid_mod_LDFLAGS): New variables.
42167 * include/grub/disk.h (grub_disk_dev_id): Add
42168 `GRUB_DISK_DEVICE_UUID_ID'.
42169 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42170 implement iterate().
42171
37aaf354 421722008-06-26 Robert Millan <rmh@aybabtu.com>
42173
42174 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42175 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42176 Linux image includes no initrd.
42177
25ff262a 421782008-06-21 Javier Martín <lordhabbit@gmail.com>
42179
42180 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42181 call to resolve the core image location that effectively appended the
42182 name twice.
42183
76a2bd44 421842008-06-21 Robert Millan <rmh@aybabtu.com>
42185
42186 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42187 call from here ...
42188
42189 * util/grub.d/10_hurd.in: ... to here ...
42190 * util/grub.d/10_linux.in: ... and here.
42191
650e1c79 421922008-06-19 Robert Millan <rmh@aybabtu.com>
42193
fe987087 42194 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42195 after it has been set by grub_machine_set_prefix().
42196
6ce63911 421972008-06-19 Robert Millan <rmh@aybabtu.com>
42198
42199 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42200 search result when not saving to variable, not the other way around.
42201 When saving to variable, abort iteration as soon as a match is found.
42202
73940cec 422032008-06-19 Robert Millan <rmh@aybabtu.com>
42204
42205 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42206 check for partition that provides /boot/grub. Its logic is flawed,
42207 as it prevents prepare_grub_to_access_device() from being called
42208 multiple times.
42209
3c62a39d 422102008-06-19 Robert Millan <rmh@aybabtu.com>
42211
42212 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42213 "insmod" command directly when abstraction modules are needed,
fe987087 42214 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42215 since it had already been processed).
42216
47395a42 422172008-06-19 Pavel Roskin <proski@gnu.org>
42218
42219 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42220 changed. This is needed in case GRUB_LIBDIR changes.
42221 * conf/i386-ieee1275.rmk: Likewise.
42222 * conf/i386-linuxbios.rmk: Likewise.
42223 * conf/i386-pc.rmk: Likewise.
42224 * conf/powerpc-ieee1275.rmk: Likewise.
42225
a145ac2d 422262008-06-18 Pavel Roskin <proski@gnu.org>
42227
42228 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42229 kernel_elf_symlist.c to symlist.c for consistency with other
42230 architectures. Update all users.
42231 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42232
7847c51e 422332008-06-18 Robert Millan <rmh@aybabtu.com>
42234
42235 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42236 it in prefix.
42237
42238 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42239 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42240 a RAID device, run setup() for all members independently on whether
42241 LVM abstraction is being used.
42242 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42243 If grub-mkimage has set `*install_dos_part == -2', don't override this
42244 value.
42245 Perform *install_dos_part adjustments independently on whether
42246 we're embedding or not.
42247 Clarify error message when image is too big for embedding.
42248 Remove duplicate *install_dos_part stanza.
42249
b23e5644 422502008-06-17 Robert Millan <rmh@aybabtu.com>
42251
42252 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42253 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42254 variables.
42255 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42256 values in grub_ofconsole_normal_color and
42257 grub_ofconsole_highlight_color (they're not directly related to
42258 background and foreground).
42259 (grub_ofconsole_setcolorstate): Extract background and foreground
42260 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42261
0aac2f79 422622008-06-17 Robert Millan <rmh@aybabtu.com>
42263
42264 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42265 /boot/grub for the check in last commit, not /boot (they could be
42266 different partitions).
42267
3cca7ef3 422682008-06-16 Robert Millan <rmh@aybabtu.com>
42269
42270 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42271 asked to setup access for the same partition that provides /boot,
42272 don't bother using UUIDs since our root already has the value we
42273 want.
42274
347396d8 422752008-06-16 Robert Millan <rmh@aybabtu.com>
42276
42277 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42278 I2O devices.
42279 Patch from Sven Mueller <sven@debian.org>.
42280
991477f8 422812008-06-16 Robert Millan <rmh@aybabtu.com>
42282
42283 * util/update-grub.in: Check for $EUID instead of $UID.
42284 Reported by Vincent Zweije.
42285
d31a32a1 422862008-06-16 Bean <bean123ch@gmail.com>
42287
fe987087 42288 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42289 (grub_ext2_read_block): Likewise.
42290 (grub_ext2_read_inode): Likewise.
42291 (grub_ext2_mount): Likewise.
42292 (grub_ext2_close): Likewise.
42293 (grub_ext3_get_journal): Removed.
42294
fe987087 42295 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42296 (grub_reiserfs_read_symlink): Likewise.
42297 (grub_reiserfs_mount): Likewise.
42298 (grub_reiserfs_open): Likewise.
42299 (grub_reiserfs_read): Likewise.
42300 (grub_reiserfs_close): Likewise.
42301 (grub_reiserfs_get_journal): Removed.
42302
42303 * fs/fshelp.c (grub_fshelp_read): Removed.
42304 (grub_fshelp_map_block): Likewise.
42305
42306 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42307 (grub_fshelp_journal): Likewise.
42308 (grub_fshelp_read): Likewise.
42309 (grub_fshelp_map_block): Likewise.
42310
3540a760 423112008-06-16 Pavel Roskin <proski@gnu.org>
42312
42313 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42314 floating point anymore.
42315 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42316
95614c84 423172008-06-15 Pavel Roskin <proski@gnu.org>
42318
42319 * commands/ls.c (grub_ls_list_files): Use integer calculations
42320 for human readable format, avoid floating point use.
42321 * kern/misc.c (grub_ftoa): Remove.
42322 (grub_vsprintf): Remove floating point support.
42323
50465dd6 423242008-06-15 Robert Millan <rmh@aybabtu.com>
42325
fe6b695a 42326 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42327 devices.
42328 Reported by Max Vozeler.
42329
a9207284 423302008-06-15 Robert Millan <rmh@aybabtu.com>
42331
42332 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42333 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42334 skipped later.
42335 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42336 the beginning of the prefix.
42337
42338 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42339 It is assumed that if we have a memdisk, grub-mkimage has set
42340 grub_prefix to include the "(memdisk)" drive in it.
42341
a7cbd45a 423422008-06-15 Robert Millan <rmh@aybabtu.com>
42343
42344 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42345 Initialize keyboard controller after registering the terminal, so that
42346 grub_printf() can be called from grub_keyboard_controller_init().
42347
21cf716a 423482008-06-15 Robert Millan <rmh@aybabtu.com>
42349
42350 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42351 extent-btree which is written as big endian on disk.
42352 Reported by Alain Greppin <al@chilibi.org>.
42353
23a64d8e 423542008-06-14 Robert Millan <rmh@aybabtu.com>
42355
42356 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42357 * util/i386/pc/grub-install.in (modules): Likewise.
42358
d687651c 423592008-06-13 Pavel Roskin <proski@gnu.org>
42360
42361 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42362
dfe9ddd4 423632008-06-13 Bean <bean123ch@gmail.com>
42364
42365 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42366
42367 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42368
42369 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42370 to indicate sparse block.
42371
16ae7781 423722008-06-12 Pavel Roskin <proski@gnu.org>
42373
e6d1a308 42374 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42375 number, grub_fshelp_read() does it for us.
42376
16ae7781 42377 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42378 linear disk read with journal translation.
42379 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42380 * include/grub/fshelp.h: Declare grub_fshelp_read().
42381
40fd3a2b 423822008-06-09 Pavel Roskin <proski@gnu.org>
42383
42384 * fs/minix.c (grub_minix_mount): Handle error reading
42385 superblock.
42386
f5679726 423872008-06-08 Robert Millan <rmh@aybabtu.com>
42388
42389 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42390 don't append the RAID prefix afterwards.
42391 Reported by Clint Adams.
42392
ce525529 423932008-06-08 Robert Millan <rmh@aybabtu.com>
42394
42395 Based on description from Pavel:
42396 * kern/disk.c (grub_disk_check_range): Rename to ...
42397 (grub_disk_adjust_range): ... this. Add a comment explaining the
42398 tasks performed by this function.
42399
ad4936a0 424002008-06-08 Robert Millan <rmh@aybabtu.com>
42401
42402 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42403 `num_serial' (for consistency with other variables).
42404 (struct grub_ntfs_data): Add `uuid' member.
42405 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42406 (grub_ntfs_uuid): New function.
42407 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42408
dc20b0f9 424092008-06-07 Pavel Roskin <proski@gnu.org>
42410
42411 * util/biosdisk.c (open_device): Revert last change to the
42412 function, it broke installation. The sector needs to be
42413 different dependent on which device is opened.
42414
c5e3cfba 424152008-06-06 Robert Millan <rmh@aybabtu.com>
42416
42417 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42418 rest of GRUB, and breakage doesn't happen if its value were modified.
42419
42420 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42421 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42422 a constant (same value).
42423 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42424 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42425
26a1f8c4 424262008-06-06 Robert Millan <rmh@aybabtu.com>
42427
42428 * util/biosdisk.c (open_device): Do not modify sector offset when
42429 accessing a partition. kern/disk.c already handles this for us.
42430
25d6b327 424312008-06-06 Robert Millan <rmh@aybabtu.com>
42432
42433 * util/grub-emu.c (grub_machine_init): Move code in this function from
42434 here ...
42435 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42436 segfault in case grub_printf() is called).
42437
42438 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42439 grub_probe. Update all users not to explicitly add it again.
42440 (grub_device): New variable; contains corresponding device for grubdir.
42441 (fs_module, partmap_module, devabstraction_module): Pass
42442 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42443 every time.
42444
9ece62fb 424452008-06-05 Robert Millan <rmh@aybabtu.com>
42446
42447 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42448 is found, print it (same layout as with labels).
42449
1ad36d37 424502008-06-04 Robert Millan <rmh@aybabtu.com>
42451
42452 * util/biosdisk.c (get_drive): Rename to ...
42453 (find_grub_drive): ... this. Update all users.
42454
42455 (get_os_disk): Rename to ...
42456 (convert_system_partition_to_system_disk): ... this. Update all users.
42457
42458 (find_drive): Rename to ...
42459 (find_system_device): ... this. Update all users.
42460
e6a30859 424612008-06-04 Robert Millan <rmh@aybabtu.com>
42462
42463 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42464 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42465 (make_device_map): Likewise.
42466
00c108a4 424672008-06-01 Robert Millan <rmh@aybabtu.com>
42468
42469 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42470 before dereferencing it.
42471
42472 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42473 union with fat12/fat16-specific ones. Add some new fields, including
42474 `num_serial' for both versions.
42475 (struct grub_fat_data): Add `uuid' member.
42476 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42477 names. Initialize `data->uuid' using `num_serial'.
42478 (grub_fat_uuid): New function.
42479 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42480
42481 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42482 (grub_reiserfs_uuid): New function.
42483 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42484 member.
42485
42486 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42487 (grub_xfs_uuid): New function.
42488 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42489
1385c5bb 424902008-06-01 Robert Millan <rmh@aybabtu.com>
42491
42492 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42493 code that is backward compatible with pre-uuid search command.
42494
c682dfd7 424952008-05-31 Robert Millan <rmh@aybabtu.com>
42496
42497 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42498 floppies after everything else, to ensure floppy drive isn't accessed
42499 unnecessarily (patch from Bean).
42500
b7db5d47 425012008-05-31 Robert Millan <rmh@aybabtu.com>
42502
42503 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42504 not print device names when we were asked to set a variable.
42505
6e037aa9 425062008-05-31 Robert Millan <rmh@aybabtu.com>
42507
42508 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42509 using "cursor-on" and "cursor-off" commands (understood at least by
42510 the Open Firmware flavour on OLPC).
42511
41305bc8 425122008-05-31 Michael Gorven <michael@gorven.za.net>
42513
42514 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42515 on and off sequences.
42516
69ba137e 425172008-05-31 Robert Millan <rmh@aybabtu.com>
42518
42519 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42520 * util/update-grub.in: Likewise.
42521
520ae21b 425222008-05-30 Pavel Roskin <proski@gnu.org>
42523
42524 * util/biosdisk.c (linux_find_partition): Simplify logic and
42525 make the code more universal. Keep special processing for
42526 devfs, but use a simple rule for all other devices. If the
42527 device ends with a number, append 'p' and the partition number.
42528 Otherwise, append only the partition number.
42529
5786569b 425302008-05-30 Robert Millan <rmh@aybabtu.com>
42531
42532 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42533 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42534 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42535 the `root' parameter to Linux.
42536
51500452 425372008-05-30 Robert Millan <rmh@aybabtu.com>
42538
42539 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42540 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42541 --fs_uuid with --fs-uuid.
42542 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42543 all filesystems support them).
42544
811d3878 425452008-05-30 Robert Millan <rmh@aybabtu.com>
42546
42547 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42548 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42549
cab63c95 425502008-05-30 Robert Millan <rmh@aybabtu.com>
42551
42552 * util/grub.d/00_header.in: Remove obsolete comment referencing
42553 convert_system_path_to_grub_path().
42554 * util/update-grub.in: Likewise.
42555 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42556 (convert_system_path_to_grub_path): Add a warning message explaining
42557 that this function is deprecated. Rely on is_path_readable_by_grub()
42558 for the readability checks.
42559 (font_path): Use is_path_readable_by_grub() for the readability
42560 check rather than convert_system_path_to_grub_path().
42561
972e2f7a 425622008-05-30 Robert Millan <rmh@aybabtu.com>
42563
42564 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42565 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42566 converting it first.
42567 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42568 grub.cfg for access to font file, and afterwards call it again to set
42569 the root device.
42570
62191274 425712008-05-30 Robert Millan <rmh@aybabtu.com>
42572
42573 * commands/search.c (options): Add --fs_uuid option.
42574 (search_fs_uuid): New function.
42575 (grub_cmd_search): Fix --set argument passing.
42576 Use search_fs_uuid() when requested via --fs_uuid.
42577 (grub_search_init): Update help message.
42578 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42579 and redeclare it as an array of 16-bit words.
42580 (grub_ext2_uuid): New function.
42581 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42582 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42583 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42584 (GRUB_DEVICE_BOOT_UUID): New variables.
42585 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42586 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42587 whenever possible.
42588 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42589 just assume `root' variable has the right value.
42590 * util/grub.d/10_linux.in: Likewise.
42591 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42592 via PRINT_FS_UUID.
42593 (main): Recognise `-t fs_uuid' argument.
42594
01b73ec8 425952008-05-30 Robert Millan <rmh@aybabtu.com>
42596
42597 * util/biosdisk.c (map): Redefine structure to hold information
42598 about GRUB drive name.
fe6b695a 42599 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42600 drive names.
42601 (call_hook): Remove.
42602 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42603 member. Assume drive has partitions.
42604 (grub_util_biosdisk_open): Access device names via `.device' struct
42605 member.
42606 (open_device): Likewise.
42607 (find_drive): Likewise.
42608 (read_device_map): Adjust map[] usage to match the new struct
42609 definition. Don't check for duplicates (still possible, but not cheap
42610 anymore).
42611 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42612 (make_device_name): Remove assumption of BIOS-like drive names.
42613
22f16596 426142008-05-30 Pavel Roskin <proski@gnu.org>
42615
42616 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42617 compiling execute.c doesn't need grub_script.tab.h anymore.
42618 (normal/command.c_DEPENDENCIES): Likewise.
42619 (normal/function.c_DEPENDENCIES): Likewise.
42620 * conf/i386-ieee1275.rmk: Likewise.
42621 * conf/i386-linuxbios.rmk: Likewise.
42622 * conf/i386-pc.rmk: Likewise.
42623 * conf/powerpc-ieee1275.rmk: Likewise.
42624 * conf/sparc64-ieee1275.rmk: Likewise.
42625
528ad8f2 426262008-05-29 Pavel Roskin <proski@gnu.org>
42627
d1dff95d 42628 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42629 when scanning metadata for volume group name.
42630
528ad8f2 42631 * include/grub/script.h: Don't include grub_script.tab.h. It's
42632 a generated file, which may only be included from the files with
42633 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42634 use union YYSTYPE, as the later allows forward declaration.
42635 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42636
47248e08 426372008-05-29 Robert Millan <rmh@aybabtu.com>
42638
42639 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42640 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42641 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42642 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42643 scan codes.
42644
ee632529 426452008-05-29 Robert Millan <rmh@aybabtu.com>
42646
42647 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42648 control key combinations.
42649
eee96e08 426502008-05-29 Robert Millan <rmh@aybabtu.com>
42651
42652 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42653 * util/ieee1275/grub-install.in: ... to here.
42654 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42655 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42656 (grub_install_SOURCES): Likewise.
42657
da9a6a94 426582008-05-29 Robert Millan <rmh@aybabtu.com>
42659
42660 * fs/affs.c: Update copyright year.
42661 * fs/ext2.c: Likewise.
42662 * fs/fshelp.c: Likewise.
42663 * fs/hfsplus.c: Likewise.
42664 * fs/ntfs.c: Likewise.
42665 * fs/xfs.c: Likewise.
42666 * include/grub/fshelp.h: Likewise.
42667 * util/grub-mkdevicemap.c: Likewise.
42668
12e65f3a 426692008-05-28 Robert Millan <rmh@aybabtu.com>
42670
42671 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42672 might need to be fatfs to support some firmware implementations
42673 (e.g. OFW or EFI).
42674
23023641 426752008-05-28 Robert Millan <rmh@aybabtu.com>
42676
42677 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42678 devices.
42679 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42680 (make_device_map): Likewise.
42681
887d2619 426822008-05-20 Bean <bean123ch@gmail.com>
42683
42684 * fs/fshelp.c (grub_fshelp_map_block): New function.
42685 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42686 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42687
42688 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42689 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42690 (grub_fshelp_journal): New structure.
42691 (grub_fshelp_map_block): New function prototype.
42692 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42693 (grub_fshelp_map_block): Likewise.
42694
42695 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42696 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42697 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42698 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42699 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42700 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42701 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42702 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42703 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42704 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42705 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42706 (grub_ext2_sblock): New members for journal support.
42707 (grub_ext3_journal_header): New structure.
42708 (grub_ext3_journal_revoke_header): Likewise.
42709 (grub_ext3_journal_block_tag): Likewise.
42710 (grub_ext3_journal_sblock): Likewise.
42711 (grub_fshelp_node): New members logfile and journal.
42712 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42713 grub_fshelp_map_block to get real block number.
42714 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42715 number.
42716 (grub_ext2_read_inode): Likewise.
42717 (grub_ext3_get_journal): New function.
42718 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42719 (grub_ext2_close): Release memory used by journal.
42720
42721 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42722 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42723 (grub_reiserfs_transaction_header): Renamed to
42724 grub_reiserfs_description_block, replace field data with real_blocks.
42725 (grub_reiserfs_commit_block): New structure.
42726 (grub_reiserfs_data): New member journal.
42727 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42728 number.
42729 (grub_reiserfs_read_symlink): Likewise.
42730 (grub_reiserfs_iterate_dir): Likewise.
42731 (grub_reiserfs_open): Likewise.
42732 (grub_reiserfs_read): Likewise.
42733 (grub_reiserfs_get_journal): New function.
42734 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42735 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42736 using grub_reiserfs_get_journal.
42737 (grub_reiserfs_close): Release memory used by journal.
42738
42739 * fs/affs.c (grub_affs_read_block): Change block type to
42740 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42741
42742 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42743
42744 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42745
42746 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42747
42748 * fs/udf.c (grub_udf_read_block): Change block type to
42749 grub_disk_addr_t. Use type cast to avoid warning.
42750
42751 * fs/xfs.c (grub_xfs_read_block): Likewise.
42752
b7c6bed5 427532008-05-16 Christian Franke <franke@computer.org>
42754
42755 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42756 to ensure that break with ESC will always work.
42757 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42758 Remove ESC from keyboard queue.
42759
eedf167f 427602008-05-16 Christian Franke <franke@computer.org>
42761
42762 * util/biosdisk.c: [__CYGWIN__] Add includes.
42763 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42764 (get_os_disk): Move variable declarations to OS specific
42765 parts to avoid warning.
42766 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42767 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42768 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42769 Cygwin.
42770 * util/getroot.c: [__CYGWIN__] Add includes.
42771 (strip_extra_slashes): Fix "/" case.
42772 [__CYGWIN__] (get_win32_path): New function.
42773 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42774 [__CYGWIN__] (find_root_device): Disable.
42775 [__CYGWIN__] (get_bootsec_serial): New function.
42776 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42777 [__linux__] (grub_guess_root_device): Add early returns to simplify
42778 structure.
42779 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42780 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42781 check for Linux only.
42782
a079699e 427832008-05-15 Bean <bean123ch@gmail.com>
42784
42785 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42786 keyboard hang problem in apple's intel mac.
42787
1cf4059a 427882008-05-09 Robert Millan <rmh@aybabtu.com>
42789
42790 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42791 devices.
42792 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42793 (make_device_map): Likewise.
42794 Reported by Aurelien Jarno <aurel32@debian.org>
42795
ed759390 427962008-05-07 Ian Campbell <ijc@hellion.org.uk>
42797
42798 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42799 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42800 (make_device_map): Output entries for xvd type disks.
42801
b56c4eaa 428022008-05-07 Robert Millan <rmh@aybabtu.com>
42803
42804 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42805 devices.
42806 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42807 (make_device_map): Likewise.
42808 Reported by Roland Dreier <rdreier@cisco.com>
42809
7f8866ed 428102008-05-07 Robert Millan <rmh@aybabtu.com>
42811
42812 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42813 grub_strstr() call. Correct a few mistakes in failure path handling.
42814
b0346e0f 428152008-05-06 Robert Millan <rmh@aybabtu.com>
42816
42817 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42818 Do not print a trailing slash (therefore, the root directory is an
42819 empty string).
42820 (convert_system_path_to_grub_path): Do not remove trailing slash
42821 from make_system_path_relative_to_its_root() output.
42822
42823 * util/i386/pc/grub-install.in: Add trailing slash to output from
42824 make_system_path_relative_to_its_root().
42825
6cf12cbd 428262008-05-06 Robert Millan <rmh@aybabtu.com>
42827
42828 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42829 ensures that output lines aren't intermangled with those sent to
42830 stderr (via grub_util_info()).
42831 * util/grub-probe.c (grub_refresh): Likewise.
42832 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42833
0fbb3117 428342008-05-05 Christian Franke <franke@computer.org>
42835
42836 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42837 Add Cygwin device names.
42838 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42839 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42840 (check_device): Return error instead of success on empty name.
42841 (make_device_map): Move label inside linux specific code to
42842 prevent compiler warning.
42843
8124cdb7 428442008-04-30 Robert Millan <rmh@aybabtu.com>
42845
42846 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42847 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42848 first boot option.
42849 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42850
094c01d0 428512008-04-29 Robert Millan <rmh@aybabtu.com>
42852
42853 * docs/grub.cfg: New file (example GRUB configuration).
42854
f4b1fc02 428552008-04-26 Robert Millan <rmh@aybabtu.com>
42856
329ce2a5 42857 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42858 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42859 and `disk/ieee1275/nand.c'.
f4b1fc02 42860
25f16ec1 428612008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42862
25f16ec1 42863 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42864 i386-linuxbios.
42865
42866 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42867 change the buffer size to 4096 for cdrom device.
42868
42869 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42870 and nand.mod.
42871 (_linux_mod_SOURCES): New variable.
42872 (_linux_mod_CFLAGS): Likewise.
42873 (_linux_mod_LDFLAGS): Likewise.
42874 (linux_mod_SOURCES): Likewise.
42875 (linux_mod_CFLAGS): Likewise.
42876 (linux_mod_LDFLAGS): Likewise.
42877 (nand_mod_SOURCES): Likewise.
42878 (nand_mod_CFLAGS): Likewise.
42879 (nand_mod_LDFLAGS): Likewise.
42880
42881 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42882 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42883 type property. (nand device in olpc don't have this property)
42884
42885 * include/grub/disk.h (grub_disk_dev_id): New macro
42886 GRUB_DISK_DEVICE_NAND_ID.
42887
42888 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42889 function prototype.
42890 (grub_rescue_cmd_initrd): Likewise.
42891
42892 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42893 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42894 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42895
25f16ec1 42896 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42897 GRUB_MACHINE_IEEE1275 is defined.
42898
42899 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42900 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42901
42902 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42903 on nested function heap_init.
42904 (grub_upper_mem): New variable for i386-ieee1275.
42905 (grub_get_extended_memory): New function for i386-ieee1275.
42906 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42907
42908 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42909 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42910 property.
f19dbdb7 42911
25f16ec1 42912 * loader/i386/ieee1275/linux.c: New file.
42913
42914 * loader/i386/ieee1275/linux_normal.c: New file.
42915
42916 * disk/ieee1275/nand.c: New file.
42917
e89d61e9 429182008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42919
42920 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42921 value.
42922 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42923
602566f6 429242008-04-18 Robert Millan <rmh@aybabtu.com>
42925
42926 Restructures early code path on ieee1275 to unify grub_main() as
42927 the first C function that is executed in every platform.
42928
42929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42930 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42931 cmain().
42932 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42933 * kern/ieee1275/cmain.c (cmain): Rename to ...
42934 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42935 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42936 at the beginning.
42937
57490c2b 429382008-04-18 Robert Millan <rmh@aybabtu.com>
42939
42940 * util/update-grub.in: Fix syntax error when setting
42941 `GRUB_PRELOAD_MODULES'.
42942 Reported by Stephane Chazelas <stephane@artesyncp.com>
42943
1977517d 429442008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42945
42946 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42947 section into account, newer toolchains generate unique build ids
42948 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42949 we want build ids to be preserved
1977517d 42950 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42951 far from other sections don't cause the raw binary images grow
42952 size
42953
bfb1f1a2 429542008-04-15 Robert Millan <rmh@aybabtu.com>
42955
42956 * disk/lvm.c: Update copyright year.
42957 * kern/misc.c: Likewise.
42958
01979850 429592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42960
42961 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42962 there is no memory left for physical volume name.
01979850 42963
0a1150e2 429642008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42965
42966 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42967 volume name mapping to support bigger than 9 character names properly.
42968
82ead3fe 429692008-04-13 Robert Millan <rmh@aybabtu.com>
42970
42971 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42972 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42973
e54a72f5 429742008-04-13 Christian Franke <franke@computer.org>
42975
42976 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42977 to create a floppy emulation boot CD when non emulation mode
42978 does not work.
42979 Enable Joliet CD filesystem extension.
42980
9fe86034 429812008-04-13 Robert Millan <rmh@aybabtu.com>
42982
42983 * kern/misc.c (grub_strncat): Fix off-by-one error.
42984 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42985
42986 * kern/env.c (grub_env_context_close): Clear current context, not
42987 previous one.
42988 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42989
42990 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42991
7ceeee39 429922008-04-13 Robert Millan <rmh@aybabtu.com>
42993
42994 Improve robustness when handling LVM.
42995
42996 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42997 (and leave `*p' unmodified).
7ceeee39 42998 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42999 through it.
43000 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43001 iterating through it.
43002 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43003 through it.
fe6b695a 43004 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43005 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43006 Don't assume `vg->pvs != NULL' when iterating through it.
43007
58cd3d85 430082008-04-13 Robert Millan <rmh@aybabtu.com>
43009
43010 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43011 * genmk.rb (partmap): New variable.
43012 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43013 (#{partmap}): New target rule.
43014 * genpartmaplist.sh: New file.
43015 * Makefile.in (pkglib_DATA): Add partmap.lst.
43016 (partmap.lst): New target rule.
43017 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43018 modules (including all partition maps), instead of preloading them.
43019
78b51059 430202007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43021
43022 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43023 `linux-boot-prober' (if installed) to detect other operating
43024 systems which are installed on the computer and add them to
43025 the boot menu.
43026 * conf/common.rmk: Build and install 30_os-prober.
43027
a91627b4 430282008-04-12 Robert Millan <rmh@aybabtu.com>
43029
43030 * kern/powerpc/ieee1275/init.c: Move from here ...
43031 * kern/ieee1275/init.c: ... to here. Update all users.
43032
43033 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43034 * kern/ieee1275/cmain.c: ... to here. Update all users.
43035
43036 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43037 * kern/ieee1275/openfw.c: ... to here. Update all users.
43038
43039 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43040 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43041
322562ea 430422008-04-10 Pavel Roskin <proski@gnu.org>
43043
43044 * configure.ac: Always use "_cv_" in cache variables for
43045 compatibility with Autoconf 2.62.
43046
a02a73c5 430472008-04-07 Robert Millan <rmh@aybabtu.com>
43048
43049 Revert grub/machine/init.h addition by Pavel (since it breaks on
43050 i386-ieee1275 and others):
43051 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43052 * util/powerpc/ieee1275/misc.c: Likewise.
43053
25c024b1 430542008-04-07 Robert Millan <rmh@aybabtu.com>
43055
43056 * util/grub-probe.c (probe): Improve error message.
43057
3cbd2f98 430582008-04-07 Robert Millan <rmh@aybabtu.com>
43059
43060 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43061 (this prevents the presence of a bogus entry from ruining the whole
43062 thing).
43063
87a297bf 430642008-04-06 Pavel Roskin <proski@gnu.org>
43065
36747a62 43066 * util/biosdisk.c: Include grub/util/biosdisk.h.
43067 * util/grub-fstest.c (execute_command): Make static.
43068 * util/grub-mkdevicemap.c (check_device): Likewise.
43069 * util/i386/pc/misc.c: Include grub/machine/init.h.
43070 * util/powerpc/ieee1275/misc.c: Likewise.
43071 * util/lvm.c: Include grub/util/lvm.h.
43072 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43073 grub/cache.h.
43074 * util/raid.c: Include grub/util/raid.h.
43075 (grub_util_getdiskname): Make static.
43076
87a297bf 43077 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43078 grub_hostfs_fini(), as they are called from grub_init_all() and
43079 grub_fini_all() respectively. This fixes an infinite loop in
43080 grub-fstest due to double registration of hostfs.
43081 Reported by Christian Franke <Christian.Franke@t-online.de>
43082
f6ce7629 430832008-04-05 Pavel Roskin <proski@gnu.org>
43084
43085 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43086 all 8 functions. Otherwise, probe function 0 only.
43087
070e49e4 430882008-04-04 Pavel Roskin <proski@gnu.org>
43089
8b088a4c 43090 * commands/lspci.c (grub_lspci_iter): Print the bus number
43091 correctly.
43092
4f657021 43093 * commands/lspci.c (grub_pci_classes): Fix typos.
43094 (grub_lspci_iter): Don't print func twice. Print vendor ID
43095 before device ID, as it's normally done.
43096
070e49e4 43097 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43098 Fix signedness warnings.
43099 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43100 Likewise.
43101 * util/ieee1275/get_disk_name.c: Include config.h so that
43102 _GNU_SOURCE is defined and getline() is declared. Mark an
43103 unused argument as such. Fix a signedness warning.
43104
ba7328dc 431052008-04-02 Pavel Roskin <proski@gnu.org>
43106
26887f22 43107 * genkernsyms.sh.in: Use more robust assignments for CC and
43108 srcdir. Quote srcdir.
43109 * gensymlist.sh.in: Likewise. Assert at the compile time that
43110 the symbol table is not empty.
43111
ba7328dc 43112 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43113 * fs/cpio.c (grub_cpio_read): Likewise.
43114
0f582c6b 431152008-04-01 Pavel Roskin <proski@gnu.org>
43116
4b6e1995 43117 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43118 * disk/host.c (grub_host_open): Likewise.
43119 * disk/loopback.c (grub_loopback_open): Likewise.
43120 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43121 disk->id as in disk/host.c, not a multi-character constant.
43122
828a2768 43123 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43124 later is obsolete, potentially dangerous and sets a bad example.
43125 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43126 * util/misc.c (grub_util_get_image_size): Likewise.
43127
2bb4fb47 43128 * disk/loopback.c (options): Improve help for "--partitions".
43129
0f582c6b 43130 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43131 options to align them with the short options, e.g. "echo -e".
43132
a33224e0 431332008-03-31 Bean <bean123ch@gmail.com>
43134
43135 * video/reader/png.c (grub_png_data): New member is_16bit and
43136 image_data.
43137 (grub_png_decode_image_header): Detect 16 bit png image.
43138 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43139 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43140 (grub_video_reader_png): Release memory occupied by image_data.
43141
43142 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43143 4096 bytes.
43144 (grub_nfs_mount): Skip the test for sector per cluster.
43145
43146 * include/grub/ntfs.h (MAX_SPC): Removed.
43147
86cb4f54 431482008-03-31 Bean <bean123ch@gmail.com>
43149
43150 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43151 (grub_probe_SOURCES): Add fs/afs.c.
43152 (grub_fstest_SOURCES): Likewise.
43153 (afs_mod_SOURCES): New variable.
43154 (afs_mod_CFLAGS): Likewise.
43155 (afs_mod_LDFLAGS): Likewise.
43156
43157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43158 (grub_emu_SOURCES): Likewise.
43159
43160 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43161
43162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43163
43164 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43165
43166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43167
43168 * fs/afs.c: New file.
43169
17c74c21 431702008-03-30 Pavel Roskin <proski@gnu.org>
43171
4cb68e89 43172 * disk/host.c: Include grub/misc.h to fix a warning.
43173 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43174 warnings about implicit declarations.
43175
8790bb04 43176 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43177 variable.
43178 * include/grub/i386/loader.h: Change declaration of
43179 grub_linux_boot() to match what grub_loader_set() expects.
43180 * util/getroot.c (grub_guess_root_device): Return const char* to
43181 fix a warning.
43182 * util/grub-probe.c (probe): Fix a warning about uninitialized
43183 abstraction_name variable.
43184 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43185 second argument as unused to fix a warning.
43186
9a3f3296 43187 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43188 missing grub_error() call.
43189
0ecef90d 43190 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43191 2.60 and newer uses it to define datadir.
43192
0bf6d401 43193 * commands/sleep.c: Fix warning about implicit declaration.
43194 * disk/memdisk.c: Likewise.
43195 * loader/aout.c: Likewise.
43196 * loader/i386/bsd_normal.c: Likewise.
43197 * util/grub-probe.c: Likewise.
43198
7cdacf97 43199 * commands/i386/cpuid.c (has_longmode): Make static.
43200 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43201 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43202
17c74c21 43203 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43204 GDT. This is more robust, as %ds can change.
43205 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43206 calling real_to_prot().
43207 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43208
80a3e68b 432092008-03-28 Pavel Roskin <proski@gnu.org>
43210
43211 * kern/i386/pc/startup.S: Assert that uncompressed functions
43212 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43213 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43214 code, as they push parts of the code (error handlers) beyond
43215 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43216 code as correctness and size.
43217
77bcd272 432182008-03-28 Pavel Roskin <proski@gnu.org>
43219
43220 * kern/i386/pc/startup.S
43221 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43222 data block address to the real mode, keep offset minimal. This
43223 works around a bug in AWARD BIOS on old Athlon systems, which
43224 makes CD detection hang.
43225
c5dfd43b 432262008-03-26 Pavel Roskin <proski@gnu.org>
43227
43228 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43229 const.
43230 * include/grub/normal.h: Add grub_parse_color_name_pair()
43231 declaration.
43232
bf962df2 432332008-03-24 Bean <bean123ch@gmail.com>
43234
43235 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43236 (cd_count): Removed.
43237 (cd_drive): New variable.
43238 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43239 (grub_biosdisk_call_hook): Likewise.
43240 (grub_biosdisk_iterate): Change cdrom detection method.
43241 (grub_biosdisk_open): Replace cd_start with cd_drive.
43242 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43243 detect cdrom device.
43244
43245 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43246 Removed.
43247 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43248 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43249 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43250 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43251 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43252 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43253 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43254 (grub_biosdisk_cdrp): New structure.
43255 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43256
43257 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43258
43259 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43260 device.
43261
43262 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43263 New function.
43264
68e7fc7a 432652008-03-20 Robert Millan <rmh@aybabtu.com>
43266
43267 Remove 2 TiB limit in ata.mod.
43268 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43269 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43270 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43271 grub_uint64_t instead of grub_uint32_t.
43272
38ad2cf5 432732008-03-05 Bean <bean123ch@gmail.com>
43274
43275 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43276 (grub_multiboot): Set boot device.
43277
43278 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43279
2b89344e 432802008-03-02 Bean <bean123ch@gmail.com>
43281
43282 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43283 symlink_buffer.
43284
87a95d1f 432852008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43286
43287 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43288 texinfo.tex.
43289
43290 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43291 modified.
43292
43293 * docs/fdl.texi: New file.
f19dbdb7 43294
87a95d1f 43295 * docs/mdate-sh: New file. Copied from gnulib.
43296 * docs/texinfo.tex: Likewise.
43297
43298 * config.guess: Updated from gnulib.
43299 * install-sh: Likewise.
43300
7dc15d8e 433012008-02-28 Robert Millan <rmh@aybabtu.com>
43302
43303 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43304 (aout_mod_SOURCES): New variable.
43305 (aout_mod_CFLAGS): Likewise.
43306 (aout_mod_LDFLAGS): Likewise.
43307
43308 * conf/i386-ieee1275.rmk: Likewise.
43309
b00ab696 433102008-02-28 Robert Millan <rmh@aybabtu.com>
43311
43312 * util/update-grub.in: Reorganise terminal validity check. Accept
43313 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43314 Based on suggestion by Franklin PIAT.
43315
79ca2d78 433162008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43317
43318 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43319 function.
43320 * util/getroot.c (grub_util_check_block_device): New function that
43321 returns the given argument if it is a block device and returns NULL else.
43322 * util/grub-probe.c (argument_is_device): New variable.
43323 (probe): Promote device_name from a variable to an argument. Receive
43324 device_name from grub_util_check_block_device() if path is NULL and from
43325 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43326 (options): Introduce new parameter '-d, --device'.
79ca2d78 43327 (main): Add description of the new parameter to the help screen.
43328 Rename path variable to argument. Set argument_is_device if the '-d'
43329 option is given. Pass argument to probe() depending on
43330 argument_is_device.
43331
0d16e571 433322008-02-24 Bean <bean123ch@gmail.com>
43333
43334 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43335 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43336 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43337 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43338 (GRUB_ISO9660_VOLDESC_END): Likewise.
43339 (grub_iso9660_primary_voldesc): New member escape.
43340 (grub_iso9660_data): New member joliet.
43341 (grub_iso9660_convert_string): New function.
43342 (grub_iso9660_mount): Detect joliet extension.
43343 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43344 (grub_iso9660_iso9660_label): Likewise.
43345
43346 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43347 (grub_setup_SOURCES): Add fs/udf.c.
43348 (grub_fstest_SOURCES): Likewise.
43349 (udf_mod_SOURCES): New variable.
43350 (udf_mod_CFLAGS): Likewise.
43351 (udf_mod_LDFLAGS): Likewise.
43352
43353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43354 (grub_emu_SOURCES): Likewise.
43355
43356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43357
43358 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43359
43360 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43361
43362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43363
43364 * fs/udf.c: New file.
43365
8a594a17 433662008-02-24 Robert Millan <rmh@aybabtu.com>
43367
43368 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43369 (normal/lexer.c_DEPENDENCIES): New variables.
43370 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43371 (normal/lexer.c_DEPENDENCIES): Likewise.
43372 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43373 (normal/lexer.c_DEPENDENCIES): Likewise.
43374 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43375 (normal/lexer.c_DEPENDENCIES): Likewise.
43376 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43377 (normal/lexer.c_DEPENDENCIES): Likewise.
43378 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43379 (normal/lexer.c_DEPENDENCIES): Likewise.
43380
2dc33c03 433812008-02-23 Robert Millan <rmh@aybabtu.com>
43382
43383 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43384 since they were intended to be in hex. This didn't break previously
43385 because of a bug in gpt_partition_map_iterate() (see below).
43386
43387 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43388 when checking the validity of GPT header.
43389 Remove `partno', since it always provides the same information as `i'.
43390
f6f4cfb0 433912008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43392
43393 * include/grub/efi/time.h: Fix a wrong comment.
43394
79ff665f 433952008-02-19 Pavel Roskin <proski@gnu.org>
43396
43397 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43398 message.
43399
d38e24c2 434002008-02-19 Bean <bean123ch@gmail.com>
43401
43402 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43403 (aout_mod_SOURCES): New variable.
43404 (aout_mod_CFLAGS): Likewise.
43405 (aout_mod_LDFLAGS): Likewise.
43406 (_bsd_mod_SOURCES): New variable.
43407 (_bsd_mod_CFLAGS): Likewise.
43408 (_bsd_mod_LDFLAGS): Likewise.
43409 (bsd_mod_SOURCES): New variable.
43410 (bsd_mod_CFLAGS): Likewise.
43411 (bsd_mod_LDFLAGS): Likewise.
43412
43413 * include/grub/aout.h: New file.
43414
43415 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43416
43417 * include/grub/i386/bsd.h: New file.
43418
43419 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43420 to make it public.
43421
43422 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43423 function is called, so that it's possible to change it inside the hook.
43424 (grub_elf64_load): Likewise.
43425 (grub_elf_file): Don't close the file if elf header is not found.
43426 (grub_elf_close): Close the file if grub_elf_file fails (The new
43427 grub_elf_file won't close it).
43428 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43429 (grub_elf64_size): Likewise.
43430
43431 * kern/i386/loader.S (grub_unix_real_boot): New function.
43432
43433 * loader/aout.c: New file.
43434
43435 * loader/i386/bsd.c: New file.
43436
43437 * loader/i386/bsd_normal.c: New file.
43438
43439 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43440
43441 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43442 can test other formats.
d38e24c2 43443
b93bdb0f 434442008-02-19 Robert Millan <rmh@aybabtu.com>
43445
43446 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43447 (grub_gpt_partition_type_empty): Redefine with macro from
43448 `<grub/gpt_partition.h>'.
43449 (gpt_partition_map_iterate): Adjust partition type comparison.
43450
43451 Export `entry' as partmap-specific `part.data' struct.
43452 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43453
43454 * include/grub/gpt_partition.h (grub_gpt_header)
43455 (grub_gpt_partentry): ... to here (new file).
43456
43457 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43458
43459 (grub_gpt_partition_type_bios_boot): New const variable, defined
43460 with macro from `<grub/gpt_partition.h>'.
43461
43462 (setup): Replace `first_start' with `embed_region', which keeps
43463 track of the embed region (and is partmap-agnostic).
43464
43465 Replace find_first_partition_start() with find_usable_region(),
43466 which finds a usable region for embedding using partmap-specific
43467 knowledge (supports PC/MSDOS and GPT).
43468
43469 Fix all assumptions that the embed region start at sector 1, using
43470 `embed_region.start' from now on. Similarly, use `embed_region.end'
43471 rather than `first_start' to calculate available size.
43472
43473 In grub_util_info() message, replace "into after the MBR" with an
43474 indication of the specific sector our embed region starts at.
43475
66cb40f6 434762008-02-19 Robert Millan <rmh@aybabtu.com>
43477
43478 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43479 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43480 `commands/reboot.c'.
43481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43482 (halt_mod_SOURCES): Likewise.
43483 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43484 (halt_mod_SOURCES): Likewise.
43485
b7202015 434862008-02-17 Christian Franke <franke@computer.org>
43487
43488 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43489
32b0fc49 434902008-02-17 Robert Millan <rmh@aybabtu.com>
43491
43492 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43493 set `first_start' to 0 for non-PC/MSDOS partition maps.
43494
aca63502 434952008-02-16 Robert Millan <rmh@aybabtu.com>
43496
43497 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43498 do not assume partition map is PC/MSDOS before performing checks that
43499 are specific to that layout.
43500
0de8be86 435012008-02-13 Robert Millan <rmh@aybabtu.com>
43502
43503 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43504 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43505 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43506
c3db8364 435072008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43508
43509 * configure.ac: Only a cosmetic change on the handling of
43510 -fno-stack-protector.
43511
f714229e 435122008-02-12 Alexandre Boeglin <alex@boeglin.org>
43513
c3db8364 43514 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43515 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43516 reboot.c.
f714229e 43517 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43518 (halt_mod_SOURCES): New variable.
43519 (halt_mod_CFLAGS): Likewise.
43520 (halt_mod_LDFLAGS): Likewise.
43521 (reboot_mod_SOURCES): Likewise.
43522 (reboot_mod_CFLAGS): Likewise.
43523 (reboot_mod_LDFLAGS): Likewise.
43524
c3db8364 43525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43526 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43527 reboot.c.
f714229e 43528 (halt_mod_SOURCES): Likewise.
43529 (reboot_mod_SOURCES): Likewise.
43530
c3db8364 43531 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43532 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43533 (reboot_mod_SOURCES): Likewise.
43534
43535 * commands/i386/pc/reboot.c: merge this file ...
43536
43537 * commands/ieee1275/reboot.c: ... and this file ...
43538
43539 * commands/reboot.c: ... to this file.
c3db8364 43540 Add some precompiler directive to include the correct header for
43541 each machine.
f714229e 43542
43543 * commands/ieee1275/halt.c: move this file ...
43544
43545 * commands/halt.c: ... to here.
c3db8364 43546 Add some precompiler directive to include the correct header for
43547 each machine.
f714229e 43548
43549 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43550 (grub_halt): Likewise.
43551
43552 * kern/efi/efi.c (grub_reboot): New function.
43553 (grub_halt): Likewise.
43554
c74493e0 435552008-02-12 Robert Millan <rmh@aybabtu.com>
43556
43557 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43558 /dev (like it is done for /dev/mapper). This doesn't provide support
43559 for EVMS, but at least it is now easy to identify the problem when it
43560 arises.
43561
d0db4b04 435622008-02-11 Robert Millan <rmh@aybabtu.com>
43563
43564 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43565 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43566 comparing it with -1, not 0.
43567
bf748642 435682008-02-10 Robert Millan <rmh@aybabtu.com>
43569
43570 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43571 `disk/lvm.c'.
43572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43573 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43574
43575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43576 `disk/lvm.c' to the end of the list.
43577 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43578 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43579
b5db202a 435802008-02-10 Robert Millan <rmh@aybabtu.com>
43581
43582 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43583 grub_print_error() instead. This will let user know why we're entering
43584 rescue mode.
43585 Based on suggestions from Sam Morris.
43586
83abee31 435872008-02-10 Alexandre Boeglin <alex@boeglin.org>
43588
43589 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43590 on remaining N args, instead of "--" arg N times.
43591
78d5a08b 435922008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43593
43594 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43595 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43596 pattern for unknown glyphs.
43597
68807e5f 435982008-02-09 Robert Millan <rmh@aybabtu.com>
43599
43600 * configure.ac: Probe for `help2man'.
43601 * Makefile.in (builddir): New variable.
43602 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43603 or otherwise add a few flags/options to it.
43604 (install-local): For every executable utility or script that is
43605 installed, invoke $(HELP2MAN) to install a manpage based on --help
43606 output.
43607
43608 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43609 that it doesn't prevent --help from working in build tree.
43610
43611 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43612 with `bug-grub@gnu.org'.
43613 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43614 * util/update-grub.in (usage): New function.
43615 Implement proper argument check, with support for --help and --version
43616 (as well as existing -y).
43617
436182008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43619
43620 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43621 avoid overwriting previous output.
43622 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43623
c1962162 436242008-02-09 Robert Millan <rmh@aybabtu.com>
43625
43626 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43627 drawing the menu.
43628
3dac2e3f 436292008-02-09 Robert Millan <rmh@aybabtu.com>
43630
43631 * commands/sleep.c: New file.
43632 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43633 (sleep_mod_SOURCES): New variable.
43634 (sleep_mod_CFLAGS): Likewise.
43635 (sleep_mod_LDFLAGS): Likewise.
43636
7a634e08 436372008-02-09 Robert Millan <rmh@aybabtu.com>
43638
43639 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43640 situations in which we can deduce the RAID size and the superblock
43641 doesn't match it.
43642
b92f0c18 436432008-02-09 Robert Millan <rmh@aybabtu.com>
43644
43645 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43646 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43647 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43648
43649 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43650 and return a grub_diskmemberlist_t composed of physical array members.
43651 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43652
43653 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43654 prototype.
43655 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43656 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43657 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43658
43659 * util/grub-probe.c (probe): Move partmap probing code from here ...
43660 (probe_partmap): ... to here.
43661 (probe): Use probe_partmap() once for the disk we're probing, and
43662 additionally, when such disk contains a memberlist() struct member,
43663 once for each disk that is contained in the structure returned by
43664 memberlist().
43665
91a4bf68 436662008-02-09 Robert Millan <rmh@aybabtu.com>
43667
43668 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43669 environment variable to 'all' in order to obtain debug output from
43670 non-util/ code.
43671 * util/i386/pc/grub-setup.c (main): Likewise.
43672
a96f9caa 436732008-02-08 Robert Millan <rmh@aybabtu.com>
43674
43675 * disk/raid.c (grub_raid_scan_device): Check for
43676 `array->device[sb.this_disk.number]' rather than for
43677 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43678 guaranteed to be accessible.
a96f9caa 43679
b37a9222 436802008-02-08 Robert Millan <rmh@aybabtu.com>
43681
43682 * disk/raid.c: Update copyright.
43683 * fs/cpio.c: Likewise.
43684 * include/grub/raid.h: Likewise.
43685 * loader/i386/pc/multiboot.c: Likewise.
43686 * util/hostfs.c: Likewise.
43687
5626aee1 436882008-02-08 Robert Millan <rmh@aybabtu.com>
43689
43690 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43691 to a grub_disk_t array.
43692 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43693 `device[x]'.
43694 (grub_raid_scan_device): Replace `device[x].name' accesses with
43695 `device[x]->name'. Simplify initialization of `array->device[x]'.
43696
554f0187 436972008-02-08 Robert Millan <rmh@aybabtu.com>
43698
43699 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43700 grub_dprintf() calls.
43701 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43702 error message.
43703
1ec8425d 437042008-02-07 Christian Franke <franke@computer.org>
43705
43706 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43707 instead of fseek and ftell to support large files.
43708 (grub_hostfs_read): Likewise.
43709
f2156fda 437102008-02-07 Robert Millan <rmh@aybabtu.com>
43711
43712 Patch from Jeroen Dekkers.
43713 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43714 failure, since successfully reading all array members might not be
f2156fda 43715 required.
43716
9216e0e7 437172008-02-06 Robert Millan <rmh@aybabtu.com>
43718
43719 * util/grub-probe.c (probe): Simplify partmap probing (with the
43720 assumption that the first word up to the underscore equals to
43721 the module name).
43722
b0dfd29a 437232008-02-06 Christian Franke <franke@computer.org>
43724
43725 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43726 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43727 last block of a cpio or tar stream.
43728 Check for "TRAILER!!!" instead of any empty data
43729 block to detect last block of a cpio stream.
43730 (grub_cpio_dir): Fix constness of variable np.
43731 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43732 cpio or tar trailer is detected. This fixes a crash
43733 on open of a non existing file.
43734
c32865bf 437352008-02-05 Bean <bean123ch@gmail.com>
43736
43737 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43738 address of entry.
43739 (grub_multiboot_load_elf64): Likewise.
43740 (grub_multiboot): Initialize mbi structure.
43741
43742 * util/grub-fstest.c: Don't include unused header file script.h.
43743
fe6b695a 43744 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43745 of file.
43746 (grub_fstest_SOURCES): Likewise.
43747
409480b7 437482008-02-05 Robert Millan <rmh@aybabtu.com>
43749
43750 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43751 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43752 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43753 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43754
43755 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43756 (translation_table): Replace hardcoded values with macros
43757 provided by `<grub/term.h>'.
43758
43759 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43760 (keyboard_map): Correct/add a few values, with macros provided
43761 by `<grub/term.h>'.
43762 (keyboard_map_shift): Zero values that don't differ from their
43763 `keyboard_map' equivalents.
43764 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43765 Discard the second scan code that is always sent by Caps lock.
43766 Only use `keyboard_map_shift' when it provides a non-zero value,
43767 otherwise fallback to `keyboard_map'.
43768
99fadbaa 437692008-02-04 Bean <bean123ch@gmail.com>
43770
43771 * Makefile.in (enable_grub_fstest): New variable.
43772
43773 * conf/common.rmk (grub_fstest_init.lst): New rule.
43774 (grub_fstest_init.h): Likewise.
43775 (grub_fstest_init.c): Likewise.
43776 (util/grub-fstest.c_DEPENDENCIES): New variable.
43777 (grub_fstest_SOURCES): Likewise.
43778
43779 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43780
43781 * util/grub-fstest.c: New file.
43782
bf567c50 437832008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43784
43785 Make grub-setup handle a separate root device.
f19dbdb7 43786
bf567c50 43787 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43788 so that the root device can be compared with the destination
43789 device.
43790 When embedding the core image, if the root and destination devices
43791 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43792 0xFF.
43793 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43794
9be6b98b 437952008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43796
43797 Add support for having a grub directory in a different drive. This
43798 is still only the data handling part.
f19dbdb7 43799
9be6b98b 43800 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43801 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43802 (grub_root_drive): New variable.
43803
43804 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43805 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43806 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43807 as it was.
43808
43809 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43810
43811 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43812 macro.
43813 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43814
43815 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43816 is bogus, because PXE booting does not specify any drive
43817 correctly.
43818
43819 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43820 am not sure if this is really correct.
43821
43822 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43823 is always identical to the boot drive when booting from a CD.
43824
43825 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43826 longer.
43827 (root_drive): New variable.
43828 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43829 (setup_sectors): Push %dx right after popping it, because %dh will
43830 be modified later.
43831 (copy_buffer): Restore %dx.
43832
e0ca0677 438332008-02-03 Robert Millan <rmh@aybabtu.com>
43834
43835 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43836 use `cdboot.img' for cdrom images.
43837
3b3f6629 438382008-02-03 Robert Millan <rmh@aybabtu.com>
43839
43840 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43841 only setup gfxterm when `font' command has succeeded.
43842
d42b3672 438432008-02-03 Robert Millan <rmh@aybabtu.com>
43844
43845 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43846 (grub_rescue_cmd_multiboot_loader)
43847 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43848
fa370ea6 438492008-02-03 Pavel Roskin <proski@gnu.org>
43850
e0c5dacb 43851 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43852 %edx and %esi from stack only after grub_gate_a20() is called.
43853 grub_gate_a20() clobbers %edx.
43854
f2a76e1d 438552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43856
43857 * configure.ac (AC_INIT): Bumped to 1.96.
43858
43859 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43860 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43861 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43862 video/readers/png.c.
43863
90fd32d1 438642008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43865
43866 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43867 (cdboot_img_SOURCES): New variable.
43868 (cdboot_img_ASFLAGS): New variable.
43869 (cdboot_img_LDFLAGS): New variable.
43870
43871 * boot/i386/pc/cdboot.S: New file.
43872
43873 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43874 (cd_count): Likewise.
43875 (grub_biosdisk_get_drive): Add support for cd device.
43876 (grub_biosdisk_call_hook): Likewise.
43877 (grub_biosdisk_iterate): Likewise.
43878 (grub_biosdisk_open): Likewise.
43879 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43880 (grub_biosdisk_rw): Support reading from cd device.
43881 (GRUB_MOD_INIT): Iterate cd devices.
43882
43883 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43884 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43885 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43886
43887 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43888
4020aa53 438892008-02-02 Robert Millan <rmh@aybabtu.com>
43890
43891 * commands/read.c: New file.
43892 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43893 (read_mod_SOURCES): New variable.
43894 (read_mod_CFLAGS): Likewise.
43895 (read_mod_LDFLAGS): Likewise.
43896
e03a1132 438972008-02-02 Robert Millan <rmh@aybabtu.com>
43898
43899 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43900 determining whether menu has to be displayed.
43901
58c69220 439022008-02-02 Marco Gerards <marco@gnu.org>
43903
43904 * bus/pci.c: New file.
43905
43906 * include/grub/pci.h: Likewise.
43907
43908 * include/grub/i386/pc/pci.h: Likewise.
43909
43910 * commands/lspci.c: Likewise.
43911
43912 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43913 `lspci.mod'.
43914 (pci_mod_SOURCES): New variable.
43915 (pci_mod_CFLAGS): Likewise.
43916 (pci_mod_LDFLAGS): Likewise.
43917 (lspci_mod_SOURCES): Likewise.
43918 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43919 (lspci_mod_LDFLAGS): Likewise.
58c69220 43920
c004e1b4 439212008-02-02 Bean <bean123ch@gmail.com>
43922
43923 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43924 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43925
43926 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43927 (grub_xfs_btree_node): New structure.
43928 (grub_xfs_btree_root): New structure.
43929 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43930 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43931 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43932 (GRUB_XFS_EXTENT_SIZE): Likewise.
43933 (grub_xfs_read_block): Support btree format type.
43934 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43935 Use directory block as basic unit.
43936
43937 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43938
43939 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43940 __attribute__ ((__regparm__ (1))).
43941
f95562bf 439422008-02-01 Robert Millan <rmh@aybabtu.com>
43943
43944 Correct a mistake in previous commit.
43945
43946 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43947 top.
43948 (normal/command.c_DEPENDENCIES): New variable.
43949
7d31f41f 439502008-02-01 Robert Millan <rmh@aybabtu.com>
43951
43952 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43953 top.
43954 (normal/command.c_DEPENDENCIES): New variable.
43955 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43956 * conf/i386-ieee1275.rmk: Likewise.
43957 * conf/i386-linuxbios.rmk: Likewise.
43958 * conf/i386-pc.rmk: Likewise.
43959 * conf/sparc64-ieee1275.rmk: Likewise.
43960 * conf/powerpc-ieee1275.rmk: Likewise.
43961 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43962
43963 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43964
60b6be74 439652008-02-01 Robert Millan <rmh@aybabtu.com>
43966
43967 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43968 call at beginning of function.
43969
078522ab 439702008-01-31 Pavel Roskin <proski@gnu.org>
43971
43972 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43973 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43974 (grub_mkrescue_SOURCES): Likewise.
078522ab 43975 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43976
ccaa8a5f 439772008-01-30 Robert Millan <rmh@aybabtu.com>
43978
43979 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43980 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43981 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43982 (grub_probe_SOURCES): ... to here.
43983
43984 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43985 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43986 * conf/i386-ieee1275.rmk: Likewise.
43987 * conf/i386-linuxbios.rmk: Likewise.
43988 * conf/powerpc-ieee1275.rmk: Likewise.
43989
ae5a9cd7 439902008-01-30 Tristan Gingold <gingold@free.fr>
43991
43992 * kern/rescue.c: Silently accept empty lines.
43993
70bc2ef2 439942008-01-29 Bean <bean123ch@gmail.com>
43995
43996 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43997 (real_code_2): Code cleanup and change comment style.
43998 (move_memory): Avoid using 32-bit address mode.
43999
6a4d50ea 440002008-01-29 Bean <bean123ch@gmail.com>
44001
44002 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44003 (png_mod_SOURCES): New variable.
44004 (png_mod_CFLAGS): Likewise.
44005 (png_mod_LDFLAGS): Likewise.
44006
44007 * video/readers/png.c: New file.
44008
11cc30ac 440092008-01-28 Robert Millan <rmh@aybabtu.com>
44010
44011 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44012 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44013 `ifndef GRUB_MOD_GAP' hack.
44014 * util/elf/grub-mkimage.c (add_segments): Likewise.
44015
3abc589f 440162008-01-27 Robert Millan <rmh@aybabtu.com>
44017
44018 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44019 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44020 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44021
e1907778 440222008-01-27 Robert Millan <rmh@aybabtu.com>
44023
44024 Get grub-emu to build again (including parallel builds).
44025
44026 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44027 Split into ...
44028 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44029 (normal/execute.c_DEPENDENCIES): ... this, ...
44030 (grub-emu_DEPENDENCIES): ... and this.
44031
44032 * conf/i386-efi.rmk: Likewise.
44033 * conf/i386-linuxbios.rmk: Likewise.
44034 * conf/i386-ieee1275.rmk: Likewise.
44035 * conf/powerpc-ieee1275.rmk: Likewise.
44036 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44037
2216b101 440382008-01-27 Robert Millan <rmh@aybabtu.com>
44039
44040 * NEWS: Add a few items.
44041
f75172d9 440422008-01-27 Robert Millan <rmh@aybabtu.com>
44043
44044 Fix parallel builds with grub-emu. Based on earlier commit for
44045 grub-probe and grub-setup.
44046
44047 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44048 (util/grub-emu.c_DEPENDENCIES): ... this.
44049 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44050 (util/grub-emu.c_DEPENDENCIES): ... this.
44051 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44052 (util/grub-emu.c_DEPENDENCIES): ... this.
44053 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44054 (util/grub-emu.c_DEPENDENCIES): ... this.
44055 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44056 (util/grub-emu.c_DEPENDENCIES): ... this.
44057
3f51de77 440582008-01-27 Pavel Roskin <proski@gnu.org>
44059
44060 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44061 to create a gap between _end and the modules added to the image
44062 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44063 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44064 * util/elf/grub-mkimage.c (add_segments): Likewise.
44065
2033f53e 440662008-01-26 Pavel Roskin <proski@gnu.org>
44067
44068 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44069 just return an error.
44070
22da1f6f 440712008-01-26 Bean <bean123ch@gmail.com>
44072
44073 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44074 (grub_reiserfs_get_item): Save offset of the next item.
44075 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44076
2a9525e6 440772008-01-25 Robert Millan <rmh@aybabtu.com>
44078
44079 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44080 make all filesystem sources appear together (possibly fixing omissions
44081 while at it).
44082 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44083 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44084 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44086
44087 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44088 add `kern/file.c'.
44089 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44090 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44091 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44092 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44093
44094 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44095 (probe): Add a sanity check to make sure of our ability to read
44096 requested files when probing for filesystem type.
44097
44098 * genmk.rb: Update copyright year (2007).
44099
44100 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44101 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44102 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44103 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44104 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44105 : Remove function prototypes.
44106
b95f71b5 441072008-01-25 Robert Millan <rmh@aybabtu.com>
44108
44109 Revert my previous commits (based on wrong assumption of how grub_errno
44110 works).
44111
fe6b695a 44112 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44113 * kern/file.c (grub_file_open): Likewise.
44114
d08bbb49 441152008-01-24 Pavel Roskin <proski@gnu.org>
44116
44117 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44118 that hang if GRUB tries to setup colors.
44119 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44120 colors for firmwares that don't support it.
44121 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44122 Recognize Open Hack'Ware, set flags to work around its
44123 limitations.
44124
605e36ed 441252008-01-24 Robert Millan <rmh@aybabtu.com>
44126
44127 * kern/file.c (grub_file_open): Do not account previous failures of
44128 unrelated functions when grub_errno is checked for.
44129 Reported by Oleg Strikov.
44130
bac332a1 441312008-01-24 Bean <bean123ch@gmail.com>
44132
44133 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44134 (grub_ufs_sblock): New member volume name.
44135 (grub_ufs_find_file): Fix string copy bug.
44136 (grub_ufs_label): Implement this function properly.
44137
44138 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44139 (grub_hfs_iterate_records): Use the correct file number for extents
44140 and catalog file. Fix problem in next index calculation.
44141 (grub_hfs_find_node): Replace recursive function call with loop.
44142 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44143
15c80c09 441442008-01-23 Robert Millan <rmh@aybabtu.com>
44145
44146 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44147 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44148 (grub_multiboot2_real_boot): New function prototype.
44149
44150 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44151 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44152
44153 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44154 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44155
305338fd 441562008-01-23 Robert Millan <rmh@aybabtu.com>
44157
44158 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44159 #ifdef'ed out grub_printf().
44160
3ea52685 441612008-01-23 Robert Millan <rmh@aybabtu.com>
44162
44163 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44164 grub_dprintf calls, since they make "debug=all" mode unusable.
44165 (grub_console_checkkey): Likewise.
44166
5882ae4b 441672008-01-23 Robert Millan <rmh@aybabtu.com>
44168
44169 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44170 `term/i386/pc/at_keyboard.c'.
44171 (pkglib_MODULES): Add `serial.mod'.
44172 (serial_mod_SOURCES): New variable.
44173 (serial_mod_CFLAGS): Likewise.
44174 (serial_mod_LDFLAGS): Likewise.
44175
44176 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44177 `<grub/powerpc/ieee1275/console.h>'.
44178 (grub_keyboard_controller_init): New function prototype.
44179 (grub_console_checkkey): Likewise.
44180 (grub_console_getkey): Likewise.
44181
44182 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44183 keyboard on i386.
44184
44185 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44186 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44187
06ab5303 441882008-01-23 Robert Millan <rmh@aybabtu.com>
44189
44190 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44191 present, "(memdisk)/boot/grub" becomes the default prefix.
44192
44193 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44194 a memdisk tarball with all the modules. Add --overlay=DIR option that
44195 allows users to overlay additional files into the image.
44196
dbb475a4 441972008-01-23 Robert Millan <rmh@aybabtu.com>
44198
44199 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44200 and `machine/memory.h'.
44201 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44202 (_multiboot_mod_SOURCES): New variable.
44203 (_multiboot_mod_CFLAGS): Likewise.
44204 (_multiboot_mod_LDFLAGS): Likewise.
44205 (multiboot_mod_SOURCES): Likewise.
44206 (multiboot_mod_CFLAGS): Likewise.
44207 (multiboot_mod_LDFLAGS): Likewise.
44208
44209 * include/grub/i386/ieee1275/loader.h: New file.
44210
44211 * include/grub/i386/ieee1275/machine.h: Likewise.
44212
44213 * include/grub/i386/ieee1275/memory.h: Likewise.
44214
44215 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44216 variable declaration.
44217 (grub_os_area_size): Likewise.
44218
44219 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44220 (grub_lower_mem, grub_upper_mem): New variables.
44221 (grub_stop_floppy): New function (just to make
44222 grub_multiboot2_real_boot() happy).
44223
44224 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44225 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44226 (grub_stop): New function.
44227 Include `"../realmode.S"' and `"../loader.S"'.
44228
44229 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44230 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44231
44232 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44233 rely on grub_multiboot2_real_boot() for final boot.
44234
25638629 442352008-01-22 Robert Millan <rmh@aybabtu.com>
44236
44237 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44238 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44239 device that doesn't look like an SD card.
44240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44241 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44242 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44243 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44244 found.
44245
9dad816d 442462008-01-22 Robert Millan <rmh@aybabtu.com>
44247
44248 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44249 avoid claiming over our own code.
44250
34842f2d 442512008-01-22 Bean <bean123ch@gmail.com>
44252
44253 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44254 (jpeg_mod_SOURCES): New variable.
44255 (jpeg_mod_CFLAGS): Likewise.
44256 (jpeg_mod_LDFLAGS): Likewise.
44257
44258 * video/readers/jpeg.c : New file.
44259
44023a28 442602008-01-22 Bean <bean123ch@gmail.com>
44261
44262 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44263 there are no more items.
44264
bc2d8ac6 442652008-01-21 Robert Millan <rmh@aybabtu.com>
44266
44267 * kern/mm.c (grub_mm_init_region): Improve debug message.
44268
261bd4bc 442692008-01-21 Robert Millan <rmh@aybabtu.com>
44270
44271 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44272 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44273 address.
44274 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44275 a C macro.
44276 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44277 Indicates start of upper memory.
44278 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44279 (generate_image): Abort when image size is big enough to corrupt
44280 upper memory.
44281
44282 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44283 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44284 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44285 instead of hardcoding 0xA0000.
44286 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44287 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44288 instead of hardcoding 0xA0000.
44289
f970b55e 442902008-01-21 Robert Millan <rmh@aybabtu.com>
44291
44292 * disk/memdisk.c (memdisk_size): New variable.
44293 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44294 `memdisk_size'.
44295 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44296 image to dynamic memory.
44297 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44298 `memdisk_size'. Free memdisk block.
44299
1a8b0526 443002008-01-21 Robert Millan <rmh@aybabtu.com>
44301
44302 Fix detection of very small filesystems (like tar).
44303
44304 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44305 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44306 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44307 a problem with this disk).
44308
6e9b4aab 443092008-01-21 Robert Millan <rmh@aybabtu.com>
44310
44311 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44312 on grub_biosdisk_rw_standard() error.
44313
0d8837b2 443142008-01-21 Robert Millan <rmh@aybabtu.com>
44315
44316 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44317 recent changes.
44318 * kern/elf.c: Likewise.
44319 * kern/ieee1275/ieee1275.c: Likewise.
44320 * kern/powerpc/ieee1275/openfw.c: Likewise.
44321 * term/ieee1275/ofconsole.c: Likewise.
44322
ffd36e34 443232008-01-21 Robert Millan <rmh@aybabtu.com>
44324
44325 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44326
3f0093d0 44327 * include/grub/kernel.h (grub_arch_memdisk_addr)
44328 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44329
3f0093d0 44330 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44331 (grub_arch_memdisk_size): ... to here.
ffd36e34 44332
6c391b21 443332008-01-21 Robert Millan <rmh@aybabtu.com>
44334
44335 Mostly based on bugfix from Bean.
44336
44337 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44338 attribute with hook() parameter.
44339 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44340 declaration.
44341 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44342 attribute with hook() parameter.
44343 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44344 declaration.
44345
55a581dc 443462008-01-21 Robert Millan <rmh@aybabtu.com>
44347
44348 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44349 (pkglib_MODULES): Add `memdisk.mod'.
44350 (memdisk_mod_SOURCES): New variable.
44351 (memdisk_mod_CFLAGS): Likewise.
44352 (memdisk_mod_LDFLAGS): Likewise.
44353
44354 * disk/memdisk.c: New file.
44355
44356 * include/grub/disk.h (grub_disk_dev_id): Add
44357 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44358
44359 * include/grub/i386/pc/kernel.h
44360 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44361 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44362 (grub_kernel_image_size): New variable declaration.
44363 (grub_total_module_size): Likewise.
44364 (grub_memdisk_image_size): Likewise.
44365
44366 * include/grub/i386/pc/memory.h
44367 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44368
44369 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44370 (grub_arch_memdisk_addr): New variable declaration.
44371 (grub_arch_memdisk_size): Likewise.
44372
44373 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44374 (grub_arch_memdisk_size): Likewise.
44375
44376 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44377 (codestart): Replace hardcoded `0x100000' with
44378 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44379
44380 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44381 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44382 not NULL, append the contents of the file it refers to, at the end of
44383 the compressed kernel image. Initialize `grub_memdisk_image_size'
44384 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44385 (options): Add "memdisk"|'m' option.
44386 (main): Parse --memdisk|-m option, and pass user-provided path as
44387 parameter to generate_image().
44388
3d7f54c9 443892008-01-20 Robert Millan <rmh@aybabtu.com>
44390
44391 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44392 grub_dprintf() calls from here ...
44393 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44394
0bf74728 443952008-01-20 Robert Millan <rmh@aybabtu.com>
44396
44397 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44398
44399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44400 declaration.
44401 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44402 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44403 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44404 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44405 property).
44406 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44407 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44408
33bf70a7 444092008-01-19 Robert Millan <rmh@aybabtu.com>
44410
fe6b695a 44411 Get rid of confusing function (superseded by
33bf70a7 44412 `grub_ieee1275_get_integer_property')
44413 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44414 prototype.
44415 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44416 function.
44417 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44418 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44419 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44420
e2da7d26 444212008-01-19 Robert Millan <rmh@aybabtu.com>
44422
44423 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44424 command after "shut-down", since implementations differ on which
44425 the command for halt is.
44426
59f1fd8d 444272008-01-19 Robert Millan <rmh@aybabtu.com>
44428
44429 * include/grub/i386/linuxbios/console.h: Add header protection.
44430 (grub_keyboard_controller_init): New function prototype.
44431 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44432 (KEYBOARD_COMMAND_READ): Likewise.
44433 (KEYBOARD_COMMAND_WRITE): Likewise.
44434 (KEYBOARD_SCANCODE_SET1): Likewise.
44435 (grub_keyboard_controller_write): New function.
44436 (grub_keyboard_controller_read): Likewise.
44437 (grub_keyboard_controller_init): Likewise.
44438
44439 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44440 (grub_console_init): On coreboot/LinuxBIOS, call
44441 grub_keyboard_controller_init().
44442
5f5a7c15 444432008-01-19 Robert Millan <rmh@aybabtu.com>
44444
44445 PowerPC changes provided by Pavel Roskin.
44446
44447 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44448 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44449 don't rely on cmain() doing it.
44450 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44451 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44452
1210e168 444532008-01-16 Robert Millan <rmh@aybabtu.com>
44454
44455 * include/grub/i386/linuxbios/memory.h
44456 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44457 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44458 receive `table_header' as argument. Instead, probe for it in the
44459 known memory ranges where it can be present.
44460 (grub_available_iterate): Do not pass a fixed `table_header' address
44461 to grub_linuxbios_table_iterate().
44462
3d04eab8 444632008-01-15 Robert Millan <rmh@aybabtu.com>
44464
44465 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44466 * conf/i386-ieee1275.rmk: New file.
44467 * include/grub/i386/ieee1275/console.h: Likewise.
44468 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44469 * include/grub/i386/ieee1275/kernel.h: Likewise.
44470 * include/grub/i386/ieee1275/time.h: Likewise.
44471 * kern/i386/ieee1275/init.c: Likewise.
44472 * kern/i386/ieee1275/startup.S: Likewise.
44473
d1bc1b73 444742008-01-15 Robert Millan <rmh@aybabtu.com>
44475
44476 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44477 when pointers are 32-bit (but still do set it to one when they are
44478 64-bit).
44479
66a65807 444802008-01-15 Robert Millan <rmh@aybabtu.com>
44481
44482 * include/grub/ieee1275/ieee1275.h
44483 (grub_ieee1275_get_integer_property): New function prototype.
44484
44485 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44486 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44487 grub_ieee1275_get_property() to handle endianness.
66a65807 44488
44489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44490 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44491 where appropriate.
66a65807 44492 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44493 (grub_map): Likewise.
44494 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44495
a83ccafd 444962008-01-15 Bean <bean123ch@gmail.com>
44497
44498 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44499 (grub_script_execute_cmdline): Reset grub_errno.
44500
44501 * normal/main.c (read_config_file): Reset grub_errno.
44502
44503 * normal/parse.y (script_init): New.
44504 (script): Move function and menuentry here.
44505 (delimiter): New.
44506 (command): Add delimiter at the end of command.
44507 (commands): Adjust to match the new command.
44508 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44509 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44510 (if): Use the new commands.
44511
44512 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44513
df6ecfc6 445142008-01-15 Robert Millan <rmh@aybabtu.com>
44515
44516 * normal/menu.c (run_menu): Move timeout message from here ...
44517 (print_timeout): ... to here.
44518 (run_menu): Use print_timeout() once during initial draw to print
44519 the whole message, and again in every clock tick to update only
44520 the number of seconds.
44521
87ae25eb 445222008-01-15 Robert Millan <rmh@aybabtu.com>
44523
44524 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44525 actual size of `available' from grub_ieee1275_get_property(), and
44526 restrict parsing to that bound.
44527
47bf09a4 445282008-01-15 Christian Franke <franke@computer.org>
44529
44530 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44531 (argp_program_version): Remove variable.
44532 (argp_program_bug_address): Likewise.
44533 (options): Convert from struct argp_option to struct option.
44534 (struct arguments): Remove.
44535 (parse_opt): Remove.
44536 (usage): New function.
44537 (main): Replace struct args members by simple variables.
44538 Replace argp_parse() by getopt_long().
44539 Add switch to evaluate options.
44540 Add missing "(...)" around root_dev in prefix string.
44541
c86f1469 445422008-01-14 Robert Millan <rmh@aybabtu.com>
44543
44544 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44545 for grub_ieee1275_exit(), in order to improve portability.
44546
e622c559 445472008-01-14 Robert Millan <rmh@aybabtu.com>
44548
44549 * util/grub.d/10_linux.in (prefix): Define.
44550 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44551
44cb1ec8 445522008-01-13 Pavel Roskin <proski@gnu.org>
44553
44554 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44555 grub_errno if no errors have been detected.
44556
1eb8c802 445572008-01-12 Robert Millan <rmh@aybabtu.com>
44558
44559 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44560 (grub_util_get_dev_abstraction): New function prototype.
44561
44562 * util/getroot.c: Include `<grub/util/getroot.h>'
44563 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44564 (grub_util_get_dev_abstraction): ... here (new function).
44565
44566 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44567 `PRINT_ABSTRACTION'.
44568 (probe): Probe for abstraction type when requested.
44569 (main): Understand `--target=abstraction'.
44570
44571 * util/i386/efi/grub-install.in: Add abstraction module to core
44572 image when it is found to be necessary.
44573 * util/i386/pc/grub-install.in: Likewise.
44574 * util/powerpc/ieee1275/grub-install.in: Likewise.
44575
44576 * util/update-grub_lib.in (font_path): Return system path without
44577 converting to GRUB path.
44578 * util/update-grub.in: Convert system path returned by font_path()
44579 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44580 abstraction module is needed for loading fonts (if any). Export
44581 that as `GRUB_PRELOAD_MODULES'.
44582 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44583 insmod commands).
44584
52bd3de9 445852008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44586
44587 Remove some unused code from reiserfs.
f19dbdb7 44588
52bd3de9 44589 * fs/reiserfs.c (struct grub_reiserfs_key)
44590 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44591 (struct grub_reiserfs_node_body): Removed.
44592 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44593 Likewise.
44594 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44595 Likewise.
44596 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44597 Likewise.
44598 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44599 Likewise.
44600 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44601 Likewise.
44602 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44603 Likewise.
44604 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44605 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44606 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44607
2f80039d 446082008-01-10 Robert Millan <rmh@aybabtu.com>
44609
44610 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44611 Determines if a file is garbage left by packaging systems, etc.
44612 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44613 for processing /etc/grub.d scripts.
44614 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44615 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44616 as a condition for processing Linux images.
44617
87888032 446182008-01-10 Pavel Roskin <proski@gnu.org>
44619
44620 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44621 to compile reiserfs.c on PowerPC.
44622
7e54fced 446232008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44624
44625 * kern/device.c (grub_device_iterate): Do not abort device iteration
44626 when one of the devices cannot be opened.
44627 * kern/disk.c (grub_disk_open): Do not account previous failures of
44628 unrelated functions when grub_errno is checked for.
44629
5aa541e6 446302008-01-08 Robert Millan <rmh@aybabtu.com>
44631
44632 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44633 `! grub_linux_is_bzimage', change order of address comparison to make
44634 it more intuitive, and improve "too big zImage" error message.
44635
7076340d 446362008-01-08 Robert Millan <rmh@aybabtu.com>
44637
44638 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44639 `$(update-grub_DATA)'.
44640 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44641 targets.
44642
9ca70333 446432008-01-07 Robert Millan <rmh@aybabtu.com>
44644
44645 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44646 which instruction is modified by grub-setup during installation
44647 (since it wasn't obvious by only looking at this file).
44648
38ccf575 446492008-01-07 Robert Millan <rmh@aybabtu.com>
44650
44651 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44652 listing actual TODO items.
44653
f5db4291 446542008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44655
868967cf 44656 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44657 correctly.
44658 (grub_reiserfs_get_key_offset): Likewise.
44659 (grub_reiserfs_set_key_offset): Likewise.
44660 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44661 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44662
44663 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44664 better to remove the bitfield version completely.
f19dbdb7 44665
868967cf 446662008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44667
f5db4291 44668 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44669 allocated from the heap, due to the fshelp implementation.
44670 (grub_reiserfs_dir): Free NODE, due to the same reason.
44671
492e6d9d 446722008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44673
44674 Mostly from Vincent Pelletier:
f19dbdb7 44675
492e6d9d 44676 * fs/reiserfs.c: New file.
f19dbdb7 44677
492e6d9d 44678 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44679 (reiserfs_mod_SOURCES): New variable.
44680 (reiserfs_mod_CFLAGS): Likewise.
44681 (reiserfs_mod_LDFLAGS): Likewise.
44682
44683 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44684 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44685 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44686 normal/color.c.
44687
9ce3e7c1 446882008-01-06 Robert Millan <rmh@aybabtu.com>
44689
44690 * normal/color.c: Remove `<grub/env.h>'.
44691
f3b58148 446922008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44693
44694 * include/grub/normal.h: Include <grub/env.h>.
44695
7ac3bcfa 446962008-01-05 Robert Millan <rmh@aybabtu.com>
44697
44698 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44699 usage example with `(hd0,1)'.
fb358190 44700 Reported by Samuel Thibault.
7ac3bcfa 44701
c8ee99d7 447022008-01-05 Robert Millan <rmh@aybabtu.com>
44703
44704 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44705 (grub_linux_boot_zimage): Rename to ...
44706 (grub_linux_boot): ... this.
44707 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44708 (grub_linux_boot_zimage): Conditionalize zImage copy.
44709
44710 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44711 (grub_linux_boot_bzimage): Remove prototype.
44712 (grub_linux_boot_zimage): Rename to ...
44713 (grub_linux_boot): ... this.
44714
44715 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44716 (grub_linux_boot): Remove function.
44717
0ece25b1 447182008-01-05 Robert Millan <rmh@aybabtu.com>
44719
44720 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44721 (grub_env_write_color_highlight): Likewise.
44722 (grub_wait_after_message): Likewise.
44723
44724 * normal/color.c: New file.
44725
44726 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44727 (normal_mod_DEPENDENCIES): Likewise.
44728
44729 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44730 (normal_mod_DEPENDENCIES): Likewise.
44731
44732 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44733 (normal_mod_DEPENDENCIES): Likewise.
44734
44735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44736 (normal_mod_DEPENDENCIES): Likewise.
44737
44738 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44739 for waiting after a message is printed.
44740 * normal/main.c (read_config_file): Likewise.
44741 (grub_normal_init): Register grub_env_write_color_normal() and
44742 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44743 `color_highlight' variables as global.
44744
44745 * normal/menu.c (grub_wait_after_message): New function.
44746 (grub_color_menu_normal): New variable. Replaces ...
44747 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44748 (grub_color_menu_highlight): New variable. Replaces ...
44749 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44750 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44751 `GRUB_TERM_COLOR_STANDARD'.
44752 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44753 `normal_code' and `highlight_code' to `old_color_normal' and
44754 `old_color_highlight', respectively.
44755 (grub_menu_init_page): Update colors when drawing the menu, based on
44756 `menu_color_normal' and `menu_color_highlight' variables.
44757 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44758 a message is printed.
44759
182dd4e5 447602008-01-05 Robert Millan <rmh@aybabtu.com>
44761
44762 * kern/env.c (grub_env_context_open): Propagate hooks for global
44763 variables to new context.
44764
44765 * kern/main.c (grub_set_root_dev): Export `root' variable.
44766
ddf8f6ad 447672008-01-05 Robert Millan <rmh@aybabtu.com>
44768
44769 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44770 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44771 them.
44772
d8b43d9b 447732008-01-05 Robert Millan <rmh@aybabtu.com>
44774
44775 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44776
2bff2de3 447772008-01-04 Christian Franke <franke@computer.org>
44778
44779 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44780 of eisa_mmap.
44781
97eab917 447822008-01-03 Pavel Roskin <proski@gnu.org>
44783
44784 * kern/i386/linuxbios/init.c: Put "void" to all function
44785 declarations with no arguments.
44786 * kern/powerpc/ieee1275/init.c: Likewise.
44787 * term/i386/pc/at_keyboard.c: Likewise.
44788 * term/i386/pc/vga_text.c: Likewise.
44789 * util/grub-mkdevicemap.c: Likewise.
44790
b9416d00 447912008-01-02 Robert Millan <rmh@aybabtu.com>
44792
44793 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44794 message when loaded image is out of bounds.
44795 (grub_multiboot_load_elf64): Likewise.
44796
92695df9 447972008-01-02 Pavel Roskin <proski@gnu.org>
44798
44799 * util/grub.d/10_linux.in: Try version without ".old" when
44800 looking for initrd. It's better to use initrd from the newer
44801 kernel of the same version than no initrd at all.
44802
d98d9cad 448032008-01-01 Robert Millan <rmh@aybabtu.com>
44804
44805 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44806
dbfdce36 448072008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44808
f19dbdb7 44809 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44810 grub_video_get_active_render_target.
44811 (grub_video_adapter): Added unmap_color and get_active_render_target.
44812
f19dbdb7 44813 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44814 grub_video_get_active_render_target.
44815 (grub_video_get_info): Changed method to accept NULL pointer as an
44816 argument to allow detection of active video adapter.
44817
44818 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44819 grub_video_vbe_unmap_color_int.
44820 Added grub_video_vbe_unmap_color and
44821 grub_video_vbe_get_active_render_target.
44822 (grub_video_vbe_adapter): Added unmap_color and
44823 get_active_render_target.
44824
f19dbdb7 44825 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44826 with grub_video_vbe_unmap_color_int.
44827
44828 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44829 (DEFAULT_NORMAL_COLOR): Likewise.
44830 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44831 (DEFAULT_FG_COLOR): Removed.
44832 (DEFAULT_BG_COLOR): Likewise.
44833 (DEFAULT_CURSOR_COLOR): Changed value.
44834 (grub_virtual_screen): Added standard_color_setting,
44835 normal_color_setting, highlight_color_setting and term_color.
44836 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44837 (bitmap_width): Added.
44838 (bitmap_height): Likewise.
44839 (bitmap): Likewise.
44840 (set_term_color): Likewise.
44841 (grub_virtual_screen_setup): Changed to use new terminal coloring
44842 settings.
44843 (grub_gfxterm_init): Added init for bitmap.
44844 (grub_gfxterm_fini): Added destroy for bitmap.
44845 (redraw_screen_rect): Updated to use background bitmap and new
44846 terminal coloring.
44847 (scroll_up): Added optimization for case when there is no bitmap.
44848 (grub_gfxterm_cls): Fixed to use correct background color.
44849 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44850 coloring.
44851 (grub_virtual_screen_setcolor): Likewise.
44852 (grub_virtual_screen_getcolor): Added.
44853 (grub_gfxterm_background_image_cmd): Likewise.
44854 (grub_video_term): Added setcolor and getcolor.
44855 (MOD_INIT): Added registration of background_image command.
44856 (MOD_TERM): Added unregistration for background_image command.
44857
c3c20931 448582007-12-30 Pavel Roskin <proski@gnu.org>
44859
44860 * loader/multiboot_loader.c: Fix multiboot command
44861 unregistration. Fix all typos in the word "multiboot".
44862
df266716 448632007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44864
44865 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44866 support for initrd names used in Fedora.
44867
fc6e896c 448682007-12-26 Bean <bean123ch@gmail.com>
44869
44870 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44871 (cpio_mod_SOURCES): New variable.
44872 (cpio_mod_CFLAGS): Likewise.
44873 (cpio_mod_LDFLAGS): Likewise.
44874
44875 * fs/cpio.c: New file.
44876
44877 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44878
44879 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44880
44881 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44882
44883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44884
533110ad 448852007-12-25 Robert Millan <rmh@aybabtu.com>
44886
44887 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44888 (grub_getcolor): New function.
44889
44890 * kern/term.c (grub_getcolor): New function.
44891 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44892 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44893 (print_entry): Set normal and highlight colors to
44894 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44895 respectively, before printing and restore them to old
44896 values afterwards.
44897 (grub_menu_init_page): Likewise. Fill an additional colored space
44898 that would otherwise be left blank.
44899
44900 * term/efi/console.c (grub_console_getcolor): New function.
44901 (struct grub_console_term.getcolor): New variable.
44902 * term/i386/pc/console.c (grub_console_getcolor): New function.
44903 (struct grub_console_term.getcolor): New variable.
44904 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44905 (struct grub_console_term.getcolor): New variable.
44906
44907 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44908 (struct grub_console_term.setcolor): Remove variable.
44909 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44910 (struct grub_console_term.setcolor): Remove variable.
44911 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44912 (struct grub_console_term.setcolor): Remove variable.
44913 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44914 (struct grub_console_term.setcolor): Remove variable.
44915
4931827f 449162007-12-25 Robert Millan <rmh@aybabtu.com>
44917
44918 * configure.ac: Search for possible unifont.hex locations, and
44919 define UNIFONT_HEX if found.
44920
44921 * Makefile.in (UNIFONT_HEX): Define variable.
44922 (DATA): Rename to ...
44923 (PKGLIB): ... this. Update all users.
44924 (PKGDATA): New variable.
44925 (pkgdata_IMAGES): Rename to ...
44926 (pkglib_IMAGES): ... this. Update all users.
44927 (pkgdata_MODULES): Rename to ...
44928 (pkglib_MODULES): ... this. Update all users.
44929 (pkgdata_PROGRAMS): Rename to ...
44930 (pkglib_PROGRAMS): ... this. Update all users.
44931 (pkgdata_DATA): Rename to ...
44932 (pkglib_DATA): ... this. Update all users.
44933 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44934 (unicode.pff, ascii.pff): New rules.
44935 (all-local): Add `$(PKGDATA)' dependency.
44936 (install-local): Process `$(PKGDATA)'.
44937
44938 * util/update-grub_lib.in (font_path): Search for *.pff files in
44939 a few more locations, including `${pkgdata}'.
44940
57e57e31 449412007-12-23 Robert Millan <rmh@aybabtu.com>
44942
44943 Patch from Bean <bean123ch@gmail.com>:
44944 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44945 `size'.
44946
4bc72aa9 449472007-12-21 Bean <bean123ch@gmail.com>
44948
44949 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44950 (ntfscomp_mod_SOURCES): New variable.
44951 (ntfscomp_mod_CFLAGS): Likewise.
44952 (ntfscomp_mod_LDFLAGS): Likewise.
44953
44954 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44955 (grub_probe_SOURCES): Likewise.
44956 (grub_emu_SOURCES): Likewise.
44957
44958 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44959 (grub_emu_SOURCES): Likewise.
44960
44961 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44962 (grub_emu_SOURCES): Likewise.
44963
44964 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44965 (grub_emu_SOURCES): Likewise.
44966
44967 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44968 (read_run_list): Renamed to grub_ntfs_read_run_list.
44969 (decomp_nextvcn): Moved to ntfscomp.c.
44970 (decomp_getch): Likewise.
44971 (decomp_get16): Likewise.
44972 (decomp_block): Likewise.
44973 (read_block): Likewise.
44974 (read_data): Partially moved to ntfscomp.c.
44975 (fixup): Change unsigned to grub_uint16_t.
44976 (read_mft): Change unsigned long to grub_uint32_t.
44977 (read_attr): Likewise.
44978 (read_data): Likewise.
44979 (read_run_data): Likewise.
44980 (read_run_list): Likewise.
44981 (read_mft): Likewise.
44982
44983 * fs/ntfscomp.c: New file.
44984
44985 * include/grub/ntfs.h: New file.
44986
af680a87 449872007-12-16 Robert Millan <rmh@aybabtu.com>
44988
44989 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44990 IDE disk check, since Linux is known to support 20 IDE disks.
44991 Reported by Colin Watson.
44992
84be7599 449932007-12-15 Bean <bean123ch@gmail.com>
44994
44995 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44996 (lnxboot_img_SOURCES): New variable.
44997 (lnxboot_img_ASFLAGS): Likewise.
44998 (lnxboot_img_LDFLAGS): Likewise.
44999
45000 * boot/i386/pc/lnxboot.S: New file.
45001
6af9db01 450022007-11-24 Pavel Roskin <proski@gnu.org>
45003
45004 * configure.ac: Test if '--build-id=none' is supported by the
45005 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45006 objcopy to generate incorrect binary files (binutils
45007 2.17.50.0.18-1 as shipped by Fedora 8).
45008 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45009 linking, so that build ID doesn't break the test.
45010
7361cfe6 450112007-11-24 Pavel Roskin <proski@gnu.org>
45012
45013 * include/grub/i386/time.h: use "void" in the argument list
45014 of grub_cpu_idle().
45015 * include/grub/powerpc/time.h: Likewise.
45016 * include/grub/sparc64/time.h: Likewise.
45017
1593e10c 450182007-11-18 Christian Franke <franke@computer.org>
45019
45020 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45021 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45022 This fixes the problem that function keys did not work in grub-emu.
45023
3b8db1a8 450242007-11-18 Christian Franke <franke@computer.org>
45025
45026 * disk/host.c (grub_host_open): Remove attribute unused from
45027 name parameter. Add check for "host". This fixes the problem
45028 that grub-emu does not find partitions.
45029
2e29408d 450302007-11-18 Christian Franke <franke@computer.org>
45031
45032 * util/hostfs.c (is_dir): New function.
45033 (grub_hostfs_dir): Handle missing dirent.d_type case.
45034 (grub_hostfs_read): Add missing fseek().
45035 (grub_hostfs_label): Clear label pointer. This fixes a crash
45036 of grub-emu on "ls (host)".
45037
398cd047 450382007-11-18 Christian Franke <franke@computer.org>
45039
45040 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45041 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45042 to 64 bit boundary by default.
45043
c405c391 450442007-11-18 Bean <bean123ch@gmail.com>
45045
45046 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45047 (hexdump_mod_SOURCES): New variable.
45048 (hexdump_mod_CFLAGS): Likewise.
45049 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45050
c405c391 45051 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45052
45053 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45054
45055 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45056
45057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45058
45059 * include/grub/hexdump.h: New file.
45060
45061 * commands/hexdump.c: New file.
45062
5cced7fd 450632007-11-10 Robert Millan <rmh@aybabtu.com>
45064
45065 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45066 in grub_outb() calls.
45067 (beep_on): Likewise.
45068
8b714eb0 450692007-11-10 Christian Franke <franke@computer.org>
45070
45071 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45072 (grub_menu_run): Likewise.
45073
ce0f1839 450742007-11-10 Robert Millan <rmh@aybabtu.com>
45075
45076 * include/grub/i386/efi/machine.h: New file.
45077 * include/grub/i386/linuxbios/machine.h: Likewise.
45078 * include/grub/i386/pc/machine.h: Likewise.
45079 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45080 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45081
45082 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45083 (serial_hw_io_addr): New variable.
45084 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45085 instead of `(unsigned short *) 0x400'.
45086
270c237d 450872007-11-10 Bean <bean123ch@gmail.com>
45088
45089 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45090
a87783bf 450912007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45092
45093 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45094 (vga_mod_SOURCES): Added.
45095 (vga_mod_CFLAGS): Likewise.
45096 (vga_mod_LDFLAGS): Likewise.
45097
45098 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45099 grub_outb() calls.
45100 (set_map_mask): Likewise.
45101 (set_read_map): Likewise.
45102 (set_read_address): Likewise.
45103 (vga_font): Removed variable.
45104 (get_vga_glyph): Removed function.
45105 (invalidate_char): Likewise.
45106 (write_char): Changed to use grub_font_get_glyph() for font
45107 information.
45108 (grub_vga_putchar): Likewise.
45109 (grub_vga_getcharwidth): Likewise.
45110
6433b448 451112007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45112
45113 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45114 flags.
45115 (pxeboot_img_LDFLAGS): Likewise.
45116 (diskboot_img_LDFLAGS): Likewise.
45117 (kernel_img_LDFLAGS): Likewise.
45118
49178511 451192007-11-06 Robert Millan <rmh@aybabtu.com>
45120
45121 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45122 in grub_outb() calls.
45123 (serial_hw_init): Likewise.
45124
53b052de 451252007-11-05 Robert Millan <rmh@aybabtu.com>
45126
45127 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45128 spaces. Skip non-regular files.
45129
5ab33bba 451302007-11-05 Robert Millan <rmh@aybabtu.com>
45131
45132 * kern/disk.c (grub_disk_firmware_fini)
45133 (grub_disk_firmware_is_tainted): New variables.
45134
45135 * include/grub/disk.h (grub_disk_firmware_fini)
45136 (grub_disk_firmware_is_tainted): Likewise.
45137
45138 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45139 (grub_disk_biosdisk_fini): ... to here.
45140 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45141 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45142 is set. Register grub_disk_biosdisk_fini() in
45143 `grub_disk_firmware_fini'.
45144
45145 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45146 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45147 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45148 to finish existing firmware disk interface.
45149
45150 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45151 (ata_mod_SOURCES): New variable.
45152 (ata_mod_CFLAGS): Likewise.
45153 (ata_mod_LDFLAGS): Likewise.
45154
0149ab7c 451552007-11-05 Robert Millan <rmh@aybabtu.com>
45156
45157 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45158 (grub_ata_wait): Reimplement using grub_millisleep().
45159
45160 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45161 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45162
be7ac41e 451632007-11-03 Marco Gerards <marco@gnu.org>
45164
45165 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45166 (CRTC_ADDR_PORT): New macro.
45167 (CRTC_DATA_PORT): Likewise.
45168 (CRTC_CURSOR): Likewise.
45169 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45170 (CRTC_CURSOR_ADDR_LOW): Likewise.
45171 (update_cursor): New function.
45172 (grub_console_real_putchar): Call `update_cursor'.
45173 (grub_console_gotoxy): Likewise.
45174 (grub_console_cls): Set the default color when clearing the
45175 screen.
45176 (grub_console_setcursor): Implemented.
45177
bb06ab2e 451782007-11-03 Marco Gerards <marco@gnu.org>
45179
45180 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45181 become activate.
45182 (grub_ata_pio_write): Likewise.
45183
45184 (grub_atapi_identify): Wait after issuing an ATA command.
45185 (grub_atapi_packet): Likewise.
45186 (grub_ata_identify): Likewise.
45187 (grub_ata_readwrite): Likewise.
45188
cf8f780b 451892007-11-03 Marco Gerards <marco@gnu.org>
45190
45191 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45192 (grub_ata_pio_write): Likewise.
45193 (grub_ata_readwrite): Use `grub_error', instead of
45194 returning `grub_errno'.
45195
ed649e54 451962007-11-03 Marco Gerards <marco@gnu.org>
45197
45198 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45199 grub_ata_pio_write once for every single sector, instead of for
45200 multiple sectors.
45201
ca25d8f0 452022007-10-31 Robert Millan <rmh@aybabtu.com>
45203
45204 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45205
45206 * conf/i386-linuxbios.rmk: New file.
45207
45208 * kern/i386/pc/hardware.c: Likewise.
45209 * term/i386/pc/at_keyboard.c: Likewise.
45210 * term/i386/pc/vga_text.c: Likewise.
45211
45212 * include/grub/i386/linuxbios/boot.h: Likewise.
45213 * include/grub/i386/linuxbios/console.h: Likewise.
45214 * include/grub/i386/linuxbios/init.h: Likewise.
45215 * include/grub/i386/linuxbios/kernel.h: Likewise.
45216 * include/grub/i386/linuxbios/loader.h: Likewise.
45217 * include/grub/i386/linuxbios/memory.h: Likewise.
45218 * include/grub/i386/linuxbios/serial.h: Likewise.
45219 * include/grub/i386/linuxbios/time.h: Likewise.
45220
45221 * kern/i386/linuxbios/init.c: Likewise.
45222 * kern/i386/linuxbios/startup.S: Likewise.
45223 * kern/i386/linuxbios/table.c: Likewise.
45224
e911ecc1 452252007-10-31 Marco Gerards <marco@gnu.org>
45226
45227 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45228 (ata_mod_SOURCES): New variable.
45229 (ata_mod_CFLAGS): Likewise.
45230 (ata_mod_LDFLAGS): Likewise.
45231
45232 * disk/ata.c: New file.
45233
45234 * include/grub/disk.h (grub_disk_dev_id): Add
45235 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45236
7f66d0e0 452372007-10-31 Robert Millan <rmh@aybabtu.com>
45238
45239 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45240 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45241
45242 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45243 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45244
45245 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45246 `<grub/types.h>'.
45247
45248 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45249
5cd7dd46 452502007-10-27 Robert Millan <rmh@aybabtu.com>
45251
3236ca65 45252 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45253
2ebfc90f 452542007-10-22 Robert Millan <rmh@aybabtu.com>
45255
45256 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45257 `"../realmode.S"'.
45258 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45259
73fcb0f3 452602007-10-22 Robert Millan <rmh@aybabtu.com>
45261
45262 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45263 (pkgdata_MODULES): Add `biosdisk.mod'.
45264 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45265 variables.
45266
45267 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45268 (grub_biosdisk_init): Replace with ...
45269 (GRUB_MOD_INIT(biosdisk)): ... this.
45270 (grub_biosdisk_fini): Replace with ...
45271 (GRUB_MOD_FINI(biosdisk)): ... this.
45272
45273 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45274 (grub_machine_init): Remove call to grub_biosdisk_init().
45275 (grub_machine_fini): Remove call to grub_machine_fini().
45276
45277 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45278
3381d274 452792007-10-22 Robert Millan <rmh@aybabtu.com>
45280
45281 * include/grub/time.h: New file.
45282 * include/grub/i386/time.h: Likewise.
45283 * include/grub/powerpc/time.h: Likewise.
45284 * include/grub/sparc64/time.h: Likewise.
45285
45286 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45287 instances to ...
45288 (KERNEL_MACHINE_TIME_HEADER): ... this.
45289 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45290 instances to ...
45291 (KERNEL_MACHINE_TIME_HEADER): ... this.
45292 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45293 instances to ...
45294 (KERNEL_MACHINE_TIME_HEADER): ... this.
45295
45296 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45297 (grub_millisleep): New function.
45298 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45299 (grub_millisleep): New function.
45300 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45301 Remove `grub/machine/time.h' include.
45302 (grub_millisleep): New function.
45303 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45304 Remove `grub/machine/time.h' include.
45305 (grub_millisleep): New function.
45306
45307 * include/grub/misc.h (grub_div_roundup): New function.
45308
45309 * kern/misc.c: Include `<grub/time.h>'.
45310 (grub_millisleep_generic): New function.
45311
45312 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45313 Add `time.h'.
45314 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45315 Add `time.h'.
45316 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45317 `machine/time.h'. Add `time.h'.
45318 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45319
a39a0312 453202007-10-21 Robert Millan <rmh@aybabtu.com>
45321
45322 * include/grub/misc.h (grub_max): New function.
45323
2aad70e2 453242007-10-21 Robert Millan <rmh@aybabtu.com>
45325
45326 * util/misc.c (grub_util_info): Call fflush() before returning.
45327
54b71c4b 453282007-10-20 Robert Millan <rmh@aybabtu.com>
45329
45330 * genmk.rb (Image): Copy `extra_flags' from here ...
45331 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45332
45333 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45334 to `argc' and `args' arguments.
45335
a979f513 453362007-10-17 Robert Millan <rmh@aybabtu.com>
45337
45338 * kern/i386/loader.S: New file.
45339
45340 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45341 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45342 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45343 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45344 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45345 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45346 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45347 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45348 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45349 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45350 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45351 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45352 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45353 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45354
45355 * kern/i386/realmode.S: New file.
45356
45357 * kern/i386/pc/startup.S (protstack): Moved from here ...
45358 * kern/i386/realmode.S (protstack)... to here.
45359 * kern/i386/pc/startup.S (gdt): Moved from here ...
45360 * kern/i386/realmode.S (gdt)... to here.
45361 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45362 * kern/i386/realmode.S (prot_to_real)... to here.
45363
45364 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45365 `kern/i386/realmode.S'.
45366
825fc8fd 453672007-10-17 Robert Millan <rmh@aybabtu.com>
45368
45369 * include/grub/i386/loader.h: New file.
45370
45371 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45372 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45373 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45374 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45375 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45376 * include/grub/i386/loader.h (grub_linux_prot_size)
45377 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45378 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45379 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45380 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45381
45382 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45383
e179b2f4 453842007-10-15 Robert Millan <rmh@aybabtu.com>
45385
45386 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45387 filesystem when dev->disk is unset.
45388 Do probe for filesystem even when dev->disk->has_partitions is set.
45389 In case a filesystem is found, always report it.
45390 In case it isn't, if dev->disk->has_partitions is set, report that
45391 a partition table was found instead of reporting that no filesystem
45392 could be identified.
45393
5db82af6 453942007-10-12 Robert Millan <rmh@aybabtu.com>
45395
45396 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45397 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45398
68f6ac74 45399 * include/grub/types.h (grub_host_to_target16): New macro.
45400 (grub_host_to_target32): Likewise.
45401 (grub_host_to_target64): Likewise.
45402 (grub_target_to_host16): Likewise.
45403 (grub_target_to_host32): Likewise.
45404 (grub_target_to_host64): Likewise.
5db82af6 45405
45406 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45407 Renamed from to ...
45408 (GRUB_MOD_ALIGN): ...this. Update all users.
45409
68f6ac74 45410 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45411 grub_host_to_target32.
45412 Replace grub_be_to_cpu32 with grub_target_to_host32.
45413 (load_modules): Likewise.
45414 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45415 Replace grub_be_to_cpu32 with grub_target_to_host32.
45416 Replace grub_cpu_to_be16 with grub_host_to_target16.
45417 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45418
3cf497cc 454192007-10-12 Robert Millan <rmh@aybabtu.com>
45420
45421 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45422 * util/elf/grub-mkimage.c: ... here.
45423
45424 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45425 `util/powerpc/ieee1275/grub-mkimage.c'.
45426
c8cc3692 454272007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45428
c8cc3692 45429 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45430 and make it easier to figure out.
45431 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45432 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45433 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45434 leave us with less than HEAP_MIN_SIZE total heap.
45435 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45436
5c58b791 454372007-10-03 Robert Millan <rmh@aybabtu.com>
45438
45439 * include/grub/i386/io.h: New file.
45440 * commands/i386/pc/play.c (inb): Removed.
45441 (outb): Removed.
45442 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45443 with grub_outb().
afcd2ef8 45444 * term/i386/pc/serial.c (inb): Removed.
45445 (outb): Removed.
45446 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45447 with grub_outb().
45448 * term/i386/pc/vga.c (inb): Removed.
45449 (outb): Removed.
45450 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45451 with grub_outb().
5c58b791 45452
1a477ed6 454532007-10-02 Robert Millan <rmh@aybabtu.com>
45454
45455 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45457 Reported by Marcin Kurek.
45458
6b5d80fa 454592007-09-07 Robert Millan <rmh@aybabtu.com>
45460
45461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45462 SmartFirmware version updates (as released by Sven Luther), and avoid
45463 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45464 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45465 known broken.
45466
5618afbf 454672007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45468
45469 From Hitoshi Ozeki:
45470 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45471 when merging two regions.
45472
6139dcd9 454732007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45474
508e39ee 45475 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45476 * normal/completion.c (grub_normal_do_completion): Likewise.
45477 Reported by Hitoshi Ozeki.
45478
454792007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45480
6139dcd9 45481 Do not use devices at boot in chainloading.
f19dbdb7 45482
6139dcd9 45483 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45484 (boot_part_addr): Likewise.
45485 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45486 with BOOT_DRIVE and BOOT_PART_ADDR.
45487 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45488 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45489
38da6516 454902007-08-29 Robert Millan <rmh@aybabtu.com>
45491
45492 Patch from Simon Peter <dn.tlp@gmx.net>:
45493 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45494 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45495 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45496 util/i386/pc/grub-setup.c_DEPENDENCIES.
45497 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45498 util/grub-probe.c_DEPENDENCIES.
45499 * conf/powerpc-ieee1275.rmk: Likewise.
45500
29d0928c 455012007-08-28 Robert Millan <rmh@aybabtu.com>
45502
45503 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45504 to tell grub-mkdevicemap how to name devices.
45505 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45506 feature).
45507
45508 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45509 util/i386/get_disk_name.c.
45510 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45511 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45512 util/ieee1275/get_disk_name.c.
45513
45514 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45515
45516 * DISTLIST: Add util/i386/get_disk_name.c and
45517 util/ieee1275/get_disk_name.c.
45518
45519 * util/grub-mkdevicemap.c: Replace device naming logic with
45520 grub_util_get_disk_name() calls.
45521
5a0d3cca 455222007-08-20 Robert Millan <rmh@aybabtu.com>
45523
45524 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45525 (so that it works for both plural and singular quantities).
45526
8b72db2f 455272007-08-05 Robert Millan <rmh@aybabtu.com>
45528
45529 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45530 so that [xz] isn't taken into account when determining order.
45531
352466bf 455322007-08-02 Marco Gerards <marco@gnu.org>
45533
45534 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45535 `include/multiboot2.h', `include/grub/elfload.h',
45536 `include/multiboot.h', `include/grub/multiboot.h',
45537 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45538 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45539 `kern/elf.c', `loader/multiboot_loader.c',
45540 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45541 `loader/i386/pc/multiboot2.c',
45542 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45543 `util/i386/pc/grub-mkrescue.in'. Remove
45544 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45545 `include/grub/i386/pc/util/biosdisk.h' and
45546 `include/grub/powerpc/ieee1275/multiboot.h'.
45547
8f096014 455482007-08-02 Bean <bean123ch@gmail.com>
45549
45550 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45551 (ntfs_mod_SOURCES): New variable.
45552 (ntfs_mod_CFLAGS): Likewise.
45553 (ntfs_mod_LDFLAGS): Likewise.
45554
45555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45556 (grub_probe_SOURCES): Likewise.
45557 (grub_emu_SOURCES): Likewise.
45558
45559 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45560 (grub_emu_SOURCES): Likewise.
45561
45562 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45563 (grub_emu_SOURCES): Likewise.
f19dbdb7 45564
8f096014 45565 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45566
45567 * fs/ntfs.c: New file.
45568
9959f7db 455692007-08-02 Bean <bean123ch@gmail.com>
45570
45571 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45572
45573 * file.h (grub_file): Likewise.
45574
45575 * fshelp.h (grub_fshelp_read_file): Likewise.
45576
45577 * util/i386/pc/grub-setup.c (setup): Likewise.
45578 (save_first_sector): Likewise.
45579 (save_blocklists): Likewise.
f19dbdb7 45580
9959f7db 45581 * fs/affs.c (grub_affs_read_file): Likewise.
45582
45583 * fs/ext2.c (grub_ext2_read_file): Likewise.
45584
45585 * fs/fat.c (grub_fat_read_data): Likewise.
45586
45587 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45588
45589 * fs/hfs.c (grub_hfs_read_file): Likewise.
45590
45591 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45592
45593 * fs/jfs.c (grub_jfs_read_file): Likewise.
45594
45595 * fs/minix.c (grub_minix_read_file): Likewise.
45596
45597 * fs/sfs.c (grub_sfs_read_file): Likewise.
45598
45599 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45600
9959f7db 45601 * fs/xfs.c (grub_xfs_read_file): Likewise.
45602
45603 * command/blocklist.c (read_blocklist): Likewise.
45604 (print_blocklist): Likewise.
45605
0a203f83 456062007-08-02 Marco Gerards <marco@gnu.org>
45607
45608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45609 `util/hostfs.c'.
45610
45611 * disk/host.c: New file.
45612
45613 * util/hostfs.c: Likewise.
45614
45615 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45616 return `GRUB_ERR_BAD_FS'.
45617 * fs/sfs.c (grub_sfs_mount): Likewise.
45618 * fs/xfs.c (grub_xfs_mount): Likewise.
45619
45620 * include/grub/disk.h (enum grub_disk_dev_id): Add
45621 `GRUB_DISK_DEVICE_HOST_ID'.
45622
45623 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45624
e5dfe777 456252007-07-24 Jerone Young <jerone@gmail.com>
45626
f19dbdb7 45627 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45628 modules for compilation.
45629 * conf/powerpc-ieee1275.rmk: Likewise.
45630
45631 * include/multiboot.h: Move multiboot definitions to one file. Rename
45632 many definitions to not get grub specific.
45633 * include/multiboot2.h: Create header with multiboot 2 definitions.
45634 * include/grub/multiboot.h: Header for grub specific function
45635 prototypes and definitions.
45636 * include/grub/multiboot2.h: Likewise.
45637 * include/grub/multiboot_loader.h: Likewise.
45638 * include/grub/i386/pc/multiboot.h: Removed.
45639 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45640
45641 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45642 and 2 to allow for one multiboot and module commands.
45643 * loader/multiboot2.c: Add multiboot2 functionality.
45644 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45645 and definition names.
45646 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45647 2 functions.
45648 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45649 ieee1275 specific multiboot2 code.
45650
45651 * kern/i386/pc/startup.S: Change headers and definition names for
45652 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45653
daf0f0ba 456542007-07-22 Robert Millan <rmh@aybabtu.com>
45655
45656 * geninitheader.sh: Process file specified in first parameter rather
45657 than hardcoding grub_modules_init.lst.
fe6b695a 45658 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45659 than hardcoding grub_modules_init.h.
45660
45661 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45662 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45663 grub_probe_init.[ch] and grub_setup_init.[ch].
45664
45665 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45666 grub_modules_init.h with grub_emu_init.h.
45667 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45668 grub_probe_init.[ch] files.
45669 * conf/i386-efi.rmk: Likewise.
45670 * conf/i386-pc.rmk: Likewise.
45671 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45672 grub_setup_init.[ch] files.
45673
45674 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45675 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45676 to initialize modules rather than a list of hardcoded functions.
45677 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45678 grub_init_all() to initialize modules rather than a list of hardcoded
45679 functions.
45680
54cdc1cc 456812007-07-22 Robert Millan <rmh@aybabtu.com>
45682
45683 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45684 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45685
ad0686cc 456862007-07-22 Robert Millan <rmh@aybabtu.com>
45687
45688 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45689 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45691 flag when running on SmartFirmware.
45692 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45693 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45694 was set.
45695
45696 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45697 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45698 rather than decreasing it.
45699
45700 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45701 there's not enough space to do it, fail in the same way as when it
45702 can't be done because there are no partitions.
45703
45704 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45705 when nvsetenv failed.
45706
969c02ec 457072007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45708
45709 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45710 because this rule is automatically generated.
45711 (grub-mkrescue): Removed for the same reason as above.
45712
5a79f472 457132007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45714
45715 Migrate to GNU General Public License Version 3.
f19dbdb7 45716
5a79f472 45717 * COPYING: Replaced with the plain text version of GPLv3.
45718
45719 * config.guess: Updated from gnulib.
45720 * config.sub: Likewise.
45721
45722 * geninit.sh: Output a GPLv3 copyright notice.
45723 * geninitheader.sh: Likewise.
45724 * genmodsrc.sh: Likewise.
45725 * gensymlist.sh.in: Likewise.
45726
45727 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45728 * boot/i386/pc/diskboot.S: Likewise.
45729 * boot/i386/pc/pxeboot.S: Likewise.
45730 * commands/blocklist.c: Likewise.
45731 * commands/boot.c: Likewise.
45732 * commands/cat.c: Likewise.
45733 * commands/cmp.c: Likewise.
45734 * commands/configfile.c: Likewise.
45735 * commands/echo.c: Likewise.
45736 * commands/help.c: Likewise.
45737 * commands/ls.c: Likewise.
45738 * commands/search.c: Likewise.
45739 * commands/terminal.c: Likewise.
45740 * commands/test.c: Likewise.
45741 * commands/videotest.c: Likewise.
45742 * commands/i386/cpuid.c: Likewise.
45743 * commands/i386/pc/halt.c: Likewise.
45744 * commands/i386/pc/play.c: Likewise.
45745 * commands/i386/pc/reboot.c: Likewise.
45746 * commands/i386/pc/vbeinfo.c: Likewise.
45747 * commands/i386/pc/vbetest.c: Likewise.
45748 * commands/ieee1275/halt.c: Likewise.
45749 * commands/ieee1275/reboot.c: Likewise.
45750 * commands/ieee1275/suspend.c: Likewise.
45751 * disk/loopback.c: Likewise.
45752 * disk/lvm.c: Likewise.
45753 * disk/raid.c: Likewise.
45754 * disk/efi/efidisk.c: Likewise.
45755 * disk/i386/pc/biosdisk.c: Likewise.
45756 * disk/ieee1275/ofdisk.c: Likewise.
45757 * font/manager.c: Likewise.
45758 * fs/affs.c: Likewise.
45759 * fs/ext2.c: Likewise.
45760 * fs/fat.c: Likewise.
45761 * fs/fshelp.c: Likewise.
45762 * fs/hfs.c: Likewise.
45763 * fs/hfsplus.c: Likewise.
45764 * fs/iso9660.c: Likewise.
45765 * fs/jfs.c: Likewise.
45766 * fs/minix.c: Likewise.
45767 * fs/sfs.c: Likewise.
45768 * fs/ufs.c: Likewise.
45769 * fs/xfs.c: Likewise.
45770 * hello/hello.c: Likewise.
45771 * include/grub/acorn_filecore.h: Likewise.
45772 * include/grub/arg.h: Likewise.
45773 * include/grub/bitmap.h: Likewise.
45774 * include/grub/boot.h: Likewise.
45775 * include/grub/cache.h: Likewise.
45776 * include/grub/device.h: Likewise.
45777 * include/grub/disk.h: Likewise.
45778 * include/grub/dl.h: Likewise.
45779 * include/grub/elfload.h: Likewise.
45780 * include/grub/env.h: Likewise.
45781 * include/grub/err.h: Likewise.
45782 * include/grub/file.h: Likewise.
45783 * include/grub/font.h: Likewise.
45784 * include/grub/fs.h: Likewise.
45785 * include/grub/fshelp.h: Likewise.
45786 * include/grub/gzio.h: Likewise.
45787 * include/grub/hfs.h: Likewise.
45788 * include/grub/kernel.h: Likewise.
45789 * include/grub/loader.h: Likewise.
45790 * include/grub/lvm.h: Likewise.
45791 * include/grub/misc.h: Likewise.
45792 * include/grub/mm.h: Likewise.
45793 * include/grub/net.h: Likewise.
45794 * include/grub/normal.h: Likewise.
45795 * include/grub/parser.h: Likewise.
45796 * include/grub/partition.h: Likewise.
45797 * include/grub/pc_partition.h: Likewise.
45798 * include/grub/raid.h: Likewise.
45799 * include/grub/rescue.h: Likewise.
45800 * include/grub/script.h: Likewise.
45801 * include/grub/setjmp.h: Likewise.
45802 * include/grub/symbol.h: Likewise.
45803 * include/grub/term.h: Likewise.
45804 * include/grub/terminfo.h: Likewise.
45805 * include/grub/tparm.h: Likewise.
45806 * include/grub/types.h: Likewise.
45807 * include/grub/video.h: Likewise.
45808 * include/grub/efi/api.h: Likewise.
45809 * include/grub/efi/chainloader.h: Likewise.
45810 * include/grub/efi/console.h: Likewise.
45811 * include/grub/efi/console_control.h: Likewise.
45812 * include/grub/efi/disk.h: Likewise.
45813 * include/grub/efi/efi.h: Likewise.
45814 * include/grub/efi/pe32.h: Likewise.
45815 * include/grub/efi/time.h: Likewise.
45816 * include/grub/i386/linux.h: Likewise.
45817 * include/grub/i386/setjmp.h: Likewise.
45818 * include/grub/i386/types.h: Likewise.
45819 * include/grub/i386/efi/kernel.h: Likewise.
45820 * include/grub/i386/efi/loader.h: Likewise.
45821 * include/grub/i386/efi/time.h: Likewise.
45822 * include/grub/i386/pc/biosdisk.h: Likewise.
45823 * include/grub/i386/pc/boot.h: Likewise.
45824 * include/grub/i386/pc/chainloader.h: Likewise.
45825 * include/grub/i386/pc/console.h: Likewise.
45826 * include/grub/i386/pc/init.h: Likewise.
45827 * include/grub/i386/pc/kernel.h: Likewise.
45828 * include/grub/i386/pc/loader.h: Likewise.
45829 * include/grub/i386/pc/memory.h: Likewise.
45830 * include/grub/i386/pc/multiboot.h: Likewise.
45831 * include/grub/i386/pc/serial.h: Likewise.
45832 * include/grub/i386/pc/time.h: Likewise.
45833 * include/grub/i386/pc/vbe.h: Likewise.
45834 * include/grub/i386/pc/vbeblit.h: Likewise.
45835 * include/grub/i386/pc/vbefill.h: Likewise.
45836 * include/grub/i386/pc/vbeutil.h: Likewise.
45837 * include/grub/i386/pc/vga.h: Likewise.
45838 * include/grub/ieee1275/ieee1275.h: Likewise.
45839 * include/grub/ieee1275/ofdisk.h: Likewise.
45840 * include/grub/powerpc/libgcc.h: Likewise.
45841 * include/grub/powerpc/setjmp.h: Likewise.
45842 * include/grub/powerpc/types.h: Likewise.
45843 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45844 * include/grub/powerpc/ieee1275/console.h: Likewise.
45845 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45846 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45847 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45848 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45849 * include/grub/powerpc/ieee1275/time.h: Likewise.
45850 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45851 * include/grub/sparc64/libgcc.h: Likewise.
45852 * include/grub/sparc64/setjmp.h: Likewise.
45853 * include/grub/sparc64/types.h: Likewise.
45854 * include/grub/sparc64/ieee1275/console.h: Likewise.
45855 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45856 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45857 * include/grub/sparc64/ieee1275/time.h: Likewise.
45858 * include/grub/util/biosdisk.h: Likewise.
45859 * include/grub/util/getroot.h: Likewise.
45860 * include/grub/util/lvm.h: Likewise.
45861 * include/grub/util/misc.h: Likewise.
45862 * include/grub/util/raid.h: Likewise.
45863 * include/grub/util/resolve.h: Likewise.
45864 * io/gzio.c: Likewise.
45865 * kern/device.c: Likewise.
45866 * kern/disk.c: Likewise.
45867 * kern/dl.c: Likewise.
45868 * kern/elf.c: Likewise.
45869 * kern/env.c: Likewise.
45870 * kern/err.c: Likewise.
45871 * kern/file.c: Likewise.
45872 * kern/fs.c: Likewise.
45873 * kern/loader.c: Likewise.
45874 * kern/main.c: Likewise.
45875 * kern/misc.c: Likewise.
45876 * kern/mm.c: Likewise.
45877 * kern/parser.c: Likewise.
45878 * kern/partition.c: Likewise.
45879 * kern/rescue.c: Likewise.
45880 * kern/term.c: Likewise.
45881 * kern/efi/efi.c: Likewise.
45882 * kern/efi/init.c: Likewise.
45883 * kern/efi/mm.c: Likewise.
45884 * kern/i386/dl.c: Likewise.
45885 * kern/i386/efi/init.c: Likewise.
45886 * kern/i386/efi/startup.S: Likewise.
45887 * kern/i386/pc/init.c: Likewise.
45888 * kern/i386/pc/lzo1x.S: Likewise.
45889 * kern/i386/pc/startup.S: Likewise.
45890 * kern/ieee1275/ieee1275.c: Likewise.
45891 * kern/powerpc/cache.S: Likewise.
45892 * kern/powerpc/dl.c: Likewise.
45893 * kern/powerpc/ieee1275/cmain.c: Likewise.
45894 * kern/powerpc/ieee1275/crt0.S: Likewise.
45895 * kern/powerpc/ieee1275/init.c: Likewise.
45896 * kern/powerpc/ieee1275/openfw.c: Likewise.
45897 * kern/sparc64/cache.S: Likewise.
45898 * kern/sparc64/dl.c: Likewise.
45899 * kern/sparc64/ieee1275/init.c: Likewise.
45900 * kern/sparc64/ieee1275/openfw.c: Likewise.
45901 * loader/efi/chainloader.c: Likewise.
45902 * loader/efi/chainloader_normal.c: Likewise.
45903 * loader/i386/efi/linux.c: Likewise.
45904 * loader/i386/efi/linux_normal.c: Likewise.
45905 * loader/i386/pc/chainloader.c: Likewise.
45906 * loader/i386/pc/chainloader_normal.c: Likewise.
45907 * loader/i386/pc/linux.c: Likewise.
45908 * loader/i386/pc/linux_normal.c: Likewise.
45909 * loader/i386/pc/multiboot.c: Likewise.
45910 * loader/i386/pc/multiboot_normal.c: Likewise.
45911 * loader/powerpc/ieee1275/linux.c: Likewise.
45912 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45913 * normal/arg.c: Likewise.
45914 * normal/cmdline.c: Likewise.
45915 * normal/command.c: Likewise.
45916 * normal/completion.c: Likewise.
45917 * normal/execute.c: Likewise.
45918 * normal/function.c: Likewise.
45919 * normal/lexer.c: Likewise.
45920 * normal/main.c: Likewise.
45921 * normal/menu.c: Likewise.
45922 * normal/menu_entry.c: Likewise.
45923 * normal/misc.c: Likewise.
45924 * normal/parser.y: Likewise.
45925 * normal/script.c: Likewise.
45926 * normal/i386/setjmp.S: Likewise.
45927 * normal/powerpc/setjmp.S: Likewise.
45928 * normal/sparc64/setjmp.S: Likewise.
45929 * partmap/acorn.c: Likewise.
45930 * partmap/amiga.c: Likewise.
45931 * partmap/apple.c: Likewise.
45932 * partmap/gpt.c: Likewise.
45933 * partmap/pc.c: Likewise.
45934 * partmap/sun.c: Likewise.
45935 * term/gfxterm.c: Likewise.
45936 * term/terminfo.c: Likewise.
45937 * term/efi/console.c: Likewise.
45938 * term/i386/pc/console.c: Likewise.
45939 * term/i386/pc/serial.c: Likewise.
45940 * term/i386/pc/vesafb.c: Likewise.
45941 * term/i386/pc/vga.c: Likewise.
45942 * term/ieee1275/ofconsole.c: Likewise.
45943 * util/biosdisk.c: Likewise.
45944 * util/console.c: Likewise.
45945 * util/genmoddep.c: Likewise.
45946 * util/getroot.c: Likewise.
45947 * util/grub-emu.c: Likewise.
45948 * util/grub-mkdevicemap.c: Likewise.
45949 * util/grub-probe.c: Likewise.
45950 * util/lvm.c: Likewise.
45951 * util/misc.c: Likewise.
45952 * util/raid.c: Likewise.
45953 * util/resolve.c: Likewise.
45954 * util/update-grub.in: Likewise.
45955 * util/update-grub_lib.in: Likewise.
45956 * util/grub.d/00_header.in: Likewise.
45957 * util/grub.d/10_hurd.in: Likewise.
45958 * util/grub.d/10_linux.in: Likewise.
45959 * util/i386/efi/grub-install.in: Likewise.
45960 * util/i386/efi/grub-mkimage.c: Likewise.
45961 * util/i386/pc/grub-install.in: Likewise.
45962 * util/i386/pc/grub-mkimage.c: Likewise.
45963 * util/i386/pc/grub-mkrescue.in: Likewise.
45964 * util/i386/pc/grub-setup.c: Likewise.
45965 * util/i386/pc/misc.c: Likewise.
45966 * util/powerpc/ieee1275/grub-install.in: Likewise.
45967 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45968 * util/powerpc/ieee1275/misc.c: Likewise.
45969 * video/bitmap.c: Likewise.
45970 * video/video.c: Likewise.
45971 * video/i386/pc/vbe.c: Likewise.
45972 * video/i386/pc/vbeblit.c: Likewise.
45973 * video/i386/pc/vbefill.c: Likewise.
45974 * video/i386/pc/vbeutil.c: Likewise.
45975 * video/readers/tga.c: Likewise.
45976
3572d015 459772007-07-02 Robert Millan <rmh@aybabtu.com>
45978
45979 * conf/i386-efi.rmk: Replace obsolete reference to
45980 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45981 with util/getroot.c.
45982 * conf/powerpc-ieee1275.rmk: Likewise.
45983 * conf/sparc64-ieee1275.rmk: Likewise.
45984
45985 * util/grub-emu.c (main): Fix unchecked pointer handling.
45986
2c2a681b 459872007-07-02 Robert Millan <rmh@aybabtu.com>
45988
45989 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45990 invocation to fail, in order to support partition-less media.
45991
45992 * util/i386/pc/grub-install.in: Likewise.
45993
45994 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45995 which fs or partmap modules are needed (akin to its sister scripts).
45996
45997 Also use grub-probe to get rid of unportable /proc/mounts check.
45998
45999 Print the same informational message that the other scripts do, before
fe6b695a 46000 exiting.
2c2a681b 46001
6193defe 460022007-06-23 Robert Millan <rmh@aybabtu.com>
46003
fe6b695a 46004 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46005 a font file can be found and, if so, echo the GRUB path to it.
46006
46007 * util/update-grub.in: Handle multiple terminals depending on user
46008 input, platform availability and font file presence. Propagate
46009 variables of our findings to /etc/grub.d/ children.
46010
46011 * util/grub.d/00_header.in: Handle multiple terminals, based on
46012 environment setup by update-grub.
46013
eface1dc 460142007-06-23 Robert Millan <rmh@aybabtu.com>
46015
ba50d28f 46016 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46017
bf697e28 460182007-06-21 Robert Millan <rmh@aybabtu.com>
46019
46020 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46021 indicate end of data section in kernel image.
46022 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46023 GRUB_KERNEL_MACHINE_DATA_END.
46024
46025 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46026 space for it.
46027 * kern/i386/efi/startup.S: Likewise.
46028
46029 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46030 during image generation. Implement --prefix option to override this
46031 patch.
46032 * util/i386/efi/grub-mkimage.c: Likewise.
46033
46034 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46035 code to make path relative to its root into a separate function.
46036
46037 * util/i386/pc/grub-install.in: Use newly provided
46038 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46039 pass the result to grub-install --prefix.
46040
baa574b4 460412007-06-13 Robert Millan <rmh@aybabtu.com>
46042
46043 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46044 DEFAULT_DEVICE_MAP.
46045 * util/grub-emu.c: Use above definitions from misc.h instead of
46046 defining them.
46047 * util/grub-mkdevicemap.c: Likewise.
46048 * util/i386/pc/grub-setup.c: Likewise.
46049 * util/grub-probe.c: Likewise.
46050 (probe): Abort with grub_util_error() when either
46051 grub_guess_root_device or grub_util_get_grub_dev fails.
46052
0215dcbf 460532007-06-12 Robert Millan <rmh@aybabtu.com>
46054
46055 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46056 "pager" assignment.
46057 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46058 "pcdata".
46059 * util/grub-probe.c (probe): Likewise for "drive_name".
46060
8af2ab7b 460612007-06-11 Robert Millan <rmh@aybabtu.com>
46062
46063 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46064 not just the cdrom one.
46065
59d31694 460662007-06-11 Robert Millan <rmh@aybabtu.com>
46067
46068 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46069 Add --pkglibdir=DIR option to override pkglibdir.
46070 Mention --image-type=TYPE in help output.
46071 Fix --grub-mkimage (it was a no-op).
fe6b695a 46072 Abort gracefully when no parameter is given.
59d31694 46073
7ee367e4 460742007-06-11 Robert Millan <rmh@aybabtu.com>
46075
46076 * util/i386/pc/grub-mkrescue.in: New file.
46077 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46078 * Makefile.in: Handle bin_SCRIPTS.
46079
29b0ed46 460802007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46081
46082 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46083 list of video modes.
46084
c0f90770 460852007-06-06 Robert Millan <rmh@aybabtu.com>
46086
46087 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46088 file doesn't exist, or if it is in a filesystem grub can't read.
46089
46090 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46091 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46092 header comment to fit in 80 columns when the variables are resolved.
46093
46094 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46095 could be identified by update-grub. Remove redundant check for
fe6b695a 46096 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46097 handles that).
46098
fb36dc26 460992007-06-04 Robert Millan <rmh@aybabtu.com>
46100
46101 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46102
46103 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46104
46105 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46106
0c68c93e 461072007-06-04 Robert Millan <rmh@aybabtu.com>
46108
46109 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46110
46111 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46112 grub_apple_partition_map_fini.
46113
46114 * util/biosdisk.c
46115 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46116 to access >2 TiB disks).
46117
46118 Print disk->total_sectors with %llu instead of %lu, since this
46119 variable is always 64-bit (prevents wrong disk size from being displayed
46120 on either >2 TiB disk or big-endian CPU).
46121
46122 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46123 into a generic case that supports all (sane) partition maps.
46124
46125 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46126 breaks big-endian.
46127
46128 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46129 and grub_apple_partition_map_fini() after that.
46130
0f23eb74 461312007-06-01 Robert Millan <rmh@aybabtu.com>
46132
46133 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46134
46135 * util/grub.d/00_header.in: Only enable gfxterm when
46136 convert_system_path_to_grub_path() succeeds.
46137
42c71976 461382007-05-20 Robert Millan <rmh@aybabtu.com>
46139
46140 * util/update-grub_lib.in: New file.
46141 * DISTLIST: Add update-grub_lib.in.
46142 * conf/common.rmk: Generate update-grub_lib and install it in
46143 $(lib_DATA).
46144 * Makefile.in: Add install routine for $(lib_DATA).
46145
46146 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46147 function provided by update-grub_lib to support arbitrary paths of
46148 unifont.pff.
46149 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46150 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46151
5beb2291 461522007-05-19 Robert Millan <rmh@aybabtu.com>
46153
46154 * commands/i386/cpuid.c: New module.
46155 * DISTLIST: Add it.
46156 * conf/i386-efi.rmk: Enable cpuid.mod.
46157 * conf/i386-pc.rmk: Likewise.
46158
7262eca1 461592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46160
46161 * kern/disk.c (grub_disk_read): Check return value of
46162 grub_realloc().
46163
260ba823 461642007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46165
46166 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46167 arrays.
46168 * disk/raid.c (grub_raid_open): Likewise.
46169
1ecb6cf2 461702007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46171
46172 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46173 stack instead of on the heap.
46174
46175 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46176 before doing a read on it.
46177
46178 * configure.ac: Only use -fno-stack-protector for the target
46179 environment.
f19dbdb7 46180
21c8cbb1 461812007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46182
46183 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46184 __attribute_ ((unused)) to mode_type argument.
46185
46186 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46187
21c8cbb1 46188 * kern/misc.c (memcmp): Fix prototype.
46189
46190 * include/grub/partition.h [GRUB_UTIL]
46191 (grub_gpt_partition_map_init): Add prototype.
46192 (grub_gpt_partition_map_fini): Likewise.
46193
46194 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46195 at the right place.
46196
46197 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46198 (grub_fat_read_data): Likewise.
46199 (grub_fat_find_dir): Likewise.
46200
46201 * font/manager.c (find_glyph): Make table a const.
46202 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46203
849d55d3 462042007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46205
46206 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46207 code, first search for device in /dev/mapper, then in /dev.
46208 (grub_util_get_grub_dev): New function.
46209 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46210 prototype.
46211 * util/grub-probe.c (probe): Remove check for RAID, call
46212 grub_util_get_grub_dev() instead of
46213 grub_util_biosdisk_get_grub_dev().
46214 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46215 grub_util_biosdisk_get_grub_dev().
46216 * util/i386/pc/grub-setup.c (main): Likewise.
46217
8fff7c2f 462182007-05-16 Robert Millan <rmh@aybabtu.com>
46219
46220 * DISTLIST: Update for the latest changes.
46221 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46222 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46223 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46224 grub/util/biosdisk.h.
46225 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46226 grub/util/biosdisk.h.
46227
48e12b52 462282007-05-16 Robert Millan <rmh@aybabtu.com>
46229
46230 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46231
46b9d128 462322007-05-16 Robert Millan <rmh@aybabtu.com>
46233
46234 * util/i386/efi/grub-install.in: New.
46235 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46236 newly added grub-install.
46237 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46238 include.
46239 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46240 grub/util/biosdisk.h.
46241 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46242 grub/util/biosdisk.h.
46243
2d1a40a9 462442007-05-16 Robert Millan <rmh@aybabtu.com>
46245
46246 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46247 * include/grub/util/biosdisk.h: ... here.
46248 * util/i386/pc/biosdisk.c: Moved to ...
46249 * util/biosdisk.c: ... here.
46250 * util/i386/pc/getroot.c: Moved to ...
46251 * util/getroot.c: ... here.
46252 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46253 * util/grub-mkdevicemap.c: ... here.
46254 * util/i386/pc/grub-probe.c: Moved to ...
46255 * util/grub-probe.c: ... here.
46256
9e26e3bc 462572007-05-15 Robert Millan <rmh@aybabtu.com>
46258
46259 * util/update-grub.in: Remove duplicated line in grub.cfg header
46260 message.
46261
57f96397 462622007-05-13 Robert Millan <rmh@aybabtu.com>
46263
46264 * util/update-grub.in: Fix a few assumptions about the devices holding
46265 /, /boot and /boot/grub being the same.
46266 * util/grub.d/00_header.in: Likewise.
46267 * util/grub.d/10_hurd.in: Likewise.
46268 * util/grub.d/10_linux.in: Likewise.
46269
46270 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46271 patterns. Use that to define the `.old' suffix as older than `'.
46272
46273 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46274
46275 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46276 the grub.cfg header message.
46277
2e610d62 462782007-05-11 Robert Millan <rmh@aybabtu.com>
46279
46280 * util/update-grub.in: Create device.map if it doesn't already exist,
46281 before attempting to run grub-probe.
46282 Check for grub-probe and grub-mkdevicemap with the same code
46283 grub-install is using.
46284 Remove test mode.
46285
3f6a10ef 462862007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46287
46288 * Makefile.in: Add the datarootdir autoconf variable.
46289
02e7b75e 462902007-05-09 Robert Millan <rmh@aybabtu.com>
46291
46292 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46293 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46294
75f396cc 462952007-05-07 Robert Millan <rmh@aybabtu.com>
46296
46297 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46298 determine partition map module.
46299 * util/i386/pc/grub-install.in: Use this feature to decide which
46300 partition module to load, instead of hardcoding pc and gpt.
46301
da65cb36 463022007-05-07 Robert Millan <rmh@aybabtu.com>
46303
46304 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46305 source directory differs from build directory.
46306
b57d6a91 463072007-05-05 Robert Millan <rmh@aybabtu.com>
46308
46309 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46310 initialisation.
46311
509d00f1 463122007-05-05 Robert Millan <rmh@aybabtu.com>
46313
46314 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46315
c48f23ef 463162007-05-05 Robert Millan <rmh@aybabtu.com>
46317
46318 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46319 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46320
20b97658 463212007-05-05 Robert Millan <rmh@aybabtu.com>
46322
46323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46324 (grub_probe_SOURCES): Likewise.
46325 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46326 GPT and initialize dos_part and bsd_part accordingly.
46327 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46328 install_bsd_part.
46329 (main): Activate gpt module for use during partition identification,
46330 and deactivate it afterwards.
46331 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46332 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46333 partition identification, and deactivate it afterwards.
46334
99123174 463352007-05-05 Robert Millan <rmh@aybabtu.com>
46336
46337 * term/i386/pc/console.c (grub_console_fini): Call
46338 grub_term_set_current() before grub_term_unregister().
46339
ebd97f6e 463402007-05-04 Robert Millan <rmh@aybabtu.com>
46341
46342 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46343 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46344 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46345 and update-grub_DATA.
46346 * conf/common.rmk: Build and install update-grub components.
46347 * conf/common.mk: Regenerate.
46348 * util/update-grub.in: New. Core of update-grub.
46349 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46350 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46351 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46352 * util/grub.d/README: New. Document grub.d directory layout.
46353
b06a264d 463542007-05-01 Robert Millan <rmh@aybabtu.com>
46355
46356 * util/grub-emu.c: Move initialization functions
46357 grub_util_biosdisk_init() and grub_init_all() before
46358 grub_util_biosdisk_get_grub_dev(), which relies on them.
46359
41f0050e 463602007-04-19 Robert Millan <rmh@aybabtu.com>
46361
46362 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46363 it is used later.
46364
04582bb3 463652007-04-18 Jerone Young <jerone@gmail.com>
46366
f19dbdb7 46367 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46368 stanza.
46369
08db4632 463702007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46371
08db4632 46372 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46373 continue on and look for device node with real device name.
46374
801b76be 463752007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46376
fe6b695a 46377 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46378 ability.
46379 * Makefile.in: Add autoconf package transformation code.
46380 * util/i386/pc/grub-install.in: Likewise.
46381 * util/powerpc/ieee1275/grub-install.in: Likewise.
46382
6795c4e1 463832007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46384
46385 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46386 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46387 (EXT2_REVISION): Likewise.
46388 (EXT2_INODE_SIZE): Likewise.
46389 (struct grub_ext2_block_group): Added a missing member
46390 "used_dirs".
46391 (grub_ext2_read_inode): Divide by the inode size in a superblock
46392 instead of 128 to obtain INODES_PER_BLOCK.
46393 Use the macro EXT2_INODE_SIZE instead of directly using
46394 SBLOCK->INODE_SIZE.
46395
d70af616 463962007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46397
46398 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46399 superblock instead of the structure size to compute an
46400 offset. This fixes the problem that GRUB could not read a
46401 filesystem when inode size is different from 128-byte.
46402
3b801603 464032007-03-05 Marco Gerards <marco@gnu.org>
46404
46405 * normal/main.c (read_config_file): When "menu" is not set, create
46406 an initial context.
46407
4785bfe4 464082007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46409
46410 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46411 (HEAP_LIMIT): New macro.
46412 (grub_claim_heap): Claim memory up to `heaplimit'.
46413
a0cbb023 464142007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46415
46416 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46417 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46418 (_start): Likewise.
46419 (grub_arch_modules_addr): Return address after `_end'.
46420 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46421 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46422 (add_segments): Calculate `_end' from phdr size and location.
46423 (ALIGN_UP): Moved to ...
46424 * include/grub/misc.h: here.
46425 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46426 New macro.
46427 (GRUB_IEEE1275_MODULE_BASE): Removed.
46428
fd7d8eba 464292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46430
46431 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46432 loop boundary.
46433
9b09e6fc 464342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46435
46436 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46437 All users updated.
46438 (grub_elf64_load_hook_t): Likewise.
46439 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46440 debug output.
46441
3ce27299 464422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46443
46444 * kern/mm.c: Update copyright.
46445 (grub_mm_debug): Correct syntax error.
46446 (grub_mm_dump_free): New function.
46447 (grub_debug_free): Call `grub_free'.
46448 * include/grub/mm.h: Update copyright.
46449 (grub_mm_dump_free): Add declaration.
46450
077d5fee 464512007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46452
46453 * include/grub/ieee1275/ieee1275.h: Update copyright.
46454 * kern/powerpc/ieee1275/init.c: Likewise.
46455 * kern/powerpc/ieee1275/openfw.c: Likewise.
46456
46457 * loader/powerpc/ieee1275/linux.c: Likewise.
46458 * include/grub/elfload.h: Likewise.
46459 * kern/elf.c: Likewise.
46460 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46461 callers.
46462 (grub_elf64_load): Likewise.
46463 (grub_elf32_load_segment): Move to a nested function.
46464 (grub_elf64_load_segment): Likewise.
46465
dc946850 464662007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46467
46468 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46469 prototype.
46470 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46471 (grub_heap_len): Likewise.
46472 (HEAP_SIZE): New macro.
46473 (grub_claim_heap): New function.
46474 (grub_machine_init): Don't claim heap directly. Call
46475 `grub_claim_heap'.
46476 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46477 (grub_available_iterate): New function.
46478
baa2a121 464792007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46480
46481 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46482 * configure.ac: Use it for testing the HOST and TARGET compilers.
46483
4fe9862e 464842006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46485
46486 * Makefile.in (enable_grub_emu): New variable.
46487 * configure.ac (--enable-grub-emu): New option.
46488 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46489 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46490 * conf/i386-pc.rmk: Likewise.
46491 * conf/powerpc-ieee1275.rmk: Likewise.
46492 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46493
a8aa5762 464942006-12-12 Marco Gerards <marco@gnu.org>
46495
46496 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46497
46498 * kern/env.c (grub_env_unset): Don't free the member `value' when
46499 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46500 pointer.
46501
46502 * normal/main.c (current_menu): Removed.
46503 (free_menu): Unset the `menu' environment variable.
46504 (grub_normal_menu_addentry): Make use of the environment variable
46505 `menu', instead of using the global `current_menu'. Allocate
46506 memory for the sourcecode of this entry.
46507 (read_config_file): New argument `nested', changed all callers.
46508 Only in the case of a new context, initialize a new menu. Set the
46509 `menu' environment variable.
46510 (grub_normal_execute): Don't set and unset the environment
46511 variable `menu' here anymore. Only free the menu when leaving the
46512 context.
46513
46514 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46515 leak.
46516
957b3a3e 465172006-12-11 Marco Gerards <marco@gnu.org>
46518
46519 * normal/menu_entry.c (run): Fix off by one bug so the last line
46520 is executed. Move the loader check to outside the loop.
46521
ef875714 465222006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46523
46524 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46525
4e739985 465262006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46527
46528 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46529 the number of sectors. Reported by Andrey Shuvikov
46530 <mr_hyro@yahoo.com>.
f19dbdb7 46531
790707f2 465322006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46533
46534 * kern/disk.c (grub_disk_read): When there is a read error, always
46535 try to read only the necessary data.
f19dbdb7 46536
790707f2 46537 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46538 disk/raid.c.
46539 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46540 prototype.
46541 [GRUB_UTIL] (grub_raid_fini): Likewise.
46542 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46543 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46544 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46545 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46546 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46547 and grub_raid_fini().
f19dbdb7 46548
03e58196 465492006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46550
46551 * include/grub/types.h (__unused): Rename to UNUSED.
46552 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46553 (grub_elf64_size): Likewise.
f19dbdb7 46554
ae4f23bf 465552006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46556
46557 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46558 grub_error_push and grub_error_pop in the error-handling path.
46559 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46560 length.
46561
2166cc83 465622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46563
46564 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46565 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46567 (kernel_elf_SOURCES): Likewise.
46568 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46569 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46570 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46571 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46572 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46573 (elf_mod_SOURCES): New variable.
46574 (elf_mod_CFLAGS): Likewise.
46575 (elf_mod_LDFLAGS): Likewise.
46576 * include/grub/types.h (__unused): New macro.
46577 * include/grub/elfload.h: New file.
46578 * kern/elf.c: Likewise.
46579 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46580 (ELF32_LOADMASK): New macro.
46581 (ELF64_LOADMASK): Likewise.
46582 (vmlinux): Removed.
46583 (grub_linux_load32): New function.
46584 (grub_linux_load64): Likewise.
46585 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46586 Use grub_elf_t instead of grub_file_t.
46587
a09d5aa5 465882006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46589
46590 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46591 `catch_result' to struct set_color_args.
46592
d976fc51 465932006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46594
46595 * normal/menu.c: Include grub/script.h.
46596 * normal/menu_entry.c: Likewise.
46597 * include/grub/normal.h: Do not include grub/script.h.
46598
67507549 465992006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46600
46601 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46602
69203a99 466032006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46604
46605 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46606 disk.
46607 (grub_disk_close): Print debug messages when closing a disk.
46608 (grub_disk_read): Print debug messages when disk read fails.
46609 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46610 filesystem type.
46611 * kern/partition.c: Include misc.h.
46612 (grub_partition_iterate): Print debug messages when detecting
46613 partition type.
46614
e2b8278c 466152006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46616
46617 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46618 is negative.
46619 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46620
97b2f2ff 466212006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46622
46623 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46624 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46625
6555d655 466262006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46627
46628 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46629 instead of sizeof(lv). Patch by Michael Guntsche.
46630
4d42b77f 466312006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46632
46633 * disk/lvm.c: Rename VGS to VG_LIST.
46634 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46635 (grub_lvm_open): Likewise.
46636 Thanks to Michael Guntsche for finding this bug.
46637
5d74d927 466382006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46639
46640 * configure.ac (AC_INIT): Bumped to 1.95.
46641
a1bb27e4 466422006-10-14 Robert Millan <rmh@aybabtu.com>
46643
46644 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46645 with "/dev/.static/dev/md".
46646
e0994b8b 466472006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46648
46649 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46650 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46651 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46652 DRIVE_NAME are always freed.
46653
46654 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46655 DOS_PART, as a DOS partition is counted from one instead of zero
46656 now. Reported by Robert Millan.
46657
ddd5cee9 466582006-10-14 Robert Millan <rmh@aybabtu.com>
46659
46660 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46661 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46662 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46663 string returned by grub_guess_root_device.
46664 * util/i386/pc/grub-setup.c: Likewise.
46665 * util/i386/pc/grub-probefs.c: Likewise.
46666
46667 * util/i386/pc/grub-probefs.c: Rename to ...
46668 * util/i386/pc/grub-probe.c: ... this.
46669 * DISTLIST: Remove grub-probefs, add grub-probe.
46670 * conf/i386-efi.rmk: Likewise.
46671 * conf/i386-pc.rmk: Likewise.
46672 * util/i386/pc/grub-install.in: Likewise.
46673
46674 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46675 choose which information we want to print.
46676
2b002173 466772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46678
46679 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46680 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46681 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46682 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46683 video/readers/tga.c and video/i386/pc/vbeutil.c.
46684
466852006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46686
46687 Added support for RAID and LVM.
f19dbdb7 46688
2b002173 46689 * disk/lvm.c: New file.
46690 * disk/raid.c: Likewise.
46691 * include/grub/lvm.h: Likewise.
f19dbdb7 46692 * include/grub/raid.h: Likewise.
2b002173 46693 * include/grub/util/lvm.h: Likewise.
46694 * include/grub/util/raid.h: Likewise.
46695 * util/lvm.c: Likewise.
46696 * util/raid.c: Likewise.
46697
46698 * include/grub/disk.h (grub_disk_dev_id): Add
46699 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46700 (grub_disk_get_size): New prototype.
46701 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46702 returns a partition.
46703 (grub_disk_get_size): New function.
f19dbdb7 46704
2b002173 46705 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46706 verbatim if grub_install_dos_part is -2.
46707
46708 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46709 and LVM devices.
46710
46711 * util/i386/pc/grub-setup.c (setup): New argument
46712 MUST_EMBED. Force embedding of GRUB when the argument is
46713 true. Close FILE before returning.
46714 (main): Add support for RAID and LVM.
f19dbdb7 46715
2b002173 46716 * conf/common.rmk: Add RAID and LVM modules.
46717 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46718 util/lvm.c.
46719 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46720
46721 * kern/misc.c (grub_strstr): New function.
46722 * include/grub/misc.h (grub_strstr): New prototype.
46723
050548d0 467242006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46725
46726 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46727
da849d2d 467282006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46729
46730 * kern/misc.c (grub_strtoull): Guess the base only if not
46731 specified.
46732
97b2f2ff 467332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46734
46735 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46736 PowerMac support.
46737
97b2f2ff 467382006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46739
46740 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46741
46742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46743 Remove `flags' argument. All callers changed.
46744 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46745 (IEEE1275_IHANDLE_INVALID): New variable.
46746 (IEEE1275_CELL_INVALID): New variable.
46747 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46748 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46749 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46750 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46751 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46752 codes from Open Firmware. All callers updated.
46753 (grub_ieee1275_next_property): Directly return Open Firmware return
46754 code.
46755 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46756 Standardize error checking from `grub_ieee1275_get_property'.
46757 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46758 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46759
97b2f2ff 467602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46761
46762 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46763 `instance_to_package_args' to `instance_to_path_args'.
46764
46765 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46766 `grub_ieee1275_chosen'.
46767
46768 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46769 `grub_ieee1275_interpret'.
46770
97b2f2ff 467712006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46772
46773 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46774
97b2f2ff 467752006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46776
46777 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46778 (__cmpdi): Likewise.
46779
46780 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46781 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46782 `grub_ssize_t'.
46783
02bb8acc 46784 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46785
46786 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46787 to type `grub_ssize_t'.
46788 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46789
7f9a8531 467902006-09-22 Marco Gerards <marco@gnu.org>
46791
46792 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46793 newlines.
46794
b5ef1102 467952006-09-22 Marco Gerards <marco@gnu.org>
46796
46797 * commands/echo.c: New file.
46798
46799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46800
46801 * conf/common.rmk (echo_mod_SOURCES): New variable.
46802 (echo_mod_CFLAGS): Likewise.
46803 (echo_mod_LDFLAGS): Likewise.
46804
2cff3677 468052006-09-22 Marco Gerards <marco@gnu.org>
46806
46807 * normal/main.c (get_line): Malloc memory instead of using
46808 preallocated memory. Removed the arguments `cmdline' and
46809 `max_len'. Updated all callers.
46810
6ba4688b 468112006-09-22 Marco Gerards <marco@gnu.org>
46812
46813 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46814 (normal_mod_DEPENDENCIES): Likewise.
46815
46816 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46817 (normal_mod_DEPENDENCIES): Likewise.
46818
46819 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46820
e02ac02c 468212006-09-22 Johan Rydberg <jrydberg@gnu.org>
46822
46823 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46824 programs.
46825 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46826 (normal_mod_DEPENDENCIES): Likewise.
46827 * conf/i386-pc.mk: Regenerate.
46828 * conf/i386-efi.mk: Likewise
46829 * conf/common.mk: Likewise.
46830 * conf/powerpc-ieee1275.mk: Likewise.
46831 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46832
8d252e44 468332006-09-22 Robert Millan <rmh@aybabtu.com>
46834
46835 Sync with i386 version.
46836 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46837 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46838
209bf7ac 468392006-09-21 Robert Millan <rmh@aybabtu.com>
46840
46841 Import from GRUB Legacy (lib/device.c):
46842 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46843 (init_device_map) [__linux__]: Add support for I2O devices.
46844
6b146090 468452006-09-14 Marco Gerards <marco@gnu.org>
46846
46847 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46848 `-melf_i386'.
46849
e38600a8 468502006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46851
46852 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46853 /boot/grub/*.lst.
78fa1790 46854
2952da5d 46855 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46856
2952da5d 46857 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46858 before adding it to device.map.
46859
01b82a64 468602006-08-15 Johan Rydberg <jrydberg@gnu.org>
46861
fe6b695a 46862 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46863 compiles a file; using the -MD option.
46864 * conf/common.mk: Regenerate.
46865 * conf/i386-pc.mk: Likewise.
46866 * conf/i386-efi.mk: Likewise.
46867 * conf/powerpc-ieee1275.mk: Likewise.
46868 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46869
1064790d 468702006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46871
46872 Move the prototypes of grub_setjmp and grub_longjmp to
46873 cpu/setjmp.h, so that each architecture may specify different
46874 attributes.
f19dbdb7 46875
1064790d 46876 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46877 (grub_longjmp): Likewise.
46878 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46879 (grub_longjmp): Likewise.
46880 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46881 (grub_longjmp): Likewise.
46882
46883 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46884 [!GRUB_UTIL] (grub_longjmp): Removed.
46885
29dda3ed 468862006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46887
46888 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46889 "color!" method does not return any value.
46890
ad2a06ed 468912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46892
46893 * include/grub/bitmap.h: New file.
46894
46895 * include/grub/i386/pc/vbeutil.h: Likewise.
46896
46897 * video/bitmap.c: Likewise.
46898
46899 * video/readers/tga.c: Likewise.
46900
46901 * video/i386/pc/vbeutil.c: Likewise.
46902
46903 * commands/videotest.c: Code cleanup and updated to reflect to new
46904 video API.
46905
46906 * term/gfxterm.c: Likewise.
46907
46908 * video/video.c: Likewise.
46909
46910 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46911 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46912 (bitmap_mod_SOURCES): New entry.
46913 (bitmap_mod_CFLAGS): Likewise.
46914 (bitmap_mod_LDFLAGS): Likewise.
46915 (tga_mod_SOURCES): Likewise.
46916 (tga_mod_CFLAGS): Likewise.
46917 (tga_mod_LDFLAGS): Likewise.
46918
46919 * include/grub/video.h (grub_video_blit_operators): New enum type.
46920 (grub_video_render_target): Changed as forward declaration and moved
46921 actual definition to be video driver specific.
46922 (grub_video_adapter.blit_bitmap): Added blitting operator.
46923 (grub_video_adapter.blit_render_target): Likewise.
46924 (grub_video_blit_bitmap): Likewise.
46925 (grub_video_blit_render_target): Likewise.
46926
46927 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46928 driver specific render target definition.
46929 (grub_video_vbe_map_rgba): Added driver internal helper.
46930 (grub_video_vbe_unmap_color): Updated to use
46931 grub_video_i386_vbeblit_info.
46932 (grub_video_vbe_get_video_ptr): Likewise.
46933
46934 * include/grub/i386/pc/vbeblit.h
46935 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46936 grub_video_i386_vbeblit_info.
46937 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46938 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46939 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46940 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46941 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46942 (grub_video_i386_vbeblit_index_index): Likewise.
46943 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46944 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46945 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46946 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46947 operator.
46948 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46949 operator.
46950
46951 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46952 include/grub/i386/pc/vbeblit.h.
46953
46954 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46955 Updated to use grub_video_i386_vbeblit_info.
46956 (grub_video_i386_vbefill_R8G8B8): Likewise.
46957 (grub_video_i386_vbefill_index): Likewise.
46958 (grub_video_i386_vbefill): Added generic filler.
46959
46960 * video/i386/pc/vbefill.c: Updated to reflect changes on
46961 include/grub/i386/pc/vbefill.h.
46962
46963 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46964 grub_video_i386_vbeblit_info.
46965 (grub_video_vbe_unmap_color): Likewise.
46966 (grub_video_vbe_blit_glyph): Likewise.
46967 (grub_video_vbe_scroll): Likewise.
46968 (grub_video_vbe_draw_pixel): Removed function.
46969 (grub_video_vbe_get_pixel): Likewise.
46970 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46971 updated code to use it.
46972 (common_blitter): Added common blitter for render target and bitmap.
46973 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46974 (grub_video_vbe_blit_render_target): Likewise.
46975
bc8c036d 469762006-07-30 Johan Rydberg <jrydberg@gnu.org>
46977
46978 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46979 is in text mode if there is no console control protocol instance
46980 available.
46981
684a8eff 469822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46983
46984 * include/grub/video.h: Code cleanup.
46985
46986 * include/grub/i386/pc/vbe.h: Likewise.
46987
46988 * video/i386/pc/vbe.c: Likewise.
46989
46990 * video/i386/pc/vbeblit.c: Likewise.
46991
46992 * video/i386/pc/vbefill.c: Likewise.
46993
46994 * video/video.c: Likewise. Also added more comments.
46995
5915059b 469962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46997
46998 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46999 (struct grub_biosdisk_dap): Likewise.
47000
47001 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47002 linkage settings for all functions.
47003
90ce5d56 470042006-07-12 Marco Gerards <marco@gnu.org>
47005
47006 * configure.ac (--enable-mm-debug): Fix typo.
47007
47008 * genkernsyms.sh.in: Use proper quoting for `CC'.
47009
43e7f879 470102006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47011
47012 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47013 (normal_mod_ASFLAGS): Remove "-m32".
47014
4889bdec 470152006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47016
47017 * util/misc.c: Include config.h.
47018 [!HAVE_MEMALIGN]: Do not include malloc.h.
47019 (grub_memalign): Use posix_memalign, if present. Then, use
47020 memalign, if present. Otherwise, emit an error.
47021
47022 * util/grub-emu.c: Do not include malloc.h.
47023
47024 * include/grub/util/misc.h: Include unistd.h. This is required for
47025 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47026 D. Eades III <hde@foobar-qux.org>.
47027
47028 * configure.ac (AC_GNU_SOURCE): Added.
47029 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47030 type.
47031
fd39d4da 470322006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47033
47034 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47035 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47036
b786f3b5 470372006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47038
47039 * include/grub/types.h (grub_host_addr_t): Rename to
47040 grub_target_addr_t.
47041 (grub_host_off_t): Rename to grub_target_off_t.
47042 (grub_host_size_t): Rename to grub_target_size_t.
47043 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47044 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47045
47046 * include/grub/kernel.h (struct grub_module_header): Change type
47047 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47048 (grub_module_info): Likewise.
f19dbdb7 47049
051988bb 470502006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47051
47052 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47053 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47054 Velazquez <jesus.velazquez@gmail.com>.
47055
deae281b 470562006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47057
47058 Count partitions from 1 instead of 0 in the string representation
47059 of partitions. Still use 0-based internally.
f19dbdb7 47060
deae281b 47061 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47062 (sun_partition_map_iterate): Use grub_partition_t instead of
47063 struct grub_partition *. Cast DESC->START_CYLINDER to
47064 grub_uint64_t after converting the endian.
47065 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47066 (sun_partition_map_get_name): Add 1 to P->INDEX.
47067
47068 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47069 PCDATA->DOS_PART.
47070 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47071
47072 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47073 zero instead of one.
47074 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47075 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47076
47077 * partmap/apple.c (apple_partition_map_iterate): Change the type
47078 of POS to unsigned.
47079 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47080 (apple_partition_map_get_name): Add 1 into P->INDEX.
47081
47082 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47083 of POS to unsigned.
47084 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47085 calculate the offset of a partition.
47086 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47087 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47088
47089 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47090 SECTOR to grub_disk_addr_t.
47091 (acorn_partition_map_iterate): Likewise.
47092 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47093 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47094 top.
47095 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47096
47097 * kern/i386/pc/init.c (make_install_device): Add 1 into
47098 GRUB_INSTALL_DOS_PART.
47099
47100 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47101 conditional.
47102
524a1e6a 471032006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47104
47105 Clean up the code to support 64-bit addressing in disks and
47106 files. This change is not enough for filesystems yet.
f19dbdb7 47107
524a1e6a 47108 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47109 type of "start" to grub_uint64_t.
47110 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47111 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47112 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47113 convert addresses.
47114
47115 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47116 to grub_disk_addr_t.
47117
47118 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47119 string.
47120
47121 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47122
47123 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47124 to char *.
47125
47126 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47127
47128 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47129
47130 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47131
47132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47133 to grub_off_t, to detect an error from grub_file_seek.
47134 (grub_multiboot_load_elf32): Likewise.
47135
47136 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47137 maximum unsigned long value when an overflow is detected.
47138 (grub_strtoull): New function.
47139 (grub_divmod64): Likewise.
47140 (grub_lltoa): use grub_divmod64.
47141
47142 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47143 grub_disk_addr_t.
47144 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47145 the pointer to next character. Use grub_strtoull instead of
47146 grub_strtoul.
47147 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47148 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47149 respectively.
47150
fe6b695a 47151 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47152 return value is signed.
47153 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47154 test if OFFSET is less than zero, as OFFSET is unsigned now.
47155
47156 * kern/disk.c (struct grub_disk_cache): Change the type of
47157 "sector" to grub_disk_addr_t.
47158 (grub_disk_cache_get_index): Change the type of SECTOR to
47159 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47160 unsigned after shifting.
47161 (grub_disk_cache_invalidate): Change the type of SECTOR to
47162 grub_disk_addr_t.
47163 (grub_disk_cache_unlock): Likewise.
47164 (grub_disk_cache_store): Likewise.
47165 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47166 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47167 grub_disk_addr_t and grub_uint64_t, respectively.
47168 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47169 body, as the value of OFFSET is tweaked by
47170 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47171 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47172 respectively.
47173 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47174 body, as the value of OFFSET is tweaked by
47175 grub_disk_check_range. Change the types of LEN and N to
47176 grub_size_t.
47177
47178 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47179 and "saved_offset" to grub_off_t.
47180 (test_header): Cast BUF to char *.
47181 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47182 to char *.
47183 (grub_gzio_read): Change the types of OFFSET and SIZE to
47184 grub_off_t and grub_size_t, respectively.
47185
47186 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47187 Removed.
47188 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47189 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47190 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47191 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47192 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47193
47194 * include/grub/types.h (grub_off_t): Unconditionally set to
47195 grub_uint64_t.
47196 (grub_disk_addr_t): Changed to grub_uint64_t.
47197
47198 * include/grub/partition.h (struct grub_partition): Change the
47199 types of "start", "len" and "offset" to grub_disk_addr_t,
47200 grub_uint64_t and grub_disk_addr_t, respectively.
47201 (grub_partition_get_start): Return grub_disk_addr_t.
47202 (grub_partition_get_len): Return grub_uint64_t.
47203
47204 * include/grub/misc.h (grub_strtoull): New prototype.
47205 (grub_divmod64): Likewise.
47206
47207 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47208 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47209 grub_off_t, respectively.
47210 All callers and references changed.
47211
47212 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47213 grub_size_t in "read".
47214 All callers and references changed.
47215
47216 * include/grub/file.h (struct grub_file): Change the types of
47217 "offset" and "size" to grub_off_t and grub_off_t,
47218 respectively. Change the type of SECTOR to grub_disk_addr_t in
47219 "read_hook".
47220 (grub_file_read): Change the type of LEN to grub_size_t.
47221 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47222 grub_off_t.
47223 (grub_file_size): Return grub_off_t.
47224 (grub_file_tell): Likewise.
47225 All callers and references changed.
47226
47227 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47228 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47229 "write".
47230 (struct grub_disk): Change the type of "total_sectors" to
47231 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47232 "read_hook".
524a1e6a 47233 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47234 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47235 (grub_disk_write): Likewise.
47236 All callers and references changed.
47237
47238 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47239 char * for grub_strncmp to silence gcc.
47240 (grub_iso9660_mount): Likewise.
47241 (grub_iso9660_mount): Likewise.
47242 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47243 return statement.
47244 (grub_iso9660_iterate_dir): Likewise.
47245 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47246
47247 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47248 LEN to grub_disk_addr_t and grub_size_t, respectively.
47249
47250 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47251
47252 * fs/jfs.c (grub_jfs_read_file): Likewise.
47253
47254 * fs/minix.c (grub_jfs_read_file): Likewise.
47255
47256 * fs/sfs.c (grub_jfs_read_file): Likewise.
47257
47258 * fs/ufs.c (grub_jfs_read_file): Likewise.
47259
47260 * fs/xfs.c (grub_jfs_read_file): Likewise.
47261
47262 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47263 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47264 respectively.
47265
47266 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47267 BLKNR to -1 instead of returning GRUB_ERRNO.
47268 (grub_ext2_read_file): Change the types of SECTOR and
47269 LEN to grub_disk_addr_t and grub_size_t, respectively.
47270
47271 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47272 LEN to grub_disk_addr_t and grub_size_t, respectively.
47273
47274 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47275 grub_file_read.
47276
47277 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47278 string. Do not cast SECTOR explicitly.
47279
47280 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47281 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47282 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47283 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47284 over 2TB and LBA mode is not supported, raise an error.
47285 (get_safe_sectors): New function.
47286 (grub_biosdisk_read): Use get_safe_sectors.
47287 (grub_biosdisk_write): Likewise.
47288
47289 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47290 (grub_efidisk_write): Likewise.
47291
47292 * disk/loopback.c (delete_loopback): Cosmetic changes.
47293 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47294 correctly.
47295 (grub_loopback_open): Likewise.
47296 (grub_loopback_read): Likewise. Also, change the type of POS to
47297 grub_off_t, and fix the usage of grub_memset.
47298
47299 * commands/i386/pc/play.c: Include grub/machine/time.h.
47300
47301 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47302 print FILE->SIZE.
47303
47304 * commands/configfile.c: Include grub/env.h.
47305
47306 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47307 GRUB_ERRNO directly instead. Change the type of POS to
47308 grub_off_t. Follow the coding standard.
47309
47310 * commands/blocklist.c: Include grub/partition.h.
47311 (grub_cmd_blocklist): Return an error if the underlying device is
47312 not a disk. Take the starting sector of a partition into account,
47313 if a partition is used.
47314
47315 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47316 a length field.
47317 (lba_mode): Support 64-bit addresses.
47318 (chs_mode): Likewise.
47319 (copy_buffer): Adapted to the new offsets of a length field and a
47320 segment field.
47321 (blocklist_default_start): Allocate 64-bit space.
47322
47323 * boot/i386/pc/boot.S (force_lba): Removed.
47324 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47325 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47326 space.
47327 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47328 is useless.
47329 (lba_mode): Refactored to support a 64-bit address. More size
47330 optimization.
47331 (setup_sectors): Likewise.
47332
53af98ad 473332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47334
47335 * DISTLIST: Added include/grub/i386/linux.h. Removed
47336 include/grub/i386/pc/linux.h
47337
47338 * configure.ac (AC_INIT): Bumped to 1.94.
47339
47340 * config.guess: Updated from gnulib.
47341 * config.sub: Likewise.
47342 * install-sh: Likewise.
47343 * mkinstalldirs: Likewise.
47344
b4c1940a 473452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47346
47347 * conf/common.rmk (grub_modules_init.lst): Depended on
47348 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47349 MODSRCFILES.
47350
47351 * genmk.rb (PModule::rule): Reverted the previous change.
47352
cfca1cfd 473532006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47354
47355 * conf/common.rmk (grub_modules_init.lst): Depends on
47356 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47357 that the target does not exist before producing.
47358 (grub_modules_init.h): Remove the target before generating.
47359 (grub_emu_init.c): Likewise.
47360
47361 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47362
aa6d7826 473632006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47364
47365 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47366 for the target-specific tests. Make sure that we also have the
47367 up-to-date target variables for those tests.
47368
26c607b9 473692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47370
47371 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47372 (PModule::rule): Likewise.
47373
0162321a 473742006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47375
47376 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47377 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47378 target-specific flags should be prefixed.
47379 (PModule::rule): Likewise.
47380
6c826348 473812006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47382
47383 * configure.ac (CMP): Check if cmp is available explicitly.
47384
b977bf01 473852006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47386
47387 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47388 (target_cpu): New variable.
47389 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47390
b977bf01 47391 * util/i386/pc/grub-install.in (host_cpu): Removed.
47392 (target_cpu): New variable.
47393 (pkglibdir): Use target_cpu instead of host_cpu.
47394
47395 * util/genmoddep.c: Removed.
f19dbdb7 47396
b977bf01 47397 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47398 instead of GRUB_HOST_SIZEOF_VOID_P.
47399 * kern/dl.c: Likewise.
47400
47401 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47402 ...
47403 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47404 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47405 (GRUB_TARGET_SIZEOF_LONG): ... this.
47406 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47407 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47408 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47409 to ...
47410 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47411 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47412 (GRUB_TARGET_SIZEOF_LONG): ... this.
47413 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47414 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47415 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47416 to ...
47417 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47418 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47419 (GRUB_TARGET_SIZEOF_LONG): ... this.
47420 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47421 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47422
47423 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47424 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47425 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47426 instead of GRUB_HOST_SIZEOF_LONG.
47427 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47428 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47429 GRUB_CPU_WORDS_BIGENDIAN.
47430 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47431 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47432 grub_host_ssize_t.
47433
47434 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47435 (genmoddep_SOURCES): Likewise.
47436 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47437 (genmoddep_SOURCES): Likewise.
47438 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47439 (genmoddep_SOURCES): Likewise.
47440 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47441 Likewise.
47442 (genmoddep_SOURCES): Likewise.
47443
47444 * genmoddep.awk: New file.
47445
47446 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47447 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47448 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47449 (PModule::rule): Likewise.
47450 (Program::rule): Likewise.
47451 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47452 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47453 respectively.
47454
47455 * configure.ac: Rewritten intensively to use host and target
47456 instead of build and host, respectively.
47457
47458 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47459 (host_cpu): Removed.
47460 (target_cpu): New variable.
47461 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47462 (BUILD_CC): Removed.
47463 (BUILD_CFLAGS): Likewise.
47464 (BUILD_CPPFLAGS): Likewise.
47465 (TARGET_CC): New variable.
47466 (TARGET_CFLAGS): Likewise.
47467 (TARGET_CPPFLAGS): Likewise.
47468 (TARGET_LDFLAGS): Likewise.
47469 (AWK): Likewise.
47470 (include): Use target_cpu instead of host_cpu.
47471 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47472
b977bf01 47473 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47474
f09771a1 474752006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47476
47477 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47478 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47479 field 'false' to 'exec_on_false'.
47480 (grub_script_create_cmdif): Renamed argument names to reflect above
47481 changes.
47482
47483 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47484
47485 * normal/script.c (grub_script_create_cmdif): Likewise.
47486
118f4fb3 474872006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47488
47489 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47490 top.
47491 (grub_hfsplus_btree_recptr): Likewise.
47492 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47493 FILEBLOCK both to pass a block number and store next block
47494 number.
47495 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47496 overflow file correctly. Specify errors appropriately, because
47497 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47498 grub_hfsplus_btree_recptr to get the pointer to a found key.
47499 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47500 is found.
47501
47502 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47503 linux.mod.
47504 (_linux_mod_SOURCES): New variable.
47505 (_linux_mod_CFLAGS): Likewise.
47506 (_linux_mod_LDFLAGS): Likewise.
47507 (linux_mod_SOURCES): Likewise.
47508 (linux_mod_CFLAGS): Likewise.
47509 (linux_mod_LDFLAGS): Likewise.
47510
47511 * DISTLIST: Added loader/i386/efi/linux.c,
47512 loader/i386/efi/linux_normal.c and
47513 include/grub/i386/efi/loader.h.
47514
47515 * loader/i386/efi/linux.c: New file.
47516 * loader/i386/efi/linux_normal.c: Likewise.
47517 * include/grub/i386/efi/loader.h: Likewise.
47518
89a7d726 475192006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47520
47521 * commands/blocklist.c: New file.
47522
47523 * DISTLIST: Added commands/blocklist.c.
47524
47525 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47526 color for the background, and a darker color for the foreground.
89a7d726 47527 (grub_console_checkkey): Return READ_KEY.
47528 (grub_console_cls): Set the background to
47529 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47530
47531 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47532
47533 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47534 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47535
47536 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47537 prototype.
47538
47539 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47540 BG. The spec is wrong again.
47541
47542 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47543 prototype.
47544 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47545
47546 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47547 commands/blocklist.c.
47548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47549
89a7d726 47550 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47551 (blocklist_mod_SOURCES): New variable.
47552 (blocklist_mod_CFLAGS): Likewise.
47553 (blocklist_mod_LDFLAGS): Likewise.
47554
75c8f258 475552006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47556
47557 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47558 duplication.
47559 (lba_mode): Use %eax more intensively to reduce the code size.
47560
da2eb181 475612006-05-20 Marco Gerards <marco@gnu.org>
47562
47563 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47564
47565 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47566 for `menuentry'.
47567 (script): Accept leading newlines.
47568 (newlines): New rule to describe 0 or more newlines.
47569 (commands): Accept `command' with trailing newline. Fixed the
47570 order in which arguments were passed to `grub_script_add_cmd'.
47571 Accept commands separated by newlines.
47572 (function): Changed to accept newlines.
47573 (menuentry) Rewritten.
47574
47575 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47576 front of the list, instead of to the end.
47577
577b4050 475782006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47579
47580 * util/i386/pc/grub-install.in (bindir): New variable.
47581 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47582 Shaver <lbgwjl@gmail.com>.
47583
0d6e1189 475842006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47585
47586 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47587 grub/machine/linux.h
47588 * loader/i386/pc/linux.c: Likewise.
47589
47590 * include/grub/i386/pc/linux.h: Moved to ...
47591 * include/grub/i386/linux.h: ... here.
47592
47593 * include/grub/i386/linux.h (struct linux_kernel_params): New
47594 struct.
f19dbdb7 47595
31b86e9f 475962006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47597
47598 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47599 checking.
47600 (grub_video_vbe_blit_glyph): Likewise.
47601 (grub_video_vbe_blit_bitmap): Likewise.
47602 (grub_video_vbe_blit_render_target): Likewise.
47603
83b984de 476042006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47605
47606 * configure.ac (--with-platform): Properly quote the square
47607 brackets.
47608
5f0413bd 476092006-05-08 Marco Gerards <marco@gnu.org>
47610
47611 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47612 this...
47613 (kernel_elf_HEADERS): ...to this. Updated all users.
47614 (grubof_symlist.c): Renamed from this...
47615 (kernel_elf_symlist.c): ...to this. Updated all users.
47616 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47617 (grubof_SOURCES): Renamed from this...
47618 (kernel_elf_SOURCES): ...to this.
47619 (grubof_HEADERS): Renamed from this...
47620 (kernel_elf_HEADERS): ...to this.
47621 (grubof_CFLAGS): Renamed from this...
47622 (kernel_elf_CFLAGS): ...to this.
47623 (grubof_ASFLAGS): Renamed from this...
47624 (kernel_elf_ASFLAGS): ...to this.
47625 (grubof_LDFLAGS): Renamed from this...
47626 (kernel_elf_LDFLAGS): ...to this.
47627
47628 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47629 this...
47630 (kernel_elf_HEADERS): ...to this. Updated all users.
47631 (grubof_symlist.c): Renamed from this...
47632 (kernel_elf_symlist.c): ...to this. Updated all users.
47633 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47634 (grubof_SOURCES): Renamed from this...
47635 (kernel_elf_SOURCES): ...to this.
47636 (grubof_HEADERS): Renamed from this...
47637 (kernel_elf_HEADERS): ...to this.
47638 (grubof_CFLAGS): Renamed from this...
47639 (kernel_elf_CFLAGS): ...to this.
47640 (grubof_ASFLAGS): Renamed from this...
47641 (kernel_elf_ASFLAGS): ...to this.
47642 (grubof_LDFLAGS): Renamed from this...
47643 (kernel_elf_LDFLAGS): ...to this.
47644
47645 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47646 `kernel.elf' instead of `grubof'.
47647
05568c2e 476482006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47649
47650 Add --with-platform to configure. Use pkglibdir instead of
47651 pkgdatadir. This is reported by Roger Leigh.
47652
47653 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47654 (host_vendor): Likewise.
47655 (host_os): Likewise.
47656 (pkgdatadir): Likewise.
47657 (platform): New variable.
47658 (pkglibdir): Likewise.
47659 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47660
05568c2e 47661 * util/i386/pc/grub-install.in (datadir): Removed.
47662 (host_vendor): Likewise.
47663 (host_os): Likewise.
47664 (pkgdatadir): Likewise.
47665 (platform): New variable.
47666 (pkglibdir): Likewise.
47667 Use PKGLIBDIR instead of PKGDATADIR.
47668
47669 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47670 instead of GRUB_DATADIR.
47671 (main): Likewise.
47672 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47673 (main): Likewise.
47674 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47675 (main): Likewise.
47676
47677 * configure.ac (--with-platform): New option.
47678 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47679
47680 * Makefile.in: Include a makefile based on PLATFORM instead of
47681 HOST_VENDOR.
47682 (pkgdatadir): Not appended by the machine type.
47683 (pkglibdir): Appended by the machine type.
47684 (host_vendor): Removed.
47685 (platform): New variable.
47686 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47687 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47688 (uninstall): Likewise.
47689
4e93851c 476902006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47691
47692 Use the environment context in the menu. Remove the commands
47693 "default" and "timeout", and use variables instead.
f19dbdb7 47694
4e93851c 47695 * normal/menu.c: Include grub/env.h.
47696 (print_entry): Cast TITLE to silence gcc.
47697 (get_timeout): New function.
47698 (set_timeout): Likewise.
47699 (get_entry_number): Likewise.
47700 (run_menu): Use a default entry, a fallback entry and a timeout
47701 in the environment variables "default", "fallback" and
47702 "timeout". Also, tweak the default entry if it is not within the
47703 current menu entries.
47704 (grub_menu_run): Use a fallback entry in the environment variable
47705 "fallback".
47706
47707 * normal/main.c (read_config_file): Do not initialize
47708 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47709 NEWMENU->TIMEOUT.
47710 (grub_normal_execute): Use a data slot to store the menu.
47711
47712 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47713 fallback_entry and timeout.
47714 (struct grub_menu_list): Removed.
47715 (grub_menu_list_t): Likewise.
47716 (struct grub_context): Likewise.
47717 (grub_context_t): Likewise.
47718 (grub_context_get): Likewise.
47719 (grub_context_get_current_menu): Likewise.
47720 (grub_context_push_menu): Likewise.
47721 (grub_context_pop_menu): Likewise.
47722 (grub_default_init): Likewise.
47723 (grub_default_fini): Likewise.
47724 (grub_timeout_init): Likewise.
47725 (grub_timeout_fini): Likewise.
47726
47727 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47728 and timeout.mod.
47729 (normal_mod_SOURCES): Removed normal/context.c.
47730
47731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47732 commands/default.c, commands/timeout.c and normal/context.c.
47733 (normal_mod_SOURCES): Removed normal/context.c.
47734
47735 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47736 commands/timeout.c and normal/context.c.
47737 (normal_mod_SOURCES): Removed normal/context.c.
47738
47739 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47740 commands/default.c, commands/timeout.c and normal/context.c.
47741 (normal_mod_SOURCES): Removed normal/context.c.
47742
47743 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47744 timeout.mod.
47745 (default_mod_SOURCES): Removed.
47746 (default_mod_CFLAGS): Likewise.
47747 (default_mod_LDFLAGS): Likewise.
47748 (timeout_mod_SOURCES): Removed.
47749 (timeout_mod_CFLAGS): Likewise.
47750 (timeout_mod_LDFLAGS): Likewise.
47751
47752 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47753 normal/context.c.
47754
47755 * commands/default.c: Removed.
47756 * commands/timeout.c: Likewise.
47757 * normal/context.c: Likewise.
47758
1eb9cc1d 477592006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47760
47761 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47762
385bd9c1 477632006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47764
47765 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47766 "next" to "prev" for readability.
47767 (struct grub_env_sorted_var): New struct.
47768 (grub_env_context): Renamed to ...
47769 (initial_context): ... this.
47770 (grub_env_var_context): Renamed to ...
47771 (current_context): ... this.
47772 (grub_env_find): Look only at CURRENT_CONTEXT.
47773 (grub_env_context_open): Rewritten to copy exported variables from
47774 previous context.
47775 (grub_env_context_close): Rewritten according to the new
47776 scheme. Also, add an assertion to prevent the initial context from
47777 removed.
47778 (grub_env_insert): Removed the code for the sorted list.
47779 (grub_env_remove): Likewise.
47780 (grub_env_export): Simply mark the variable with
47781 GRUB_ENV_VAR_GLOBAL.
47782 (grub_env_set): A cosmetic change for naming consistency.
47783 (grub_env_get): Likewise.
47784 (grub_env_unset): Likewise.
47785 (grub_env_iterate): Rewritten to sort variables within this
47786 function.
47787 (grub_register_variable_hook): Fixed for naming consistency. Call
47788 grub_env_find again, only if NAME is not found at the first time.
47789 (mangle_data_slot_name): New function.
47790 (grub_env_set_data_slot): Likewise.
47791 (grub_env_get_data_slot): Likewise.
47792 (grub_env_unset_data_slot): Likewise.
47793
47794 * include/grub/env.h (grub_env_var_type): New enum.
47795 (GRUB_ENV_VAR_LOCAL): New constant.
47796 (GRUB_ENV_VAR_GLOBAL): Likewise.
47797 (GRUB_ENV_VAR_DATA): Likewise.
47798 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47799 "type".
47800 (grub_env_set): Replace VAR with NAME for consistency.
47801 (grub_register_variable_hook): Likewise.
47802 (grub_env_export): Specify the name of the argument.
47803 (grub_env_set_data_slot): New prototype.
47804 (grub_env_get_data_slot): Likewise.
47805 (grub_env_unset_data_slot): Likewise.
47806
7f362539 478072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47808
47809 Extend the loader so that GRUB can accept a loader which comes
47810 back to GRUB when a loaded image exits. Also, this change adds
47811 support for a chainloader on EFI.
f19dbdb7 47812
7f362539 47813 * term/efi/console.c: Include grub/misc.h.
47814 (grub_console_checkkey): Display a scan code on the top for
47815 debugging. This will be removed once the EFI port gets stable.
47816 Correct the scan code mapping.
47817
47818 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47819 allocate memory from larger regions, in order to reduce the number
47820 of allocated regions. Otherwise, the MacOSX loader panics.
47821 (filter_memory_map): Avoid less than 1MB for compatibility with
47822 other loaders.
47823 (add_memory_regions): Allocate from the tail of a region, if
47824 possible, to avoid allocating a region near to 1MB, for the MacOSX
47825 loader.
47826
47827 * kern/efi/init.c (grub_efi_set_prefix): Specify
47828 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47829
47830 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47831 argument IMAGE_HANDLE and specify it to get a loaded image.
47832 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47833 grub_efi_get_loaded_image.
fe6b695a 47834 (grub_efi_get_filename): Divide the length by the size of
7f362539 47835 grub_efi_char16_t.
47836 (grub_efi_get_device_path): New function.
47837 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47838 the length by the size of grub_efi_char16_t for a file path device
47839 path node.
47840
47841 * kern/loader.c (grub_loader_noreturn): New variable.
47842 (grub_loader_set): Accept a new argument NORETURN. Set
47843 GRUB_LOADER_NORETURN to NORETURN.
47844 All callers changed.
47845 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47846 grub_machine_fini.
47847
47848 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47849 prototype.
47850 (grub_efi_get_loaded_image): Take an argument to specify an image
47851 handle.
47852
47853 * include/grub/loader.h (grub_loader_set): Added one more argument
47854 NORETURN.
47855
47856 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47857 instead of grub_efi_open_protocol.
47858 (grub_efidisk_get_device_name): Likewise.
47859 (grub_efidisk_close): Print a newline.
47860 (grub_efidisk_get_device_handle): Fixed to use
47861 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47862 GRUB_EFI_DEVICE_PATH_TYPE.
47863
47864 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47865 * kern/efi/efi.c (device_path_guid): ... here.
47866
47867 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47868 chain.mod.
47869 (kernel_mod_HEADERS): Added efi/disk.h.
47870 (_chain_mod_SOURCES): New variable.
47871 (_chain_mod_CFLAGS): Likewise.
47872 (_chain_mod_LDFLAGS): Likewise.
47873 (chain_mod_SOURCES): Likewise.
47874 (chain_mod_CFLAGS): Likewise.
47875 (chain_mod_LDFLAGS): Likewise.
47876
47877 * DISTLIST: Added include/grub/efi/chainloader.h,
47878 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47879
47880 * include/grub/efi/chainloader.h: New file.
47881 * loader/efi/chainloader.c: Likewise.
47882 * loader/efi/chainloader_normal.c: Likewise.
47883
c0111d6e 478842006-04-30 Marco Gerards <marco@gnu.org>
47885
47886 * commands/configfile.c (grub_cmd_source): New function.
47887 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47888 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47889
df5341da 478902006-04-30 Marco Gerards <marco@gnu.org>
47891
47892 * normal/execute.c (grub_script_execute_cmd): Change the return
47893 type to `grub_err_t'. Correctly return the error.
47894 (grub_script_execute_cmdline): In case a command line is not a
47895 command or a function, try to interpret it as an assignment.
47896
f85934bd 478972006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47898
47899 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47900 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47901 skip a node whose name is obviously invalid as UTF-16,
47902 i.e. contains a NUL character. Stop the iteration when the last
47903 directory entry is found. Instead of using the return value of
47904 grub_hfsplus_btree_iterate_node, store the value in RET and use
47905 it, because the iterator can be stopped by the last directory
47906 entry.
47907
8f8a2cf8 479082006-04-30 Marco Gerards <marco@gnu.org>
47909
47910 * include/grub/env.h (grub_env_export): New prototype. Reported
47911 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47912
a27e84ce 479132006-04-30 Marco Gerards <marco@gnu.org>
47914
47915 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47916 size of the extents in a catalog file record.
47917
eaef0553 479182006-04-29 Marco Gerards <marco@gnu.org>
47919
47920 * commands/configfile.c (grub_cmd_configfile): Execute the
47921 configfile within its own context.
47922
47923 * include/grub/env.h (grub_env_context_open): New prototype.
47924 (grub_env_context_close): Likewise.
47925
47926 * kern/env.c (grub_env): Removed.
47927 (grub_env_sorted): Likewise.
47928 (grub_env_context): New variable.
47929 (grub_env_var_context): Likewise.
47930 (grub_env_find): Search both the active context and the global
47931 context.
47932 (grub_env_context_open): New function.
47933 (grub_env_context_close): Likewise.
47934 (grub_env_insert): Likewise.
47935 (grub_env_remove): Likewise.
47936 (grub_env_export): Likewise.
47937 (grub_env_set): Changed to use helper functions to avoid code
47938 duplication.
47939 (grub_env_iterate): Rewritten so both the current context and the
47940 global context are being used.
47941
47942 * normal/command.c (export_command): New function.
47943 (grub_command_init): Register the `export' function.
47944
7b455f4d 479452006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47946
47947 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47948 explicitly to suppress gcc's warnings.
47949 * fs/fat.c (grub_fat_find_dir): Likewise.
47950 (grub_fat_label): Likewise.
47951 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47952 (grub_xfs_mount): Likewise.
47953 (grub_xfs_label): Likewise.
47954 * fs/affs.c (grub_affs_mount): Likewise.
47955 (grub_affs_label): Likewise.
47956 (grub_affs_iterate_dir): Likewise.
47957 * fs/sfs.c (grub_sfs_mount): Likewise.
47958 (grub_sfs_iterate_dir): Likewise.
47959 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47960 * fs/hfs.c (grub_hfs_mount): Likewise.
47961 (grub_hfs_cmp_catkeys): Likewise.
47962 (grub_hfs_find_dir): Likewise.
47963 (grub_hfs_dir): Likewise.
47964 (grub_hfs_label): Likewise.
47965 * fs/jfs.c (grub_jfs_mount): Likewise.
47966 (grub_jfs_opendir): Likewise.
47967 (grub_jfs_getent): Likewise.
47968 (grub_jfs_lookup_symlink): Likewise.
47969 (grub_jfs_label): Likewise.
47970 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47971 (grub_hfsplus_iterate_dir): Likewise.
47972 (grub_hfsplus_btree_iterate_node): Made static.
47973
47974 * util/grub-emu.c (prefix): New variable.
47975 (grub_machine_set_prefix): New function.
47976 (main): Do not set the environment variable "prefix" here. Only
47977 set PREFIX, which is used later by grub_machine_set_prefix.
47978
47979 * include/grub/video.h: Do not include grub/symbol.h.
47980 (grub_video_register): Not exported. This symbol is not defined in
47981 the kernel.
47982 (grub_video_unregister): Likewise.
47983 (grub_video_iterate): Likewise.
47984 (grub_video_setup): Likewise.
47985 (grub_video_restore): Likewise.
47986 (grub_video_get_info): Likewise.
47987 (grub_video_get_blit_format): Likewise.
47988 (grub_video_set_palette): Likewise.
47989 (grub_video_get_palette): Likewise.
47990 (grub_video_set_viewport): Likewise.
47991 (grub_video_get_viewport): Likewise.
47992 (grub_video_map_color): Likewise.
47993 (grub_video_map_rgb): Likewise.
47994 (grub_video_map_rgba): Likewise.
47995 (grub_video_fill_rect): Likewise.
47996 (grub_video_blit_glyph): Likewise.
47997 (grub_video_blit_bitmap): Likewise.
47998 (grub_video_blit_render_target): Likewise.
47999 (grub_video_scroll): Likewise.
48000 (grub_video_swap_buffers): Likewise.
48001 (grub_video_create_render_target): Likewise.
48002 (grub_video_delete_render_target): Likewise.
48003 (grub_video_set_active_render_target): Likewise.
48004
48005 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48006 Undefined.
48007 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48008
48009 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48010 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48011 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48012 instead of $(srcdir)/genkernsyms.sh.
48013
48014 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48015 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48016 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48017 instead of $(srcdir)/genkernsyms.sh.
48018
48019 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48020 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48021 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48022 instead of $(srcdir)/genkernsyms.sh.
48023
48024 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48025 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48026 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48027 instead of $(srcdir)/genkernsyms.sh.
48028
48029 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48030 genkernsyms.sh.
48031
48032 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48033 genkernsyms.sh.
48034 (gensymlist.sh): New target.
48035 (genkernsyms.sh): Likewise.
48036
48037 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48038 genkernsyms.sh.in and gensymlist.sh.in.
48039
48040 * genkernsyms.sh: Removed.
48041 * gensymlist.sh: Likewise.
f19dbdb7 48042
7b455f4d 48043 * genkernsyms.sh.in: New file.
48044 * gensymlist.sh.in: Likewise.
48045
1885bb27 480462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48047
48048 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48049 clobber "prefix", since we may have already set it manually.
48050
71538dff 480512006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48052
48053 * kern/misc.c (abort): New alias for grub_abort.
48054
2965c7cc 480552006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48056
48057 A new machine-specific function "grub_machine_set_prefix" is
48058 defined. This is called after loading modules, so that a prefix
48059 initialization can use modules. Also, this change adds an
48060 intensive debugging feature for the memory manager via the
48061 configure option "--enable-mm-debug".
f19dbdb7 48062
2965c7cc 48063 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48064 PART.LEN.
48065
48066 * kern/sparc64/ieee1275/init.c (abort): Removed.
48067 (grub_stop): Likewise.
48068 (grub_exit): New function.
48069 (grub_set_prefix): Renamed to ...
48070 (grub_machine_set_prefix): ... this.
48071 (grub_machine_init): Do not call grub_set_prefix.
48072
48073 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48074 (grub_machine_set_prefix): ... this.
48075 (grub_machine_init): Do not call grub_set_prefix.
48076
48077 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48078 (grub_machine_init): Do not set the prefix here.
48079
48080 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48081
48082 * kern/efi/init.c: Include grub/mm.h.
48083 (grub_efi_set_prefix): New function.
48084
48085 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48086 (grub_efi_get_filename): New function.
48087 (grub_print_device_path): Renamed to ...
48088 (grub_efi_print_device_path): ... this.
48089
48090 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48091 [MM_DEBUG] (grub_realloc): Likewise.
48092 [MM_DEBUG] (grub_free): Likewise.
48093 [MM_DEBUG] (grub_memalign): Likewise.
48094 [MM_DEBUG] (grub_mm_debug): New variable.
48095 [MM_DEBUG] (grub_debug_malloc): New function.
48096 [MM_DEBUG] (grub_debug_free): New function.
48097 [MM_DEBUG] (grub_debug_realloc): New function.
48098 [MM_DEBUG] (grub_debug_memalign): New function.
48099
48100 * kern/misc.c (grub_abort): Print a newline to distinguish
48101 the message.
48102
48103 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48104 grub_set_root_dev after loading modules. This is necessary when
48105 setting a prefix depends on modules.
48106
48107 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48108 (grub_efi_print_device_path): ... this.
48109 (grub_efi_get_filename): New prototype.
48110 (grub_efi_set_prefix): Likewise.
48111
48112 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48113 and grub/disk.h.
48114 (grub_efidisk_get_device_handle): New prototype.
48115 (grub_efidisk_get_device_name): Likewise.
48116
48117 * include/grub/mm.h: Include config.h.
48118 (MM_DEBUG): Removed.
48119 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48120 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48121 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48122 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48123 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48124 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48125 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48126 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48127 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48128
48129 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48130
48131 * disk/efi/efidisk.c: Include grub/partition.h.
48132 (iterate_child_devices): New function.
48133 (add_device): First, compare only last device path nodes, so that
48134 devices are sorted by the types.
48135 (grub_efidisk_get_device_handle): New function.
48136 (grub_efidisk_get_device_name): Likewise.
48137
48138 * configure.ac (--enable-mm-debug): New option to enable the
48139 memory manager debugging feature. This makes the binary much
48140 bigger, so is disabled by default.
48141
9cacaa17 481422006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48143
48144 Use grub_abort instead of grub_stop, and grub_exit must be
48145 define in each architecture now. Also, this change adds support
48146 for EFI disks.
f19dbdb7 48147
9cacaa17 48148 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48149 (grub_getkey): New function.
48150 (grub_term_get_current): Likewise.
48151
48152 * util/i386/pc/grub-setup.c: Include grub/term.h.
48153 (grub_getkey): New function.
48154 (grub_term_get_current): Likewise.
48155
48156 * util/misc.c (grub_stop): Renamed to ...
48157 (grub_exit): ... this.
48158
48159 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48160 (grub_exit): ... this.
48161 (grub_machine_init): Use grub_abort instead of abort.
48162 (grub_stop): Removed.
48163
48164 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48165 abort.
48166
48167 * kern/i386/pc/startup.S (grub_exit): New function.
48168 (cold_reboot): New label.
48169
48170 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48171 (grub_efi_init): Call grub_efidisk_init.
48172 (grub_efi_fini): Call grub_efidisk_fini.
48173
48174 * kern/efi/efi.c: Include grub/mm.h.
48175 (grub_efi_console_control_guid): Renamed to ...
48176 (console_control_guid): ... this.
48177 (grub_efi_loaded_image_guid): Renamed to ...
48178 (loaded_image_guid): ... this.
48179 (grub_efi_locate_handle): New function.
48180 (grub_efi_open_protocol): Likewise.
48181 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48182 GRUB_EFI_CONSOLE_CONTROL_GUID.
48183 (grub_efi_exit): Removed.
48184 (grub_stop): Likewise.
48185 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48186 (grub_exit): New function.
48187 (grub_print_device_path): Likewise.
48188
48189 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48190 (grub_enter_rescue_mode): Register "exit".
48191
48192 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48193 (grub_abort): New function.
48194
48195 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48196
48197 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48198
48199 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48200
48201 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48202 (grub_print_device_path): New prototype.
48203 (grub_efi_locate_handle): Likewise.
48204 (grub_efi_open_protocol): Likewise.
48205
48206 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48207 * disk/efi/efidisk.c: Likewise.
48208
48209 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48210
48211 * include/grub/efi/console_control.h
48212 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48213
48214 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48215 last 8 bytes as an array.
48216 (GRUB_EFI_DISK_IO_GUID): New macro.
48217 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48218 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48219 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48220 grub_uint8_t.
48221 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48222 (struct grub_efi_device_path): Rename the member "sub_type" to
48223 "subtype".
48224 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48225 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48226 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48227 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48228 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48229 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48230 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48231 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48232 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48233 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48234 (struct grub_efi_pci_device_path): New structure.
48235 (grub_efi_pci_device_path_t): New type.
48236 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48237 (struct grub_efi_pccard_device_path): New structure.
48238 (grub_efi_pccard_device_path_t): New type.
48239 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48240 (struct grub_efi_memory_mapped_device_path): New structure.
48241 (grub_efi_memory_mapped_device_path_t): New type.
48242 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48243 (struct grub_efi_vendor_device_path): New structure.
48244 (grub_efi_vendor_device_path_t): New type.
48245 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48246 (struct grub_efi_controller_device_path): New structure.
48247 (grub_efi_controller_device_path_t): New type.
48248 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48249 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48250 (struct grub_efi_acpi_device_path): New structure.
48251 (grub_efi_acpi_device_path_t): New type.
48252 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48253 (struct grub_efi_expanded_acpi_device_path): New structure.
48254 (grub_efi_expanded_acpi_device_path_t): New type.
48255 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48256 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48257 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48258 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48259 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48260 (struct grub_efi_atapi_device_path): New structure.
48261 (grub_efi_atapi_device_path_t): New type.
48262 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48263 (struct grub_efi_fibre_channel_device_path): New structure.
48264 (grub_efi_fibre_channel_device_path_t): New type.
48265 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48266 (struct grub_efi_1394_device_path): New structure.
48267 (grub_efi_1394_device_path_t): New type.
48268 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48269 (struct grub_efi_usb_device_path): New structure.
48270 (grub_efi_usb_device_path_t): New type.
48271 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48272 (struct grub_efi_usb_class_device_path): New structure.
48273 (grub_efi_usb_class_device_path_t): New type.
48274 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48275 (struct grub_efi_i2o_device_path): New structure.
48276 (grub_efi_i2o_device_path_t): New type.
48277 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48278 (struct grub_efi_mac_address_device_path): New structure.
48279 (grub_efi_mac_address_device_path_t): New type.
48280 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48281 (struct grub_efi_ipv4_device_path): New structure.
48282 (grub_efi_ipv4_device_path_t): New type.
48283 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48284 (struct grub_efi_ipv6_device_path): New structure.
48285 (grub_efi_ipv6_device_path_t): New type.
48286 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48287 (struct grub_efi_infiniband_device_path): New structure.
48288 (grub_efi_infiniband_device_path_t): New type.
48289 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48290 (struct grub_efi_uart_device_path): New structure.
48291 (grub_efi_uart_device_path_t): New type.
48292 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48293 (struct grub_efi_vendor_messaging_device_path): New structure.
48294 (grub_efi_vendor_messaging_device_path_t): New type.
48295 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48296 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48297 (struct grub_efi_hard_drive_device_path): New structure.
48298 (grub_efi_hard_drive_device_path_t): New type.
48299 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48300 (struct grub_efi_cdrom_device_path): New structure.
48301 (grub_efi_cdrom_device_path_t): New type.
48302 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48303 (struct grub_efi_vendor_media_device_path): New structure.
48304 (grub_efi_vendor_media_device_path_t): New type.
48305 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48306 (struct grub_efi_file_path_device_path): New structure.
48307 (grub_efi_file_path_device_path_t): New type.
48308 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48309 (struct grub_efi_protocol_device_path): New structure.
48310 (grub_efi_protocol_device_path_t): New type.
48311 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48312 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48313 (struct grub_efi_bios_device_path): New structure.
48314 (grub_efi_bios_device_path_t): New type.
48315 (struct grub_efi_disk_io): New structure.
48316 (grub_efi_disk_io_t): New type.
48317 (struct grub_efi_block_io_media): New structure.
48318 (grub_efi_block_io_media_t): New type.
48319 (struct grub_efi_block_io): New structure.
48320 (grub_efi_block_io_t): New type.
48321
48322 * include/grub/misc.h (grub_stop): Removed.
48323 (grub_exit): New prototype.
48324 (grub_abort): Likewise.
48325
48326 * include/grub/disk.h (enum grub_disk_dev_id): Added
48327 GRUB_DISK_DEVICE_EFIDISK_ID.
48328
48329 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48330 disk/efi/efidisk.c.
48331 (kernel_syms.lst): Remove the target if an error occurs.
48332
49986a9f 483332006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48334
48335 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48336 as it was simply too buggy.
48337
970d3b8a 483382006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48339
48340 * kern/misc.c (grub_lltoa): New function.
48341 (grub_vsprintf): Added support for the long long suffix,
48342 i.e. "ll".
48343
ff04ec24 483442006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48345
48346 * Makefile.in (LDFLAGS): Add variable.
48347 (LD): Remove variable.
48348 * configure.ac: Add -m32 to LDFLAGS.
48349 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48350 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48351 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48352 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48353 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48354 variables.
48355 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48356 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48357 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48358
37e5e1a4 483592006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48360
48361 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48362 length for unknown glyph.
48363
c352d8dd 483642006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48365
2eab1c0d 48366 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48367
2eab1c0d 48368 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48369 completely. Accept one more argument DIR. The caller has changed.
48370
48371 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48372
48373 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48374 (grub_efi_loaded_image_guid): New variable.
48375 (grub_efi_get_loaded_image): New function.
48376 (grub_arch_modules_addr): Likewise.
48377
48378 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48379 prototype.
48380
48381 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48382 (struct grub_efi_loaded_image): New structure.
48383 (grub_efi_loaded_image_t): New type.
48384
483852006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48386
c352d8dd 48387 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48388 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48389 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48390
6d01d6b4 483912006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48392
48393 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48394
976a4ea0 483952006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48396
48397 * DISTLIST: Added include/grub/efi/console.h,
48398 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48399 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48400
48401 * include/grub/efi/console.h: New file.
48402 * include/grub/efi/time.h: Likewise.
48403 * include/grub/i386/efi/kernel.h: Likewise.
48404 * kern/efi/init.c: Likewise.
48405 * kern/efi/mm.c: Likewise.
48406 * term/efi/console.c: Likewise.
f19dbdb7 48407
976a4ea0 48408 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48409 (grub_stop): Removed.
48410 (grub_get_rtc): Likewise.
48411 (grub_machine_init): Simply call grub_efi_init.
48412 (grub_machine_fini): Call grub_efi_fini.
48413
48414 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48415 (grub_efi_output_string): Removed.
48416 (grub_efi_stall): New function.
48417 (grub_stop): Likewise.
48418 (grub_get_rtc): Likewise.
48419
48420 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48421 (grub_efi_stall): New prototype.
48422 (grub_efi_allocate_pages): Likewise.
48423 (grub_efi_free_pages): Likewise.
48424 (grub_efi_get_memory_map): Likewise.
48425 (grub_efi_mm_init): Likewise.
48426 (grub_efi_mm_fini): Likewise.
48427 (grub_efi_init): Likewise.
48428 (grub_efi_fini): Likewise.
48429
48430 * include/grub/i386/efi/time.h: Do not include
48431 grub/symbol.h. Include grub/efi/time.h.
48432 (GRUB_TICKS_PER_SECOND): Removed.
48433 (grub_get_rtc): Likewise.
48434
48435 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48436 Added padding. The EFI spec is buggy.
48437 (GRUB_EFI_BLACK): New macro.
48438 (GRUB_EFI_BLUE): Likewise.
48439 (GRUB_EFI_GREEN): Likewise.
48440 (GRUB_EFI_CYAN): Likewise.
48441 (GRUB_EFI_RED): Likewise.
48442 (GRUB_EFI_MAGENTA): Likewise.
48443 (GRUB_EFI_BROWN): Likewise.
48444 (GRUB_EFI_LIGHTGRAY): Likewise.
48445 (GRUB_EFI_BRIGHT): Likewise.
48446 (GRUB_EFI_DARKGRAY): Likewise.
48447 (GRUB_EFI_LIGHTBLUE): Likewise.
48448 (GRUB_EFI_LIGHTGREEN): Likewise.
48449 (GRUB_EFI_LIGHTCYAN): Likewise.
48450 (GRUB_EFI_LIGHTRED): Likewise.
48451 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48452 (GRUB_EFI_YELLOW): Likewise.
48453 (GRUB_EFI_WHITE): Likewise.
48454 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48455 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48456 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48457 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48458 (GRUB_EFI_BACKGROUND_RED): Likewise.
48459 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48460 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48461 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48462 (GRUB_EFI_TEXT_ATTR): Likewise.
48463
48464 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48465 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48466 (kernel_mod_HEADERS): Added efi/time.h.
48467
83709125 484682006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48469
48470 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48471 include/grub/efi/api.h, include/grub/efi/console_control.h,
48472 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48473 include/grub/i386/efi/time.h, kern/efi/efi.c,
48474 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48475 and util/i386/efi/grub-mkimage.c.
48476
48477 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48478
48479 * genmk.rb (PModule#rule): Do not export symbols if
48480 #{prefix}_EXPORTS is set to "no".
48481
48482 * conf/i386-efi.mk: New file.
48483 * conf/i386-efi.rmk: Likewise.
48484 * include/grub/efi/api.h: Likewise.
48485 * include/grub/efi/console_control.h: Likewise.
48486 * include/grub/efi/efi.h: Likewise.
48487 * include/grub/efi/pe32.h: Likewise.
48488 * include/grub/i386/efi/time.h: Likewise.
48489 * kern/efi/efi.c: Likewise.
48490 * kern/i386/efi/init.c: Likewise.
48491 * kern/i386/efi/startup.S: Likewise.
48492 * util/i386/efi/grub-mkimage.c: Likewise.
48493
484942006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48495
48496 * include/grub/script.h: Include <grub/parser.h> and
48497 "grub_script.tab.h".
48498 (struct grub_lexer_param): New struct.
48499 (struct grub_parser_param): Likewise.
48500 (grub_script_create_arglist): Pass the state in an argument.
48501 (grub_script_add_arglist): Likewise.
48502 (grub_script_create_cmdline): Likewise.
48503 (grub_script_create_cmdblock): Likewise.
48504 (grub_script_create_cmdif): Likewise.
48505 (grub_script_create_cmdmenu): Likewise.
48506 (grub_script_add_cmd): Likewise.
48507 (grub_script_arg_add): Likewise.
48508 (grub_script_lexer_ref): Likewise.
48509 (grub_script_lexer_deref): Likewise.
48510 (grub_script_lexer_record_start): Likewise.
48511 (grub_script_lexer_record_stop): Likewise.
48512 (grub_script_mem_record): Likewise.
48513 (grub_script_mem_record_stop): Likewise.
48514 (grub_script_malloc): Likewise.
48515 (grub_script_yylex): Likewise.
48516 (grub_script_yyparse): Likewise.
48517 (grub_script_yyerror): Likewise.
48518 (grub_script_yylex): Likewise.
48519 (grub_script_lexer_init): Return the state.
48520
48521 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48522 (grub_script_lexer_done): Likewise.
48523 (grub_script_lexer_getline): Likewise.
48524 (grub_script_lexer_refs): Likewise.
48525 (script): Likewise.
48526 (newscript): Likewise.
48527 (record): Likewise.
48528 (recording): Likewise.
48529 (recordpos): Likewise.
48530 (recordlen): Likewise.
48531 (grub_script_lexer_init): Return the state instead of setting
48532 global variables.
48533 (grub_script_lexer_ref): Use the newly added argument for state
48534 instead of globals.
48535 (grub_script_lexer_deref): Likewise.
48536 (grub_script_lexer_record_start): Likewise.
48537 (grub_script_lexer_record_stop): Likewise.
48538 (recordchar): Likewise.
48539 (nextchar): Likewise.
48540 (grub_script_yylex2): Likewise.
48541 (grub_script_yylex): Likewise.
48542 (grub_script_yyerror): Likewise.
48543
48544 * normal/parser.y (func_mem): Removed variable.
48545 (menu_entry): Likewise.
48546 (err): Likewise.
48547 (%lex-param): New parser option.
48548 (%parse-param): Likewise.
48549 (script): Always return the AST.
48550 (argument): Pass the state around.
48551 (arguments): Likewise.
48552 (grubcmd): Likewise.
48553 (commands): Likewise.
48554 (function): Likewise.
48555 (menuentry): Likewise.
48556 (if_statement): Likewise.
48557 (if): Likewise.
48558
48559 * normal/script.c (grub_script_memused): Removed variable.
48560 (grub_script_parsed): Likewise.
48561 (grub_script_malloc): Added a state argument. Use that instead of
48562 global variables.
48563 (grub_script_mem_record): Likewise.
48564 (grub_script_mem_record_stop): Likewise.
48565 (grub_script_arg_add): Likewise.
48566 (grub_script_add_arglist): Likewise.
48567 (grub_script_create_cmdline): Likewise.
48568 (grub_script_create_cmdif): Likewise.
48569 (grub_script_create_cmdmenu): Likewise.
48570 (grub_script_add_cmd): Likewise.
48571 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48572
e2a8c904 485732006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48574
48575 * normal/command.c (grub_command_init): Remove the title command.
48576
48577 * normal/lexer.c (grub_script_yylex): Renamed from this...
48578 (grub_script_yylex2): ... to this.
48579 (grub_script_yylex): New function. Temporary
48580 introduced to filter some tokens.
48581 (grub_script_yyerror): Print a newline.
48582
48583 * normal/main.c (read_config_file): Output information about the
48584 lines that contain errors. Wait for a key after all lines have
48585 been processed. Don't return an empty menu.
48586
48587 * normal/parser.y (func_mem): Don't initialize.
48588 (menu_entry): Likewise.
48589 (err): New variable.
48590 (script): Don't return anything when an error was encountered.
48591 (ws, returns): Removed rules.
48592 (argument): Disabled concatenated variable support.
48593 (arguments): Remove explicit separators.
48594 (grubcmd): Likewise.
48595 (function): Likewise.
48596 (menuentry): Likewise.
48597 (if): Likewise.
48598 (commands): Likewise. Add error handling.
48599
48600 * normal/script.c (grub_script_create_cmdline): If
48601 `grub_script_parsed' is 0, assume the parser encountered an error.
48602
c9a86192 486032006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48604
48605 * configure.ac: Add support for EFI. Fix the typo
48606 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48607
70f3b243 486082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48609
48610 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48611 foreign multibyte characters should be shown correctly.
48612
65f201ad 486132006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48614
48615 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48616 calculation.
48617 (read_config_file): Made it to close file before returning.
48618
b4b93674 486192006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48620
48621 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48622 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48623 video/i386/pc/vbefill.c.
48624
48625 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48626 video/i386/pc/vbefill.c.
48627
48628 * include/grub/video.h (grub_video_blit_format): New enum.
48629 (grub_video_mode_info): Added new member blit_format.
48630 (grub_video_get_blit_format): New function prototype.
48631
48632 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48633 function prototype.
48634 (grub_video_vbe_map_rgb): Likewise.
48635 (grub_video_vbe_unmap_color): Likewise.
48636
48637 * include/grub/i386/pc/vbeblit.h: New file.
48638
48639 * include/grub/i386/pc/vbefill.h: New file.
48640
48641 * video/video.c (grub_video_get_blit_format): New function.
48642 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48643 (grub_video_vbe_map_rgb): Likewise.
48644 (grub_video_vbe_unmap_color): Likewise.
48645
48646 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48647 optimized fills.
48648 (grub_video_vbe_blit_render_target): Changed to use more optimized
48649 blits.
48650 (grub_video_vbe_setup): Added detection for optimized settings.
48651 (grub_video_vbe_create_render_target): Likewise.
48652
48653 * video/i386/pc/vbeblit.c: New file.
48654
48655 * video/i386/pc/vbefill.c: New file.
48656
c2379b9c 486572006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48658
48659 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48660 here...
48661
48662 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48663 parsing to support both hex and dec ranges. If filename was missing
48664 show usage information.
48665
bd0d7896 486662006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48667
48668 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48669 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48670
48671 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48672 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48673 (video_mod_SOURCES): Added.
48674 (video_mod_CFLAGS): Likewise.
48675 (video_mod_LDFLAGS): Likewise.
48676 (gfxterm_mod_SOURCES): Likewise.
48677 (gfxterm_mod_CFLAGS): Likewise.
48678 (gfxterm_mod_LDFLAGS): Likewise.
48679 (videotest_mod_SOURCES): Likewise.
48680 (videotest_mod_CFLAGS): Likewise.
48681 (videotest_mod_LDFLAGS): Likewise.
48682 (vesafb_mod_SOURCES): Removed.
48683 (vesafb_mod_CFLAGS): Likewise.
48684 (vesafb_mod_LDFLAGS): Likewise.
48685 (vga_mod_SOURCES): Likewise.
48686 (vga_mod_CFLAGS): Likewise.
48687 (vga_mod_LDFLAGS): Likewise.
48688
48689 * commands/videotest.c: New file.
48690
48691 * font/manager.c (fill_with_default_glyph): Modified to use
48692 grub_font_glyph.
48693 (grub_font_get_glyph): Likewise.
48694 (fontmanager): Renamed from this...
48695 (font_manager): ... to this.
48696
48697 * include/grub/font.h (grub_font_glyph): Added new structure.
48698 (grub_font_get_glyph): Modified to use grub_font_glyph.
48699
48700 * include/grub/misc.h (grub_abs): Added as inline function.
48701
48702 * include/grub/video.h: New file.
48703
48704 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48705 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48706 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48707 (grub_vbe_get_controller_info): Renamed from this...
48708 (grub_vbe_bios_get_controller_info): ... to this.
48709 (grub_vbe_get_mode_info): Renamed from this...
48710 (grub_vbe_bios_get_mode_info): ... to this.
48711 (grub_vbe_set_mode): Renamed from this...
48712 (grub_vbe_bios_set_mode): ... to this.
48713 (grub_vbe_get_mode): Renamed from this...
48714 (grub_vbe_bios_get_mode): ... to this.
48715 (grub_vbe_set_memory_window): Renamed from this...
48716 (grub_vbe_bios_set_memory_window): ... to this.
48717 (grub_vbe_get_memory_window): Renamed from this...
48718 (grub_vbe_bios_get_memory_window): ... to this.
48719 (grub_vbe_set_scanline_length): Renamed from this...
48720 (grub_vbe_set_scanline_length): ... to this.
48721 (grub_vbe_get_scanline_length): Renamed from this...
48722 (grub_vbe_bios_get_scanline_length): ... to this.
48723 (grub_vbe_set_display_start): Renamed from this...
48724 (grub_vbe_bios_set_display_start): ... to this.
48725 (grub_vbe_get_display_start): Renamed from this...
48726 (grub_vbe_bios_get_display_start): ... to this.
48727 (grub_vbe_set_palette_data): Renamed from this...
48728 (grub_vbe_bios_set_palette_data): ... to this.
48729 (grub_vbe_set_pixel_rgb): Removed.
48730 (grub_vbe_set_pixel_index): Likewise.
48731
48732 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48733 from this...
48734 (grub_vbe_bios_get_controller_info): ... to this.
48735 (grub_vbe_get_mode_info): Renamed from this...
48736 (grub_vbe_bios_get_mode_info): ... to this.
48737 (grub_vbe_set_mode): Renamed from this...
48738 (grub_vbe_bios_set_mode): ... to this.
48739 (grub_vbe_get_mode): Renamed from this...
48740 (grub_vbe_bios_get_mode): ... to this.
48741 (grub_vbe_set_memory_window): Renamed from this...
48742 (grub_vbe_bios_set_memory_window): ... to this.
48743 (grub_vbe_get_memory_window): Renamed from this...
48744 (grub_vbe_bios_get_memory_window): ... to this.
48745 (grub_vbe_set_scanline_length): Renamed from this...
48746 (grub_vbe_set_scanline_length): ... to this.
48747 (grub_vbe_get_scanline_length): Renamed from this...
48748 (grub_vbe_bios_get_scanline_length): ... to this.
48749 (grub_vbe_set_display_start): Renamed from this...
48750 (grub_vbe_bios_set_display_start): ... to this.
48751 (grub_vbe_get_display_start): Renamed from this...
48752 (grub_vbe_bios_get_display_start): ... to this.
48753 (grub_vbe_set_palette_data): Renamed from this...
48754 (grub_vbe_bios_set_palette_data): ... to this.
48755 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48756 getting corrupted after calling it. Added more pushes and pops.
48757 (grub_vbe_bios_set_mode): Likewise.
48758 (grub_vbe_bios_get_mode): Likewise.
48759 (grub_vbe_bios_get_memory_window): Likewise.
48760 (grub_vbe_bios_set_scanline_length): Likewise.
48761 (grub_vbe_bios_get_scanline_length): Likewise.
48762 (grub_vbe_bios_get_display_start): Likewise.
48763 (grub_vbe_bios_set_palette_data): Likewise.
48764
48765 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48766 (cl_insert): Likewise.
48767 (cl_delete): Likewise.
48768
48769 * term/gfxterm.c: New file.
48770
48771 * term/i386/pc/vesafb.c: Removed file.
48772
48773 * video/video.c: New file.
48774
48775 * video/i386/pc/vbe.c (real2pm): Added new function.
48776 (grub_video_vbe_draw_pixel): Likewise.
48777 (grub_video_vbe_get_video_ptr): Likewise.
48778 (grub_video_vbe_get_pixel): Likewise
48779 (grub_video_vbe_init): Likewise.
48780 (grub_video_vbe_fini): Likewise.
48781 (grub_video_vbe_setup): Likewise.
48782 (grub_video_vbe_get_info): Likewise.
48783 (grub_video_vbe_set_palette): Likewise.
48784 (grub_video_vbe_get_palette): Likewise.
48785 (grub_video_vbe_set_viewport): Likewise.
48786 (grub_video_vbe_get_viewport): Likewise.
48787 (grub_video_vbe_map_color): Likewise.
48788 (grub_video_vbe_map_rgb): Likewise.
48789 (grub_video_vbe_map_rgba): Likewise.
48790 (grub_video_vbe_unmap_color): Likewise.
48791 (grub_video_vbe_fill_rect): Likewise.
48792 (grub_video_vbe_blit_glyph): Likewise.
48793 (grub_video_vbe_blit_bitmap): Likewise.
48794 (grub_video_vbe_blit_render_target): Likewise.
48795 (grub_video_vbe_scroll): Likewise.
48796 (grub_video_vbe_swap_buffers): Likewise.
48797 (grub_video_vbe_create_render_target): Likewise.
48798 (grub_video_vbe_delete_render_target): Likewise.
48799 (grub_video_vbe_set_active_render_target): Likewise.
48800 (grub_vbe_set_pixel_rgb): Remove function.
48801 (grub_vbe_set_pixel_index): Likewise.
48802 (index_color_mode): Remove static variable.
48803 (active_mode): Likewise.
48804 (framebuffer): Likewise.
48805 (bytes_per_scan_line): Likewise.
48806 (grub_video_vbe_adapter): Added new static variable.
48807 (framebuffer): Likewise.
48808 (render_target): Likewise.
48809 (initial_mode): Likewise.
48810 (mode_in_use): Likewise.
48811 (mode_list): Likewise.
48812
5f97350b 488132006-03-10 Marco Gerards <marco@gnu.org>
48814
48815 * configure.ac (AC_INIT): Bumped to 1.93.
48816
48817 * DISTLIST: Added `include/grub/hfs.h'.
48818
a3c5c6f8 488192006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48820
48821 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48822 18H, which might help the BIOS falling back to next boot media.
48823
6de53d26 488242006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48825
48826 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48827 Poe Chen <poe.poechen@gmail.com>.
48828
77c4a393 488292006-01-17 Marco Gerards <marco@gnu.org>
48830
48831 * include/grub/normal.h: Include <grub/script.h>.
48832 (grub_command_list): Removed struct.
48833 (grub_command_list_t): Removed type.
48834 (grub_menu_entry): Remove members `num' and `command_list'. Add
48835 members `commands' and `sourcecode'.
48836 * include/grub/script.h: Add inclusion guards.
48837 (grub_script_cmd_menuentry): New struct.
48838 (grub_script_execute_menuentry): New prototype.
48839 (grub_script_lexer_record_start): Likewise.
48840 (grub_script_lexer_record_stop): Likewise.
48841 * normal/execute.c (grub_script_execute_menuentry): New function.
48842 * normal/lexer.c (record, recording, recordpos, recordlen): New
48843 variables.
48844 (grub_script_lexer_record_start): New function.
48845 (grub_script_lexer_record_stop): Likewise.
48846 (recordchar): Likewise.
48847 (nextchar): Likewise.
48848 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48849 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48850 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48851 (current_menu): New variable.
48852 (free_menu): Mainly rewritten.
48853 (grub_normal_menu_addentry): New function.
48854 (read_config_file): Rewritten.
48855 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48856 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48857 the menu entry.
48858 (run): Mainly rewritten.
48859 * normal/parser.y (menu_entry): New variable.
48860 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48861 (menuentry): New rule.
48862 (command): Add `menuentry'.
48863 (if_statement): Allow additional returns before `fi'.
48864 * normal/script.c (grub_script_create_cmdmenu): New function.
48865
144f1f98 488662006-01-03 Marco Gerards <marco@gnu.org>
48867
48868 * INSTALL: GNU Bison is required.
48869 * configure.ac: Rewritten the test to detect Bison.
48870 * Makefile.in (YACC): New variable. Reported by Xun Sun
48871 <xun.sun.cn@gmail.com>.
48872
af4b2d89 488732006-01-03 Marco Gerards <marco@gnu.org>
48874
48875 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48876 the HFS+ filesystem to filesystem blocks.
48877 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48878 GCC warning is silenced.
48879
15643b71 488802006-01-03 Marco Gerards <marco@gnu.org>
48881
48882 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48883 read from disk from big endian to host byte order.
48884
00905879 488852006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48886
48887 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48888 documentation.
48889 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48890 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48891 embedded HFS+ filesystem.
48892 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48893 (grub_hfs_sblock): Move from here...
48894 * include/grub/hfs.h: To here... New file.
48895 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48896 documentation.
48897 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48898 New macros.
48899 (grub_hfsplus_volheader): Change type of member `magic' to
48900 `grub_uint16_t'.
48901 (grub_hfsplus_data): Add new member `embedded_offset'.
48902 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48903 returned block.
48904 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48905 Calculate the offset.
48906
8899bc3e 489072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48908
48909 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48910 Removed.
48911 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48912
ae8c0277 489132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48914
48915 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48916 ENV->NAME is NULL after allocating ENV->VALUE.
48917
07084456 489182005-12-25 Marco Gerards <marco@gnu.org>
48919
48920 * kern/env.c (grub_env_set): Rewritten the error handling code.
48921
4750f5f1 489222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48923
48924 * geninit.sh: Made more robust, and more portable.
48925
50214199 489262005-12-25 Marco Gerards <marco@gnu.org>
48927
48928 Add support for Apple HFS+ filesystems.
f19dbdb7 48929
50214199 48930 * fs/hfsplus.c: New file.
48931
48932 * DISTLIST: Added `fs/hfsplus.c'.
48933
48934 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48935 (hfsplus_mod_SOURCES): New variable.
48936 (hfsplus_mod_CFLAGS): Likewise.
48937 (hfsplus_mod_LDFLAGS): Likewise.
48938 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48939 (grub_setup_SOURCES): Likewise.
48940 (grub_mkdevicemap_SOURCES): Likewise.
48941 (grub_emu_SOURCES): Likewise.
48942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48943
48944 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48945
48946 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48947
befaed6c 489482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48949
48950 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48951 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48952 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48953 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48954 normal/lexer.c, normal/parser.y, normal/script.c, and
48955 partmap/gpt.c.
48956 Removed kern/sparc64/cache.c.
48957
48958 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48959 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48960 grub_emu_init.c.
48961
48962 * configure.ac (AC_INIT): Bumped to 1.92.
48963
6a124103 489642005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48965
48966 * kern/err.c (grub_error_push): Added new function to support error
48967 stacks.
48968 (grub_error_pop): Likewise.
48969 (grub_error_stack_items): New local variable to support error stacks.
48970 (grub_error_stack_pos): Likewise.
48971 (grub_error_stack_assert): Likewise.
48972 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48973 stack depth.
48974 (grub_print_error): Added support to print errors from error stack.
48975
48976 * include/grub/err.h (grub_error_push): Added function prototype.
48977 (grub_error_pop): Likewise.
48978
be973c1b 489792005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48980
48981 * configure.ac: Accept `powerpc64' as host_cpu.
48982 (amd64): Rename to `biarch32'.
48983
48984 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48985 non-cacheline-aligned addresses.
48986
48987 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48988 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48989 if `size' is non-zero.
48990
b04216ab 489912005-12-03 Marco Gerards <mgerards@xs4all.nl>
48992
48993 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48994 and `cd' to make sure the filename is not prefixed with a
48995 directory name.
48996 (pkgdata_MODULES): Add `gpt.mod'.
48997 (gpt_mod_SOURCES): New variable.
48998 (gpt_mod_CFLAGS): Likewise.
48999 (gpt_mod_LDFLAGS): Likewise.
49000
49001 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49002
49003 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49004 New macro.
49005
49006 * partmap/gpt.c: New file.
49007
49008 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49009 GPT partition map is detected.
49010
41730ed9 490112005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49012
49013 * commands/i386/pc/play.c: New file.
49014 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49015 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49016 macros.
f19dbdb7 49017
95dc3643 490182005-11-27 Marco Gerards <mgerards@xs4all.nl>
49019
49020 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49021 ((unused))' to silence gcc warning.
49022
1569ec51 490232005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49024
49025 * configure.ac: Correct `AC_PROG_YACC' test.
49026
9abde152 490272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49028
49029 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49030 check before installing files.
49031
44b83271 490322005-11-22 Mike Small <smallm@panix.com>
49033
49034 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49035 number regex so multidigit numbers are recognized correctly.
49036
490372005-11-22 Mike Small <smallm@panix.com>
49038
49039 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49040 debugging message before attempting to claim memory.
49041 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49042 multiple addresses in case of failure.
49043
9c12956b 490442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49045
49046 * term/tparm.c (get_space): Remove empty `if' statement.
49047
49048 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49049
49050 * kern/parser.c (check_varstate): Rename `state' to 's'.
49051
aeaf81d9 490522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49053
49054 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49055 variable definitions to the beginning of each function. Sort stack
49056 variables by size.
49057 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49058 `buf' argument to `char *'.
49059
79bbb63f 490602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49061
49062 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49063 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49064 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49065 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49066 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49067 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49068 configfile.mod, search.mod, gzio.mod and test.mod.
49069 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49070 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49071 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49072 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49073 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49074 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49075 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49076 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49077 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49078 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49079 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49080 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49081 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49082 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49083 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49084 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49085 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49086 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49087 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49088 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49089 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49090 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49091 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49092
49093 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49094 `grep --include'.
49095 (pkgdata_MODULES): Add test.mod.
49096
233b1628 490972005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49098
49099 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49100 appending to variables with "+=".
49101 (PModule): Use full pathname to generate *.lst filenames.
49102
49103 * Makefile.in: Fixed list rules moved from genmk.rb.
49104 (.DELETE_ON_ERROR): New special target.
49105 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49106
49107 * conf/i386-pc.rmk: Include conf/common.mk.
49108 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49109 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49110 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49111 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49112 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49113 configfile.mod, search.mod, gzio.mod and test.mod.
49114 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49115 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49116 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49117 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49118 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49119 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49120 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49121 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49122 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49123 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49124 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49125 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49126 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49127 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49128 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49129 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49130 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49131 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49132 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49133 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49134 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49135 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49136 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49137 here...
49138 * conf/common.rmk: ... to here. New file.
49139
49140 * conf/common.mk: New file.
49141
16f820c8 491422005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49143
49144 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49145 (grub_script.tab.c): ... here.
49146
49147 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49148 (grub_script.tab.c): ... here.
49149
49150 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49151 (grub_script.tab.c): ... here.
49152
49153 * normal/command.c (grub_command_find): Fixed a memory leak of
49154 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49155
63ba1554 491562005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49157
49158 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49159 "@" which marks the start of a comment on ARM.
49160 (VARIABLE): Likewise.
49161
7f67dc13 491622005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49163
79bbb63f 49164 Add support for Linux/ADFS partition tables.
7f67dc13 49165
49166 * partmap/acorn.c: New file.
49167
49168 * include/grub/acorn_filecore.h: Likewise.
49169
49170 * DISTLIST: Added `partmap/acorn.c' and
49171 `include/grub/acorn_filecore.h'.
f19dbdb7 49172
7f67dc13 49173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49174 `partmap/acorn.c'.
49175 (pkgdata_MODULES): Add `acorn.mod'.
49176 (acorn_mod_SOURCES): New variable.
49177 (acorn_mod_CFLAGS): Likewise.
49178
49179 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49180 `partmap/acorn.c'.
49181 (pkgdata_MODULES): Add `acorn.mod'.
49182 (acorn_mod_SOURCES): New variable.
49183 (acorn_mod_CFLAGS): Likewise.
49184
49185 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49186 (pkgdata_MODULES): Add `acorn.mod'.
49187 (acorn_mod_SOURCES): New variable.
49188 (acorn_mod_CFLAGS): Likewise.
49189 (acorn_mod_LDFLAGS): Likewise.
49190
49191 * include/types.h (grub_disk_addr_t): New typedef.
49192
6d099807 491932005-11-13 Marco Gerards <mgerards@xs4all.nl>
49194
49195 * geninit.sh: New file.
49196
49197 * geninitheader.sh: Likewise.
49198
49199 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49200 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49201 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49202 * commands/configfile.c (grub_configfile_init)
49203 (grub_configfile_fini): Likewise.
49204 * commands/default.c (grub_default_init, grub_default_fini):
49205 Likewise.
49206 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49207 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49208 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49209 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49210 Likewise.
49211 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49212 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49213 Likewise.
49214 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49215 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49216 Likewise.
49217 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49218 Likewise.
fe6b695a 49219 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49220 Likewise.
49221 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49222 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49223 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49224 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49225 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49226 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49227 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49228 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49229 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49230 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49231 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49232 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49233 * partmap/amiga.c (grub_amiga_partition_map_init)
49234 (grub_amiga_partition_map_fini): Likewise.
49235 * partmap/apple.c (grub_apple_partition_map_init)
49236 (grub_apple_partition_map_fini): Likewise.
49237 * partmap/pc.c (grub_pc_partition_map_init)
49238 (grub_pc_partition_map_fini): Likewise.
49239 * partmap/sun.c (grub_sun_partition_map_init,
49240 grub_sun_partition_map_fini): Likewise.
49241 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49242 Likewise.
49243
49244 * util/grub-emu.c: Include <grub_modules_init.h>.
49245 (main): Don't initialize and de-initialize any modules directly,
49246 use `grub_init_all' and `grub_fini_all' instead.
49247
49248 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49249 `grub_vesafb_mod_init'.
49250 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49251 all users.
49252 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49253 `grub_vga_mod_init'. Updated all users.
49254 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49255
6d099807 49256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49257 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49258 rules.
49259
49260 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49261 Generate a function to initialize the module in utilities.
49262 Updated all callers.
49263 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49264 initialize the module in utilities. Updated all callers.
49265
9046bcf0 492662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49267
49268 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49269 escape sequence and a literal ^L to clear the screen.
49270
49271 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49272 when returning from Open Firmware.
49273
d13ea639 492742005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49275
49276 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49277 (grub_ofconsole_height): Likewise.
49278 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49279 manually insert a '\n'.
49280 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49281 `grub_ofconsole_height'. Return early if these are already set.
49282
a8fcf206 492832005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49284
49285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49286 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49287 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49288 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49289 and `normal/script.c'.
49290 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49291 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49292 (test_mod_SOURCES): New variable.
49293 (test_mod_CFLAGS): Likewise.
49294 (test_mod_LDFLAGS): Likewise.
49295 (pkgdata_MODULES): Add `test.mod'.
49296 (grub_script.tab.c): New rule.
49297 (grub_script.tab.h): Likewise.
49298
b6b32745 492992005-11-07 Marco Gerards <mgerards@xs4all.nl>
49300
49301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49302 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49303 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49304 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49305 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49306 (test_mod_SOURCES): New variable.
49307 (test_mod_CFLAGS): Likewise.
49308 (pkgdata_MODULES): Add `test.mod'.
49309 (grub_script.tab.c): New rule.
49310 (grub_script.tab.h): Likewise.
49311
daac212a 493122005-11-06 Marco Gerards <mgerards@xs4all.nl>
49313
49314 Add initial scripting support.
49315
49316 * commands/test.c: New file.
49317 * include/grub/script.h: Likewise.
49318 * normal/execute.c: Likewise.
49319 * normal/function.c: Likewise.
49320 * normal/lexer.c: Likewise.
49321 * normal/parser.y: Likewise.
49322 * normal/script.c: Likewise.
49323
49324 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49325
daac212a 49326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49327 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49328 `normal/function.c' and `normal/script.c'.
49329 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49330 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49331 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49332 variables.
daac212a 49333 (pkgdata_MODULES): Add `test.mod'.
49334 (grub_script.tab.c): New rule.
49335 (grub_script.tab.h): Likewise.
49336
49337 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49338
49339 * include/grub/normal.h (grub_test_init): New prototype.
49340 (grub_test_fini): Likewise.
f19dbdb7 49341
daac212a 49342 * normal/command.c: Include <grub/script.h>.
49343 (grub_command_execute): Rewritten.
f19dbdb7 49344
daac212a 49345 * util/grub-emu.c (main): Call `grub_test_init' and
49346 `grub_test_fini'.
49347
77500b2b 493482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49349
49350 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49351 to 0.
49352 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49353 there are no pending characters.
49354
e45deb9e 493552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49356
49357 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49358 `grub_strndup' to drop device arguments. Replace unnecessary
49359 `grub_strndup' with `grub_strdup'.
49360
4ce32619 493612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49362
49363 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49364 `debug' environment variable has been set.
49365
493662005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49367
4ce32619 49368 * Makefile.in (install-local): Use $(DATA).
49369 (uninstall): Likewise.
49370 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49371 (sbin_UTILITIES): ... to here.
49372 (sbin_SCRIPTS): New variable.
49373 (grub_install_SOURCES): New variable.
49374 * util/powerpc/ieee1275/grub-install.in: New file.
49375 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49376 variable.
49377 (add_segments): Call `grub_util_get_path'.
49378
25fe6f03 493792005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49380
49381 From Timothy Baldwin:
49382 * commands/ls.c (grub_ls_list_files): Close FILE with
49383 grub_file_close.
49384 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49385
04ccf3ec 493862005-10-24 Marco Gerards <mgerards@xs4all.nl>
49387
49388 * include/grub/parser.h: New file.
49389
49390 * kern/parser.c: Likewise.
49391
49392 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49393 (grub_setup_SOURCES): Likewise.
49394 (grub_probefs_SOURCES): Likewise.
49395 (grub_emu_SOURCES): Likewise.
49396 (kernel_img_HEADERS): Add `parser.h'.
49397
49398 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49399 (grub_emu_SOURCES): Add `kern/parser.c'.
49400 (grubof_SOURCES): Likewise.
49401
49402 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49403 (grubof_SOURCES): Add `kern/parser.c'.
49404
49405 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49406
49407 * kern/misc.c (grub_split_cmdline): Removed function.
49408
49409 * kern/rescue.c: Include <grub/parser.h>.
49410 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49411 of `grub_split_cmdline'.
49412
49413 * normal/command.c: Include <grub/parser.h>.
49414 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49415 of `grub_split_cmdline'.
49416
49417 * normal/completion.c: Include <grub/parser.h>.
49418 (cmdline_state): New variable.
49419 (iterate_dir): End the filename with a quote depending on the
49420 command line state.
49421 (get_state): new function.
49422 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49423 split the arguments and determine the current argument. When the
49424 argument string is not quoted, escape all spaces.
49425
6d8f4b0e 494262005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49427
49428 * normal/sparc64/setjmp.S: New file.
49429
15cf03ed 494302005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49431
49432 * include/grub/sparc64/libgcc.h: New file.
49433 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49434 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49435 normal/sparc64/setjmp.c.
49436
03e8661a 494372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49438
49439 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49440 * kern/sparc64/cache.S: New file.
49441 * kern/sparc64/cache.c: Removed.
49442 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49443 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49444 -mtune=ultrasparc.
49445 (COMMON_LDFLAGS): Add -melf64_sparc.
49446 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49447 (grubof_SOURCES): Use cache.S instead of cache.c.
49448 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49449 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49450 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49451 commented though.
49452 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49453 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49454 (linux_mod_CFLAGS): Commented out.
49455 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49456 out because module isn't built.
49457 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49458 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49459 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49460 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49461 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49462 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49463 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49464 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49465 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49466 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49467 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49468 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49469 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49470 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49471
34eeec8a 494722005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49473
49474 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49475 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49476 longer, because HFS should not be used on PC.
49477
708367a3 494782005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49479
49480 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49481 consistently within the loop.
49482
6fa1251a 494832005-10-15 Marco Gerards <mgerards@xs4all.nl>
49484
49485 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49486 directory can not be read.
49487
4801580b 494882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49489
49490 * configure.ac (AC_INIT): Increase the version number to 1.91.
49491
49492 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49493 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49494 term/i386/pc/serial.c.
49495
219ad426 494962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49497
49498 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49499 file size must be permitted.
49500
49501 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49502 between %ah and %al.
49503
688e5699 495042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49505
49506 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49507 grub_uint64_t.
49508 Call the hook with a NUL-terminated filename.
49509 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49510 grub_cpu_to_be32.
49511
49512 * kern/term.c (cursor_state): New variable.
49513 (grub_term_set_current): Reset the cursor state on a new
49514 terminal.
49515 (grub_setcursor): Rewritten to use CURSOR_STATE.
49516 (grub_getcursor): New function.
49517
49518 * include/grub/term.h (grub_getcursor): New prototype.
49519
49520 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49521 integers on ARM. Reported by Timothy Baldwin
49522 <T.E.Baldwin99@members.leeds.ac.uk>.
49523
bb34586c 495242005-10-11 Marco Gerards <mgerards@xs4all.nl>
49525
49526 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49527 allocated.
49528 (grub_sfs_dir): Likewise.
49529
9a909877 495302005-10-09 Marco Gerards <mgerards@xs4all.nl>
49531
49532 Add support for the SFS filesystem.
49533
49534 * fs/sfs.c: New file.
49535
49536 * DISTLIST: Added `fs/sfs.c'.
49537
49538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49539 (grub_probefs_SOURCES): Likewise.
49540 (grub_emu_SOURCES): Likewise.
49541 (pkgdata_MODULES): Add `sfs.mod'.
49542 (sfs_mod_SOURCES): New variable.
49543 (sfs_mod_CFLAGS): Likewise.
49544 (sfs_mod_LDFLAGS): Likewise.
49545
49546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49547 (pkgdata_MODULES): Add `sfs.mod'.
49548 (sfs_mod_SOURCES): New variable.
49549 (sfs_mod_CFLAGS): Likewise.
49550
49551 * util/grub-emu.c (main): Call `grub_sfs_init' and
49552 `grub_sfs_fini'.
49553
49554 * include/grub/fs.h (grub_sfs_init): New prototype.
49555 (grub_sfs_fini): Likewise.
49556
57bdbde3 495572005-10-07 Marco Gerards <mgerards@xs4all.nl>
49558
49559 Add support for the AFFS filesystem.
49560
49561 * fs/affs.c: New file.
49562
49563 * DISTLIST: Added `fs/affs.c'.
49564
49565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49566 (grub_probefs_SOURCES): Likewise.
49567 (grub_emu_SOURCES): Likewise.
49568 (pkgdata_MODULES): Add `affs.mod'.
49569 (affs_mod_SOURCES): New variable.
49570 (affs_mod_CFLAGS): Likewise.
49571 (affs_mod_LDFLAGS): Likewise.
49572
49573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49574 (pkgdata_MODULES): Add `affs.mod'.
49575 (affs_mod_SOURCES): New variable.
49576 (affs_mod_CFLAGS): Likewise.
49577
49578 * util/grub-emu.c (main): Call `grub_affs_init' and
49579 `grub_affs_fini'.
49580
49581 * include/grub/fs.h (grub_affs_init): New prototype.
49582 (grub_affs_fini): Likewise.
49583
047b67e0 495842005-10-01 Marco Gerards <mgerards@xs4all.nl>
49585
49586 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49587
59b8208a 495882005-10-01 Marco Gerards <mgerards@xs4all.nl>
49589
49590 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49591 `-m32' to CFLAGS.
49592
49593 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49594 linking.
f19dbdb7 49595
59b8208a 49596 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49597 (COMMON_LDFLAGS): New variable.
49598 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49599 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49600 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49601 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49602 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49603 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49604 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49605 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49606 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49607 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49608 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49609 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49610 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49611 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49612 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49613 variables.
49614 (normal_mod_ASFLAGS): Add `-m32'.
49615
49616 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49617 (grub_host_size_t, grub_host_ssize_t): New types.
49618 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49619 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49620 `GRUB_HOST_SIZEOF_VOID_P'.
49621
49622 * include/grub/kernel.h (struct grub_module_header): Type of
49623 member offset changed to `grub_host_off_t'. Type of member size
49624 changed to `grub_host_size_t'.
49625 (struct grub_module_info): Type of member offset changed to
49626 `grub_host_off_t'. Type of member size changed to
49627 `grub_host_size_t'.
49628
b4093103 496292005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49630
49631 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49632
b4093103 49633 * kern/i386/pc/startup.S (multiboot_header): New label.
49634 (multiboot_entry): Likewise.
49635 (multiboot_trampoline): Likewise.
49636
49637 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49638 Increased to 0x4A0.
49639
49640 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49641 put parentheses after a question mark.
49642 [!GRUB_UTIL] (my_mod): New variable.
49643
49644 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49645
b2499b29 496462005-09-28 Marco Gerards <mgerards@xs4all.nl>
49647
49648 Adds support for the XFS filesystem. Btrees are not supported
49649 yet.
49650
49651 * fs/xfs.c: New file.
49652
49653 * DISTLIST: Added `fs/xfs.c'.
49654
49655 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49656 (grub_probefs_SOURCES): Likewise.
49657 (grub_emu_SOURCES): Likewise.
49658 (pkgdata_MODULES): Add `xfs.mod'.
49659 (xfs_mod_SOURCES): New variable.
49660 (xfs_mod_CFLAGS): Likewise.
49661
49662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49663 (pkgdata_MODULES): Add `xfs.mod'.
49664 (xfs_mod_SOURCES): New variable.
49665 (xfs_mod_CFLAGS): Likewise.
49666
49667 * util/grub-emu.c (main): Call `grub_xfs_init' and
49668 `grub_xfs_fini'.
49669
49670 * include/grub/fs.h (grub_xfs_init): New prototype.
49671 (grub_xfs_fini): Likewise.
49672
f19dbdb7 49673
83d37a62 496742005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49675
49676 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49677 color modes, allow greater than 16 colors to be configured as
49678 a default palette.
49679
47d2d65e 496802005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49681
49682 * normal/completion.c (complete_arguments): Add the qualifier
49683 const into OPTIONS.
49684
49685 From Omniflux <omniflux+lists@omniflux.com>:
49686 * include/grub/terminfo.h: New file.
49687 * include/grub/tparm.h: Likewise.
49688 * include/grub/i386/pc/serial.h: Likewise.
49689 * term/terminfo.c: Likewise.
49690 * term/tparm.c: Likewise.
49691 * term/i386/pc/serial.c: Likewise.
49692 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49693 serial.mod.
49694 (terminfo_mod_SOURCES): New variable.
49695 (terminfo_mod_CFLAGS): Likewise.
49696 (serial_mod_SOURCES): Likewise.
49697 (serial_mod_CFLAGS): Likewise.
49698
48b671ff 496992005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49700
49701 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49702 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49703 and kern/powerpc/ieee1275/cmain.c, respectively.
49704
49705 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49706 * kern/powerpc/ieee1275/crt0.S: ... here.
49707
49708 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49709 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49710
48b671ff 49711 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49712 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49713 instead of boot/powerpc/ieee1275/crt0.S and
49714 boot/powerpc/ieee1275/cmain.c, respectively.
49715
49716 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49717 sectors. It was not used anyway.
49718
09fc77a7 497192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49720
49721 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49722 `unused parameter' warning.
49723
003789c7 497242005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49725
49726 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49727 function.
49728 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49729 getcharwidth.
49730
67f44c86 497312005-08-28 Marco Gerards <metgerards@student.han.nl>
49732
49733 * include/grub/normal.h (enum grub_completion_type): Added
49734 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49735
49736 * normal/cmdline.c (print_completion): Handle
49737 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49738 * normal/menu_entry.c (store_completion): Likewise.
49739
49740 * normal/completion.c (complete_arguments): New function.
49741 (grub_normal_do_completion): Call `complete_arguments' when the
49742 current words start with a dash.
49743
0b5abe02 497442005-08-27 Marco Gerards <metgerards@student.han.nl>
49745
49746 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49747 `gzio.mod' instead of `io.mod').
49748
d9864ee1 497492005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49750
49751 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49752 (DISTDIRS): Added io and video.
49753 Rewrite the search routine to make an output consistently.
49754
49755 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49756 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49757 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49758 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49759 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49760 util/powerpc/ieee1275/misc.c.
f19dbdb7 49761
d9864ee1 49762 * include/grub/gzio.h: New file.
49763 * io/gzio.c: Likewise.
f19dbdb7 49764
d9864ee1 49765 * kern/file.c (grub_file_close): Call grub_device_close only if
49766 FILE->DEVICE is not NULL.
49767
49768 * include/grub/mm.h [!NULL] (NULL): New macro.
49769
49770 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49771
49772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49773 (pkgdata_MODULES): Added gzio.mod.
49774 (gzio_mod_SOURCES): New variable.
49775 (gzio_mod_CFLAGS): Likewise.
49776
49777 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49778 (pkgdata_MODULES): Added gzio.mod.
49779 (gzio_mod_SOURCES): New variable.
49780 (gzio_mod_CFLAGS): Likewise.
49781
49782 * commands/cat.c: Include grub/gzio.h.
49783 (grub_cmd_cat): Use grub_gzfile_open instead of
49784 grub_file_open.
f19dbdb7 49785
d9864ee1 49786 * commands/cmp.c: Include grub/gzio.h.
49787 (grub_cmd_cmp): Use grub_gzfile_open instead of
49788 grub_file_open.
49789
49790 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49791 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49792 grub_file_open.
49793 (grub_rescue_cmd_module): Likewise.
49794
fa46f4b5 497952005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49796
49797 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49798 kern/sparc64/ieee1275/init.c because it contains _start.
49799 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49800
e9211b5d 498012005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49802
49803 * configure.ac: Add support for sparc64 host with ieee1275
49804 firmware.
49805 * configure: Generated from configure.ac.
49806 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49807 instead of int.
49808 (grub_ofdisk_read): Likewise.
49809 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49810 pointers as (void *) to remove a warning.
49811 (grub_ofdisk_close): Likewise.
49812 (grub_ofdisk_read): Likewise.
49813 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49814 returns, so make it return void to remove a warning.
49815 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49816 Corresponding prototype change.
49817 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49818 values, and cast the pointers as (void *) to remove a warning.
49819 (grub_mm_dump): Likewise.
49820 * conf/sparc64-ieee1275.mk: New file.
49821 * conf/sparc64-ieee1275.rmk: Likewise.
49822 * include/grub/sparc64/setjmp.h: Likewise.
49823 * include/grub/sparc64/types.h: Likewise.
49824 * include/grub/sparc64/ieee1275/console.h: Likewise.
49825 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49826 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49827 * include/grub/sparc64/ieee1275/time.h: Likewise.
49828 * kern/sparc64/cache.c: Likewise.
49829 * kern/sparc64/dl.c: Likewise.
49830 * kern/sparc64/ieee1275/init.c: Likewise.
49831 * kern/sparc64/ieee1275/openfw.c: Likewise.
49832
385c6a92 498332005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49834
49835 * util/console.c (grub_ncurses_putchar): If C is greater than
49836 0x7f, set C to a question mark.
49837 (grub_ncurses_getcharwidth): New function.
49838 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49839 getcharwidth.
49840
49841 * normal/menu.c (print_entry): Made aware of Unicode. First,
49842 convert TITLE to UCS-4, and predict the cursor position by
49843 grub_getcharwidth.
49844
49845 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49846 const to SRC.
49847 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49848
16ccb8b1 498492005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49850
49851 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49852 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49853 grub_strcat.
49854
49855 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49856 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49857 grub_strcpy and grub_strlen. Take it into account that a space
49858 character is inserted as a delimiter.
49859
6a85ce79 498602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49861
49862 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49863 invalid magic in the error.
6a85ce79 49864
49865 * commands/search.c: New file.
f19dbdb7 49866
6a85ce79 49867 * util/grub-emu.c (main): Call grub_search_init and
49868 grub_search_fini.
49869
49870 * kern/rescue.c (grub_rescue_print_disks): Removed.
49871 (grub_rescue_print_devices): New function.
49872 (grub_rescue_cmd_ls): Use grub_device_iterate with
49873 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49874 grub_rescue_print_disks.
49875
49876 * kern/partition.c (grub_partition_iterate): Return the result of
49877 PARTMAP->ITERATE instead of GRUB_ERRNO.
49878
49879 * kern/device.c: Include grub/partition.h.
49880 (grub_device_iterate): New function.
49881
49882 * include/grub/partition.h (grub_partition_iterate): Return int
49883 instead of grub_err_t.
49884
49885 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49886 prototype.
49887 [GRUB_UTIL] (grub_search_fini): Likewise.
49888
49889 * include/grub/device.h (grub_device_iterate): New prototype.
49890
49891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49892 commands/search.c.
49893 (pkgdata_MODULES): Added search.mod.
49894 (search_mod_SOURCES): New variable.
49895 (search_mod_CFLAGS): Likewise.
49896
49897 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49898 (pkgdata_MODULES): Added search.mod.
49899 (search_mod_SOURCES): New variable.
49900 (search_mod_CFLAGS): Likewise.
49901
49902 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49903 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49904 All callers changed.
49905
49906 * DISTLIST: Added commands/search.c.
49907
ef095434 499082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49909
49910 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49911 conversion.
49912 (grub_getcharwidth): New function.
49913
49914 * kern/misc.c (grub_utf8_to_ucs4): New function.
49915
49916 * include/grub/term.h (struct grub_term): Added a new member
49917 "getcharwidth".
49918 (grub_getcharwidth): New prototype.
49919
49920 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49921
49922 * term/i386/pc/console.c (map_char): New function. Segregated from
49923 grub_console_putchar.
49924 (grub_console_putchar): Use map_char.
49925 (grub_console_getcharwidth): New function.
49926 (grub_console_term): Specified grub_console_getcharwidth as
49927 getcharwidth.
49928
49929 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49930 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49931
49932 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49933 GRUB_ERRNO.
49934 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49935 on grub_strtoul completely.
49936 (write_char): Declare local variables in the beginning of the
49937 function.
49938 (grub_vesafb_getcharwidth): New function.
49939 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49940 getcharwidth.
49941
1f0a95e4 499422005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49943
49944 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49945 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49946 commands/i386/pc/vbetest.c.
49947
49948 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49949 call grub_vbe_get_controller_info again, because the returned
49950 information is volatile.
49951 (grub_vbe_set_video_mode): Mostly rewritten.
49952 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49953 grub_vbe_status_t correctly.
49954 (grub_vbe_get_video_mode_info): Likewise.
49955 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49956 several if statements.
49957
49958 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49959 * commands/i386/pc/vbeinfo.c: ... this.
49960
49961 * commands/i386/pc/vbe_test.c: Renamed to ...
49962 * commands/i386/pc/vbetest.c: ... this.
49963
49964 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49965 ...
49966 (grub_cmd_vbeinfo): ... this. Save video modes before
49967 iterating. Skip a video mode, if it is not available, not enough
49968 information is given or it is monochrome. Show the memory
49969 model. Leave the interpretation of MODEVAR to grub_strtoul
49970 completely.
49971 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49972 (GRUB_MOD_FINI): Likewise.
49973
49974 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49975 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49976 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49977 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49978 grub_strtoul completely.
49979 (real2pm): Removed.
49980 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49981 (GRUB_MOD_FINI): Likewise.
49982
49983 * normal/misc.c: Include grub/mm.h.
49984
49985 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49986 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49987 (vbe_list_modes_mod_SOURCES): Removed.
49988 (vbe_list_modes_mod_CFLAGS): Likewise.
49989 (vbe_test_mod_SOURCES): Likewise.
49990 (vbe_test_mod_CFLAGS): Likewise.
49991 (vbeinfo_mod_SOURCES): New variable.
49992 (vbeinfo_mod_CFLAGS): Likewise.
49993 (vbetest_mod_SOURCES): Likewise.
49994 (vbetest_mod_CFLAGS): Likewise.
49995
992ffbbe 499962005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49997
49998 * normal/misc.c: New file.
49999
50000 * DISTLIST: Added normal/misc.c.
f19dbdb7 50001
992ffbbe 50002 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50003 DISK to HOOK. Call HOOK with DISK.
50004 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50005 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50006 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50007
50008 * normal/menu_entry.c (struct screen): Added a new member
50009 "completion_shown".
50010 (completion_buffer): New global variable.
50011 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50012 (store_completion): New function.
50013 (complete): Likewise.
50014 (clear_completions): Likewise.
50015 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50016 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50017 a tab, call complete.
50018
50019 * normal/completion.c (disk_dev): Removed.
50020 (print_simple_completion): Likewise.
50021 (print_partition_completion): Likewise.
50022 (print_func): New global variable.
50023 (add_completion): Do not take the arguments WHAT or PRINT any
50024 longer. Added a new argument TYPE. Instead of printing directly,
50025 call PRINT_FUNC if not NULL.
50026 All callers changed.
50027 (complete_device): Use a local variable DEV instead of
50028 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50029 (grub_normal_do_completion): Take a new argument HOOK. Do not
50030 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50031 empty string, return NULL instead.
50032 All callers changed.
50033
50034 * normal/cmdline.c (print_completion): New function.
50035
50036 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50037 to HOOK.
50038 All callers changed.
50039
50040 * kern/disk.c (grub_print_partinfo): Removed.
50041
50042 * include/grub/partition.h (struct grub_partition_map): Add a new
50043 argument DISK into HOOK of ITERATE.
50044 (grub_partition_iterate): Add a new argument DISK to HOOK.
50045
50046 * include/grub/normal.h (enum grub_completion_type): New enum.
50047 (grub_completion_type_t): New type.
50048 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50049 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50050 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50051 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50052 (grub_normal_do_completion): Added a new argument HOOK.
50053 (grub_normal_print_device_info): New prototype.
50054
50055 * include/grub/disk.h (grub_print_partinfo): Removed.
50056
50057 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50058 (normal_mod_SOURCES): Likewise.
50059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50060 (normal_mod_SOURCES): Likewise.
50061
50062 * commands/ls.c (grub_ls_list_disks): Use
50063 grub_normal_print_device_info instead of grub_print_partinfo. Free
50064 PNAME.
50065 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50066 duplicating the code.
50067
0bd41162 500682005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50069
50070 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50071 follow GCS more precisely.
50072 * commands/i386/pc/vbe_test.c: Likewise.
50073 * include/grub/i386/pc/vbe.h: Likewise.
50074 * term/i386/pc/vesafb.c: Likewise.
50075 * video/i386/pc/vbe.c: Likewise.
0bd41162 50076
6323696a 500772005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50078
50079 * DISTLIST: Added term/i386/pc/vesafb.c
50080 DISTLIST: Added video/i386/pc/vbe.c
50081 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50082 DISTLIST: Added commands/i386/pc/vbe_test.c.
50083 * commands/i386/pc/vbe_list_modes.c: New file.
50084 * commands/i386/pc/vbe_test.c: Likewise.
50085 * term/i386/pc/vesafb.c: Likewise.
50086 * video/i386/pc/vbe.c: Likewise.
50087 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50088 (grub_vbe_probe) Added prototype.
50089 (grub_vbe_set_video_mode) Likewise.
50090 (grub_vbe_get_video_mode) Likewise.
50091 (grub_vbe_get_video_mode_info) Likewise.
50092 (grub_vbe_set_pixel_rgb) Likewise.
50093 (grub_vbe_set_pixel_index) Likewise.
50094 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50095 (pkgdata_MODULES): Added vesafb.mod.
50096 (pkgdata_MODULES): Added vbe_list_modes.mod.
50097 (pkgdata_MODULES): Added vbe_test.mod.
50098 (vbe_mod_SOURCES): Added.
50099 (vbe_mod_CFLAGS): Likewise.
50100 (vesafb_mod_SOURCES): Likewise.
50101 (vesafb_mod_CFLAGS): Likewise.
50102 (vbe_list_modes_mod_SOURCES): Likewise.
50103 (vbe_list_modes_mod_CFLAGS): Likewise.
50104 (vbe_test_mod_SOURCES): Likewise.
50105 (vbe_test_mod_CFLAGS): Likewise.
50106
0a74e62f 501072005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50108
0a74e62f 50109 * normal/command.c (grub_command_execute): If INTERACTIVE is
50110 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50111 CMDLINE. Disable the pager if INTERACTIVE is true.
50112 All callers are changed.
50113
50114 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50115 before reading a config file.
50116 * normal/main.c (read_config_file): Even if a command is not
50117 found, register it if it is within an entry.
50118
50119 * util/grub-emu.c: Include sys/types.h and unistd.h.
50120 (options): Added --hold.
50121 (struct arguments): Added a new member "hold".
50122 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50123 missing.
50124 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50125 cleared by a debugger, if it is not zero.
50126
50127 * include/grub/normal.h (grub_command_execute): Add an argument
50128 INTERACTIVE.
50129
e51f85ae 501302005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50131
50132 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50133
e9c6f39b 501342005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50135
50136 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50137 program with another one, because the old one didn't detect a bug
50138 in gcc-3.4. Always use regparm 2, because the new test is still
50139 not enough for gcc-4.0. Someone must investigate a simple test
50140 case which detects a bug in gcc-4.0.
50141
8de3495c 501422005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50143
50144 * DISTLIST: Added normal/completion.c.
50145
50146 * normal/completion.c: New file.
f19dbdb7 50147
8de3495c 50148 * term/i386/pc/console.c (grub_console_getwh): New function.
50149 (grub_console_term): Assign grub_console_getwh to getwh.
50150
50151 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50152 function is defined in normal/completion.c as
50153 grub_normal_do_completion.
50154 (grub_cmdline_get): Use grub_normal_do_completion instead of
50155 grub_tab_complete.
50156
50157 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50158 returns non-zero, otherwise return 0.
50159 (grub_partition_iterate): First, probe the partition map. Then,
50160 call ITERATE only for this partition map.
50161
50162 * kern/misc.c (grub_strncmp): Rewritten.
50163
50164 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50165 returns non-zero. Otherwise return 0.
50166
50167 * include/grub/partition.h (grub_partition_map_iterate): Return
50168 int instead of void.
50169
50170 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50171
50172 * include/grub/misc.h (grub_strncmp): Change the type of N to
50173 grub_size_t.
50174
50175 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50176 of void.
50177
50178 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50179 unsigned explicitly before comparing it with I.
8de3495c 50180
50181 * kern/main.c (grub_env_write_root): Add the attribute unused into
50182 VAR.
50183
50184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50185 normal/completion.c.
50186 (normal_mod_SOURCES): Likewise.
50187 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50188 (normal_mod_SOURCES): Likewise.
50189
50190 * normal/command.c (grub_iterate_commands): If ITERATE returns
50191 non-zero, return one immediately.
50192
e85e144b 501932005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50194
50195 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50196 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50197 descriptions.
50198 (grub_vbe_get_controller_info): New function.
50199 (grub_vbe_get_mode_info): Likewise.
50200 (grub_vbe_set_mode): Likewise.
50201 (grub_vbe_get_mode): Likewise.
50202 (grub_vbe_set_memory_window): Likewise.
50203 (grub_vbe_get_memory_window): Likewise.
50204 (grub_vbe_set_scanline_length): Likewise.
50205 (grub_vbe_get_scanline_length): Likewise.
50206 (grub_vbe_set_display_start): Likewise.
50207 (grub_vbe_get_display_start): Likewise.
50208 (grub_vbe_set_palette_data): Likewise.
50209 * include/grub/i386/pc/vbe.h: New file.
50210
c46153d2 502112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50212
50213 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50214 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50215 * DISTLIST: Likewise.
50216 * kern/ieee1275/of.c: Moved to ...
50217 * kern/ieee1275/ieee1275.c: ... here.
50218
0cb90c45 502192005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50220
50221 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50222 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50223 Pass 0 as `end' parameter to grub_strtoul().
50224
a19fb360 502252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50226
50227 * include/grub/powerpc/ieee1275/console.h: Do not include
50228 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50229 ifdef.
50230 (grub_console_cur_color): Remove i386-specific prototype.
50231 (grub_console_real_putchar): Likewise.
50232 (grub_console_checkkey): Likewise.
50233 (grub_console_getkey): Likewise.
50234 (grub_console_getxy): Likewise.
50235 (grub_console_gotoxy): Likewise.
50236 (grub_console_cls): Likewise.
50237 (grub_console_setcursor): Likewise.
50238 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50239 Include <grub/machine/console.h>.
50240 * term/ieee1275/ofconsole.c: Likewise.
50241
4ac9bd04 502422005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50243
50244 * Makefile.in (LIBLZO): New variable.
50245
50246 * configure.ac: Check for LZO version 2.
50247
50248 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50249 lzo/lzo1x.h instead of lzo1x.h.
50250
50251 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50252 of -llzo.
50253
50254 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50255 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50256
50257 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50258 copying the data from PARTITION to P.
50259
f4917dfd 502602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50261
50262 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50263 negative, unload the module.
50264
50265 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50266 map is "pc_partition_map" but not "pc".
50267 (usage): Fix the description. The options are --boot-image and
50268 --core-image but not --boot-file or --core-file.
50269 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50270 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50271 DEFAULT_DIRECTORY.
50272
50273 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50274 --core-file. Specify INSTALL_DEVICE as an argument.
50275
50276 * util/console.c: Include config.h.
50277 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50278 [HAVE_NCURSES_H]: Include ncurses.h.
50279 [HAVE_CURSES_H]: Include curses.h.
50280 [!A_NORMAL] (A_NORMAL): Defined as zero.
50281 [!A_STANDOUT] (A_STANDOUT): Likewise.
50282
50283 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50284 -lncurses.
50285 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50286
50287 * configure.ac: Check for curses libraries and headers.
50288
50289 * Makefile.in (LIBCURSES): New variable.
50290
50291 * genmk.rb (Script::rule): Set the executable bits.
50292
50293 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50294 name of the PC partition map is "pc_partition_map" but not "pc".
50295
0e143073 502962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50297
50298 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50299 (modules): Likewise.
50300 (usage): Added descriptions for --modules and --grub-probefs.
50301 Handle --modules and --grub-probefs. Save the arguments in MODULES
50302 and GRUB_PROBEFS, respectively.
50303 Auto-detect a filesystem module against GRUBDIR. If the result is
50304 empty and modules are not specified explicitly, abort the
50305 installation. Add the result to MODULES.
50306
50307 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50308 disk/powerpc/ieee1275/ofdisk.c,
50309 include/grub/powerpc/ieee1275/init.h and
50310 term/powerpc/ieee1275/ofconsole.c.
50311 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50312 term/ieee1275/ofconsole.c.
50313
50314 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50315
50316 * COPYING: Upgraded to the latest version. Only the address of the
50317 FSF office has changed.
f19dbdb7 50318
efd6e6d5 503192005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50320
50321 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50322 kern/ieee1275.c with kern/ieee1275/of.c.
50323
50324 * kern/ieee1275.c: Moved to ...
50325 * kern/ieee1275/of.c: ... here.
50326
8ceafda2 503272005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50328
50329 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50330 readability.
8ceafda2 50331
50332 * config.guess: Updated to the latest version from gnulib.
50333 * config.sub: Likewise.
50334 * install.sh: Likewise.
50335 * mkinstalldirs: Likewise.
50336
50337 * include/grub/console.h: Removed. This file is arch-specific. Do
50338 not put this in include/grub.
50339
50340 * include/grub/i386/pc/console.h: Resurrected.
50341
50342 * util/console.c: Include grub/machine/console.h instead of
50343 grub/console.h.
50344 * util/grub-emu.c: Likewise.
50345
267f6cd9 503462005-08-04 Marco Gerards <metgerards@student.han.nl>
50347
50348 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50349 hardcoded value.
f19dbdb7 50350
267f6cd9 50351 From Vincent Pelletier <subdino2004@yahoo.fr>
50352 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50353 Redefined to use grub_getwh.
50354 (grub_term): New member named getwh.
50355 (grub_getwh): New prototype.
50356 * kern/term.c (grub_getwh): New function.
50357 * term/i386/pc/console.c (grub_console_getwh): New function.
50358 (grub_console_term): New member `getwh'.
50359 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50360 (grub_vga_term): New member `getwh'.
0b5abe02 50361 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50362 grub_ssize_t.
50363 (grub_ofconsole_getw): New function.
50364 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50365 (grub_ofconsole_term): New field named getwh and new initial
50366 value.
50367
3be7266d 503682005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50369
50370 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50371 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50372 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50373 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50374 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50375 of <grub/machine/ieee1275.h>.
50376 * commands/ieee1275/reboot.c: Likewise.
50377 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50378 * kern/ieee1275.c: ... to here. All users updated. Change all
50379 parameter structs to use new type `grub_ieee1275_cell_t'.
50380 * term/powerpc/ieee1275/ofconsole.c: Move ...
50381 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50382 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50383 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50384 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50385 to return int.
50386 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50387 Remove unused prototypes. All users updated.
50388 * include/grub/powerpc/ieee1275/console.h: Removed.
50389 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50390 `grub_ieee1275_cell_t'.
50391 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50392 Cast comparisons with -1 to the correct type.
50393 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50394 type to match `grub_ieee1275_entry_fn'.
50395
8b5f3938 503962005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50397
50398 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50399
50400 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50401 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50402 partmap/sun.c.
50403 (grub_probefs_SOURCES): New variable.
50404
50405 * util/i386/pc/grub-probefs.c: New file.
50406
50407 * util/i386/pc/grub-setup.c (main): Call
50408 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50409 grub_hfs_init and grub_jfs_init to initialize the system. Call
50410 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50411 grub_pc_partition_map_fini to finish the system.
50412
ea409713 504132005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50414
50415 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50416 function.
50417 (grub_multiboot_load_elf32): Likewise.
50418 (grub_multiboot_is_elf64): Likewise.
50419 (grub_multiboot_load_elf64): Likewise.
50420 (grub_multiboot_load_elf): Likewise.
50421 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50422 an ELF32 or ELF64 file.
50423 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50424
50425 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50426 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50427 NULL before calling FS->LABEL.
50428 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50429 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50430 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50431 before calling FS->LABEL.
50432
141a288b 504332005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50434
50435 * util/i386/pc/grub-install.in (datadir): New variable.
50436 (libdir): Removed.
50437 (pkgdatadir): New variable.
50438 (pkglibdir): Removed.
50439
0d5f8a54 504402005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50441
50442 * DISTLIST: Added util/i386/pc/grub-install.in.
50443
50444 * util/i386/pc/grub-install.in: New file.
50445
50446 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50447 (grub_install_SOURCES): Likewise.
50448
50449 * genmk.rb: Added support for scripts.
50450 (Script): New class.
50451 (scripts): New variable.
50452
50453 * Makefile.in (install-local): Install sbin_SCRIPTS by
50454 INSTALL_SCRIPT.
50455 (uninstall): Remove sbin_SCRIPTS.
50456
50457 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50458 device, try to get a GRUB device by
50459 grub_util_biosdisk_get_grub_dev.
50460 Free DEST_DEV.
50461
50462 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50463 description for --device-map.
50464
5f968e1e 504652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50466
50467 Change the semantics of variable hooks. They now return strings
50468 instead of error values.
f19dbdb7 50469
5f968e1e 50470 * util/i386/pc/grub-setup.c: Include grub/env.h.
50471 (setup): Use grub_device_set_root instead of grub_env_set.
50472
50473 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50474 grub_env_get instead of grub_device_set_root and
50475 grub_device_get_root, respectively.
50476
50477 * kern/main.c (grub_env_write_root): New function.
50478 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50479 grub_env_set instead of grub_device_set_root.
50480
50481 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50482 many variables.
50483 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50484 rather than calling ENV->WRITE_HOOK afterwards.
50485 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50486 passing a pointer of a pointer.
50487 (grub_register_variable_hook): Change the types of "read_hook" and
50488 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50489 respectively.
50490 Allocate the default empty string on the heap, because this string
50491 may be freed later.
50492
50493 * kern/device.c: Include grub/env.h.
50494 (grub_device_set_root): Removed.
50495 (grub_device_get_root): Likewise.
50496 (grub_device_open): Use grub_env_get instead of
50497 grub_device_get_root.
50498
50499 * include/grub/env.h (grub_env_read_hook_t): New type.
50500 (grub_env_write_hook_t): Likewise.
50501 (grub_env_var): Change the types of "read_hook" and "write_hook"
50502 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50503 (grub_register_variable_hook): Likewise.
50504
50505 * include/grub/device.h (grub_device_set_root): Removed.
50506 (grub_device_set_root): Likewise.
50507
50508 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50509 make sure that DIRNAME terminates with '/', so that
50510 grub_fat_find_dir will fail if PATH is not a directory.
50511
50512 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50513 from DIRNAME.
50514 Use the qualifier auto for print_files and print_files_long.
50515 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50516 as a regular file.
50517 Put a newline only if there is no error.
50518 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50519 used.
50520
896f0afd 505212005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50522
50523 * kern/partition.c (grub_partition_probe): Initialize PART to
50524 NULL. Otherwise, when no partition map is registered, this returns
50525 a garbage.
50526
b28b81b2 505272005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50528
50529 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50530 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50531 valid.
50532
5f3607e0 505332005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50534
50535 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50536 information on each device, if it does not have partitions. Print
50537 "Device" instead of "Disk", because this function is not specific
50538 to disk devices.
50539
50540 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50541 static to ensure that it is put on the memory rather than a
50542 register.
50543
502c87e8 505442005-07-17 Yoshinori Okuji <okuji@enbug.org>
50545
50546 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50547 (grub_cat_init): Likewise.
50548 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50549 (options): Likewise.
50550 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50551 (grub_configfile_init): Likewise.
50552 * font/manager.c (GRUB_MOD_INIT): Likewise.
50553 * commands/help.c (GRUB_MOD_INIT): Likewise.
50554 (grub_help_init): Likewise.
50555 * normal/command.c (grub_command_init): Likewise.
50556 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50557 * disk/loopback.c (grub_loop_init): Likewise.
50558 (GRUB_MOD_INIT): Likewise.
50559 * commands/ls.c (grub_ls_init): Likewise.
50560 (GRUB_MOD_INIT): Likewise.
50561 (options): Likewise.
50562 * commands/boot.c (grub_boot_init): Likewise.
50563 (GRUB_MOD_INIT): Likewise.
50564 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50565 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50566 (GRUB_MOD_INIT): Likewise.
50567 * commands/cmp.c (grub_cmp_init): Likewise.
50568 (GRUB_MOD_INIT): Likewise.
50569
50570 * normal/arg.c: Use <> instead of "" to include header files.
50571 (SHORT_ARG_HELP): New macro.
50572 (SHORT_ARG_USAGE): Likewise.
50573 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50574 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50575 descriptions.
50576 (find_short): Check if C is 'h' or 'u' explicitly.
50577 (grub_arg_show_help): Use space characters instead of tabs. Treat
50578 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50579 are shown with --help and --usage only if they are not used for
50580 the command itself.
50581 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50582 'h' and 'u'.
50583
50584 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50585 const into "longarg". Change the type of "shortarg" to int.
50586
f806d18e 505872005-07-17 Yoshinori Okuji <okuji@enbug.org>
50588
50589 * boot/i386/pc/boot.S (boot_drive_check): New label.
50590
50591 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50592 macro.
50593
50594 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50595 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50596
e293232b 505972005-07-17 Yoshinori Okuji <okuji@enbug.org>
50598
50599 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50600 When turning off Gate A20, skip the check and return immediately,
50601 because this is not fatal usually.
50602
ebedfd00 506032005-07-17 Yoshinori Okuji <okuji@enbug.org>
50604
50605 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50606 be 0x7C00 instead of 0x8000.
50607
50608 * boot/i386/pc/pxeboot.S: Rewritten.
50609
50610 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50611 EXT_C.
50612 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50613 result.
50614
654fc59f 506152005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50616
50617 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50618 robustness. This routine now supports a BIOS call and System
50619 Control Port A to modify the gate A20.
50620
50621 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50622 Increased to 0x440.
50623
09f9923f 506242005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50625
50626 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50627 device path and resulting ihandle.
50628 (grub_ofdisk_close): dprintf the ihandle being closed.
50629 (grub_ofdisk_read): dprintf function parameters.
50630 * kern/mm.c (grub_mm_init_region): Likewise.
50631 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50632 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50633 size, and boot arguments.
50634 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50635 before loading into memory.
50636 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50637 before loading into memory.
50638
7ef504d8 506392005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50640
50641 * kern/mm.c: Added much documentation.
50642 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50643 8, set to 5 instead of 8.
50644
e0f050c2 506452005-07-10 Yoshinori Okuji <okuji@enbug.org>
50646
50647 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50648
50649 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50650 (grub_mkdevicemap_SOURCES): New variable.
50651
50652 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50653 lib/device.c of GRUB Legacy.
50654
7224189a 506552005-07-10 Yoshinori Okuji <okuji@enbug.org>
50656
50657 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50658 instead of PATH is NULL.
50659
68c864eb 506602005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50661
50662 * commands/cmp.c (BUFFER_SIZE): New macro.
50663 (grub_cmd_cmp): Close the right file at the right time. Compare
50664 only data just read. Don't report files of different size as
50665 identical. Dynamically allocate buffers. Move variable
50666 declarations at the beginning of function.
50667
e6f3e614 506682005-07-09 Yoshinori Okuji <okuji@enbug.org>
50669
50670 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50671 reverse.
50672
f8f1559a 506732004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50674
50675 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50676 when backspace is pressed at beginning of line.
50677
39c9d41d 506782005-07-03 Yoshinori Okuji <okuji@enbug.org>
50679
50680 * DISTLIST: Added genfslist.sh.
50681
50682 * normal/main.c (fs_module_list): New variable.
50683 (autoload_fs_module): New function.
50684 (read_fs_list): Likewise.
50685 (grub_normal_execute): Call read_fs_list.
50686
50687 * kern/fs.c (grub_fs_autoload_hook): New variable.
50688 (grub_fs_probe): Added support for auto-loading.
50689
50690 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50691 (grub_fs_module_list_t): New type.
50692
50693 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50694 (grub_fs_autoload_hook): New prototype.
50695
50696 * genfslist.sh: New file.
f19dbdb7 50697
39c9d41d 50698 * genmk.rb: Added a rule to generate a filesystem list.
50699
121c1d83 507002005-06-30 Marco Gerards <metgerards@student.han.nl>
50701
50702 * configure.ac: Fix the test for cross-compiling.
50703
50704 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50705 define GRUB_UTIL anymore.
50706
50707 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50708 so this function works on other systems than just big endian.
50709 (load_modules): Likewise.
50710 (add_segments): Likewise.
50711
e75d76e1 507122005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50713
50714 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50715 contains `l' modifier, get a long from va_arg().
50716
50b5a0a7 507172005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50718
50719 * kern/mm.c (grub_free): If the next free block which is being
50720 merged is the first free block, set the first block to the block
50721 being freed.
50722 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50723
89371b20 507242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50725
50726 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50727 `grub_ieee1275_chosen'.
50728
168d6e58 507292005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50730
50731 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50732 (grub_ieee1275_chosen): New variable.
50733 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50734 `chosen'.
50735 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50736 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50737 Rename first argument to `phandle' for consistency.
50738 (grub_ieee1275_get_property_length): Likewise.
50739 (grub_ieee1275_next_property): Likewise. Change type of first argument
50740 to grub_ieee1275_phandle_t.
50741 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50742 Move export next to declaration.
50743 (grub_ieee1275_chosen): New variable.
50744 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50745 Correct cosmetic typo.
50746 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50747 `grub_ieee1275_chosen'.
50748 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50749 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50750 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50751 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50752 `grub_ieee1275_chosen'.
50753
ca5baa3f 507542005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50755
50756 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50757 /chosen/bootargs.
50758 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50759 /chosen/bootargs as "variable=value" pairs.
50760
708b345f 507612005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50762
50763 * include/grub/misc.h (grub_dprintf): New macro.
50764 (grub_real_dprintf): New prototype.
50765 (grub_strword): Likewise.
50766 (grub_iswordseparator): Likewise.
50767 * kern/misc.c (grub_real_dprintf): New function.
50768 (grub_strword): Likewise.
50769 (grub_iswordseparator): Likewise.
50770
f4c5e67c 507712005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50772
50773 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50774 (roundup): Remove macro.
50775 (grub_ieee1275_flags): Make static.
50776 (grub_ieee1275_realmode): Remove.
50777 (grub_ieee1275_test_flag): New function.
50778 (grub_ieee1275_set_flag): Likewise.
50779 (find_options): Rename to `grub_ieee1275_find_options'; update
50780 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50781 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50782 (cmain): New prototype.
50783 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50784 `grub_ieee1275_flags' directly.
50785 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50786 machine/biosdisk.h.
50787 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50788 Don't include grub/machine/init.h.
50789 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50790 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50791 Remove prototype.
50792 (grub_ieee1275_realmode): Likewise.
50793 (grub_ieee1275_flag): New enum.
50794 (grub_ieee1275_test_flag): New prototype.
50795 (grub_ieee1275_set_flag): New prototype.
50796 * include/grub/powerpc/ieee1275/init.h: Remove file.
50797 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50798 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50799 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50800 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50801 comment.
50802 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50803 `grub_ieee1275_test_flag'.
50804 (grub_ieee1275_encode_devname): Likewise.
50805
ed16607e 508062005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50807
50808 * include/grub/powerpc/ieee1275/ieee1275.h
50809 (grub_ieee1275_encode_devname): New prototype.
50810 (grub_ieee1275_get_filename): Likewise.
50811 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50812 function.
50813 (grub_set_prefix): Likewise.
50814 (grub_machine_init): Call grub_set_prefix.
50815 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50816 (grub_parse_type): New enum.
50817 (grub_ieee1275_get_devargs): New function.
50818 (grub_ieee1275_get_devname): Likewise.
50819 (grub_ieee1275_parse_args): Likewise.
50820 (grub_ieee1275_get_filename): Likewise.
50821 (grub_ieee1275_encode_devname): Likewise.
50822
be369920 508232005-03-30 Marco Gerards <metgerards@student.han.nl>
50824
50825 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50826 `grub_loader_unset'.
50827
a5ce3a4a 508282005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50829
50830 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50831 instead of grub_ieee1275_interpret.
50832 (grub_halt_init): New function.
50833 (grub_halt_fini): Likewise.
50834 (GRUB_MOD_INIT): Correct message grammar.
50835 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50836 instead of grub_ieee1275_interpret.
50837 (grub_reboot_init): New function.
50838 (grub_reboot_fini): Likewise.
50839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50840 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50841 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50842 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50843 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50844 function.
50845 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50846 Add prototype.
50847 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50848 prototype.
50849 (grub_halt): Likewise.
50850 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50851 (cmain): Remove __attribute__((unused)).
50852 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50853 (grub_heap_len): Likewise.
50854 (grub_machine_fini): New function.
50855 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50856 (grub_halt): Likewise.
50857 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50858 function.
50859 * util/powerpc/ieee1275/misc.c: New file.
50860
0058f771 508612005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50862
50863 * DISTLIST: New file.
50864 * gendistlist.sh: Likewise.
f19dbdb7 50865
0058f771 50866 * Makefile.in (COMMON_DISTFILES): Removed.
50867 (BOOT_DISTFILES): Likewise.
50868 (CONF_DISTFILES): Likewise.
50869 (DISK_DISTFILES): Likewise.
50870 (FS_DISTFILES): Likewise.
50871 (INCLUDE_DISTFILES): Likewise.
50872 (KERN_DISTFILES): Likewise.
50873 (LOADER_DISTFILES): Likewise.
50874 (TERM_DISTFILES): Likewise.
50875 (UTIL_DISTFILES): Likewise.
50876 (DISTFILES): Likewise.
50877 (uninstall): Uninstall files in $(pkgdata_DATA).
50878 (DISTLIST): New target.
50879 (distdir): Use the contents of the file DISTLIST to get a list of
50880 distributed files.
50881
46b3b8a5 508822005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50883
50884 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50885 descriptor. This is ported from GRUB Legacy.
50886
50887 * gencmdlist.sh: Added an extra semicolon to make it work with
50888 old sed versions. Reported by Robert Bihlmeyer
50889 <robbe@orcus.priv.at>.
50890
5822ff87 508912005-03-08 Yoshinori Okuji <okuji@enbug.org>
50892
50893 Automatic loading of commands is supported.
f19dbdb7 50894
5822ff87 50895 * normal/main.c (read_command_list): New function.
50896 (grub_normal_execute): Call read_command_list.
50897
50898 * normal/command.c (grub_register_command): Return zero or CMD.
50899 Allocate CMD->NAME from the heap.
50900 Initialize CMD->MODULE_NAME to zero.
50901 Find the same name as well. If the same command is found and it is
50902 a dummy command, overwrite members. If it is not a dummy command,
50903 return zero.
50904 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50905 (grub_command_find): If a dummy command is found, load a module
50906 and retry to find a command only once.
50907
50908 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50909 make sure that each command is loaded.
50910
50911 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50912 macro.
50913 (struct grub_command): Remove const from the member `name'.
50914 Add a new member `module_name'.
50915 (grub_register_command): Return grub_command_t.
50916
50917 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50918 sure that each command is loaded.
50919
50920 * genmk.rb (PModule::rule): Specify a module name without the
50921 suffix ".mod" to gencmdlist.sh.
50922
7b1f4b57 509232005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50924
50925 * gencmdlist.sh: New file.
f19dbdb7 50926
7b1f4b57 50927 * genmk.rb (PModule::rule): Generate a rule for a command list.
50928 Clean command.lst.
50929 Generate command.lst from $(COMMANDFILES).
50930
50931 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50932 (DATA): Added $(pkgdata_DATA).
50933 (install-local): Install files in $(pkgdata_DATA).
50934
062aaf39 509352005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50936
50937 * term/i386/pc/vga.c (debug_command): Removed.
50938 (GRUB_MOD_INIT): Do not register the command "debug".
50939
50940 From Hollis Blanchard:
50941 * commands/configfile.c: New file.
50942 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50943 commands/configfile.c.
50944 (pkgdata_MODULES): Added configfile.mod.
50945 (configfile_mod_SOURCES): New variable.
50946 (configfile_mod_CFLAGS): Likewise.
50947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50948 commands/configfile.c.
50949 (pkgdata_MODULES): Added configfile.mod.
50950 (configfile_mod_SOURCES): New variable.
50951 (configfile_mod_CFLAGS): Likewise.
50952 * util/grub-emu.c (main): Call grub_configfile_init and
50953 grub_configfile_fini.
50954 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50955 prototype.
50956 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50957
cee01aa6 509582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50959
50960 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50961 address.
50962
50963 * commands/help.c (grub_cmd_help): Do not print newlines after
50964 the last command in print_command_help.
50965
93f3a1d8 509662005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50967
50968 * commands/default.h: New file.
50969 * commands/timeout.h: Likewise.
50970 * normal/context.c: Likewise.
f19dbdb7 50971
93f3a1d8 50972 * util/misc.c: Do not include sys/times.h.
50973 Include sys/time.h and grub/machine/time.h.
50974 (grub_get_rtc): Rewritten with gettimeofday.
50975
50976 * util/grub-emu.c (main): Call grub_default_init and
50977 grub_timeout_init before grub_normal_init, and call
50978 grub_timeout_fini and grub_default_fini after grub_main.
50979
50980 * util/console.c (grub_ncurses_checkkey): Return the read
50981 character or -1.
50982
50983 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50984 timeouts.
50985
50986 * normal/main.c (read_config_file): Push MENU. If this fails,
50987 print an error and wait for a user input.
50988 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50989 If a menu is empty or an error occurs, pop MENU.
50990 (grub_normal_execute): Pop and free MENU after grub_menu_run
50991 returns.
50992
50993 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50994
50995 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50996 include time.h.
50997 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50998 without GRUB_UTIL.
50999 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51000 time.h.
51001 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51002 without GRUB_UTIL.
51003
51004 * include/grub/normal.h (struct grub_menu_list): New struct.
51005 (grub_menu_list_t): New type.
51006 (struct grub_context): New struct.
51007 (grub_context_t): New type.
51008 (grub_register_command): Got rid of EXPORT_FUNC.
51009 (grub_unregister_command): Likewise.
51010 (grub_context_get): New prototype.
51011 (grub_context_get_current_menu): Likewise.
51012 (grub_context_push_menu): Likewise.
51013 (grub_context_pop_menu): Likewise.
51014 [GRUB_UTIL] (grub_default_init): Likewise.
51015 [GRUB_UTIL] (grub_default_fini): Likewise.
51016 [GRUB_UTIL] (grub_timeout_init): Likewise.
51017 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51018
51019 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51020 commands/timeout.c and normal/context.c.
51021 (pkgdata_MODULES): Added default.mod and timeout.mod.
51022 (normal_mod_SOURCES): Added normal/context.c.
51023 (default_mod_SOURCES): New variable.
51024 (default_mod_CFLAGS): Likewise.
51025 (timeout_mod_SOURCES): Likewise.
51026 (timeout_mod_CFLAGS): Likewise.
51027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51028 conf/i386-pc.rmk.
51029 (pkgdata_MODULES): Added default.mod and timeout.mod.
51030 (normal_mod_SOURCES): Added normal/context.c.
51031 (default_mod_SOURCES): New variable.
51032 (default_mod_CFLAGS): Likewise.
51033 (timeout_mod_SOURCES): Likewise.
51034 (timeout_mod_CFLAGS): Likewise.
51035
51036 * Makefile.in (all-local): Added $(MKFILES).
51037
4ed2e1dd 510382005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51039
51040 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51041 (grub_emu_SOURCES): Likewise.
51042 (pkgdata_MODULES): Add `sun.mod'.
51043 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51045 `partmap/sun.c'.
51046 (pkgdata_MODULES): Add `sun.mod'.
51047 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51048 * include/grub/partition.h (grub_sun_partition_map_init): New
51049 prototype.
51050 (grub_sun_partition_map_fini): Likewise.
51051 * partmap/sun.c: New file.
51052 * util/grub-emu.c (main): Initialize and de-initialize the sun
51053 partitionmap support.
51054
4d4e372e 510552005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51056
51057 This implements an Emacs-like menu entry editor.
f19dbdb7 51058
4d4e372e 51059 * normal/menu_entry.c: New file.
f19dbdb7 51060
4d4e372e 51061 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51062 characters to ASCII.
51063 (saved_char): New variable.
51064 (grub_ncurses_checkkey): Rewritten completely.
51065 (grub_ncurses_getkey): Likewise.
51066 (grub_ncurses_init): Call raw instead of cbreak.
51067
51068 * normal/menu.c (print_entry): Do not put a space.
51069 (init_page): Renamed to ...
51070 (grub_menu_init_page): ... this. All callers changed.
51071 (edit_menu_entry): Removed.
51072 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51073
51074 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51075
51076 * kern/misc.c (grub_vprintf): Call grub_refresh.
51077
51078 * normal/menu.c (DISP_LEFT): Renamed to ...
51079 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51080 * normal/menu.c (DISP_UP): Renamed to ...
51081 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51082 * normal/menu.c (DISP_RIGHT): Renamed to ...
51083 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51084 * normal/menu.c (DISP_DOWN): Renamed to ...
51085 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51086 * normal/menu.c (DISP_HLINE): Renamed to ...
51087 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51088 * normal/menu.c (DISP_VLINE): Renamed to ...
51089 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51090 * normal/menu.c (DISP_UL): Renamed to ...
51091 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51092 * normal/menu.c (DISP_UR): Renamed to ...
51093 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51094 * normal/menu.c (DISP_LL): Renamed to ...
51095 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51096 * normal/menu.c (DISP_LR): Renamed to ...
51097 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51098 * normal/menu.c (TERM_WIDTH): Renamed to ...
51099 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51100 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51101 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51102 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51103 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51104 * normal/menu.c (TERM_MARGIN): Renamed to ...
51105 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51106 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51107 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51108 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51109 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51110 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51111 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51112 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51113 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51114 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51115 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51116 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51117 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51118 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51119 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51120 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51121 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51122 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51123 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51124 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51125 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51126 All callers changed.
51127
51128 * include/grub/normal.h: New prototype.
51129
51130 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51131 normal/menu_entry.c.
51132 (normal_mod_SOURCES): Likewise.
51133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51134 (normal_mod_SOURCES): Likewise.
51135
e6b92c8a 511362005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * include/grub/normal.h (grub_halt_init): New prototype.
51139 (grub_halt_fini): Likewise.
51140 (grub_reboot_init): Likewise.
51141 (grub_reboot_fini): Likewise.
51142
51143 * util/grub-emu.c: Include signal.h.
51144 (main_env): New global variable.
51145 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51146 catch C-c.
51147 (grub_machine_fini): New function.
51148 (main): Call grub_halt_init and grub_reboot_init before
51149 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51150 Call setjmp with MAIN_ENV to go back afterwards.
51151 Call grub_machine_fini right before return.
51152
51153 * include/grub/util/misc.h: Include setjmp.h.
51154 (main_env): New prototype.
51155
51156 * include/grub/kernel.h (grub_machine_fini): New prototype.
51157 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51158 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51159
51160 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51161 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51162 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51163
e6b92c8a 51164 * util/i386/pc/misc.c: New file.
f19dbdb7 51165
e6b92c8a 51166 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51167 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51168 commands/i386/pc/reboot.c.
51169
c642636f 511702005-02-14 Guillem Jover <guillem@hadrons.org>
51171
51172 * include/grub/dl.h (grub_dl_check_header): New prototype.
51173 (grub_arch_dl_check_header): Change return type to grub_err_t,
51174 remove size parameter and export function. Update all callers.
51175 * kern/dl.c (grub_dl_check_header): New function.
51176 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51177 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51178 are inside the core.
51179 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51180 independent ELF header checks.
51181 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51182 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51183 `grub_dl_check_header' instead of explicit checks. Check for the
51184 ELF type.
51185 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51186 `grub_dl_check_header' instead of explicit checks. Remove arch
51187 specific ELF header checks.
51188
e6b92c8a 51189 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51190 argument SIZE.
51191
5eabe94b 511922005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51193
51194 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51195 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51196
1b14a681 511972005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51198
51199 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51200 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51201 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51202 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51203 * partmap/amiga.c (amiga_partition_map_iterate): Return
51204 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51205 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51206
aca108aa 512072005-02-01 Guillem Jover <guillem@hadrons.org>
51208
51209 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51210 help info.
51211
c9f9c556 512122005-01-31 Marco Gerards <metgerards@student.han.nl>
51213
51214 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51215 Removed prototype.
51216 (grub_rescue_cmd_linux): New prototype.
51217 (grub_rescue_cmd_initrd): Likewise.
51218 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51219 `bi_rec'.
51220 (grub_linux_release_mem): Release the memory for the initrd.
51221 (grub_load_linux): Renamed from this...
51222 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51223 Changed `entry' not to be static. Loop over memory regions to
51224 find another one when the default fails.
51225 (grub_rescue_cmd_initrd): New function.
51226 (grub_linux_init): Remove function.
51227 (grub_linux_fini): Likewise.
51228 (GRUB_MOD_INIT): Register `initrd'.
51229 (GRUB_MOD_FINI): Unregister `initrd'.
51230 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51231 Function removed.
51232 (grub_linux_normal_fini): Likewise.
51233 (GRUB_MOD_INIT): Register `initrd'.
51234 (GRUB_MOD_FINI): Unregister `initrd'.
51235
990cf3aa 512362005-01-31 Marco Gerards <metgerards@student.han.nl>
51237
51238 * commands/help.c: New file.
51239 * normal/arg.c (show_help): Renamed to...
51240 (grub_arg_show_help): ... this.
51241 * commands/i386/pc/halt.c: New file.
51242 * commands/i386/pc/reboot.c: Likewise.
51243 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51244 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51245 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51246 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51247 variables.
51248 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51249 `commands/help.c'.
51250 (pkgdata_MODULES): Add `help.mod'.
51251 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51252 * grub/i386/pc/init.h (grub_reboot): New prototype.
51253 (grub_halt): Likewise.
51254 * include/grub/normal.h (grub_arg_show_help): New prototype.
51255 (grub_help_init): Likewise.
51256 (grub_help_fini): Likewise.
51257 * util/grub-emu.c (main): Initialize and deinitialize the help
51258 command.
51259
51260 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51261
51262 * normal/command.c (grub_command_init): Fixed the description of
51263 the `set' and `unset' commands.
51264
512652005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51266
51267 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51268 function.
51269 * commands/ieee1275/halt.c: New file.
51270 * commands/ieee1275/reboot.c: Likewise.
51271 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51272 `__attribute__ ((unused))'. Some GCS related fixed.
51273 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51274 (grub_suspend_fini): Likewise.
51275 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51276 and `halt.mod'.
51277 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51278 (halt_mod_CFLAGS): New variables.
51279 * include/grub/powerpc/ieee1275/ieee1275.h
51280 (grub_ieee1275_interpret): New prototype.
51281
1ab09cc7 512822005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51283
51284 * include/grub/misc.h (memmove): New prototype.
51285 (memcpy): Likewise.
51286
8b8cbdb2 512872005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51288
51289 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51290 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51291
e3741a27 512922005-01-22 Marco Gerards <metgerards@student.han.nl>
51293
51294 * kern/misc.c (grub_strndup): Function rewritten.
51295
776bd780 512962005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51297
51298 * normal/menu.c (TERM_WIDTH): Macro redefined.
51299 (TERM_TOP_BORDER_Y): Likewise.
51300 (draw_border): Replaced while-loop by a for-loop. Make the number
51301 of lines consistent with the number of lines displayed in
51302 print_entries. Added a margin below the rectangle.
51303 (print_entry): Make the entry fit in the rectangle.
51304 (print_entries): Display the scroll arrows next to the right
51305 border.
51306
78026bce 513072005-01-21 Marco Gerards <metgerards@student.han.nl>
51308
51309 * fs/minix.c (grub_minix_find_file): Reserve more space for
51310 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51311 `grub_strncpy' to copy `path' into it.
51312
67bbaf0f 513132005-01-21 Marco Gerards <metgerards@student.han.nl>
51314
51315 Add the loopback device, a device via which files can be accessed
51316 as devices.
f19dbdb7 51317
67bbaf0f 51318 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51319 (pkgdata_MODULES): Add loopback.mod.
51320 (loopback_mod_SOURCES): New variable.
51321 (loopback_mod_CFLAGS): Likewise.
51322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51323 `disk/loopback.c'.
51324 (pkgdata_MODULES): Add loopback.mod.
51325 (loopback_mod_SOURCES): New variable.
51326 (loopback_mod_CFLAGS): Likewise.
51327 * disk/loopback.c: new file.
51328 * include/grub/normal.h (grub_loop_init): New prototype.
51329 (grub_loop_fini): New prototype.
51330 * util/grub-emu.c (main): Initialize and de-initialize loopback
51331 support.
51332 * include/grub/disk.h (grub_disk_dev_id): Add
51333 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51334
6f1c18bd 513352005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51336
51337 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51338 function.
51339 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51340 (suspend_mod_SOURCES): New variable.
51341 (suspend_mod_CFLAGS): Likewise.
51342 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51343 New prototype.
51344 * commands/ieee1275/suspend.c: New file.
51345
b38551da 513462005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51347
51348 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51349 ((unused))' to `__attribute__ ((used))'.
b38551da 51350 (GRUB_MOD_FINI): Likewise.
51351 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51352 * genmk.rb (PModule): Assign space to common symbols when linking
51353 modules.
51354
777aff39 513552005-01-20 Marco Gerards <metgerards@student.han.nl>
51356
51357 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51358 `unsigned' arguments to `grub_size_t'.
51359 (grub_malloc): Likewise.
51360 (grub_realloc): Likewise.
51361 (grub_memalign): Likewise.
51362 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51363 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51364 * util/misc.c (grub_malloc): Likewise.
51365 (grub_realloc): Likewise.
51366 * kern/mm.c (get_header_from_pointer): Change the casts to
51367 `unsigned' into a cast to `grub_size_t'.
51368
51369 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51370 point to `currnode' when `currnode' is changed.
51371
51372 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51373 Schottelius <nico-linux@schottelius.org>.
51374
d0ff18e1 513752005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51376
51377 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51378 (note_path): Remove variable.
51379 (GRUB_IEEE1275_NOTE_NAME): New macro.
51380 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51381 (grub_ieee1275_note_hdr): New structure.
51382 (grub_ieee1275_note_desc): Likewise.
51383 (grub_ieee1275_note): Likewise.
51384 (load_note): Remove `dir' argument. All callers updated. Remove
51385 `note_img' and `path'. Do not load a file from `note_path'.
51386 Initialize a struct grub_ieee1275_note and write that to `out'.
51387 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51388
4ca7004c 513892005-01-05 Marco Gerards <metgerards@student.han.nl>
51390
51391 * util/misc.c (grub_util_read_image): Revert last change. It
51392 called `grub_util_read_at', which seeks from the beginning of the
51393 file.
51394
0b412211 513952005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51396
51397 * TODO: Add note about endianness in grub-mkimage.
51398 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51399 section.
51400 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51401 (grub_mkimage_SOURCES): New target.
51402 * include/grub/kernel.h (grub_start_addr): Remove variable.
51403 (grub_end_addr): Likewise.
51404 (grub_total_module_size): Likewise.
51405 (grub_kernel_image_size): Likewise.
51406 (GRUB_MODULE_MAGIC): New constant.
51407 (grub_module_info): New structure.
51408 (grub_arch_modules_addr): New prototype.
51409 (grub_get_end_addr): Remove prototype.
51410 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51411 * include/grub/powerpc/ieee1275/kernel.h: New file.
51412 * include/grub/util/misc.h (grub_util_get_fp_size): New
51413 prototype.
51414 (grub_util_read_at): Likewise.
51415 (grub_util_write_image_at): Likewise.
51416 * kern/main.c (grub_get_end_addr): Remove function.
51417 (grub_load_modules): Call grub_arch_modules_addr instead of using
51418 grub_end_addr. Look for a grub_module_info struct in memory. Use
51419 the grub_module_info fields instead of calling grub_get_end_addr
51420 as loop conditions. Move grub_add_unused_region code here.
51421 (grub_add_unused_region): Remove function.
51422 * kern/i386/pc/init.c: Include grub/cache.h.
51423 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51424 one call to add_mem_region.
51425 (grub_arch_modules_addr): New function.
51426 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51427 (grub_total_module_size): Likewise.
51428 Include grub/machine/kernel.h.
51429 (grub_arch_modules_addr): New function.
51430 * util/grub-emu.c (grub_end_addr): Remove variable.
51431 (grub_total_module_size): Likewise.
51432 (grub_arch_modules_addr): New function.
51433 * util/misc.c: Include unistd.h.
51434 (grub_util_get_fp_size): New function.
51435 (grub_util_read_at): Likewise.
51436 (grub_util_write_image_at): Likewise.
51437 (grub_util_read_image): Call grub_util_read_at.
51438 (grub_util_write_image): Call grub_util_write_image_at.
51439 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51440 additional memory in kernel_img for a struct grub_module_info.
51441 Fill in that grub_module_info.
51442 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51443
458786f8 514442005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51445
51446 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51447 New function.
51448 * include/grub/powerpc/ieee1275/ieee1275.h
51449 (grub_ieee1275_milliseconds): New prototype.
51450 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51451 Change to 1000.
51452 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51453 grub_ieee1275_milliseconds.
51454
ac507d1b 514552005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51456
51457 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51458 variable.
51459 (find_options): New function.
51460 (cmain): Call find_options.
51461 * include/grub/powerpc/ieee1275/ieee1275.h
51462 (grub_ieee1275_realmode): New extern variable.
51463 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51464 grub_map if grub_ieee1275_realmode is false.
51465
6b8fd1c4 514662004-12-29 Marco Gerards <metgerards@student.han.nl>
51467
51468 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51469 lines are inserted and make it work like readline. Reported by
51470 Vincent Pelletier <subdino2004@yahoo.fr>.
51471
8514a1e0 514722004-12-28 Marco Gerards <metgerards@student.han.nl>
51473
51474 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51475
51476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51477 `kern/powerpc/cache.S'.
51478
924b6140 514792004-12-27 Marco Gerards <metgerards@student.han.nl>
51480
51481 * genmk.rb: Handle the `Program' class in the main loop. Written
51482 by Johan Rydberg <jrydberg@gnu.org>.
51483 (Program): New class.
51484 (programs): New variable.
51485 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51486 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51487 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51488 (help_arch): Function removed.
51489 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51490 `powerpc/libgcc.h' and `loader.h'.
51491 (pkgdata_PROGRAMS): New variable.
51492 (sbin_UTILITIES): Variable removed.
51493 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51494 (grubof_SOURCES): Variable re-defined so it only includes the
51495 core functionality.
51496 (grubof_CFLAGS): Remove `-DGRUBOF'.
51497 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51498 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51499 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51500 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51501 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51502 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51503 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51504 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51505 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51506 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51507 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51508 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51509 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51510 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51511 (pc_mod_CFLAGS): New variables.
51512 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51513 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51514 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51515 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51516 Moved from here...
51517 * include/grub/i386/pc/init.h (grub_os_area_addr)
51518 (rub_os_area_size): ... to here.
51519 * include/grub/powerpc/ieee1275/ieee1275.h
51520 (grub_ieee1275_entry_fn): Export symbol.
51521 * include/grub/powerpc/ieee1275/init.h: New file.
51522 * include/grub/powerpc/libgcc.h: Likewise.
51523 * include/grub/cache.h: Likewise.
51524 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51525 <hollis@penguinppc.org>.
51526 * kern/dl.c: Include <grub/cache.h>.
51527 (grub_dl_flush_cache): New function.
51528 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51529 for this module.
51530 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51531 (grub_console_init): Removed prototypes.
51532 (grub_machine_init): Don't initialize the modules anymore.
51533 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51534 static.
51535 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51536 Macro undef removed.
51537 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51538 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51539 relocation `R_PPC_REL32'. Return an error when the relocation is
51540 unknown.
51541 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51542 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51543 * util/misc.c (grub_arch_sync_caches): Likewise.
51544
e4b47e0c 515452004-12-19 Marco Gerards <metgerards@student.han.nl>
51546
51547 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51548 `symlist.c', add `grubof_symlist.c'.
51549 (symlist.c): Variable removed.
51550 (grubof_HEADERS): Variable added.
51551 (grubof_symlist.c): New target.
51552 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51553 `kernel_img_HEADERS'.
51554 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51555 * kern/powerpc/dl.c: New file.
51556 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51557 Function removed.
51558 (grub_arch_dl_relocate_symbols): Likewise.
51559 (grub_register_exported_symbols): Likewise.
51560
4ceb3636 515612004-12-13 Marco Gerards <metgerards@student.han.nl>
51562
51563 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51564 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51565 to fail instead. Reported by Vincent Pelletier
51566 <subdino2004@yahoo.fr>.
51567
51568 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51569 it is not allocated. Reported by Vincent Pelletier
51570 <subdino2004@yahoo.fr>.
51571
51572 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51573 output so the output looks better.
f19dbdb7 51574
3f1578fe 515752004-12-04 Marco Gerards <metgerards@student.han.nl>
51576
51577 Modulize the partition map support and add support for the amiga
51578 partition map.
f19dbdb7 51579
3f1578fe 51580 * commands/ls.c: Include <grub/partition.h> instead of
51581 <grub/machine/partition.h>.
51582 * kern/disk.c: Likewise.
51583 * kern/rescue.c: Likewise.
51584 * loader/i386/pc/chainloader.c: Likewise.
51585 * normal/cmdline.c: Likewise.
51586 * kern/powerpc/ieee1275/init.c: Likewise.
51587 (grub_machine_init): Call `grub_pc_partition_map_init',
51588 `grub_amiga_partition_map_init' and
51589 `grub_apple_partition_map_init'.
51590 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51591 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51592 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51593 `partition.h' and `pc_partition.h'.
51594 (grub_setup_SOURCES): Remove
51595 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51596 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51597 (grub_emu_SOURCES): Likewise.
51598 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51599 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51600 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51602 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51603 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51604 (grubof_SOURCES): Likewise.
51605 * disk/i386/pc/partition.c: File removed.
51606 * disk/powerpc/ieee1275/partition.c: Likewise.
51607 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51608 * include/grub/i386/pc/partition.h: Likewise.
51609 * kern/partition.c: New file.
51610 * partmap/amiga.c: Likewise.
51611 * partmap/apple.c: Likewise.
51612 * partmap/pc.c: Likewise.
51613 * include/grub/partition.h: Likewise..
51614 * include/grub/pc_partition.h: Likewise.
51615 * util/grub-emu.c: Include <grub/partition.h> instead of
51616 <grub/machine/partition.h>.
51617 (main): Call `grub_pc_partition_map_init',
51618 `grub_amiga_partition_map_init' and
51619 `grub_apple_partition_map_init' and deinitialize afterwards.
51620 * util/i386/pc/biosdisk.c: Include `#include
51621 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51622 `<grub/machine/partition.h>'.
51623 * util/i386/pc/grub-setup.c: Likewise.
51624 * util/i386/pc/biosdisk.c: Likewise.
51625 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51626 partition information in case of a PC partition.
51627 * util/i386/pc/grub-setup.c: Include `#include
51628 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51629 `<grub/machine/partition.h>'.
51630 (setup): Only access the PC specific partition information in case
51631 of a PC partition.
51632
0ef4ced9 516332004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51634
0ef4ced9 51635 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51636 (grub_longjmp): Likewise.
51637 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51638 20.
51639 * normal/powerpc/setjmp.S: New file.
51640 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51641 `normal/powerpc/setjmp.S'.
51642 (grubof_CFLAGS): Add `-DGRUBOF'.
51643 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51644 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51645
19950e29 516462004-11-16 Marco Gerards <metgerards@student.han.nl>
51647
51648 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51649 property named `name'. Correctly handle the error returned by
51650 `grub_ieee1275_finddevice' if a device can not be opened.
51651
a2fea427 516522004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51653
51654 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51655 `actual' for negativity.
51656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51657 kern/fshelp.c.
51658
41ea0ea3 516592004-11-01 Marco Gerards <metgerards@student.han.nl>
51660
51661 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51662 (PAGE_OFFSET): New macro.
51663 (CRTC_ADDR_PORT): Likewise.
51664 (CRTC_DATA_PORT): Likewise.
51665 (START_ADDR_HIGH_REGISTER): Likewise.
51666 (START_ADDR_LOW_REGISTER): Likewise.
51667 (GRAPHICS_ADDR_PORT): Likewise.
51668 (GRAPHICS_DATA_PORT): Likewise.
51669 (READ_MAP_REGISTER): Likewise.
51670 (INPUT_STATUS1_REGISTER): Likewise.
51671 (INPUT_STATUS1_VERTR_BIT): Likewise.
51672 (page): New variable.
51673 (wait_vretrace): New function.
51674 (set_read_map): Likewise.
51675 (set_start_address): Likewise.
51676 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51677 the right page.
51678 (check_vga_mem): Take the page into account.
51679 (write_char): Likewise.
51680 (write_cursor): Likewise.
51681 (scroll_up): Likewise. Copy the page to the page that is not
51682 shown and switch between both pages.
51683 (grub_vga_putchar): Fix off by one error.
51684 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51685 account.
51686
ad0bd20b 516872004-11-01 Marco Gerards <metgerards@student.han.nl>
51688
51689 Add support for iso9660 (including rockridge).
f19dbdb7 51690
ad0bd20b 51691 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51692 (iso9660_mod_SOURCES): New variable.
51693 (iso9660_mod_CFLAGS): Likewise.
51694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51695 * include/grub/fs.h (grub_iso9660_init): New prototype.
51696 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51697 * fs/iso9660.c: New file.
51698
51699 * include/grub/misc.h (grub_strncat): New prototype.
51700 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51701
ad0bd20b 51702 * fs/hfs.c (grub_hfs_mount): Translate the error
51703 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51704 * fs/jfs.c (grub_jfs_mount): Likewise.
51705 * fs/ufs.c (grub_ufs_mount): Likewise.
51706
a5477a59 517072004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51708
51709 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51710 which initialized BAT registers.
51711 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51712 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51713 Move from here...
51714 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51715 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51716 ... to here.
51717 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51718 (grub_mapclaim): Likewise.
51719 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51720 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51721 hand.
51722
9304c1f8 517232004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51724
51725 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51726 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51727 -ffreestanding and -msoft-float.
51728
86f4ae25 517292004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51730
51731 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51732 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51733 set in grub_ieee1275_flags.
51734
38912228 517352004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51736
51737 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51738 prototype.
51739 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51740 grub_console_init first.
51741 Change the memory range used for grub_ieee1275_claim and
51742 grub_mm_init_region.
51743 Print an error message if the claim fails.
51744 Include <grub/misc.h>.
51745
d1923dc8 517462004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51747
51748 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51749 Call grub_children_iterate for device nodes of type `scsi',
51750 `ide', or `ata'.
51751 (grub_ofdisk_open): Remove manual device alias resolution.
51752 Fix memory leak when device cannot be opened.
f19dbdb7 51753 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51754 (grub_children_iterate): New prototype.
51755 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51756 New function.
51757 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51758 Return -1 if args.size was -1.
51759
4512e4f3 517602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51761
51762 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51763 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51764 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51765 Open Firmware's memory for it; claim memory from _start to _end.
51766 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51767 (_end): New extern.
51768 (_start): Zero BSS from __bss_start to _end.
51769 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51770 New extern.
51771 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51772
4d61feb0 517732004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51774
ad0bd20b 51775 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51776 -1 if args.base was -1.
4d61feb0 51777
026fa2f9 517782004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51779
51780 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51781 escape sequence instead of a literal ^L. Also call
51782 grub_ofconsole_gotoxy.
51783
9f2220ef 517842004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51785
51786 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51787 void * arguments to grub_addr_t. All callers updated. Also make
51788 the `result' argument optional.
51789 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51790 All callers updated.
51791
8a572cd7 517922004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51793
51794 * commands/ls.c (grub_ls_list_files): Use the string following the
51795 initial ')', if present, as the filesystem path.
51796 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51797
51798 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51799
18aa81f2 518002004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51801
51802 Make the source code of the menu interface more readable.
f19dbdb7 51803
18aa81f2 51804 * normal/menu.c: Include grub/mm.h.
51805 (TERM_WIDTH): New macro.
51806 (TERM_HEIGHT): Likewise.
51807 (TERM_INFO_HEIGHT): Likewise.
51808 (TERM_MARGIN): Likewise.
51809 (TERM_SCROLL_WIDTH): Likewise.
51810 (TERM_TOP_BORDER_Y): Likewise.
51811 (TERM_LEFT_BORDER_X): Likewise.
51812 (TERM_BORDER_WIDTH): Likewise.
51813 (TERM_MESSAGE_HEIGHT): Likewise.
51814 (TERM_BORDER_HEIGHT): Likewise.
51815 (TERM_NUM_ENTRIES): Likewise.
51816 (TERM_FIRST_ENTRY_Y): Likewise.
51817 (TERM_ENTRY_WIDTH): Likewise.
51818 (TERM_CURSOR_X): Likewise.
51819 (draw_border): Use macros instead of magic numbers.
51820 (print_entry): Likewise.
51821 (print_entries): Likewise.
51822 (run_menu): Likewise. Also, handle the key 'e'.
51823 (run_menu_entry): Ignore empty command lines.
51824 (print_message): Added a new argument EDIT. If EDIT is true,
51825 print a different message.
51826 (init_page): Likewise.
51827 (edit_menu_entry): New function. Not implemented yet.
51828
b47efe30 518292004-09-17 Marco Gerards <metgerards@student.han.nl>
51830
51831 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51832 can be loaded from normal mode.
f19dbdb7 51833
b47efe30 51834 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51835 `multiboot.mod'.
51836 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51837 (multiboot_mod_CFLAGS): New variables.
51838 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51839 * loader/i386/pc/multiboot_normal.c: Likewise.
51840
b47efe30 51841 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51842 attribute `unused'.
f19dbdb7 51843
b47efe30 51844 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51845 `fdiro' to read the mode information from instead of `diro'.
51846
51847 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51848 looking up a symlink.
51849
51850 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51851 macro.
51852 * normal/command.c (grub_command_execute): Don't parse the
51853 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51854 flags of the command.
51855
51856 * normal/menu.c (grub_menu_run): Fix typo.
51857
da75ac71 518582004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51859
51860 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51861
51862 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51863 `y + 1' instead of `y - 1'.
51864
51865 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51866
062b24c2 518672004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51868
51869 From Hollis Blanchard <hollis@penguinppc.org>:
51870 * kern/misc.c (memmove): New alias for grub_memmove.
51871 (memcmp): New alias for grub_memcmp.
51872 (memset): New alias for grub_memset.
f19dbdb7 51873 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51874 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51875 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51876 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51877
8ddad845 518782004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51879
51880 Added normal mode command `chainloader' as module chain.mod, which
51881 depends on normal.mod and _chain.mod.
f19dbdb7 51882
8ddad845 51883 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51884 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51885 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51886 Deleted prototype.
51887 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51888 but arguments parsing moved to ...
51889 (grub_chainloader_cmd): ... here. New function.
51890 * include/grub/i386/pc/chainloader.h: New file.
51891 * loader/i386/pc/chainloader_normal.c: Likewise.
51892
2c1f4ce3 518932004-09-11 Marco Gerards <metgerards@student.han.nl>
51894
51895 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51896 (grub_mkimage_LDFLAGS): Likewise.
51897 (grub_emu_SOURCES): Likewise.
51898 (kernel_img_HEADERS): Added fshelp.h.
51899 * fs/ext2.c: Include <grub/fshelp.h>.
51900 (FILETYPE_REG): New macro.
51901 (FILETYPE_INO_REG): Likewise.
51902 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51903 Changed all users.
51904 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51905 all users.
51906 (grub_fshelp_node): New struct.
51907 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51908 to a pointer.
51909 (grub_ext2_get_file_block): Removed function.
51910 (grub_ext2_read_block): New function.
51911 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51912 This function was written.
51913 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51914 (grub_ext2_find_file): Removed function.
51915 (grub_ext2_read_symlink): New function.
51916 (grub_ext2_iterate_dir): Likewise.
51917 (grub_ext2_open): Rewritten.
51918 (grub_ext2_dir): Rewritten.
51919 * include/grub/fshelp.h: New file.
51920 * fs/fshelp.c: Likewise.
51921
3c52136a 519222004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51923
51924 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51925 (print_message): Add a missing newline.
51926 (run_menu): Added timeout support.
51927 (run_menu_entry): New local function.
51928 (grub_menu_run): Added support for booting.
51929
51930 * kern/loader.c (grub_loader_is_loaded): New function.
51931
51932 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51933 (grub_get_rtc): Exported.
51934
51935 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51936 (grub_get_rtc): Exported.
51937
51938 * include/grub/normal.h (struct grub_command_list): Remove
51939 constant from the member `command'.
51940
51941 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51942
51943 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51944
51945 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51946
aa033560 519472004-08-28 Marco Gerards <metgerards@student.han.nl>
51948
51949 Add support for the JFS filesystem.
51950
51951 * fs/jfs.c: New file.
51952 * include/grub/fs.h (grub_jfs_init): New prototype.
51953 (grub_jfs_fini): New prototype.
51954 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51955 (grub_emu_SOURCES): Likewise.
51956 (pkgdata_MODULES): Add jfs.mod.
51957 (jfs_mod_SOURCES): New variable.
51958 (jfs_mod_CFLAGS): Likewise.
51959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51960 (grubof_SOURCES): Likewise.
51961 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51962
51963 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51964 endian to the host endian.
51965 (grub_fat_utf16_to_utf8): Move function from there...
51966 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51967 the endianness of the source string anymore.
aa033560 51968 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51969
94bc45af 519702004-08-24 Marco Gerards <metgerards@student.han.nl>
51971
51972 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51973 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51974 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51975 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51976
94bc45af 51977 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51978 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51979 for `node_found' and `it_dir'.
51980 (grub_hfs_dir): Add prototype for `dir_hook'.
51981
51982 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51983 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51984 and `indir32' to silence a gcc warning.
51985
51986 * include/grub/fs.h (grub_hfs_init): New prototype.
51987 (grub_hfs_fini): Likewise.
f19dbdb7 51988
51989
97543f08 519902004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51991
51992 Each disk device has its own id now. This is useful to make use
51993 of multiple disk devices.
f19dbdb7 51994
97543f08 51995 * include/grub/disk.h (grub_disk_dev_id): New enum.
51996 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51997 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51998
51999 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52000 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52001
52002 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52003 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52004
52005 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52006 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52007
52008 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52009 "id" which is used by the cache manager.
52010
52011 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52012 of just "GRUB".
52013
64372eb4 520142004-08-18 Marco Gerards <metgerards@student.han.nl>
52015
52016 * fs/hfs.c: New file.
52017 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52018 (grub_emu_SOURCES): Likewise.
52019 (pkgdata_MODULES): Add hfs.mod.
52020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52021 (grubof_SOURCES): Likewise.
52022 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52023
52024 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52025 * kern/misc.c (grub_strncasecmp): Add function.
52026
cc61b58f 520272004-08-14 Marco Gerards <metgerards@student.han.nl>
52028
52029 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52030 with parentheses.
52031
52032 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52033 (grub_ext2_dir): In case the directory entry type is unknown, read
52034 it from the inode.
52035
0ef123f6 520362004-08-02 Peter Bruin <pjbruin@dds.nl>
52037
52038 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52039 grub_load_linux instead of grub_rescue_cmd_linux as second
52040 argument of grub_rescue_register_command.
52041
52042 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52043
a447c5df 520442004-07-27 Marco Gerards <metgerards@student.han.nl>
52045
52046 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52047 function.
52048 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52049 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52050 `loader/powerpc/ieee1275/linux.c',
52051 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52052 * include/grub/powerpc/ieee1275/ieee1275.h
52053 (grub_ieee1275_release): New prototype.
52054 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52055 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52056 normal, boot, linux and linux_normal.
52057 * loader/powerpc/ieee1275/linux.c: New file.
52058 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52059
5a9e3546 520602004-07-12 Marco Gerards <metgerards@student.han.nl>
52061
52062 * normal/arg.c (grub_arg_parse): Correct error handling after
52063 reallocating the argumentlist (check if `argl' is not null instead
52064 of checking if `args' is not null).
52065 * kern/mm.c (grub_realloc): Return the same pointer when using the
52066 same region, instead of returning the header address.
52067
e15199cb 520682004-07-11 Marco Gerards <metgerards@student.han.nl>
52069
52070 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52071 one block instead of two when looking for the initial partition.
52072 (grub_partition_probe): Initialize the local variable `p' with 0.
52073 Use base 10 for the grub_strtoul call.
52074 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52075 need for one local variable.
52076 (grub_strtoul): Don't add the new value to `num', instead of that
52077 just assign it.
52078
020616c2 520792004-07-11 Marco Gerards <metgerards@student.han.nl>
52080
52081 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52082 (pxeboot_img_SOURCES): New variable.
52083 (pxeboot_img_ASFLAGS): Likewise.
52084 (pxeboot_img_LDFLAGS): Likewise.
52085 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52086 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52087 <lode_leroy@hotmail.com>.
52088
6c51eb64 520892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52090
52091 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52092 there was no input.
52093
cfb12aff 520942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52095
52096 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52097 the history buffer logic.
52098
6eabba74 520992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52100
52101 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52102 (FILETYPE_INO_SYMLINK): New macros.
52103 (grub_ext2_find_file): Check if the node is a directory using the
52104 inode stat information instead of using the filetype in the
52105 dirent. Exclude the first character of an absolute symlink.
52106 (grub_ext2_dir): Mask out the filetype part of the mode member of
52107 the inode.
52108
66e19ef8 521092004-05-24 Marco Gerards <metgerards@student.han.nl>
52110
52111 Add support for UFS version 1 and 2. Add support for the minix
52112 filesystem version 1 and 2, both the variants with 14 and 30 long
52113 filenames.
f19dbdb7 52114
66e19ef8 52115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52116 fs/minix.c.
52117 (grub_emu_SOURCES): Likewise.
52118 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52119 (ufs_mod_SOURCES): New variable.
52120 (ufs_mod_CFLAGS): Likewise.
52121 (minix_mod_SOURCES): Likewise.
52122 (minix_mod_CFLAGS): Likewise.
52123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52124 fs/minix.c.
52125 (grubof_SOURCES): Likewise.
52126 * fs/ufs.c: New file.
52127 * fs/minix.c: New file.
52128 * include/grub/fs.h (grub_ufs_init): New prototype.
52129 (grub_ufs_fini): Likewise.
52130 (grub_minix_init): Likewise.
52131 (grub_minix_fini): Likewise.
52132 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52133 minix fs.
52134
cc2e748a 521352004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52136
52137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52138 commands/ls.c, commands/terminal.c, commands/boot.c,
52139 commands/cmp.c and commands/cat.c.
52140 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52141
52142 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52143 "env.h"
52144
4b13b216 521452004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52146
52147 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52148 and grub_, respectively. Because the conversion is trivial and
52149 mechanical, I omit the details here. Please refer to the CVS
52150 if you need more information.
52151
6a142551 521522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52153
52154 * include/pupa: Renamed to ...
52155 * include/grub: ... this.
52156 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52157 * util/i386/pc/grub-mkimage.c: ... this.
52158 * util/i386/pc/pupa-setup.c: Renamed to ...
52159 * util/i386/pc/grub-setup.c: ... this.
52160 * util/pupa-emu.c: Renamed to ...
52161 * util/grub-emu.c: ... this.
52162
e56cdf21 521632004-03-29 Marco Gerards <metgerards@student.han.nl>
52164
52165 Add support for the newworld apple macintosh (PPC). This has been
52166 tested on the powerbook 2000 only. It only adds support for
52167 generic ieee1275 functions, console and disk support. This should
52168 be easy to port to other architectures with support for Open
52169 Firmware.
f19dbdb7 52170
e56cdf21 52171 * configure.ac: Accept the powerpc as host_cpu. In the case of
52172 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52173 specific tests are only executed while building for the i386.
52174 Inverse test for crosscompile.
52175 * genmk.rb (Utility): Allow assembler files.
52176 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52177 * conf/powerpc-ieee1275.rmk: New file.
52178 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52179 * disk/powerpc/ieee1275/partition.c: Likewise.
52180 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52181 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52182 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52183 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52184 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52185 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52186 * include/pupa/powerpc/ieee1275/loader.h
52187 * include/pupa/powerpc/setjmp.h: Likewise.
52188 * include/pupa/powerpc/types.h: Likewise.
52189 * kern/powerpc/ieee1275/init.c: Likewise.
52190 * kern/powerpc/ieee1275/openfw.c: Likewise.
52191 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52192
52193 These files were written by Johan Rydberg
52194 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52195
e56cdf21 52196 * boot/powerpc/ieee1275/cmain.c: New file.
52197 * boot/powerpc/ieee1275/crt0.S: Likewise.
52198 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52199 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52200
8c8cc205 522012004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52202
52203 * Makefile.in: Update copyright.
52204 * genmodsrc.sh: Likewise.
52205 * gensymlist.sh: Likewise.
52206 * term/i386/pc/vga.c: Indent correctly.
52207
52208 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52209 bugreporting address.
52210 * util/i386/pc/pupa-setup.c (usage): Likewise,
52211 (main): Call pupa_ext2_init and pupa_ext2_fini.
52212
f19dbdb7 52213 * fs/fat.c (log2): Renamed to ...
8c8cc205 52214 (fat_log2): ... this.
52215 All callers changed.
52216 * kern/misc.c (memcpy): Alias to pupa_memmove.
52217 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52218 lvalue cast.
52219 * util/console.c (pupa_ncurses_fini): Return 0.
52220
52221 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52222 Move fail label here.
52223 [__GNU__]: Don't warn when using stat.
52224 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52225 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52226 long int. Use strtol instead of strtoul.
f19dbdb7 52227
db1771cf 522282004-03-14 Marco Gerards <metgerards@student.han.nl>
52229
52230 * commands/boot.c: New file.
52231 * commands/cat.c: Likewise.
52232 * commands/cmp.c: Likewise.
52233 * commands/ls.c: Likewise.
52234 * commands/terminal.c: Likewise.
52235 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52236 (pupa_register_command): Changed interface to match the new
52237 argument parser.
52238 (pupa_command_execute): Changed (almost rewritten) so it uses
52239 pupa_split_command. Added support for setting variables using the
52240 syntax `foo=bar'.
52241 (rescue_command): Changed to work with the new argument parser.
52242 (terminal_command): Moved from here to commands/terminal.c.
52243 (set_command): New function.
52244 (unset_command): New function.
52245 (insmod_command): New function.
52246 (rmmod_command): New function.
52247 (lsmod_command): New function.
52248 (pupa_command_init): Don't initialize the command terminal
52249 anymore. Initialize the commands set, unset, insmod, rmmod and
52250 lsmod.
52251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52252 (kernel_img_HEADERS): Add arg.h and env.h.
52253 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52254 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52255 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52256 normal/arg.c.
52257 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52258 terminal.mod.
52259 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52260 (boot_mod_SOURCES): New variable.
52261 (terminal_mod_SOURCES): Likewise.
52262 (ls_mod_SOURCES): Likewise.
52263 (cmp_mod_SOURCES): Likewise.
52264 (cat_mod_SOURCES): Likewise.
52265
52266 * normal/arg.c: New file.
52267 * kern/env.c: Likewise.
52268 * include/pupa/arg.h: Likewise.
52269 * include/pupa/env.h: Likewise.
52270 * font/manager.c (font_command): Changed to match argument parsing
52271 interface changes.
52272 (PUPA_MOD_INIT): Likewise.
52273 * hello/hello.c (pupa_cmd_hello): Likewise.
52274 (PUPA_MOD_INIT): Likewise.
52275 * include/pupa/disk.h: Include <pupa/device.h>.
52276 (pupa_print_partinfo): New prototype.
52277 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52278 (pupa_dl_get_prefix): Likewise.
52279 * include/pupa/misc.h: Include <pupa/err.h>.
52280 (pupa_isgraph): New prototype.
52281 (pupa_isdigit): Likewise.
52282 (pupa_split_cmdline): Likewise.
52283 * include/pupa/normal.h: Include <pupa/arg.h>.
52284 (pupa_command): Changed the prototype of the member `func' to
52285 match the argument parsing interface. Added member `options'.
52286 (pupa_register_command): Updated to match function.
52287 (pupa_arg_parse): New prototype.
52288 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52289 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52290 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52291 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52292 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52293 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52294 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52295 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52296 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52297 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52298 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52299 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52300 * kern/disk.c: Include <pupa/file.h>.
52301 (pupa_print_partinfo): New function.
52302 * kern/dl.c: Include <pupa/env.h>.
52303 (pupa_dl_dir): Variable removed.
52304 (pupa_dl_load): Use the environment variable `prefix' instead of
52305 the variable pupa_dl_dir.
52306 (pupa_dl_set_prefix): Function removed.
52307 (pupa_dl_get_prefix): Likewise.
52308 * kern/i386/pc/init.c: Include <pupa/env.h>.
52309 (pupa_machine_init): Use the environment variable `prefix' instead of
52310 using pupa_dl_set_prefix to set the prefix.
52311 * kern/main.c: Include <pupa/env.h>.
52312 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52313 using pupa_dl_get_prefix to get the prefix.
52314 * kern/misc.c: Include <pupa/env.h>.
52315 (pupa_isdigit): New function.
52316 (pupa_isgraph): Likewise.
52317 (pupa_ftoa): Likewise.
52318 (pupa_vsprintf): Added support for printing values of the type
52319 `double'. Make it possible to format variable output when using
52320 formatting like `%1.2%f'.
52321 (pupa_split_cmdline): New function.
52322 * kern/rescue.c: Include <pupa/env.h>.
52323 (next_word): Removed function.
52324 (pupa_rescue_cmd_prefix): Likewise.
52325 (pupa_rescue_cmd_set): New function.
52326 (pupa_rescue_cmd_unset): New function.
52327 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52328 split the command line instead of splitting it here. Added
52329 support for setting variables using the syntax `foo=bar'. Don't
52330 initialize the prefix command anymore. Initialized the set and
52331 unset commands.
52332 * normal/cmdline.c: Include <pupa/env.h>.
52333 (pupa_tab_complete): Added prototypes for print_simple_completion,
52334 print_partition_completion, add_completion, iterate_commands,
52335 iterate_dev, iterate_part and iterate_dir. Moved code to print
52336 partition information from here to kern/disk.c.
fe6b695a 52337 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52338 * normal/main.c: Include <pupa/env.h>.
52339 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52340 instead of using pupa_dl_get_prefix to get the prefix.
52341 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52342 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52343 warning.
52344 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52345 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52346 ((unused))' to silence a gcc warning.
52347 (pupa_vga_setcolor): Likewise.
52348 (debug_command): Changed to match argument parsing
52349 interface changes.
52350 * util/pupa-emu.c: Include <pupa/env.h>.
52351 (options): Added 0's for unused fields to silence a gcc warning.
52352 (argp): Likewise.
52353 (main): Use the environment variable `prefix' instead of using
52354 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52355 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52356 and terminal.
52357
52358 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52359 * util/misc.c: Include <malloc.h>.
52360 (pupa_malloc): Rewritten so errors are correctly reported.
52361 (pupa_realloc): Likewise.
52362 (pupa_memalign): Likewise.
52363 (pupa_mm_init_region): Declare unused variables with
52364 `__attribute__ ((unused))' to silence a gcc warning.
52365 * normal/i386/setjmp.S: Remove tab at the end of the file to
52366 silence a gcc warning.
52367 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52368 variables with `__attribute__ ((unused))' to silence a gcc
52369 warning.
52370 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52371 local variable i unsigned to silence a gcc warning.
52372
52373 * kern/term.c: Include <pupa/misc.h>.
52374 (pupa_more_lines): New variable.
52375 (pupa_more): Likewise.
52376 (pupa_putcode): When the pager is active pause at the end of every
52377 screen.
52378 (pupa_set_more): New function.
52379 * include/pupa/term.h (pupa_set_more): New prototype.
52380
52381
3b1139cb 523822004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52383
52384 Now this project is GRUB 2 rather than PUPA. The location of
52385 the CVS repository was moved to GRUB's.
f19dbdb7 52386
3b1139cb 52387 * configure.ac: Use bug-grub as the reporting address.
52388 Use GRUB instead of PUPA.
52389 Change the version number to 1.90.
52390
8367695c 523912004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52392
52393 * genkernsyms.sh: Updated copyright information.
52394 * genmk.rb: Likewise.
52395 * genmodsrc.sh: Likewise.
52396 * gensymlist.sh: Likewise.
52397 * boot/i386/pc/boot.S: Likewise.
52398 * boot/i386/pc/diskboot.S: Likewise.
52399 * disk/i386/pc/biosdisk.c: Likewise.
52400 * disk/i386/pc/partition.c: Likewise.
52401 * font/manager.c: Likewise.
52402 * fs/ext2.c: Likewise.
52403 * fs/fat.c: Likewise.
52404 * include/pupa/boot.h: Likewise.
52405 * include/pupa/device.h: Likewise.
52406 * include/pupa/disk.h: Likewise.
52407 * include/pupa/dl.h: Likewise.
52408 * include/pupa/elf.h: Likewise.
52409 * include/pupa/err.h: Likewise.
52410 * include/pupa/file.h: Likewise.
52411 * include/pupa/font.h: Likewise.
52412 * include/pupa/fs.h: Likewise.
52413 * include/pupa/kernel.h: Likewise.
52414 * include/pupa/loader.h: Likewise.
52415 * include/pupa/misc.h: Likewise.
52416 * include/pupa/mm.h: Likewise.
52417 * include/pupa/net.h: Likewise.
52418 * include/pupa/normal.h: Likewise.
52419 * include/pupa/rescue.h: Likewise.
52420 * include/pupa/setjmp.h: Likewise.
52421 * include/pupa/symbol.h: Likewise.
52422 * include/pupa/term.h: Likewise.
52423 * include/pupa/types.h: Likewise.
52424 * include/pupa/i386/setjmp.h: Likewise.
52425 * include/pupa/i386/types.h: Likewise.
52426 * include/pupa/i386/pc/biosdisk.h: Likewise.
52427 * include/pupa/i386/pc/boot.h: Likewise.
52428 * include/pupa/i386/pc/console.h: Likewise.
52429 * include/pupa/i386/pc/init.h: Likewise.
52430 * include/pupa/i386/pc/kernel.h: Likewise.
52431 * include/pupa/i386/pc/linux.h: Likewise.
52432 * include/pupa/i386/pc/loader.h: Likewise.
52433 * include/pupa/i386/pc/memory.h: Likewise.
52434 * include/pupa/i386/pc/multiboot.h: Likewise.
52435 * include/pupa/i386/pc/partition.h: Likewise.
52436 * include/pupa/i386/pc/time.h: Likewise.
52437 * include/pupa/i386/pc/vga.h: Likewise.
52438 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52439 * include/pupa/util/getroot.h: Likewise.
52440 * include/pupa/util/misc.h: Likewise.
52441 * include/pupa/util/resolve.h: Likewise.
52442 * kern/device.c: Likewise.
52443 * kern/disk.c: Likewise.
52444 * kern/dl.c: Likewise.
52445 * kern/err.c: Likewise.
52446 * kern/file.c: Likewise.
52447 * kern/fs.c: Likewise.
52448 * kern/loader.c: Likewise.
52449 * kern/main.c: Likewise.
52450 * kern/misc.c: Likewise.
52451 * kern/mm.c: Likewise.
52452 * kern/rescue.c: Likewise.
52453 * kern/term.c: Likewise.
52454 * kern/i386/dl.c: Likewise.
52455 * kern/i386/pc/init.c: Likewise.
52456 * kern/i386/pc/lzo1x.S: Likewise.
52457 * kern/i386/pc/startup.S: Likewise.
52458 * loader/i386/pc/chainloader.c: Likewise.
52459 * loader/i386/pc/linux.c: Likewise.
52460 * loader/i386/pc/multiboot.c: Likewise.
52461 * normal/cmdline.c: Likewise.
52462 * normal/command.c: Likewise.
52463 * normal/main.c: Likewise.
52464 * normal/menu.c: Likewise.
52465 * normal/i386/setjmp.S: Likewise.
52466 * term/i386/pc/console.c: Likewise.
52467 * term/i386/pc/vga.c: Likewise.
52468 * util/console.c: Likewise.
52469 * util/genmoddep.c: Likewise.
52470 * util/misc.c: Likewise.
52471 * util/pupa-emu.c: Likewise.
52472 * util/resolve.c: Likewise.
52473 * util/unifont2pff.rb: Likewise.
52474 * util/i386/pc/biosdisk.c: Likewise.
52475 * util/i386/pc/getroot.c: Likewise.
52476 * util/i386/pc/pupa-mkimage.c: Likewise.
52477 * util/i386/pc/pupa-setup.c: Likewise.
52478
e6eced71 524792004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52480
52481 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52482 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52483 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52484 reading and reset it after reading.
52485 (pupa_ext2_close): Return PUPA_ERR_NONE.
52486
52487 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52488 Correct value.
52489 (struct linux_kernel_header): Add kernel_version and
52490 initrd_addr_max.
52491 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52492 pupa_file_read succeeds.
52493 (pupa_rescue_cmd_initrd): Implement.
52494
5aded270 524952003-12-03 Marco Gerards <metgerards@student.han.nl>
52496
52497 * fs/ext2.c (pupa_ext2_label): New function.
52498 (pupa_ext2_fs): Added label.
52499 * fs/fat.c (pupa_fat_label): New function.
52500 (pupa_fat_fs): Added label.
52501 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52502
52503 * kern/misc.c (pupa_strndup): New function.
52504 * include/pupa/misc.h (pupa_strndup): New prototype.
52505
52506 * include/pupa/normal.h: Include <pupa/err.h>.
52507 (pupa_set_history): New prototype.
52508 (pupa_iterate_commands): New prototype.
52509 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52510 <pupa/disk.h>, <pupa/file.h>.
52511 (hist_size): New variable.
52512 (hist_lines): Likewise.
52513 (hist_end): Likewise.
52514 (hist_used): Likewise.
52515 (pupa_set_history): New function.
52516 (pupa_history_get): Likewise.
52517 (pupa_history_add): Likewise.
52518 (pupa_history_replace): Likewise.
52519 (pupa_tab_complete): Likewise.
52520 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52521 completion shows partitionnames while completing partitions, this
52522 feature was suggested by Jeff Bailey.
52523 * normal/command.c (pupa_iterate_commands): New function.
52524 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52525 (pupa_normal_init): Initialize history buffer.
52526 (PUPA_MOD_INIT): Likewise.
52527 (pupa_normal_fini): Free the history buffer.
52528 (PUPA_MOD_FINI): Likewise.
52529
52530 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52531 key.
52532
52533 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52534 * configure.ac [i386]: Check for regparam bug.
52535 (NESTED_FUNC_ATTR) [! i386]: Defined.
52536
1f7315a3 525372003-11-17 Marco Gerards <metgerards@student.han.nl>
52538
52539 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52540 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52541 (pupa_emu_SOURCES): New variable.
52542 (pupa_emu_LDFLAGS): Likewise.
52543 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52544 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52545 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52546 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52547 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52548 (pupa_jmp_buf): New typedef.
52549 (pupa_setjmp) [PUPA_UTIL]: New macro.
52550 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52551 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52552 (pupa_refresh): New prototype.
52553 * include/pupa/util/getroot.h: New file.
52554 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52555 it.
52556 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52557 (pupa_rescue_cmd_cat): Likewise.
52558 (pupa_rescue_cmd_ls): Likewise.
52559 (pupa_rescue_cmd_testload): Likewise.
52560 (pupa_rescue_cmd_lsmod): Likewise.
52561 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52562 * normal/menu.c (run_menu): Likewise.
52563 * kern/term.c (pupa_cls): Likewise.
52564 (pupa_refresh): New function.
52565 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52566 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52567 * util/console.c: New file.
f19dbdb7 52568
1f7315a3 52569 * util/i386/pc/getroot.c: New file.
52570 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52571 (pupa_putchar): New function.
52572 (pupa_refresh): Likewise.
52573 (xgetcwd): Function moved to ...
52574 (strip_extra_slashes): Likewise.
52575 (get_prefix): Likewise.
f19dbdb7 52576 * util/i386/pc/getroot.c: ... here.
1f7315a3 52577 (find_root_device): Function moved and renamed to...
52578 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52579 Changed all callers.
52580 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52581 and renamed to...
52582 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52583 Changed all callers.
52584 * util/misc.c (pupa_memalign): New function.
52585 (pupa_mm_init_region): Likewise.
52586 (pupa_register_exported_symbols): Likewise.
52587 (pupa_putchar): Function removed.
52588 * util/pupa-emu.c: New file.
52589
9a5c1ade 525902003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52591
52592 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52593 (_multiboot_mod_SOURCES): New variable.
52594 (_multiboot_mod_CFLAGS): Likewise.
52595 * loader/i386/pc/multiboot.c: New file.
52596 * include/pupa/i386/pc/multiboot.h: Likewise.
52597 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52598 (pupa_multiboot_real_boot): New function.
52599 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52600 (pupa_multiboot_real_boot): New prototype.
52601 (pupa_rescue_cmd_multiboot): Likewise
52602 (pupa_rescue_cmd_module): Likewise.
52603
52604 * kern/loader.c (pupa_loader_set): Continue when
52605 pupa_loader_unload_func() fails.
52606 (pupa_loader_unset): New function.
52607 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52608
52609 * kern/misc.c (pupa_stpcpy): New function.
52610 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52611
8e72a9c0 526122003-11-12 Marco Gerards <metgerards@student.han.nl>
52613
52614 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52615 for available extensions.
52616
52617 * include/pupa/i386/pc/time.h: New file.
52618 * kern/disk.c: Include <pupa/machine/time.h>.
52619 (PUPA_CACHE_TIMEOUT): New macro.
52620 (pupa_last_time): New variable.
52621 (pupa_disk_open): Flush the cache when there was a timeout.
52622 (pupa_disk_close): Reset the timer.
52623 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52624 pupa_currticks.
52625 * util/misc.c: Include <sys/times.h>
52626 (pupa_get_rtc): New function.
52627
c4adbd32 526282003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52629
52630 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52631 as blocks.
52632 (pupa_ext2_get_file_block): Use blocks member.
52633
52634 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52635 first block. Return -1 instead of pupa_errno on error.
52636
bfd30f06 526372003-10-27 Marco Gerards <metgerards@student.han.nl>
52638
52639 * README: In the pupa-mkimage example use _chain instead of chain
52640 and ext2 instead of fat.
52641 * TODO: Replace ext2fs with jfs as an example. Add an item for
52642 adding journal playback for ext2fs.
52643 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52644 (pkgdata_MODULES): Added ext2.mod.
52645 (ext2_mod_SOURCES): New variable.
52646 (ext2_mod_CFLAGS): Likewise.
52647 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52648 * include/pupa/misc.h (pupa_strncpy): New prototype.
52649 (pupa_strcat): Likewise.
52650 (pupa_strncmp): Likewise.
52651 * kern/misc.c (pupa_strcat): Enable function.
52652 (pupa_strncpy): New function.
52653 (pupa_strncmp): Likewise.
52654 * fs/ext2.c: New file.
f19dbdb7 52655
bfd30f06 52656 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52657 when the read failed before retrying.
52658 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52659 (_FILE_OFFSET_BITS): Likewise.
52660 * configure.ac: Added AC_SYS_LARGEFILE.
52661
98d15063 526622003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52663
52664 * genmk.rb (PModule#rule): Make sure to get only symbol names
52665 from the output of nm.
59cad637 52666 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52667
18d9c7cd 526682003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52669
52670 I forgot to check in these changes for a long time. This adds
52671 incomplete support for VGA console, and this is still very
52672 buggy. Also, a lot of consideration is required for I18N,
52673 UNICODE, and VGA font issues. Therefore, assume that this is
52674 such that "better than nothing".
f19dbdb7 52675
18d9c7cd 52676 * font/manager.c: New file.
52677 * include/pupa/font.h: Likewise.
52678 * include/pupa/i386/pc/vga.h: Likewise.
52679 * term/i386/pc/vga.c: Likewise.
52680 * util/unifont2pff.rb: Likewise.
52681
52682 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52683 (pkgdata_MODULES): Added vga.mod and font.mod.
52684 (vga_mod_SOURCES): New variables.
52685 (vga_mod_CFLAGS): Likewise.
52686 (font_mod_SOURCES): Likewise.
52687 (font_mod_CFLAGS): Likewise.
52688
52689 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52690
52691 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52692 (struct pupa_term): Added init and fini.
18d9c7cd 52693 Changed the argument of putchar to pupa_uint32_t.
52694
52695 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52696 (pupa_console_real_putchar): New prototype.
52697 (pupa_console_putchar): Removed.
52698 (pupa_console_checkkey): Exported.
52699 (pupa_console_getkey): Likewise.
52700
52701 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52702 characters.
52703
52704 * kern/term.c (pupa_term_set_current): Rewritten.
52705 (pupa_putchar): Likewise.
52706 (pupa_putcode): New function.
52707
52708 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52709 (pupa_console_real_putchar): ... this.
52710 (pupa_vga_set_mode): New function.
52711 (pupa_vga_get_font): Likewise.
52712
52713 * normal/command.c: Include pupa/term.h.
52714 (terminal_command): New function.
52715 (pupa_command_init): Register the command "terminal".
52716
52717 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52718 (DISP_UP): Likewise.
52719 (DISP_RIGHT): Likewise.
52720 (DISP_DOWN): Likewise.
52721 (DISP_HLINE): Likewise.
52722 (DISP_VLINE): Likewise.
52723 (DISP_UL): Likewise.
52724 (DISP_UR): Likewise.
52725 (DISP_LL): Likewise.
52726 (DISP_LR): Likewise.
52727
52728 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52729
977329f5 527302003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52731
52732 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52733 FIX. Reverse the path_list.
52734
52735 * include/pupa/normal.h: Export pupa_register_command and
52736 pupa_unregister_command.
52737
52738 * hello/hello.c (pupa_cmd_hello): New module.
52739 * conf/i386-pc.rmk: Added hello.mod.
52740
1f5ab428 527412003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52742
52743 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52744
1f5ab428 52745 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52746 (compress_kernel): New variable.
52747 (generate_image): Heavily modified to support compressing a
52748 large part of the core image.
52749
52750 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52751 leak.
52752 (pupa_util_load_image): New function.
52753
52754 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52755 (pupa_compressed_size): New variable.
52756 (codestart): Enable Gate A20 here.
52757 Decompress the compressed part of the core image.
52758 Rearrange the code to put functions and variables which are
52759 required for initialization in the non-compressed part.
52760 Include lzo1x.S.
52761
52762 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52763 here.
52764
52765 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52766
f19dbdb7 52767 * include/pupa/i386/pc/kernel.h
1f5ab428 52768 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52769 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52770 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52771 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52772 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52773
52774 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52775
52776 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52777 (Utility#rule): Likewise.
52778
52779 * configure.ac: Check if LZO is available.
52780
ce5bf700 527812003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52782
52783 * include/pupa/normal.h: New file.
52784 * include/pupa/setjmp.h: Likewise.
52785 * include/pupa/i386/setjmp.h: Likewise.
52786 * normal/cmdline.c: Likewise.
52787 * normal/command.c: Likewise.
52788 * normal/main.c: Likewise.
52789 * normal/menu.c: Likewise.
52790 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52791
ce5bf700 52792 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52793 (pupa_rescue_cmd_initrd): Likewise.
52794
52795 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52796 Likewise.
52797
52798 * kern/i386/pc/startup.S (translation_table): New variable.
52799 (translate_keycode): New function.
52800 (pupa_console_getkey): Call translate_keycode.
52801
52802 * kern/rescue.c (attempt_normal_mode): New function.
52803 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52804 it failed, print a message.
52805
52806 * kern/mm.c (pupa_real_malloc): Print more information when a
52807 free magic is broken.
52808 (pupa_free): If the first free header is not free actually, set
52809 it to P.
52810
52811 * kern/main.c (pupa_load_normal_mode): Just load the module
52812 "normal".
52813 (pupa_main): Don't print the message
52814 "Entering into rescue mode..." here.
52815
52816 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52817 Declared.
52818 (pupa_rescue_cmd_initrd): Likewise.
52819 (pupa_rescue_cmd_initrd): Likewise.
52820
52821 * include/pupa/symbol.h (FUNCTION): Specify the type.
52822 (VARIABLE): Likewise.
52823
52824 * include/pupa/err.h (pupa_err_t): Added
52825 PUPA_ERR_UNKNOWN_COMMAND.
52826
52827 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52828 (pupa_dl_get_prefix): Likewise.
52829
52830 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52831 Added _chain.mod and _linux.mod instead of chain.mod and
52832 linux.mod.
52833 (chain_mod_SOURCES): Renamed to ...
52834 (_chain_mod_SOURCES): ... this.
52835 (chain_mod_CFLAGS): Renamed to ...
52836 (_chain_mod_CFLAGS): ... this.
52837 (linux_mod_SOURCES): Renamed to ...
52838 (_linux_mod_SOURCES): ... this.
52839 (linux_mod_CFLAGS): Renamed to ...
52840 (_linux_mod_CFLAGS): ... this.
52841 (normal_mod_SOURCES): New variable.
52842 (normal_mod_CFLAGS): Likewise.
52843 (normal_mod_ASFLAGS): Likewise.
52844
528452003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52846
52847 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52848 possible.
52849
fe6b695a 52850 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52851 recursively.
52852 (pupa_dl_unref): Unrefer depending modules recursively.
52853 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52854 a module is unloaded before one depending on that module is
52855 unloaded.
52856 (pupa_dl_unload): Unload depending modules explicitly,
52857 if possible.
52858
c04da074 528592003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52860
52861 * include/pupa/i386/pc/linux.h: New file.
52862 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52863
c04da074 52864 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52865 Removed.
52866 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52867 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52868 of PUPA_CHAINLOADER_BOOT_SECTOR.
52869
52870 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52871 (pupa_linux_prot_size): New variable.
52872 (pupa_linux_tmp_addr): Likewise.
52873 (pupa_linux_real_addr): Likewise.
52874 (pupa_linux_boot_zimage): New function.
52875 (pupa_linux_boot_bzimage): Likewise.
52876
52877 * kern/i386/pc/init.c (struct mem_region): New structure.
52878 (MAX_REGIONS): New macro.
52879 (mem_regions): New variable.
52880 (num_regions): Likewise.
52881 (pupa_os_area_addr): Likewise.
52882 (pupa_os_area_size): Likewise.
52883 (pupa_lower_mem): Likewise.
52884 (pupa_upper_mem): Likewise.
52885 (add_mem_region): New function.
52886 (compact_mem_regions): Likewise.
52887 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52888 the size of the conventional memory and that of so-called upper
52889 memory (before the first memory hole).
52890 Instead of adding each found region to free memory, use
52891 add_mem_region and add them after removing overlaps.
52892 Also, add only 1/4 of the upper memory to free memory. The rest
52893 is used for loading OS images. Maybe this is ad hoc, but this
52894 makes it much easier to relocate OS images when booting.
52895
52896 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52897 (pupa_enter_rescue_mode): Don't register initrd and module.
52898
52899 * kern/mm.c: Include pupa/dl.h.
52900
52901 * kern/main.c: Include pupa/file.h and pupa/device.h.
52902
52903 * kern/loader.c (pupa_loader_load_module_func): Removed.
52904 (pupa_loader_load_module): Likewise.
52905
52906 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52907 ``.o''.
52908
52909 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52910 (pupa_linux_tmp_addr): Likewise.
52911 (pupa_linux_real_addr): Likewise.
52912 (pupa_linux_boot_zimage): Likewise.
52913 (pupa_linux_boot_bzimage): Likewise.
52914
52915 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52916 (pupa_upper_mem): Likewise.
52917 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52918 module is too dangerous.
52919
52920 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52921 (pupa_os_area_size): Likewise.
52922 (pupa_loader_set): Remove the first argument. Loader doesn't
52923 manage modules or initrd any longer.
52924 (pupa_loader_load_module): Removed.
52925
52926 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52927 (linux_mod_SOURCES): New variable.
52928 (linux_mod_CFLAGS): Likewise.
52929
a13f9237 529302003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52931
52932 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52933 the length of a blocklist correctly.
52934
52935 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52936 Use ioctl only if the OS file is a block device.
52937 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52938 not very useful for normal files.
52939
52940 * kern/main.c (pupa_set_root_dev): New function.
52941 (pupa_load_normal_mode): Likewise.
52942 (pupa_main): Call those above.
52943
52944 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52945 pupa_uint16_t.
52946
52947 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52948
a5ffe966 529492003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52950
52951 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52952 (setup): Configure the installed partition information and the
52953 dl prefix.
52954
52955 * loader/i386/pc/chainloader.c (my_mod): New variable.
52956 (pupa_chainloader_unload): New function.
52957 (pupa_rescue_cmd_chainloader): Refer itself.
52958 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52959
52960 * kern/i386/pc/startup.S (install_partition): Removed.
52961 (version_string): Likewise.
52962 (config_file): Likewise.
52963 (pupa_install_dos_part): New variable.
52964 (pupa_install_bsd_part): Likewise.
52965 (pupa_prefix): Likewise.
52966 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52967
52968 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52969 and pupa/misc.h.
52970 (make_install_device): New function.
52971 (pupa_machine_init): Set the dl prefix.
52972
52973 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52974 (buf): Renamed to ...
52975 (linebuf): ... this.
52976 (pupa_rescue_cmd_prefix): New function.
52977 (pupa_rescue_cmd_insmod): Likewise.
52978 (pupa_rescue_cmd_rmmod): Likewise.
52979 (pupa_rescue_cmd_lsmod): Likewise.
52980 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52981 rmmod and lsmod.
52982
52983 * kern/mm.c (pupa_memalign): If failed even after invalidating
52984 disk caches, unload unneeded modules and retry.
52985
52986 * kern/misc.c (pupa_memmove): New function.
52987 (pupa_memcpy): Removed.
52988 (pupa_strcpy): New function.
52989 (pupa_itoa): Made static.
52990
52991 * kern/dl.c (pupa_dl_iterate): New function.
52992 (pupa_dl_ref): Likewise.
52993 (pupa_dl_unref): Likewise.
52994 (pupa_dl_unload): Return if succeeded or not.
52995 (pupa_dl_unload_unneeded): New function.
52996 (pupa_dl_unload_all): Likewise.
52997 (pupa_dl_init): Renamed to ...
52998 (pupa_dl_set_prefix): ... this.
52999 (pupa_dl_get_prefix): New function.
53000
53001 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53002 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53003 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53004 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53005 (pupa_install_dos_part): Declared.
53006 (pupa_install_bsd_part): Likewise.
53007 (pupa_prefix): Likewise.
53008 (pupa_boot_drive): Likewise.
53009
53010 * include/pupa/types.h: Fix a typo.
53011
53012 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53013 pupa_memmove.
53014 (pupa_memmove): Declared.
53015 (pupa_strcpy): Likewise.
53016
53017 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53018 pupa_mod_init takes one argument, its own module.
53019 (pupa_dl_unload_unneeded): Declared.
53020 (pupa_dl_unload_all): Likewise.
53021 (pupa_dl_ref): Likewise.
53022 (pupa_dl_unref): Likewise.
53023 (pupa_dl_iterate): Likewise.
53024 (pupa_dl_init): Renamed to ...
53025 (pupa_dl_set_prefix): ... this.
53026 (pupa_dl_get_prefix): Declared.
53027
53028 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53029 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53030 unloaded.
53031 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53032 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53033
53034 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53035 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53036
012d7999 530372003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53038
53039 * util/i386/pc/pupa-setup.c (setup): Define the internal
53040 function find_first_partition_start at the top level, because GCC
53041 3.0.x cannot compile internal functions in deeper scopes
53042 correctly.
53043 (find_root_device): Use lstat instead of stat.
53044 Don't follow symbolic links.
53045 Fix the path-constructing code.
53046
53047 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53048 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53049 by a BLKGETSIZE ioctl first, because block devices don't fill
53050 the member st_mode of the structure stat on Linux.
53051 [__linux__] (linux_find_partition): Use a temporary buffer
53052 REAL_DEV for the working space. Copy it to DEV before returning.
53053 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53054 buffer cache consistent.
53055 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53056 strncmp. The previous value was merely wrong.
53057 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53058
53059 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53060 FAT size is 12. The previous value was merely wrong.
53061
53062 * kern/main.c (pupa_main): Don't split the starting message from
53063 newlines.
53064
53065 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53066 LF, because BIOS goes crazy about character attributes in this
53067 case.
53068
1cc73a62 530692003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53070
53071 * include/i386/pc/util/biosdisk.h: New file.
53072 * util/i386/pc/biosdisk.c: Likewise.
53073 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53074
1cc73a62 53075 * Makefile.in (INCLUDE_DISTFILES): Added
53076 include/pupa/i386/pc/util/biosdisk.h.
53077 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53078 directory util/i386/pc.
53079 (install-local): Added a rule for sbin_UTILITIES.
53080 (uninstall): Likewise.
53081
53082 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53083
53084 * util/misc.c (xrealloc): New function.
53085 (pupa_malloc): Likewise.
53086 (pupa_free): Likewise.
53087 (pupa_realloc): Likewise.
53088 (pupa_stop): Likewise.
53089 (pupa_putchar): Likewise.
53090
53091 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53092
53093 * include/pupa/util/misc.h (xrealloc): Declared.
53094
53095 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53096 macro.
53097 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53098 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53099
53100 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53101 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53102
53103 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53104 way should be implemented.
53105 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53106
53107 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53108 the size of NAME for safety.
53109 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53110 0x88.
53111
53112 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53113 (pupa_setup_SOURCES): Likewise.
53114
53115 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53116
08b70fe8 531172002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53118
53119 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53120 bunch of pushl's from pusha, because this destroys the return
53121 value.
53122
62ddcc8f 531232002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53124
53125 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53126 This means that any missing prototypes could be fatal. Also, you
53127 must take care when writing assembly code. See the comments at
53128 the beginning of startup.S, for more details.
f19dbdb7 53129
62ddcc8f 53130 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53131 compilation mechanism.
53132 (pupa_chainloader_real_boot): Likewise.
53133 (pupa_biosdisk_rw_int13_extensions): Likewise.
53134 (pupa_biosdisk_rw_standard): Likewise.
53135 (pupa_biosdisk_check_int13_extensions): Likewise.
53136 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53137 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53138 (pupa_get_memsize): Likewise.
53139 (pupa_get_mmap_entry): Likewise.
53140 (pupa_console_putchar): Likewise.
53141 (pupa_console_setcursor): Likewise.
53142 (pupa_getrtsecs): Use pushl instead of push.
53143
53144 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53145 memory instead of the stack for a mmap entry, because some
53146 BIOSes may ignore the maximum size and overflow.
53147
53148 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53149
53150 * genmk.rb (PModule#rule): Compile automatically generated
53151 sources with module-specific CFLAGS as well as other sources.
53152
9962ed99 531532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53154
53155 * configure.ac: Check ld.
53156 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53157 respectively, before checking endianness and sizes.
53158
53159 * Makefile.in (LD): New variable.
f19dbdb7 53160
abdfc3c5 531612002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53162
53163 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53164
6a161fa9 531652002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53166
53167 * Changelog: New file.
53168