]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Fix grub-shell to avoid breaking "make distcheck"
[grub2.git] / ChangeLog
CommitLineData
3a82f8bb
CW
12013-12-04 Colin Watson <cjwatson@ubuntu.com>
2
3 Copying the themes directory in grub-shell isn't
4 parallel-test-friendly and breaks on the second test when the source
5 directory is read-only (as in "make distcheck"). Instead, add a
6 hidden --themes-directory option to grub-mkrescue et al, and use it
7 in grub-shell.
8
e3046431
VS
92013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
12 as it's no longer necessarry.
13
bdb6090d
VS
142013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * configure.ac: Allow compilation with older GCC for ARM.
17
b73b70eb
VS
182013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
21 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
22 ppc.
23
8a3f0a24
VS
242013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
27
6f07c4e4
VS
282013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Pass font config to config.h and not by TARGET_CFLAGS as adding
31 arguments doesn't work if TARGET_CFLAGS is specified on command
32 line.
33
60d5e9cb
VS
342013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * configure.ac: Add -Wvla if compiler supports it.
37
cd15c394
VS
382013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
41 Remove variable length arrays.
42 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
43
bb6e299c
VS
442013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
47
85eb579a
VS
482013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * include/grub/types.h: Declare all byteswaps as inline functions
51 except compile-time ones.
52
53 Solves variable shadowing in constructions like
54 cpu_to_le (le_to_cpu(x) + 1).
55
47f88cc9
VS
562013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/efi/efi.c: Remove variable length arrays.
59
40b5739f
VS
602013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
63 minutes.
64
234d9346
VS
652013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
68 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
69
0c0eab52
CW
702013-12-03 Colin Watson <cjwatson@ubuntu.com>
71
72 * grub-core/Makefile.core.def (setjmp): Distribute
73 lib/arm64/setjmp.S.
74
44d48847 752013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
76
77 Add a new timeout_style environment variable and a corresponding
78 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
79 controls hidden-timeout handling more simply than the previous
80 arrangements, and pressing any hotkeys associated with menu entries
81 during the hidden timeout will now boot the corresponding menu entry
82 immediately.
83
84 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
85 generates a warning, and if it shows the menu it will do so as if
86 the second timeout were not present. Other combinations are
87 translated into reasonable equivalents.
88
10955cda
CW
89 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
90
9e4e6ddf
VS
912013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * util/config.c: Add missing pointer adjustment.
94 Reported by: qwertial
95
5037aa9a
AB
962013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
97
98 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
99 directly, not via `cpu' link, to fix libgrub.pp generation.
100
8a952d20
VS
1012013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
102
103 New port arm64-efi.
104
be0d4555
AB
1052013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
106
107 * docs/grub.texi (sleep): Document exit codes.
108
d74b9a1d
VS
1092013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Ensure that -mno-unaligned-access or some equivalent option is used.
112
35de6d4b
VS
1132013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
116 -march=armv3.
117
ce55ed03
VS
1182013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
121
8ddf84bf
CW
1222013-11-29 Colin Watson <cjwatson@ubuntu.com>
123
124 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
125 builds, since we don't have an EPS version of font_char_metrics.png.
126 Add leading dot to image extension per the Texinfo documentation.
127
fd0df6d0
CW
1282013-11-29 Colin Watson <cjwatson@ubuntu.com>
129
130 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
131 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
132 * util/grub-gen-widthspec.c: Likewise.
133 * util/grub-mkfont.c: Likewise.
134
69ca97c8
AB
1352013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
136
137 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
138 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
139 failed to install on (hdX).
140 * util/grub-setup.c (get_device_name): Remove, not needed after
141 above change.
142
eec893ae
VS
1432013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
146
621e167f
VS
1472013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * util/grub-fstest.c: Remove variable length arrays.
150
d54f647a
VS
1512013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/osdep/linux/ofpath.c: Check return value of read.
154
c8a0f1b2
VS
1552013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
158 computing crc32 rather than handling with md fundtions directly.
159
726409a5
VS
1602013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
163 checking fwstart.img rather than md fundtions directly.
164
422e6e88
VS
1652013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/grub-mkrescue.c (main): Check that fread succeeded.
168
af1faca3
VS
1692013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * conf/Makefile.common: Remove -mexplicit-relocs and
172 -DUSE_ASCII_FALLBACK on yeeloong.
173
174 -DUSE_ASCII_FALLBACK is already added by font snippets.
175 -mexplicit-relocs isn't needed is compiler/assemblera are
176 configured properly.
177 If they're not we shouldn't attempt to fix it by ourselves.
178 Binary compare between before and after shows no difference.
179
469021b4
VS
1802013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
183 sources in dependencies directly.
184
185 This was the only instance of "library" in core config. A bug was
186 reported that -fno-stack-protector wasn't passed to it. Instead of
187 figuring out why it failed just remove this construction used
188 needlessly.
189
83c256ba
VS
1902013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/osdep/unix/password.c (grub_password_get): Check that
193 fgets succeeded.
194
b67422d3
FL
1952013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
196
197 * docs/grub.texi (ls): Fix command description in case of a device name
198 passed as argument.
199
2d76b4d8
VS
2002013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Eliminate variable length arrays in grub_vsnprintf_real.
203
204 A bit tricky because this function has to continue to work without
205 heap for short strings. Fixing prealloc to 32 arguments is reasonable
206 but make all stack references use 32-bit offset rather than 8-bit one.
207 So split va_args preparsing to separate function and put the prealloc
208 into the caller.
209
4f954122
VS
2102013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
211
212 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
213 Fixes build for windows.
214
b1f742c1
VS
2152013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * gentpl.py: Don't generate platform-dependent conditionals for
218 platform-independent targets.
219
16ef26fd
CW
2202013-11-27 Colin Watson <cjwatson@ubuntu.com>
221
222 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
223 references to mdadm from otherwise generic code.
224 (grub_util_exec_pipe): Likewise.
225 (grub_util_exec_pipe_stderr): Likewise.
226 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
227 This function calls vgs, not mdadm; adjust variable names
228 accordingly.
229
cf8c80ff 2302013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
231
232 Generate Makefile.*.am directly from gentpl.py, eliminating the use
233 of Autogen. The Autogen definitions files remain intact as they
234 offer a useful abstraction.
235
5c7206e4
CW
2362013-11-27 Colin Watson <cjwatson@ubuntu.com>
237
238 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
239 into no-ops, and use it in programs that copy files but do not need
240 to take special care to sync writes (grub-mknetdir, grub-rescue,
241 grub-mkstandalone).
242
fc3f2b72
CW
2432013-11-26 Colin Watson <cjwatson@ubuntu.com>
244
245 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
246 than hardcoding /usr/local/bin/xorriso.
247
1e4b3587
VS
2482013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Add PCI command activation to all PCI drivers as required for coreboot
251 and maybe some other firmwares.
252
9208367d
VS
2532013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
256 and non-Apple variants of efiemu compile.
257
67b9b7af
AB
2582013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
259
260 * configure.ac: Add explicit check for linking format of
261 efiemu64; save it as EFIEMU64_LINK_FORMAT.
262 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
263 hardcoding linking format.
264
bee1b5ce
VS
2652013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
268 and not pkgdatadir.
269
07e3b047
CW
2702013-11-25 Colin Watson <cjwatson@ubuntu.com>
2712013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Add a --locale-directory option to grub-install and related tools.
274
275 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
276 --locale-directory option.
277 (enum grub_install_options): Add
278 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
279 * util/grub-install-common.c (grub_install_help_filter): Handle
280 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
281 (grub_install_parse): Likewise.
282 (get_localedir): New function to check for a user-provided option
283 before trying grub_util_get_localedir.
284 (copy_locales): Use get_localedir rather than
285 grub_util_get_localedir. Handle differing locale directory layouts.
286 (grub_install_copy_files): Likewise.
287
61e1b9a4
VS
2882013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
291 Don't rely on PATH_MAX.
292
c98dd165
VS
2932013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/genmoddep.awk: Use more portable && rather than and.
296
ff1c277e
VS
2972013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
300 an object after data. While it doesn't seem right solution, it
301 works well enough and OSX isn't main compilation platform.
302
c8f7614b
VS
3032013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
306 While it doesn't seem right solution, it works well enough and
307 OSX isn't main compilation platform.
308
246a434f
VS
3092013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * configure.ac: Add -static to LDFLAGS when using apple linker to
312 prevent it from pulling in dynamic linker.
313
5c066a81
VS
3142013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Apple assembly doesn't handle symbol arithmetic well. So define an
317 offset symbol in boot.S and use it.
318
78f961ef
VS
3192013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
320
321 Apple assembly doesn't handle symbol arithmetic well. So instead
322 of getting addres of kernel_sector + 4 define kernel_sector_high.
323 It also makes code more readable.
324
09bc0a57
VS
3252013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
326
327 With Apple assembly in .macro environvemnt you have to use $$ instead
328 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
329 to $$x on Apple and to $x on everything else.
330
b700a427
VS
3312013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
334 OBJCONV.
335
4480b95d
VS
3362013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
339 and non-Apple. This instruction is shorter and faster,
340 so no reason not to use it on both.
341
e77c81f6
VS
3422013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
345 .text when compiling for Apple.
346
971dbee5
VS
3472013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/term/arc/console.c: Add missing cast to silence warning.
350
6f2e82be
VS
3512013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
354 %dx restore the probe worked on non-existant drive. Reorganize the
355 code a little bit to free 2 bytes necessary for push/pop.
356
9eec9699
VS
3572013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
360 Add missing cast to silence warning.
361
5ae5c54c
KPA
3622013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
363
364 * util/grub-install.c (update_nvram): Support --no-nvram flag
365 for EFI targets.
366
7b04fe6c
VS
3672013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
370
e67566ce
VS
3712013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * util/garbage-gen.c: Add missing include of sys/time.h.
374
f93ddcfd
VS
3752013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Don't add -mflush-func if it's not supported by compiler.
378
1bba40f5
VS
3792013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Move common BIOS/coreboot memory map declarations to
382 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
383
f65e14dc
AB
3842013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
385
386 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
387
14a94bba
VS
3882013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * INSTALL: Document why older clang versions aren't appropriate.
391
8109c5d4
VS
3922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * INSTALL: Document about clang for mips.
395
a92b5cb8
VS
3962013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
399 clang.
400
4a23e2fe
VS
4012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Add *-xen to the list of grub-install-common platforms.
404
a3ba7410
VS
4052013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
408 3 last commits.
409
e1c22419
VS
4102013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
413
189090ce
VS
4142013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
417 with -mcmodel=large.
418
1a5b7b40
VS
4192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
422 range-checking for 32-bit quantities.
423
9cf12b20
VS
4242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * configure.ac: Compile with -fPIC when compiling with clang on
427 mips.
428
63a45330
VS
4292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
432 when compiling with clang.
433
4a0aaad0
VS
4342013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
435
436 clang emits calls to abort () under some unknown conditions.
437 Export abort () when compiling with clang.
438
095bb1bf
VS
4392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * docs/grub-dev.texi: Document stack and heap sizes.
442
3937bd96
VS
4432013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * include/grub/i386/pc/memory.h: Decrease
446 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
447 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
448 The binary doesn't change (checked). It's more to better reflect actual
449 usage.
450
ddb3efc9
VS
4512013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
454 at compile time that enough of scratch size is available.
455
4e42521d
VS
4562013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
459 Previously we misaligned stack by 8 in startup.S and compensated
460 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
461 right behaviour is to align stack in startup.S and keep it aligned
462 in callwrap.S. startup.S part was committed few commits before. This
463 takes care of callwrap.S.
464 Reported by: Gary Lin.
465
054efe54
VS
4662013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
469 .data and .bss. May happen if compiler and assembly use different
470 alignment.
471
a0e1befb
VS
4722013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
473
474 On MIPS handle got16 relocations to local symbols in an ABI-compliant
475 way.
476
c36c73f6
VS
4772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Add support for a new magic symbol _gp_disp on mips to handle PIC
480 binaries.
481
6f4a19f5
VS
4822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Use $t9 for indirect calls from asm to C as PIC ABI requires.
485
0d8f04cd
VS
4862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
489 when rest of GRUB is compiled for hisher stepping. Instead use
490 .set mips3/.set mips1 around cache and sync opcodes.
491
49060520
VS
4922013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
493
494 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
495 do essentially the same thing, do it in similar way.
496
c6a823e2
CW
4972013-11-21 Colin Watson <cjwatson@ubuntu.com>
498
499 * util/grub-mkrescue.c (main): If a source directory is not
500 specified, read platform-specific files from subdirectories of
501 pkglibdir, not pkgdatadir.
502
b7f9aedf
CW
5032013-11-21 Colin Watson <cjwatson@ubuntu.com>
504
505 * grub-core/normal/progress.c: Remove unused file.
506
7dd0a303
VS
5072013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
510 array.
511
ca120e31
VS
5122013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
515 than grub.cfg.
516
48eb35cd
VS
5172013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * coreboot.cfg: Add missing file.
520
7f20dbbc
VS
5212013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * Makefile.am: Allow STRIP to be empty when creating windowszip.
524
55e706c9
AK
5252013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
526
527 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
528 selectively skipping systems.
529
4e7d433d
CW
5302013-11-19 Colin Watson <cjwatson@ubuntu.com>
531
532 * Makefile.util.def (grub-mkimage): Add
533 grub-core/osdep/aros/config.c to extra_dist.
534 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
535 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
536 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
537 grub-core/gnulib-no-gets.diff.
538
7d44ff7d
VS
5392013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Add automated filesystem checking based on scripts I've used now for
542 quite some time locally. Most of the test require root so they are
543 skipped when run without necessarry privelegies.
544
a8c3e5e3
CW
5452013-11-19 Colin Watson <cjwatson@ubuntu.com>
546
547 * util/grub-install.c (main): Adjust info messages to match
548 installed paths of grub-bios-setup and grub-sparc64-setup.
549
4402db3e
CW
5502013-11-19 Colin Watson <cjwatson@ubuntu.com>
551
552 * util/grub-install-common.c (copy_locales): Consistently use
553 grub_util_get_localedir () rather than LOCALEDIR.
554 (grub_install_copy_files): Likewise.
555
7960d3e1
JT
5562013-11-19 Josh Triplett <josh@joshtriplett.org>
557
558 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
559 16-byte boundary, as required by the x86-64 ABI, before calling
560 grub_main. In some cases, GCC emits code that assumes this
561 alignment, which crashes if not aligned. The EFI firmware is also
562 entitled to assume that stack alignment without checking.
563
d53f4900
JT
5642013-11-18 Josh Triplett <josh@joshtriplett.org>
565
566 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
567 4k page boundaries as expected by firmware rather than 1k
568 boundaries.
569 (grub_mmap_malign_and_register): Likewise.
570
bb2b275b
VS
5712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
574 fragmentation 512M is enough.
575
45bf8b3a
VS
5762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
579 pointer to 32K. This is the size of cache element which is the most
580 common allocation >1K. This way the pointer is always around blocks
581 of 32K and so we keep performance while decreasing fragmentation.
582
39ff43c5
VS
5832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
586 current memory when allocating large chunks. This significantly
587 decreases memory fragmentation.
588
60870be8
CW
5892013-11-18 Colin Watson <cjwatson@ubuntu.com>
590
591 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
592 but for symmetry).
593 * tests/lzocompress_test.in: Skip if lzop is not installed.
594 * tests/xzcompress_test.in: Skip if xz is not installed.
595
a1f00cc5
CW
5962013-11-18 Colin Watson <cjwatson@ubuntu.com>
597
598 * util/grub-mkrescue.c (main): Fix typo.
599
74e632fe
VS
6002013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
603 clock frequency to 200 MHz,
604
efb8de49
VS
6052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * tests/util/grub-shell.in: Increase console size to 1024x1024.
608
b7526e78
VS
6092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * Makefile.am (default_payload.elf): Add pata to loaded modules.
612 Load config file from (cbfsdisk)/etc/grub.cfg.
613
b40ce651
VS
6142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * util/grub-install-common.c (grub_install_copy_files): Fix module
617 destination directory.
618
1e8e2e78
CW
6192013-11-18 Colin Watson <cjwatson@ubuntu.com>
620
621 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
622 files have not been built.
623
3bf4088b
CW
6242013-11-18 Colin Watson <cjwatson@ubuntu.com>
625
626 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
627 Handle errors from mkstemp.
628 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
629
35c2851c
VS
6302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
633 on primary master on pseries.
634
ea7c1a7d
VS
6352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
638 already loaded. This saves memory needed for tests,
639
96adefdb
VS
6402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
643 work again.
644
5e3cb8a7
VS
6452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
648 work again.
649
256ee7ac
VS
6502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
653 master since with some combinations of qemu and firmware only primary
654 IDE channel is available.
655
f8b4c3b6
VS
6562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
659 low-memory platforms where we don't have enough memory for them.
660 * grub-core/tests/videotest_checksum.c: Likewise.
661
4bf70320
VS
6622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
665 already loaded. This saves memory needed for tests,
666
a284320e
VS
6672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Fix handling of install lists.
670
2df8f43d
VS
6712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
674
6f1bc8bc
VS
6752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
676
677 On i386-ieee1275 we run in paged mode. So we need to explicitly map
678 the devices before accessing them.
679
04f39f6d
VS
6802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
683 as file argument.
684
35d4761c
VS
6852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
688
33d02a42
VS
6892013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
692 (grub_file_close): Free file->name.
693
7bbb60cf
VS
6942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/commands/verify.c (free_pk): Plug memory leak.
697 (grub_load_public_key): Likewise.
698 (grub_verify_signature_real): Likewise.
699 (grub_cmd_verify_signature): Likewise.
700
da93d675
VS
7012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
704 memory leak.
705
59c943ec
VS
7062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
709 (grub_longjmp): Restore r31.
710 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
711
4336b5d8
VS
7122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
715 modules to be in line with make_image_abs.
716
44ce3a93
VS
7172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
720
721 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
722
7d400406
IC
7232013-11-17 Ian Campbell <ijc@hellion.org.uk>
724
725 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
726
77dae919
VS
7272013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
730 to leave some memory to firmware.
731
0ab8e025
VS
7322013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
735 of loading gfxterm as gfxterm is embed in kernel on some platforms.
736 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
737 Load gfxmenu.
738
b80c2d6d
VS
7392013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
742 now needs full arguments.
743
6aa6077b
VS
7442013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * util/grub-mkrescue.c (main): Add trailing \n in
747 .disk_label.contentDetails to be in line with previous shell script.
748
66c00cb1
VS
7492013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
752
3a129dba
VS
7532013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * util/grub-install-common.c (grub_install_parse): Recognize
756 --compress=none like shell script did.
757
8df6eff6
VS
7582013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * include/grub/misc.h: Replace check for __sparc64__ with one for
761 __sparc__ as __sparc64__ isn't actually defined.
762
889ebe92
VS
7632013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
766 counterpart of fixing the naming of escc ports.
767
d4d55b29
VS
7682013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * util/grub-install-common.c (platforms): Fix the order of entries and
771 remove useless field val.
772
55e2c84f
VS
7732013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * util/grub-install.c: Add new option --no-bootsector to skip
776 installing of bootsector. Accept --grub-setup=/bin/true as
777 backwards-compatible synonym.
778
cd46aa6c
VS
7792013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
780
781 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
782 order of qsort arguments (number of elements vs. element size).
783
7842013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
787 the function of these files exceeds what can be sanely handled in shell
788 in posix-comaptible way. Also writing it in C extends the functionality
789 to non-UNIX-like OS and minimal environments.
790
9ef81064
VS
7912013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
794 compiling to thumb2.
795 * grub-core/kern/arm/cache_armv7.S: Likewise.
796 * grub-core/lib/arm/setjmp.S: Likewise.
797
11a77932
LL
7982013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
799
800 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
801 in grub_uboot_syscall
802
080603f0
VS
8032013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Decrease stack usage in lexer.
806
807 We have only 92K of stack and using over 4K per frame is wasteful
808
809 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
810 as macros so that compiler would remove useless structure on stack.
811 Better solution would be to fix flex not to put this structure on
812 the stack but flex is external program.
813
4f84ae0e
VS
8142013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Decrease stack usage in signature verification.
817
818 We have only 92K of stack and using over 4K per frame is wasteful
819
820 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
821 rather than stack.
822 (grub_verify_signature_real): Likewise.
823
e6a6182d
VS
8242013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Decrease stack usage in mdraid 0.9x.
827
828 We have only 92K of stack and using over 4K per frame is wasteful
829
830 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
831 rather than stack.
832
1a454efe
VS
8332013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Decrease stack usage in BtrFS.
836
837 We have only 92K of stack and using over 4K per frame is wasteful
838
839 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
840 rather than stack.
841
7b5d51d8
VS
8422013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Decrease stack usage in JFS.
845
846 We have only 92K of stack and using over 4K per frame is wasteful
847
848 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
849 stack. Note: this function is recursive.
850 (grub_jfs_read_inode): Read only part we care about.
851
593865b9
LL
8522013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
853
854 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
855 handling
7b5d51d8 856
31c0cd43
AB
8572013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
858
859 * configure.ac: Restore -nostdlib for libgcc symbols tests.
860
c2fdb331
AB
8612013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
862
863 * docs/grub.texi (Environment): Document cmdpath.
864
9e18dfe2
AB
8652013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
866
867 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
868 Remove "unused" attribute from arguments, they are used.
869
59ba9d14
CW
8702013-11-15 Colin Watson <cjwatson@debian.org>
871
872 * .gitignore: Only ignore grub-mk* at the top level.
873
23012db9
CW
8742013-11-15 Colin Watson <cjwatson@ubuntu.com>
875
876 * util/grub-reboot.in (usage): Fix a typo.
877
6fcec439
VS
8782013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
879
880 Replace libgcc version of ctz with our own.
881
882 On upcoming arm64 port libgcc ctz* are not usable in standalone
883 environment. Since we need ctz* for this case and implementation is
884 in C we may as well use it on all concerned platforms.
885
a9f25a08
VS
8862013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * configure.ac: Probe for linking format rather than guessing it based
889 on target_os.
890
c7995256
VS
8912013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
894 "1" prior to handoff.
895
896 Reported by: M A Young.
897
e1aa5b66
VS
8982013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
901 \0 to all files.
902
903 Reported by: M A Young.
904
da5ed5cf
VS
9052013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
908 compilation on NetBSD.
909
5757a93e
VS
9102013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * acinclude.m4: Don't add -P on initial nm test.
913
914 Note: even though this patch postdates Andrey's it bears 14 Nov as
915 date due to timezone difference.
916
a5986276
AB
9172013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
918
919 * grub-core/Makefile.core.def (signature_test): Add missing
920 tests/signatures.h.
921
0de172a0
CW
9222013-11-14 Colin Watson <cjwatson@ubuntu.com>
923
924 * util/grub-install_header: Set localedir here, since this file is
925 where it's used.
926 * util/grub-install.in: Remove setting of localedir.
927 * util/grub-mkrescue.in: Likewise.
928
da45f43c
VS
9292013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
932
20aea949
VS
9332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * configure.ac: Move nm checks to the end.
936 Call grub_PROG_NM_WORKS.
937 * acinclude.m4: New check grub_PROG_NM_WORKS.
938 Use $TARGET_CFLAGS -c when compiling test binary.
939
1326b9ae
CW
9402013-11-14 Colin Watson <cjwatson@ubuntu.com>
941
942 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
943 unused variables.
944
1fe26ab4
MG
9452013-11-14 Matthew Garrett <mjg@redhat.com>
946
947 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
948 cmdpath to firmware directory.
949
83e9c273
VS
9502013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
953 at the start of second iteration.
954
ec525c18
VS
9552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
958
93fcc7ad
VS
9592013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * Makefile.am (default_payload.elf): New target for easier coreboot
962 build.
963
57ffe934
VS
9642013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
967 clang (not necessarry with -no-integrated-as).
968 * include/grub/symbol.h [__arm__]: Likewise.
969
2312f06c
VS
9702013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * configure.ac: Use -no-integrated-as on arm with clang.
973 * INSTALL: Mention ARM compilation with clang.
974
2416415c
VS
9752013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
978 -mthumb-interwork.
979
5da55172
CW
9802013-11-14 Colin Watson <cjwatson@ubuntu.com>
981
982 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
983 code for indirect block handling.
984
985 Saves 185 bytes on compressed image.
986
da770328
PFS
9872013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
988
989 Fix make clean.
990
991 * Makefile.am: Remove build-grub-* in make clean.
992
f02e6b56
PFS
9932013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
994
995 New files to gitignore.
996
997 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
998 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
999
035a26c1
LL
10002013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1001
1002 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1003
bc8a6137
LL
10042013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1005
1006 * .gitignore: fix rules for .dep* and add *.a post git migration
1007
6fe506b0
CW
10082013-11-13 Colin Watson <cjwatson@ubuntu.com>
1009
1010 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1011 to match INSTALL.
1012
81a2e438
CW
10132013-11-13 Colin Watson <cjwatson@ubuntu.com>
1014
1015 * grub-core/kern/misc.c: Don't redirect divisions in the
1016 GRUB_UTIL case.
1017 * include/grub/misc.h: Likewise.
1018
9b45c073
CW
10192013-11-13 Colin Watson <cjwatson@ubuntu.com>
1020
1021 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1022 systems that require checking the return value of write.
1023
11b2a9b7
CW
10242013-11-13 Colin Watson <cjwatson@ubuntu.com>
1025
1026 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1027 efibootmgr quiet when --debug is not used, rather than when it is.
1028
d743d22d
CW
10292013-11-13 Colin Watson <cjwatson@ubuntu.com>
1030
1031 * gentpl.py (define_macro_for_platform_dependencies): Remove
1032 first (and thus unused) of two definitions for this function.
1033 (platform_dependencies): Likewise.
1034
11da14b5
CW
10352013-11-13 Colin Watson <cjwatson@ubuntu.com>
1036
1037 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1038 functions, we only need to check this for the target, not the host.
1039 * configure.ac (grub_apple_cc): Likewise.
1040
2bdd0719
VS
10412013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1044 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1045 asm to stay in arm even if surrounding is thumb.
1046
5e77d9cf
VS
10472013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1050 helper functions are needed for thumb.
1051
7d511625
VS
10522013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1055 level / 3 division explicitly unsigned. Saves few bytes.
1056
81023dbd
VS
10572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1060
b2e9294f
VS
10612013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1064 division.
1065
16a22c38
VS
10662013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1069 grub_uboot_boot_data to asm part.
1070
c9cd02c9
VS
10712013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1074 literal load.
1075 (grub_uboot_syscall): Save/restore r9 and align stack.
1076
81498615
VS
10772013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1080
ea57de18
VS
10812013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1084 occurencies with END.
1085
d0d1e3da
CW
10862013-11-13 Colin Watson <cjwatson@ubuntu.com>
1087
1088 * util/grub-editenv.c (help_filter, argp): Document how to delete
1089 the whole environment block.
1090 Reported by Dan Jacobson. Fixes Debian bug #726265.
1091
3809f016
CW
10922013-11-13 Colin Watson <cjwatson@ubuntu.com>
1093
1094 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1095 sectioning.
1096
46d8a203
JT
10972013-11-13 Josh Triplett <josh@joshtriplett.org>
1098
1099 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1100 increment/decrement.
1101
513eeb61
VS
11022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1105 compiling with clang.
1106
bc379c1a
VS
11072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1110 ".".
1111
11122013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1113
16057d6b
VS
1114 Redirect all divisions to grub_divmod64.
1115
f649a6a8
VS
11162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1119
ef28ee8b
VS
11202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Add missing includes of loader.h.
1123
300f48c5
VS
11242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * configure.ac: Allow disabling themes.
1127
2d357558
LS
11282013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1129
1130 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1131
0c62a5b2
VS
11322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1135 until it becomes operational.
1136
b0720b49
VS
11372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/Makefile.core.def (legacy_password_test): Disable
1140 on platforms where no legacycfg is compiled.
1141 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1142 load legacy_password_test.
1143
d5bab2c0
VS
11442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1147
3ea0ccb3
VS
11482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1151
08772054
VS
11522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1155 strict-aliasing warning.
1156 (fsync): Silence cast warning.
1157
1dcb2715
VS
11582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/commands/verify.c: Remove variable length arrays.
1161 Load gcry_dsa/gcry_rsa automatically.
1162
61c22fdf
VS
11632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/tests/signature_test.c: New test.
1166
431e57a7
VS
11672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1170 API.
1171
b521bb81
VS
11722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1175 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1176
7d06b24e
VS
11772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1180
3bbeade4
VS
11812013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/fs/proc.c: Allow \0 in proc files.
1184
ba82db7a
VS
11852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1188
801564c8
VS
11892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1192
ac8cac1d
VS
11932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/fs/ext2.c: Remove variable length arrays.
1196
4b85f122
VS
11972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1200 length arrays.
1201
c35fcdc0
VS
12022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1205 * grub-core/disk/cryptodisk.c: Likewise.
1206 * grub-core/disk/geli.c: Likewise.
1207 * grub-core/disk/luks.c: Likewise.
1208
15decd26
VS
12092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/tests/legacy_password_test.c: New test.
1212 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1213
9c6482b8
VS
12142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1217
41f26e0e
VS
12182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/tests/pbkdf2_test.c: New test.
1221
2def6616
VS
12222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1225
9e34a34e
VS
12262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/io/lzopio.c: Remove variable length arrays.
1229
5ccaf904
VS
12302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * include/grub/crypto.h: Add maximums on hash size and cipher block
1233 size.
1234
44a387e0
VS
12352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1238
a388e255
VS
12392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/tests/xnu_uuid_test.c: New test.
1242
a1ef7718
VS
12432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1246 covers it).
1247
65ddb300
VS
12482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/commands/hashsum.c: Remove variable length arrays.
1251
31747dd5
VS
12522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1255 condition.
1256 * tests/grub_func_test.in: Increase memory allocation.
1257
6a74c4df
VS
12582013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1261 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1262 sys/mount.h.
1263
394c3e0a
VS
12642013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1267 (grub_util_get_fd_size_os): ...this.
1268 (grub_hostdisk_flush_initial_buffer): New empty function.
1269
60d31116
VS
12702013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1273 without --defined-only.
1274
8445b011
VS
12752013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1278 rip-relative addressing in prologue.
1279
8506a641
VS
12802013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1283 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1284
66acd9d6
VS
12852013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1288 Add missing semicolon.
1289
348d0535
VS
12902013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1293
0d2d30bb
VS
12942013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * configure.ac: Check for lzma.h for enabling liblzma and allow
1297 manual disabling.
1298
631187be
VS
12992013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Add missing includes of loader.h.
1302
e756ec82
FZ
13032013-11-11 Fam Zheng <famcool@gmail.com>
1304
1305 * util/grub.d/30_os-prober.in: Add minix entry.
1306
87d62d7d
VS
13072013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1310 right buffer for temporary load.
1311
5460cfeb
VS
13122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1315
89977306
VS
13162013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1319 payload.
1320
3617c59b
VS
13212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1324 not Types.h.
1325 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1326 environment.
1327 (LzmaDec_InitDicAndState): Make static.
1328
881c6a10
VS
13292013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1332
2024ade2
VS
13332013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1336
1337 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1338
674ad4f6
VS
13392013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * docs/grub-dev.texi: Replace bzr references with git ones.
1342
5b99970e
AB
13432013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1344
1345 * docs/grub.texi (Simple configuration): Remove reference to
1346 grub-reboot from saved default entry description - grub-default
1347 does not use it anymore.
1348
3c2304d5
VS
13492013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1352 compiled with.
1353
80cfd940
AB
13542013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1355
1356 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1357
33690255
VS
13582013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Fix grub_machine_fini bitrot.
1361
1362 Reported by: Glenn Washburn.
1363
c61471fc
VS
13642013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1367
54da019f
VS
13682013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1371 -DELF.
1372 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1373 instead of ELF*.
1374
13752013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1376
1377 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1378 Add -march=core2 when testing compile of efiemu64.
1379
1380 Thanks Andrey Borzenkov for spotting this.
1381
9612ebc0
VS
13822013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1385 XEN PV environment and load kernels.
1386
1a46a3a4
VS
13872013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1390 * grub-core/loader/multiboot_mbi2.c: Likewise.
1391
2df12551
VS
13922013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1395 handling.
1396
3c980381
VS
13972013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1400
1401 Tested by: Denis 'GNUtoo' Carikli.
1402
800f63d3
VS
14032013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1406
9f8acdaa
VS
14072013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1408
5620eb53
VS
1409 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1410 Use to get rounded angle rather than truncated.
1411
14122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1415 RTS/CTS flow control.
1416
2dc1eb6c
VS
14172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1420 divisions.
1421
b9563c94
VS
14222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1425 Use grub_fatal rather than divide by zero.
1426 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1427
d6d8e9a9
VS
14282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1431 truncate.
1432 (grub_fixed_fsf_divide): Likewise.
1433
d06de6c8
VS
14342013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1437 division by-zero and senseless negative divisions.
1438
6af7d49b
VS
14392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1442 division by-zero and senseless negative divisions.
1443 (circprog_set_property): Don't accept negative num_ticks.
1444
bcfa6d72
VS
14452013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1448 division by-zero and senseless negative divisions.
1449
dd7f792c
VS
14502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * configure.ac: Use elf_*_fbsd on kfreebsd.
1453
d061fda7
VS
14542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/tests/div_test.c: New test.
1457
4db22500
VT
14582013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1459
1460 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1461 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1462 * grub-core/gfxmenu/view.c: Likewise.
1463 * grub-core/video/fb/video_fb.c: Introduce new functions:
1464 grub_video_set_area_status, grub_video_get_area_status,
1465 grub_video_set_region, grub_video_get_region.
1466 * grub-core/video/bochs.c: Likewise.
1467 * grub-core/video/capture.c: Likewise.
1468 * grub-core/video/video.c: Likewise.
1469 * grub-core/video/cirrus.c: Likewise.
1470 * grub-core/video/efi_gop.c: Likewise.
1471 * grub-core/video/efi_uga.c: Likewise.
1472 * grub-core/video/emu/sdl.c: Likewise.
1473 * grub-core/video/radeon_fuloong2e.c: Likewise.
1474 * grub-core/video/sis315pro.c: Likewise.
1475 * grub-core/video/sm712.c: Likewise.
1476 * grub-core/video/i386/pc/vbe.c: Likewise.
1477 * grub-core/video/i386/pc/vga.c: Likewise.
1478 * grub-core/video/ieee1275.c: Likewise.
1479 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1480 * include/grub/video.h: Likewise.
1481 * include/grub/video_fb.h: Likewise.
1482 * include/grub/fbfill.h: Updated render_target structure.
1483 grub_video_rect_t viewport, region, area
1484 int area_offset_x, area_offset_y, area_enabled
1485 * include/grub/gui.h: New helper function
1486 grub_video_bounds_inside_region.
1487 * docs/grub-dev.texi: Added information about new functions.
1488
c6b755df
VS
14892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1492 for alignment.
1493
e2a68100
VS
14942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1497 missing attribute.
1498 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1499
c4f11a2a
VS
15002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1503 simple division on arm and ia64.
1504
e0a7bffa
VS
15052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1508 link with libgcc.
1509
38b864ea
VS
15102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1513
12359faf
VS
15142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1517 prefix symbol, not @.
1518
9fdc64a9
VS
15192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * INSTALL: Add note about older gcc and clang.
1522
665c575b
VS
15232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1526
47dcf7b1
VS
15272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1530 NULL pointer dereference.
1531
d59849b2
VS
15322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1535 clang.
1536
7a3f4a18
VS
15372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1540 warnings.
1541
7f084087
VS
15422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1545 function.
1546 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1547 * grub-core/disk/geli.c (ascii2hex): Likewise.
1548
d5524ca8
VS
15492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * configure.ac: Run linker tests without -Werror.
1552 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1553 Change all occurences of -static-libgcc resp -lgcc to
1554 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1555
390cd7ca
VS
15562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1559
60375a88
VS
15602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Allow compiling with clang (not really supported though).
1563
1564 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1565 unconditionally.
1566 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1567 Add -mrtd -mregparm=3 on i386 when not using clang.
1568 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1569
dd07e0c4
VS
15702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1573 bindings.
1574 * grub-core/lib/reed_solomon.c: Likewise.
1575 * include/grub/i386/gdb.h: Likewise.
1576 * include/grub/i386/pc/int.h: Likewise.
1577 * include/grub/i386/pc/pxe.h: Likewise.
1578 * include/grub/ieee1275/ieee1275.h: Likewise.
1579
9d3ae8ec
VS
15802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 Import libgcrypt 1.5.3.
1583
c12936c5
VS
15842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * configure.ac: Don't add -Wcast-align on x86.
1587
cdc17f60
VS
15882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * configure.ac: Add -freg-struct-return on all platforms that
1591 support it.
1592
b35ec299
VS
15932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * acinclude.m4: Use -Werror on parameter tests.
1596 * configure.ac: Likewise.
1597
05f3a0d7
VS
15982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1601
c966a489
VS
16022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * configure.ac: Check that -malign-loops works rather than assuming that
1605 either -falign-loops or -malign-loops work.
1606
bb0c57ec
VS
16072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1610
24f4e57c
VS
16112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * configure.ac: Prevent cflags leaking to subsequent tests by always
1614 resetting cflags to target_cflags in target tests.
1615
ac319fbc
VS
16162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1619 function.
1620
4bfe934c
VS
16212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1624
40a5bfde
VS
16252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1628
a67c755e
VS
16292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/normal/cmdline.c (grub_cmdline_get):
1632 Remove nested functions.
1633
87a04a2d
VS
16342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * tests/test_sha512sum.in: Make it work on emu.
1637
c03995d2
VS
16382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1641 functions.
1642 (grub_bidi_line_logical_to_visual): Likewise.
1643
ec0ebb3f
VS
16442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 Remove vestiges of -Wunsafe-loop-optimisations.
1647
1648 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1649 -Wno-unsafe-loop-optimisations.
1650 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1651 pragma.
1652 * grub-core/io/gzio.c: Likewise.
1653 * grub-core/script/parser.y: Likewise.
1654 * grub-core/script/yylex.l: Likewise.
1655 * util/grub-mkfont.c: Likewise.
1656
6ab537e3
VS
16572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * util/grub-mkfont.c (process_cursive): Remove nested function.
1660
e6c368d4
VS
16612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1664 (grub_boot_time): Likewise.
1665
4f1cfd22
VS
16662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * include/grub/symbol.h (FUNCTION): Use @function rather than
1669 "function".
1670 (VARIABLE): Likewise.
1671
6d5a4cee
VS
16722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1675
f06c2172
VS
16762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1679 (parse_dhcp_vendor): Likewise.
1680
7cb24eb5
VS
16812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1684
f30c692c
VS
16852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1688 Define after defining type and not before.
1689
8b66bb5d
VS
16902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1693 type.
1694 (grub_gcm_decrypt): Likewise.
1695 (algo_decrypt): Likewise.
1696 (grub_zfs_decrypt_real): Transform error type.
1697
5d17fd0f
VS
16982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1701
ac35a0f7
VS
17022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1705 (grub_usbms_cbi_reset): Likewise.
1706 (grub_usbms_bo_reset): Likewise.
1707 (grub_usbms_reset): Likewise.
1708 (grub_usbms_attach): Likewise.
1709 (grub_usbms_transfer_cbi): Likewise.
1710
3ee08697
VS
17112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1714 "checksum = checksum;".
1715
70bb6c85
VS
17162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1719 entry_type.
1720
c7f34744
VS
17212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1724 BIOS disk check.
1725
3f63b4d8
VS
17262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1729 type.
1730 (grub_ehci_fini_hw): Likewise.
1731 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1732
dac6ce73
VS
17332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1736 return grub_usb_err_t for cosistency. All users updated.
1737
5701750c
VS
17382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1741 assigning to itself.
1742
9e236169
GLD
17432013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
17442013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1745
1746 Issue separate DNS queries for ipv4 and ipv6
1747
1748 Adding multiple questions on a single DNS query is not supportted by
1749 most DNS servers. This patch issues two separate DNS queries
1750 sequentially for ipv4 and then for ipv6.
1751
1752 Fixes: https://savannah.gnu.org/bugs/?39710
1753
1754 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1755 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1756 * (grub_net_dns_lookup): Now using separated dns packages.
1757 * (grub_cmd_nslookup): Add error condition.
1758 * (grub_cmd_list_dns): Print DNS option.
1759 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1760 --prefer-ipv4, and --prefer-ipv6.
1761 * include/grub/net.h (grub_dns_option_t): New enum.
1762 * (grub_net_network_level_address): option added.
1763
339eacce
VT
17642013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1765
1766 * grub-core/video/fb/video_fb.c: Merge two blit functions
1767 into one.
1768
810f991b
VS
17692013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/term/terminfo.c: Add sequences for home and end.
1772
386571a2
VS
17732013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1776 graphics console.
1777
3fe63754
VS
17782013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1781 add mode 0x12.
1782
76681e71
VS
17832013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1786 e-mail by Per Öberg.
1787
46522fb7
VS
17882013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1791 name.
1792
e7d09ac4
AB
17932013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1794
1795 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1796 emu platforms.
1797 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1798
67508925
VS
17992013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * docs/grub.texi: Document usage of menuentry id.
1802
0c62124e
VS
18032013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1806
9b5d4eed
PL
18072013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1808
1809 * grub-core/commands/i386/nthibr.c: New command.
1810
79054c1d
VS
18112013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1814
44d47bbe
VS
18152013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1818 coordinate.
1819
323de05b
VS
18202013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Support GRUB_DISABLE_SUBMENU config.
1823
1824 Inspired by patch from Prarit Bhargava.
1825
5a01722e
VS
18262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * docs/grub.texi: Mention RSA support.
1829
1106c3f0
VS
18302013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/commands/verify.c: Add RSA support.
1833
a1dcc2cb
VS
18342013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1837 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1838 device is known to be ATAPI.
1839
ee7fb780
MF
18402013-11-03 Mike Frysinger <vapier>
1841
1842 * configure.ac: Don't add target-prefix.
1843
5ade4a42
VS
18442013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1847 variables.
1848
6cd66043
VS
18492013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1852 if language is English.
1853
090d7c81
VS
18542013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1857
dd614590
VS
18582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * configure.ac: Don't add -m32/-m64 on emu.
1861
a8686589 18622013-11-02 neil
1863
1864 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1865 broken linux headers.
1866
fb9f12a0
VS
18672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1870
e25f8e1f
VS
18712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1874 Reed-Solomon recovery if more than half of redundancy info is 0.
1875
4685200f
VS
18762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * util/grub-mount.c: Handle symlinks to directories.
1879
1397f0b5
VS
18802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1883 find_file recursively for symlink.
1884
8b3e6eb6
VS
18852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * tests/util/grub-shell.in: Copy themes.
1888
a0c9d5c6
VS
18892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1892
5cf9459c
VS
18932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * configure.ac: Use 0x8000 for address instead of 8000.
1896
e7b66a28
VS
18972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1900 signature.
1901
203f53fb
VS
19022013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1905 variable.
1906
02663ee9
VS
19072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1910
f169f65e
VS
19112013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1914 file_progress_read_hook.
1915 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1916
2855a0fc
VS
19172013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1920 and double.
1921
bf0f3a8c
VS
19222013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1925
cb72aa18
VS
19262013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Rewrite blocklist functions in order to get progress when
1929 reading large extents and decrease amount of blocklist hook calls.
1930
896f9135
VS
19312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1934 of SI suffixes.
1935
89295a06
VS
19362013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Support --base-clock for serial command to handle weird cards with
1939 non-standard base clock.
1940
eb03ede0
VS
19412013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1944 strncpy.
1945 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1946 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1947 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1948 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1949 + strcpy rather than strncpy.
1950
8fbe5c7d
VS
19512013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1954 (check_pool_label): Likewise. Fixes overflow.
1955 (nvlist_find_value): Fix comparison.
1956
e54b8f53
VS
19572013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1960 more appropriate functions.
1961
fa9b3dca
VS
19622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1965 realloc.
1966
9a021c55
VS
19672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1970
80e8b13a
VS
19712013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1974 on core size.
1975
b61599ac
VS
19762013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1979
a602dc54
VS
19802013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1983 (initialize_tables): reset tl and td to NULL after freeing.
1984
93c12075
VS
19852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1988
1ca4b75e
VS
19892013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1992 of supported tags.
1993
329550c4
VS
19942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1997
00bfa988
VS
19982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2001 quirks.
2002
81afc5cc
VS
20032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2006 a page in protected space.
2007
cb3c4a47
VS
20082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2011 allocate space for zero-sized modules.
2012
954f7bf5
VS
20132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2016
526d3d25
FL
20172013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2018
2019 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2020
74124c34
VS
20212013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2024 safeguards. Fixes a crash with i386/pc/console.c.
2025
5177391e
VS
20262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2029 and grub_hostfs_init.
2030
64db14b0
VS
20312013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2034 windows method on other platforms without good stat as well.
2035
effe2036
VS
20362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2039
82591fa6 20402013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2041
82591fa6
VS
2042 Make / in btrfs refer to real root, not the default volume.
2043 Modify mkrelpath to work even if device is mounted with subvolid option.
2044
20452013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2046
2047 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2048 extra_dist.
2049 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2050 extra_dist.
2051
30fd7198
VS
20522013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2055 fails.
2056
8d179dae
BC
20572013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2058
2059 * docs/autoiso.cfg: New file.
2060
3bc9c8cf
VS
20612013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2064 COND_GRUB_PE2ELF conditions.
2065
8b46b0ea
VS
20662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2069 "vnd", "rd" and "fd" disks.
2070
442b86de
VS
20712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Move grub_disk_write out of kernel into disk.mod.
2074
04dea7e6
VS
20752013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2078 handling.
2079
20802013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2081
2082 * grub-core/kern/misc.c (grub_abort): Make static
2083
04dea7e6 20842013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2085
2086 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2087 transform invalid unicode codepoints.
2088
04dea7e6 20892013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2090
2091 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2092 \0 checking.
2093
03dcac7f
VS
20942013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2097
c81acb7f
VS
20982013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Consolidate cpuid code.
2101
c1bee646
VS
21022013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Move cpuid code to cpuid.h and TSC code to tsc.c.
2105
f37bf9c7
GS
21062013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2107
2108 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2109
4021132b
GS
21102013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2111
2112 * util/grub-mkconfig.in: Replace $0 with $self.
2113 * util/grub-reboot.in: Likewise.
2114 * util/grub-set-default.in: Likewise.
2115
3ace8d75
BC
21162013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2117
2118 * docs/osdetect.cfg: New file.
2119
1e6ad6a6
BC
21202013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2121
2122 * tests/util/grub-shell.in: Add new --debug option.
2123
188929eb
BC
21242013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2125
2126 * tests/test_unset.in: New test.
2127
7994a09a
BC
21282013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2129
2130 * tests/test_sha512sum.in: New test.
2131
2a8a7585
VS
21322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2135 * include/grub/misc.h: Remove strncat.
2136 * grub-core/lib/posix_wrap/string.h: Likewise.
2137
cf8d6bbd
VS
21382013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2141 Try to handle more than 0xFFFF packets.
2142 Reported by: Bernhard Übelacker <bernhardu>.
2143 He also spotted few overflows in first version of this patch.
2144
6d1fc99a
VS
21452013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * tests/date_unit_test.c: New test.
2148
10bafa1c
VS
21492013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2152 of first three years after start of validity of unixtime.
2153
b1c6d037
VS
21542013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2157 division as the one making more sense.
2158 (update_screen): Likewise.
2159 (complete): Likewise.
2160
5f4028d4
VS
21612013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2164
a2856736
VS
21652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Make char and string width grub_size_t rather than grub_ssize_t.
2168
0a7e52b2
VS
21692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2172 unsigned.
2173 (grub_history_replace): Likewise.
2174
42829573
VS
21752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2178 appropriate.
2179
3523b8d8
VS
21802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2183 appropriate.
2184
d43c6489
VS
21852013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2188 Use unsigned divisions rather than signed variants.
2189
f690f8b0
VS
21902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2193 unsigned arithmetics.
2194 Add missing break.
2195
74ff2c05
VS
21962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2199
fb56391e
VS
22002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2203 rather than signed one.
2204 (recovery): Likewise.
2205
40f29060
VS
22062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2209
c64577a5
VS
22102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2213 than signed.
2214
c16535a8
JM
22152013-10-25 Jon McCune <jonmccune@google.com>
2216
2217 * docs/grub.texi: Cleanup security documentation around signatures.
2218
6673d8e7
VS
22192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2222
a105d375
VS
22232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2226 than int.
2227
af81ed88
VS
22282013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2231 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2232 functions when compiling for kernel.
2233
ea899a57
VS
22342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2237 unsigned long long when using %llu.
2238
c6dc6fa1
VS
22392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2242 terminal after updating progress.
2243
ad2dc003
VS
22442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2247 argument. We don't disable Gate A20 in this code.
2248
b46684ae
VS
22492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2252 Conceptually based on change in branch "vbe-on-coreboot".
2253
f70d5c07
RM
22542013-10-24 Robert Millan <rmh@gnu.org>
2255
2256 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2257 numeric constants with their symbolic equivalent.
2258 Taken from branch "vbe-on-coreboot".
2259
bca274b4
VS
22602013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2263
238f0489
VS
22642013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2267 divmod64 for offset division.
2268
863c590b
PFS
22692013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2270
2271 Rename .bzrignore to .gitignore. Add "*.o" rule.
2272
2273 * .bzrignore: Renamed to...
2274 * .gitignore: ...this.
2275
84a0e969
PFS
22762013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2277
2278 Add new progress module that displays the load progress of files.
2279
2280 * grub-core/lib/progress.c: New file.
2281 * grub-core/Makefile.core.def (progress): New module.
2282 * grub-core/kern/file.c (grub_file_open): File name added.
2283 * (grub_file_read): Progress hook added.
2284 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2285 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2286 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2287 * include/grub/file.h (struct grub_file): Add progress module members.
2288 * include/grub/term.h (struct grub_term_output): Likewise.
2289 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2290 Terminal velocity added.
2291 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2292 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2293 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2294 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2295 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2296 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2297 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2298 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2299 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2300 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2301 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2302 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2303
0d711431
VS
23042013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Verify signatures of signatures unless --skip-sig is specified.
2307
f8401f76
VS
23082013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2311 \0 checking.
2312
2313 Saves 70 bytes on compressed image.
2314
ac1feb61
VS
23152013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2318 check.
2319
2320 Saves 10 bytes on compressed image.
2321
00f72e89
VS
23222013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/kern/misc.c (grub_isprint): Move to ...
2325 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2326
2327 Saves 20 bytes on compressed image due to remving exporting.
2328
067e6ae7
VS
23292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2332
2333 Saves 5 bytes on compressed image.
2334
64a6c791
VS
23352013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2338 function get_utf8.
2339
2340 Saves 379 bytes on compressed image.
2341
979d9f52
VS
23422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2345
1437da54
VS
23462013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2349
2350 Saves 40 bytes on compressed image.
2351
d9ee2269
VS
23522013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2355 mask rather than 64-bit type.
2356
2357 Saves 20 bytes on compressed image.
2358
63efa602
VS
23592013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2362 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2363
47601ffe
VS
2364 Saves 273 bytes on compressed image.
2365
2cc679ad
VS
23662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2369 variable length arrays.
2370
2371 Saves 50 bytes on compressed image.
2372
2e4659b8
VS
23732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2376
2a40badf
VS
23772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/fs/ufs.c: Remove variable length arrays.
2380
1ba6b9b9
VS
23812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2384
f3e39341
VS
23852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/fs/zfs.c: Remove variable length arrays.
2388 Reduces zfs.mod by 160 bytes (208 compressed).
2389
71523935
VS
23902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2393
28153eb8
VS
23942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/net/arp.c: Remove variable length arrays.
2397 * grub-core/net/bootp.c: Likewise.
2398 * grub-core/net/dns.c: Likewise.
2399 * grub-core/net/icmp6.c: Likewise.
2400 * grub-core/net/net.c: Likewise.
2401
88ce4cd7
VS
24022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/fs/ntfs.c: Remove variable length arrays.
2405 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2406 compressed).
2407
66123940
VS
24082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/hfs.c: Remove variable length arrays.
2411 Reduces hfs.mod by 8 bytes (52 compressed).
2412
0927e5bd
VS
24132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2416 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2417 compressed).
2418
9c12ac97
VS
24192013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2422 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2423 compressed).
2424
97ec2d71
VS
24252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2428 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2429 compressed).
2430
156e4ea0
VS
24312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/fs/xfs.c: Remove variable length arrays.
2434 Reduces xfs.mod by 40 bytes (43 compressed).
2435
3b502c29
VS
24362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/fs/fshelp.c: Remove variable length arrays.
2439 Reduces fshelp.mod by 116 bytes (23 compressed).
2440
c7037f1d
VS
24412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/normal/completion.c: Remove variable length arrays.
2444 * grub-core/normal/menu_entry.c: Likewise.
2445
2446 Reduces normal.mod by 496 bytes.
2447
a07e6ad0
VS
24482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2451 by 356 bytes (158 compressed).
2452
2359bf88
VS
24532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2456 by 364 bytes (169 compressed).
2457
d28e1163
VS
24582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2461 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2462 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2463
e89c2d48
VS
24642013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2467 bitmasks to small structures of size chosen to fit in registers.
2468
7abdac8e
VS
24692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * conf/Makefile.common: Use -freg-struct-return on i386. This
2472 decreases code size and improves performance.
2473
518864c0
VS
24742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2477
bbd2b539
VS
24782013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2481 "(null)" string.
2482 Simplify expressions to save around 256 bytes in kernel.img.
2483 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2484
99519c15
VS
24852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2488 Use GRUB_UTIL_FD_O_* rather than O_*.
2489
20285765
VS
24902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 Add haiku-specific functions.
2493
887c0bb6
VS
24942013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2497
cd78a56f
VS
24982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Move stat () and device mode checking into OS-dependent files as
2501 long as performance doesn't suffer.
2502
a4012f07
VS
25032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Split make_system_path_relative_to_its_root into separate file
2506 relpath.c from getroot.c as it's common between unix and haiku
2507 but otherwise haiku doesn't use any functions from unix getroot.c.
2508
31de274d
VS
25092013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2512 New function.
2513 (grub_util_is_special_file): Likewise.
2514
40346de6
VS
25152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2518 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2519
d3923ab9
VS
25202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2523 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2524
663f6eb1
VS
25252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2528 (load_image): Likewise.
2529
44d1c20a
VS
25302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-render-label.c: Move backend part to ...
2533 * util/render-label.c: ... here.
2534
d0a116ee
VS
25352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2538 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2539
b47fcae6
VS
25402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2543
0f7c00c1
VS
25442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2547 CD-ROM in case when it's declared as having subpartitions.
2548
29013cba
VS
25492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 Don't add -lm on haiku.
2552
2553 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2554 and empty on haiku.
2555 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2556 -lm.
2557
e8559d24
VS
25582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * configure.ac: Use -melf_*_haiku as target on haiku.
2561
8104063c
VS
25622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * Makefile.util.def: Add util/setup.c to extra_dist.
2565
fc3182c7
VS
25662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2569 unknown types through.
2570
f90a3cc0
VS
25712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2574 (grub_util_check_char_device): Likewise.
2575 * include/grub/emu/getroot.h: Likewise.
2576
1e3e7419
VS
25772013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2580 memset rather than inline static function.
2581
92c88fc8
VS
25822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2585 not doing embedded decompressor.
2586
3cd910a2
VS
25872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2590 shadowing.
2591 * grub-core/kern/disk.c: Likewise.
2592 * grub-core/kern/misc.c: Likewise.
2593 * include/grub/parser.h: Likewise.
2594 * include/grub/script_sh.h: Likewise.
2595 * include/grub/zfs/zfs.h: Likewise.
2596
7b3aca00
VS
25972013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2600
97dfe7e4
VS
26012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2604 defined before trying to use it.
2605
bf919aa9
VS
26062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2609 warning.
2610
f4ccf29d
VS
26112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2614 Use __unused__ rather than __used__ on gcc < 3.2.
2615
0d3a6f85
VS
26162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2619 gcc < 4.0.
2620 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2621
757e3eb7
VS
26222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2625
fb320faf
VS
26262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2629 * include/grub/emu/misc.h: Likewise.
2630
ea73acd2
VS
26312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2634 cur_color.
2635
71237a6f
VT
26362013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2637
2638 * grub-core/tests/checksums.h: Regenerated due to progress bar
2639 get_minimal_size changes.
2640
3d46c22f
BC
26412013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2642
2643 Added `tr' command support.
2644
2645 * grub-core/commands/tr.c: New file.
2646 * grub-core/Makefile.core.def: Build rules for new module.
2647
2648 * tests/grub_cmd_tr.in: New test.
2649 * Makefile.util.def: Build rules for new test.
2650
47e0a61f
VT
26512013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2652
2653 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2654
946fd073
VT
26552013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2656
2657 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2658 * docs/gurb.texi: Likewise.
2659
9c13c576
VT
26602013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2661
2662 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2663 Pixmap highlighted section with east and west slices was displayed
2664 incorrectly due to negative width of the central slice.
2665
ad543f12
VT
26662013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2667
2668 * docs/grub.texi: Graphical options information update.
2669 Removed outdated. Updated current. Inserted missed.
2670
6176a0cd
VS
26712013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * docs/grub.texi: Mention few new platform-specific commands.
2674
9688cae2
VS
26752013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2678 currently used so this doesn't really have any effect.
2679 Reported by: Douglas Ray <dougray>
2680
f7b69a3f
VS
26812013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2684 compilation but prevents gcc from displaying messages in non-Latin
2685 alphabets.
2686 * conf/Makefile.common: Likewise.
2687
ceca6ddf
HY
26882013-10-16 Hiroyuki YAMAMORI
2689
2690 Handle Japanese special keys.
2691 Reported by: Hiroyuki YAMAMORI.
2692 Codes supplied by: Hiroyuki YAMAMORI.
2693
ac48d334
VT
26942013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2695
2696 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2697
b2b71bff
VT
26982013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2699
2700 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2701 * docs/grub.texi: Likewise.
2702
669fc449
VS
27032013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2706 value in case of incomplete read.
2707 (grub_util_fd_write): Likewise.
2708
59381678
VS
27092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2712
bacfefbb
VS
27132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/grub-editenv.c (create_envblk_file): More from here ...
2716 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2717
f7c49570
VS
27182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2721 canonicalize file name before doing the rest.
2722
7b83ca44
VS
27232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2726 mingw32.
2727
df1e64c9
VS
27282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Define grub_util_is_directory/regular/special_file and
2731 use OS-dependent versions rather than to rely on stat().
2732
ec16e026
VS
27332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * util/grub-mkimage.c: Move backend part to ...
2736 * util/mkimage.c: ... here.
2737
4b4eeb3c
VS
27382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Allow compilation with mingw64 albeit with warnings due to lack of
2741 %llx/%llu.
2742
2743 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2744 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2745 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2746 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2747 on mingw64.
2748 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2749
f4e0adc0
VS
27502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Remove leftover references to some of the system headers.
2753
e0127364
VS
27542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2757 read.
2758
20d53541
VS
27592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2762 of strerror.
2763
5a869940
VS
27642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Split out blocklist retrieving from setup.c to
2767 grub-core/osdep/blocklist.c and add windows implementation since
2768 generic version doesn't work on NTFS on Windows due to aggressive
2769 unflushable cache.
2770
c06c7520
VS
27712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2774 files.
2775
8f53bb3f
VS
27762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2779 Cut tailing newline. Remove arbitrary limitation. Always use
2780 grub_util_tchar_to_utf8.
2781
148f1007
VS
27822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2785 * tests/printf_unit_test.c (printf_test): Add %% tests.
2786 Reported by: Paulo Flabiano Smorigo.
2787
af3b06be
VS
27882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2791 implement fsync.
2792
27f9d02e
VS
27932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2796 use nvlist_lookup_string and don't use nvlist_print.
2797
f6a81f0a
VS
27982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2801 closedir to handle filename charset translation.
2802
d7750b32
VS
28032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * include/grub/emu/hostdisk.h: Move file operations to
2806 * include/grub/emu/hostfile.h: ... here.
2807
2859196e
VS
28082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2811 unicode path.
2812
c018c968
VS
28132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2816
7e45abce
VS
28172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2820 and remove export.h.
2821
23934da2
VS
28222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/kern/emu/error.c: Removed.
2825 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2826 explicitly as it's already in libgnu.a.
2827
c11ebcc8
VS
28282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2831 config-util.h include.
2832
70671037
VS
28332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Split emunet into platform-dependent and GRUB-binding parts. Keep
2836 platform-dependent part in kernel for easy access to OS functions.
2837
25ac643a
VS
28382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2841 open/read/write.
2842
69ca5876
VS
28432013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/osdep/windows/emuconsole.c: New file.
2846
d9d68ef0
AB
28472013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2848
2849 * conf/Makefile.extra-dist: Add osdep/*/init.c
2850
58e211cc
VS
28512013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2854
588744d0
VS
28552013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * util/grub-probe.c (probe): Separate different drives in hint-str
2858 by spaces and not newlines.
2859 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2860
44016e52
AB
28612013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2862
2863 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2864 Handle CD-ROMs.
2865
6de9ee86
VS
28662013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Pass-through unknown E820 types. It required reorganisation of mmap
2869 module.
2870
f8f3f155
AB
28712013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2872
2873 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2874
b73249d2
VS
28752013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2878 fseeko.
2879
dac86b18 28802013-10-14 qwertial <qwertial>
2881
2882 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2883
17614b84
JM
28842013-10-14 Jon McCune <jonmccune@google.com>
2885
2886 * docs/grub.texi: Document new signatures possibility.
2887
6de292cb
VS
28882013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2891
84379b61
VS
28922013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2895 missing prototype.
2896 (grub_util_tchar_to_utf8): Likewise.
2897
21d85db1
VS
28982013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2901 * grub-core/kern/emu/main.c: Add missing include.
2902 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2903 Don't call grub_util_init_nls.
2904 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2905 Likewise.
2906
66a1b3ee
VS
29072013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2910 stat.
2911
e19bec17
VS
29122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2915
ee8c1b29
VS
29162013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2919
bb338aaf
VS
29202013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Add a wrapper for fopen. On unix-like systems just pass-through. On
2923 windows use unicode version.
2924
ae5540d3
VS
29252013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Move set_program_name and init_nls to host_init. On windows
2928 fix in this fuction console and argument charset as well.
2929
4cd3c4fe
AB
29302013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2931
2932 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2933 GRUB_ENABLE_CRYPTODISK.
2934
2935 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2936 GRUB_ENABLE_CRYPTODISK.
2937 * util/grub-mkconfig_lib.in: Likewise.
2938
78170f3e
CCZ
29392013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2940
2941 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2942
3414b6c0
MC
29432013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2944
2945 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2946 error when enabling debug.
2947
6d0740e8
IB
29482013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2949
2950 * configure.ac: Use -melf_*_obsd on openbsd.
2951
ff2d4dc4
VS
29522013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2955
eac6ae82
VS
29562013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * include/grub/misc.h: Use gnu_printf rather than printf as format
2959 template since our functions are independent of libc.
2960
ba9baabe
VS
29612013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-setup.c (setup): Move copying of partition table as
2964 futher up as possible to avoid possible overwrite by floppy routines.
2965
29662013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2967
2968 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2969
145e2369
VT
29702013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2971
2972 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2973 * docs/grub.texi: Likewise.
2974
3530bc9d
VS
29752013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2978 it's mostly unused. Move vestiges to the callers.
2979
fb9f59c3
VS
29802013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2983 version of salt and hash. Use grub_snprintf rather than snprintf.
2984
9be1c255
VS
29852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * docs/grub.texi: Fix problem with braces.
2988
ed8c0887
VS
29892013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * conf/Makefile.extra-dist: Fix extra-dist list.
2992 * grub-core/Makefile.core.def: Likewise.
2993
f72ab14e
VS
29942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * docs/grub.texi: Document disk names used on Windows and AROS.
2997
2fe53a22
VS
29982013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3001 with AROS devs.
3002 * grub-core/osdep/aros/hostdisk.c: Likewise.
3003
71c1d67a
VS
30042013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 Avoid including hostfile.h when not necessarry as it pulls
3007 in OS-specific headers which may redefine generic names
3008 like "far".
3009
ad297ec7
VT
30102013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3011
3012 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3013 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3014 scrollbar_bottom_pad
3015 * docs/grub.texi: Likewise.
3016
6e9e5dc9
VT
30172013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3018
3019 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3020
761c718b
VS
30212013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3024
37149a2f
VS
30252013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3028 Removed.
3029 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3030 Made static.
3031
3837a151
VS
30322013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3035 leftover.
3036
caca1c70
VS
30372013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Move OS-specific driver configuration to grub_util_fd_open. This
3040 moves OS-dependent parts from kern/emu/hostdisk.c to
3041 grub-core/osdep/*/hostdisk.c.
3042
f7676b70
VS
30432013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * util/grub-mkimage.c (generate_image): Use size_t instead of
3046 grub_size_t.
3047 * util/grub-mkimagexx.c (locate_sections): Likewise.
3048 (load_image): Likewise.
3049
22f98db2
VS
30502013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3053 size_t.
3054 (grub_util_write_image): Likewise.
3055
b102ce69
VS
30562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3059 get random when no RNG is available.
3060 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3061
acbbe5cb
VS
30622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * include/grub/util/lvm.h: Removed.
3065
2112fb3f
VS
30662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3069 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3070
79f78fbf
VS
30712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3074
c2e6f705
VS
30752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3078
aabe433a
VS
30792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/net/drivers/emu/emunet.c: Move to ..
3082 * grub-core/osdep/linux/emunet.c: ..here.
3083
9a2c903f
VS
30842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * util/ieee1275/ofpath.c: Move to ...
3087 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3088 * grub-core/osdep/basic/ofpath.c: ..here.
3089
4a445f58
VS
30902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 Move password-querying (util-version) routines to grub-core/osdep.
3093
c1ca4244
VS
30942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 Move sleep routines to grub-core/osdep.
3097
672fa55e
VS
30982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Move OS-dependent files to grub-core/osdep and document it.
3101
a5b0365a
VS
31022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3105 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3106
29072e99
VS
31072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3110
f8772ea7
VS
31112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * util/misc.c: Remove leftover inclusion of malloc.h.
3114
a1a315e7
VS
31152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * include/grub/setjmp.h: Remove leftover GRUBOF.
3118
cef86fef
VS
31192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/raid.c: Fold into ...
3122 * util/getroot_linux.c: ... here. Make all functions static.
3123
c4cf25ee
VS
31242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3127 macros to GRUB ones.
3128
53a5f5c2
VT
31292013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3130
3131 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3132 occasional bug. If there are too many boot entries or too low
3133 scrollbar height then we need to use another formula to calculate
3134 the position and size of the scrollbar thumb.
3135
de300af2
VS
31362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
c4cf25ee 3138 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3139
c5827364
VT
31402013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3141
3142 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3143 * docs/grub.texi: Likewise.
3144
dd2ed8b0
VT
31452013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3146
3147 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3148 viewport.
3149
7286c384
VT
31502013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3151
ffdfc1f3
VT
3152 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3153 minimal width calculations.
7286c384 3154
ea547e14
VS
31552013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * docs/grub.texi: Update note on colors on emu console.
3158
b726be76
VS
31592013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3162 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3163 it's FS and not GRUB limitation.
3164
a5f6ade6
VS
31652013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3168
3b0f3aa2
VS
31692013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3172
1db38304
ST
31732013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3174
3175 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3176 kernels by version order.
3177
fb295fc0
VS
31782013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3181
47345010
VS
31822013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Add AROS hostdisk and getroot routines.
3185
bf25f879
VS
31862013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Make cryptodisk and diskfilter probe data retrievable programmatically
3189 and not just printable.
3190
24ca4512
VS
31912013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 Split random retrieving code into separate files.
3194
c7c177f0
VS
31952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3198 R_ARM_V4BX.
3199
d71b45ae
VS
32002013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3203 condition.
3204 * grub-core/tests/fake_input.c: Likewise.
3205 * grub-core/tests/cmdline_cat_test.c: Likewise.
3206
e44b9a83
VS
32072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/video/capture.c: Do not do finalization when .fini
3210 is called as there is explicit capture_end.
3211
4fa60739
VS
32122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3215 changing windows to avoid crash.
3216
17c8bc37
VS
32172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3220
9d4d7977
VS
32212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * po/exclude.pot: Add several strings to exclude.
3224
0caa407c
VS
32252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3228
9ae393da
VS
32292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3232 ./util/grub-gen-asciih.c to exclude list.
3233
498d5033
VS
32342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3237 and don't mark error strings for translation.
3238
7d93298f
VS
32392013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3242 properly in case of missing block size.
3243
b2cae20c
VS
32442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/arm/setjmp.S: Add missing license section.
3247
3896d6b4
VS
32482013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * po/swiss.sed: Add replacement for key names and for term computer.
3251
ebc1da55
VT
32522013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3253
3254 * grub-core/gfxmenu/theme_loader.c: New global options for the
3255 theme background image handling. desktop-image-scale-method,
3256 desktop-image-h-align, desktop-image-v-align.
3257 * grub-core/gfxmenu/view.c: Likewise.
3258 * include/gfxmenu_view.h: Likewise.
3259 * include/bitmap_scale.h: Proportional scale functions introduced.
3260 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3261 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3262 cases of unexpected input variables for scale functions.
3263 * docs/grub.texi: Updated documentation for new options.
3264
c5739143
VS
32652013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3268
be74aeb3
VT
32692013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3270
3271 * grub-core/tests/checksums.h: Corrected due to changes in
3272 bilinear interpolation function.
3273
d999ac72
VT
32742013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3275
3276 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3277 to eliminate artefacts in bilinear interpolation.
3278
2b131610
VS
32792013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/video/readers/tga.c: Support paletted tga.
3282
de6e5ff8
VS
32832013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3286 incorrect cbcr setting when in color mode.
3287
fa31ee9c
VS
32882013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/video/readers/png.c: Support paletted images and clean up
3291 greyscale support.
3292
e84f8188
VS
32932013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3296 usage of wrong table which resulted in mishandling of 4-byte
3297 sequences.
3298
32992013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3300
3301 * grub-core/term/terminfo.c: Add Home and End key sequences.
3302
d72bff09
VS
33032013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3306 Fix formula for computing total number of bytes.
3307
29648c5d
VS
33082013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3311 image processing, fix big-endian and support grayscale.
3312
4a876492
VS
33132013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3316 Correctly will with maximum transparency when using index color.
3317
3ccf16df
VS
33182013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/video/readers/png.c: Support grayscale
3321
33222013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3323
3324 * grub-core/video/readers/jpeg.c: Support grayscale.
3325
3ccf16df 33262013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3327
3328 * grub-core/commands/loadenv.c: Support skipping signature check
3329 and variable names filtering.
3330
30b7f58f
VS
33312013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3334 * grub-core/kern/emu/hostfs.c: Likewise.
3335 * util/getroot_unix.c: Likewise.
3336
bab7b1eb
VS
33372013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3340 Migrate all explicit defines to this new one.
3341
43b1c99d
VS
33422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3345 grub_util_fd_strerror when using grub_util_fd_*.
3346 (grub_util_fd_open_device): Likewise.
3347 (grub_util_biosdisk_read): Likewise.
3348 (grub_util_biosdisk_write): Likewise.
3349 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3350 (grub_util_fd_strerror): Likewise.
3351 (grub_util_fd_sync): Likewise.
3352 (grub_util_fd_close): Likewise.
3353 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3354 (grub_util_fd_close): Likewise.
3355 (grub_util_fd_strerror): Likewise.
3356 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3357 function proto rather than macro.
3358 (grub_util_fd_sync): Likewise.
3359 (grub_util_fd_open): Likewise.
3360 (grub_util_fd_strerror): New proto.
3361
e8fd80bc
VS
33622013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3365 platforms on which it doesn't work.
3366
bf645fda
VS
33672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3370 stat immediately to where it's used.
3371
5177ba14
VS
33722013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/getroot.c (grub_util_check_block_device): Move to ...
3375 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3376 * util/getroot.c (grub_util_check_char_device): Move to ...
3377 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3378
9db826e1
VS
33792013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3382 disk closing logic.
3383
49120085
AB
33842013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3385
3386 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3387
b3328b68
AB
33882013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3389
3390 * docs/grub.texi (File name syntax): Document ZFS filenames
3391 (/volume@snapshot/...).
3392
3fff48ab
VS
33932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3396 Always return full path. Fixes a problem with mkrelpath.
3397
39cfdaa9
PFS
33982013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3399
3400 * util/grub-install.in: Add GPT PReP support.
3401 * util/grub-probe.c (probe): Support GPT partition type.
3402 (main): Support -t gpt_parttype.
3403
7c680e1f 34042013-09-23 Aleš Nesrsta <starous@volny.cz>
3405
3406 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3407
890bdabe
MM
34082013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3409
3410 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3411
9c262ff9
TH
34122013-09-23 Tim Hardeck <thardeck>
3413
3414 * util/grub.d/10_hurd.in: Filter out character for the class.
3415 * util/grub.d/10_kfreebsd.in: Likewise.
3416 * util/grub.d/10_linux.in: Likewise.
3417 * util/grub.d/20_linux_xen.in: Likewise.
3418
d755342a
MC
34192013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3420
3421 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3422 "changed".
3423
68b77707
JT
34242013-09-23 Josh Triplett <josh@joshtriplett.org>
3425
3426 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3427 boot partition.
3428
efa68bfa
VS
34292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3432 doesn't use posix_wrap. Keep literal -fno-builtin however.
3433
d9104204
VS
34342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3437
c248781a 34382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
34392013-09-23 neil
3440
5830df88 3441 * configure.ac: Do not enable -Wmissing-noreturn as its
3442 usefulness is limited and creates problems on some OS notably with
3443 code generated by bison.
3444
34452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
34462013-09-23 neil
3447
3448 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3449 supported by all gcc and when it is, it's already enabled by -Wall.
3450
621bed69
VS
34512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3454 desactivated use of EDID at all.
3455
71764dc8 34562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
34572013-09-23 neil
3458
3459 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3460 video if no text is available.
3461
affce7d4 34622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
34632013-09-23 neil
3464
3465 * configure.ac: Substitute TARGET_RANLIB.
3466
34672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
34682013-09-23 neil
affce7d4
VS
3469
3470 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3471
3472 Based on patches from AROS.
3473
0e8daad0 34742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 34752013-09-23 neil
0e8daad0
VS
3476
3477 * grub-core/Makefile.am: Override STRIP and RANLIB.
3478 * configure.ac: compute TARGET_RANLIB.
3479 * INSTALL: Document TARGET_RANLIB
3480
3481 Based on patches from AROS.
3482
3f7d9c82
VS
34832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3486 that floppies are unpartitioned.
3487
bca8873a
VS
34882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3491 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3492
34932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3496 less nice but more portable.
3497 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3498
a47a78be
VS
34992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3502 for cheat_fd.
3503 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3504 functions.
3505 (grub_cryptodisk_cheat_insert): Likewise.
3506 (grub_cryptodisk_close): Likewise.
3507
e85a5d5c
VS
35082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3511 Use windows path for DEFAULT_DIRECTORY.
3512
dad9fa6b
VS
35132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3516 difference was likely just gcc version, not anything mingw-related.
3517
7e518ca8
VS
35182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Use Winapi on both cygwin and mingw32 to share more code between both.
3521
d68d0157
AB
35222013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3523
3524 * util/grub-install.in: Add --grub-editenv option.
3525 * util/grub-install_header (grub_compress_file): Explicitly check for
3526 plain file to avoid cp error.
3527
775b284d
AB
35282013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3529
3530 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3531 names; fix LVM driver name (lvm, not lv).
3532 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3533 names.
3534
3ff4063d
VS
35352013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3538 files rather than one file with loads of #if's.
3539 * util/getroot.c: Likewise.
3540
287faafe
VS
35412013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3544
d1983764
VS
35452013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3548 GNU/Hurd to the list of checked PRNG.
3549
15ce95c4
VS
35502013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3553
207862dd 35542013-09-21 Ales Nesrsta <starous@volny.cz>
3555
7c680e1f 3556 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3557
63653cfd
VS
35582013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3561 * grub-core/disk/lvm.c: Add LVM UUIDs.
3562 * util/getroot.c: Use LVM UUIDs whenever possible.
3563
f5d3e7ef
AB
35642013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3565
3566 * docs/grub.texi (Networking commands): Add documentation for
3567 network related commands.
3568
53c6b7d6
VS
35692013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3572 to determine if device is handled by devmapper.
3573 (convert_system_partition_to_system_disk): Likewise.
3574 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3575 already done in grub_util_open_dm.
3576
e70d6736
LL
35772013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3578
3579 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3580 Clean up stack manipulation (sync_caches_armv*)
3581
90379808
VS
35822013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * util/lvm.c: Remove since unused. Remove remaining references.
3585
386701a8
VS
35862013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Handle the case of partitioned LVM properly.
3589
3590 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3591 Stop on meeting LVM, mpath or DMRAID.
3592 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3593 (read_device_map): Likewise.
3594 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3595 device is full disk rather than erroring out on LVM and similar cases.
3596
53070787
VS
35972013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3600
1bc783bd
VS
36012013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3604 4K before the end.
3605 Reported by: Leif Lindholm
3606
436ad5c3
PW
36072013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
36082013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3611 codes.
3612
607319c9
CW
36132013-09-18 Colin Watson <cjwatson@ubuntu.com>
3614
3615 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3616 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3617
d404d154
DR
36182013-09-18 Douglas Ray <dougray@cpan.org>
3619
3620 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3621 as secure.
3622
28851ef6
AN
36232013-09-18 Aleš Nesrsta <starous@volny.cz>
3624
3625 * docs/grub.texi: Fix broken link.
3626
897c3bc6
MC
36272013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3628
3629 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3630 to break endless loop.
3631
f1630459
VS
36322013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * util/grub-fstest.c: Fix several printf formats.
3635 * util/grub-mkimage.c: Likewise.
3636 * util/grub-mkimagexx.c: Likewise.
3637 * util/grub-script-check.c: Likewise.
3638
64463dfd
VS
36392013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3642 error.
3643
48972495
VS
36442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3647
5dd5e64b
VS
36482013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3651 removed in current versions cygwin_conv_*.
3652
1c1f31e5
VS
36532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * configure.ac: Disable efiemu runtime on cygwin.
3656
c546a259
VS
36572013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3660 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3661
81690478
VS
36622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3665 error message.
3666
6b87c10a
VS
36672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3670 windows variant.
3671 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3672 data.
3673
8f0baaac
VS
36742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3677 when on x86 and not cygwin.
3678 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3679 -Wl,-melf_x86_64.
3680
b224c266
VS
36812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * configure.ac: Set CPP to build one when checkoing for freetype for
3684 build.
3685
506b336b
VS
36862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3689 [!GRUB_BUILD]: Remove has_argument.
3690
8c8c87b7
VS
36912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3694 Replace with a dummy.
3695
7dc5ca13
VS
36962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * configure.ac: Don't change host_os from mingw to cygwin.
3699
c3302aa5
VS
37002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * configure.ac: Change target_os from windows to cygwin.
3703
7b780018
VS
37042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3707
3708 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3709 (build-grub-gen-asciih): Likewise.
3710 (build-grub-gen-widthspec): Likewise.
3711 * Makefile.util.def (grub-pe2elf): Remove.
3712 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3713 * configure.ac: Separate tests for build.
3714 Move ./build-grub-pe2elf to grub-core.
3715 Fix typo.
3716 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3717 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3718 defined.
3719 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3720 constants.
3721 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3722 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3723 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3724
984cfd8a
VS
37252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3728 mingw32 as well based on grub_util_get_disk_size.
3729 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3730 grub_util_get_fd_size.
3731 (sync): Removed.
3732 (fsync): Moved to ...
3733 * grub-core/kern/emu/misc.c (fsync): ... here.
3734
f82d79c9
VS
37352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * include/grub/mm.h (grub_extend_alloc): Remove.
3738 * grub-core/loader/i386/pc/plan9.c: Use own version of
3739 grub_extend_alloc with appropriate types.
3740
fd7dd66d
VS
37412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3744
43ffba7c
VS
37452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3748
3c7eac44
VS
37492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 Fix dependencies on cygwin.
3752
3753 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3754 dependencies when used and defined.
3755 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3756
bdb5ba47
VS
37572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3760 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3761
ed7fbf43
VS
37622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3765 implementation available to cause compile-time rather than runtime
3766 error.
3767
fc46e9fc
VS
37682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub-fstest.c: Don't check for symlinks on windows.
3771
7f68269a
VS
37722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * INSTALL: Mention unavailability of man pages when cross-compiling.
3775
8ed358e0
VS
37762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3779 and gcry_log_bug.
3780 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3781
fc97214f
VS
37822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * INSTALL: Document cross-compilation.
3785 * acinclude.m4: Determine whether nm support -P and --defined-only.
3786 * configure.ac: Add TARGET_ to all variables pertaining to target
3787 that don't have it yet.
3788 * gentpl.py: Likewise.
3789 * grub-core/Makefile.am: Likewise.
3790 * grub-core/genmod.sh.in: Likewise.
3791 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3792 as well.
3793
ca1fb563
IB
37942013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3795
3796 * configure.ac: Remove -Wempty-body. It's not essential and needs
3797 recent gcc.
3798
0031b229
IB
37992013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3800
3801 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3802 * util/getroot.c: Likewise.
3803
54ea2f44
VS
38042013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/disk/ahci.c: Add needed explicit cast.
3807 * grub-core/lib/backtrace.c: Likewise.
3808 * grub-core/net/ip.c: Likewise.
3809 * grub-core/net/tcp.c: Likewise.
3810 * grub-core/net/udp.c: Likewise.
3811
3c601f8c
VS
38122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3815
1d679dda
VS
38162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * util/import_gcry.py: Add final newline in visibility.h.
3819
00c28dd9
VS
38202013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * conf/Makefile.common: Fix typo.
3823
32af299a
VS
38242013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3827
e733cf52
VS
38282013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * Makefile.am (widthspec.h): Fix typo.
3831 * util/grub-gen-widthspec.c: Likewise.
3832
c6b066f2
VS
38332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 Move ascii.h and widthspec.h generation to a separate build-time-only
3836 tool.
3837
ad1fe3f9 38382013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3839
3840 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3841 Always fill bootdisk info and improve check for NetBSD disklabel.
3842
92a52dd4
VS
38432013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * conf/Makefile.extra-dist: Add util/bin2h.c.
3846 Reported by: floppym.
3847
b2e9d276
VS
38482013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3851
7b966834
VS
38522013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * configure.ac: Disable unifont and starfield if no freetype was found.
3855
d5c1eef1
VS
38562013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3859 on NetBSD and OpenBSD.
3860
66345b50 38612013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3862
3863 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3864
66345b50 38652013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3866
3867 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3868 reduced. Inheritant options are processed during the theme loading.
3869
66345b50 38702013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3871
3872 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3873
369508b3
AS
38742013-08-14 Avik Sil <aviksil@in.ibm.com>
3875
3876 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3877
38782013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3879
3880 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3881 using qemu.
3882
6f27a3f6
PFS
38832013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3884
3885 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3886 remove-potcdate.sed.
3887
c6ed362a
AB
38882013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3889
3890 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3891 unused attribute from pull argument.
3892
5e7d9464
AB
38932013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3894
3895 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3896 memory leak.
3897
dea55e2a
AB
38982013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3899
3900 * util/getroot.c (pull_lvm_by_command): add --separator option
3901 to vgs call to disable padding of output to 10 characters.
3902
f0b94ded
VS
39032013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3906 here ...
3907 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3908 here.
3909
b828fb5d
VS
39102013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3913 length.
3914
7c9d0c39
VS
39152013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3918 full Canadian cross. Tested with build=x86_64, host=arm,
3919 target=ppc-ieee1275.
3920
816719c8
VS
39212013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * configure.ac: Error if no $BUILD_CC could be found.
3924 Reported by: DevHC.
3925
2af2353b
VS
39262013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3929 i386-multiboot.
3930
797abd0a
VS
39312013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3934 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3935
36e87d25
CW
39362013-08-13 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3939 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3940 falling back to the partition device, otherwise a later call to this
3941 function may fail spuriously.
3942 Reported by Axel Beckert. Fixes Debian bug #708614.
3943
273349fe
GS
39442013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3945
3946 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3947
418f86c6
GS
39482013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3949
3950 Prevent shadowing of stdlib's devname(3) on BSD.
3951
3952 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3953 and devlast to diskname and disklast, respectively.
3954
c137aea0
CW
39552013-08-11 Colin Watson <cjwatson@ubuntu.com>
3956
3957 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3958
272dc8df 39592013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3960
3961 * docs/grub.texi: Introduce terminal window position options:
3962 terminal-left: terminal window's left position
3963 terminal-top: terminal window's top position
3964 terminal-width: terminal window's width
3965 terminal-height: terminal window's height
3966 terminal-border: terminal window's border width
3967 * grub-core/gfxmenu/theme-loader.c: Likewise.
3968 * include/grub/gfxmenu_view.h: Likewise.
3969 * po/exlude.pot: Likewise.
3970 * grub-core/gfxmenu/view.c: Likewise.
3971 Also updated minimal window size.
3972 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3973 * grub-core/tests/checksums.h: Update (terminal window height
3974 is adjusted now for low resolution screen)
b4743461 3975
748a4533
VS
39762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3979 position).
3980
fca5f944
VS
39812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * po/exclude.pot: Add few recent exceptions.
3984
4f47d809
VS
39852013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * tests/grub_func_test.in: Add unicode.pf2.
3988
a62ae90c
VS
39892013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3992 standard rather than noral color, in line with other terminals.
3993
4ed41392
VS
39942013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3997 analysis.
3998
3719fbc5
VS
39992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4002
459b1d91
VS
40032013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4006 inappropriate printf.
4007
f4e1ab9d
AB
40082013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4009
4010 * .bzrignore: Remove grub-core/lib/dtc-grub,
4011 grub-core/Makefile.libfdt.def
4012 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4013
fa471bfa
VS
40142013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * include/grub/video.h (grub_video_register): Keep double-linked as
4017 well as single-linked invariants.
4018 Reported by: qwertial.
4019
d65be02b
VS
40202013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/commands/nativedisk.c (get_uuid): Handle
4023 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4024
ba8bc620
VT
40252013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4026
4027 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4028 maximum of NW, N, NE heights instead of N's height and maximum of
4029 NW, W, SW widths instead of W's width. (So the box will be always
4030 correctly drawn)
4031
4f0ad029
GS
40322013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4033
4034 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4035 Fix misuse of variable count.
4036
43d53b72
LL
40372013-07-18 Leif Lindholm <leif.lindholm@arm.com>
40382013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
40392013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4040
43d53b72
LL
4041 New ports to arm-uboot and arm-efi.
4042 Mostly by Leif Lindholm with some additions from
4043 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4044
88f8d146
VS
40452013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4048 and not before.
4049 Reported by: Leon Drugi.
4050
3f42504c
VS
40512013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4054 Reported by: Paulo Flabiano Smorigo.
4055
d110499b
VT
40562013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4057
4058 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4059
a8674ad3
VT
40602013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4061
4062 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4063
286fe4b3
VS
40642013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4067
1bd57aa3
VS
40682013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4071
7a87d69f
AB
40722013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4073
4074 * grub-core/net/bootp.c: Export net_* variables.
4075 * grub-core/net/net.c: Likewise.
4076
b2182299
VS
40772013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4080
795b3dc0
VS
40812013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4084
68714c43
VS
40852013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4088
af211bab
VS
40892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4092
0036f02d
MM
40932013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4094
4095 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4096 <= 0.
4097
6d0ddff3
MM
40982013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4099
4100 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4101 functions.
4102
038016f4
MM
41032013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4104
4105 * grub-core/fs/zfs/zfs_lz4.c: New file.
4106 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4107
776bdce2
MM
41082013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4109
4110 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4111
c71dbd40
MM
41122013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4113
4114 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4115 (check_pool_label): Likewise.
4116 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4117
41182013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4119
4120 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4121
8e67b50f
AB
41222013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4123
4124 * docs/grub.texi (Commands): Document postition parameters
4125 for menuentry command.
4126
f5ae3717
AB
41272013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4128
4129 * util/grub-mknetdir.in: Remove stray line from help output.
4130
9c28da2a
VS
41312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Remove early sm712 init as there is no reason for it (the "watchdog"
4134 effect was due to wrong GPIO map).
4135
139072b8
VS
41362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/commands/pcidump.c: Remove static variables.
4139
c6a61bda
VS
41402013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4143
51369614
VS
41442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * configure.ac: Move delimiter after the infos.
4147
efa8640a
VS
41482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4151
6f80a7b2
VS
41522013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4155 not filling whole 8x16 space.
4156
a2371e19
VS
41572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4160
64fce2d8
VS
41612013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * configure.ac: Indicate which liblzma is used if any.
4164
eb272d84
PW
41652013-06-21 Paul Wise <pabs3@bonedaddy.net>
41662013-06-21 Craig Sanders <savannah@taz.net.au>
4167
4168 * util/grub-reboot.in: Document submenu usage.
4169
a9e5abee
CW
41702013-06-25 Colin Watson <cjwatson@ubuntu.com>
4171
4172 * .bzrignore: Update with a number of new test-related files.
4173
e639c204
CW
41742013-06-25 Colin Watson <cjwatson@ubuntu.com>
4175
4176 * util/grub-script-check.c: Fail on scripts containing no
4177 commands, to guard against corrupted grub-mkconfig setups that
4178 produce no useful output.
4179 * tests/grub_script_no_commands.in: New test.
4180 * Makefile.util.def (grub_script_no_commands): Add.
4181 Reported by Hans Putter. Fixes Debian bug #713886.
4182
a4c89b17
AB
41832013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4184
4185 * grub-core/disk/diskfilter.c: Forgot to remove comment
4186 from previous commit.
4187
5b06b53c
AB
41882013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4189
4190 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4191 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4192
702da5c9
AB
41932013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4194
4195 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4196
aa62a5b7
AB
41972013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4198
4199 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4200 rescan diskfilter devices until nothing new is found.
4201
4aa237c8
VS
42022013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4205
93d8479b
VS
42062013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Don't try to detect cbfs on *-emu.
4209
837222cc
VS
42102013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4213
99c971af
VS
42142013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 Add support for processed coreboot payload chainloading.
4217
e6930a45
VS
42182013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 Enable coreboot information commands even when not loaded as
4221 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4222
5027af38
VS
42232013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Support for cbfs. Also factor out the part which is common
4226 for all archives to a separate module. This splits tar from cpio
4227 as they are very different but keeps cpio, cpio_be, odc and newc
4228 together since they're very similar.
4229
a5b55c4b
DM
42302013-06-15 David Michael <fedora.dm0@gmail.com>
4231
4232 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4233 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4234
0301a8b3
VS
42352013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * tests/grub_script_eval.in: Really add the eval test.
4238
3d84cb17
VS
42392013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Move flavour-specific parts out of common cpio.c file and
4242 rename remaining to cpio_common.c
4243
593e430c
AB
42442013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4245
4246 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4247 off new function grub_script_execute_new_scope. Change callers to use
4248 either of them as appropriate.
4249 * grub-core/commands/eval.c: New command eval.
4250 * docs/grub.texi (Commands): Document it.
4251
63c29849
AB
42522013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4253
4254 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4255 to fetch values when listing.
4256
cc284112
AB
42572013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4258
4259 Fix make dist on non-pc.
4260
42612013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4262
4263 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4264 without a device name.
4265
69544d1e
VS
42662013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Remove enable_executable_check as it's not needed anymore.
4269 Reported by: dougray.
4270
96dbe648
VS
42712013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4274 ambigouos RAID before discovering RAIDs on top of it.
4275 Reported by: bodom.
4276
ccfc0bdb
VS
42772013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Fix typo (failback vs fallback).
4280
f2587088
AB
42812013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4282
4283 * util/grub.d/30_os-prober.in: Add support for probing EFI
4284 System Partition (as of os-prober 1.58).
4285
cec5cf0c
VS
42862013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * configure.ac: Add yet another path to unifont. For parabola.
4289
e40b4596
JT
42902013-05-30 Josh Triplett <josh@joshtriplett.org>
4291
4292 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4293 handling to copy the killed characters to the kill buffer as
4294 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4295 stored as char. Eliminates UCS4 truncation and corruption
4296 observed when killing characters with Ctrl-u and yanking them
4297 back with Ctrl-y.
4298
fc4c4fdd
VS
42992013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 Detach optional parts of gfxterm and integrate in with coreboot init.
4302
6570b205
VS
43032013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 Move blit and fill dispatcher to appropriate files to decrease export
4306 and relocation overhead.
4307
b8323067
VS
43082013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4311 functions.
4312
3cc1878f
VS
43132013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/Makefile.am: Fix compilation problem with some
4316 automake versions.
4317
4b80e43c
VS
43182013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4321
57e0c20c
VS
43222013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4325 automake versions.
4326
4fd42c53
VS
43272013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4330 SSDT.
4331
1e908b34
RS
43322013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4333
4334 * grub-core/partmap/dfly.c: New partition map.
4335
1359e474
VS
43362013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4339 checking.
4340 Reported by: Francesco Lavra.
4341
17806392
AB
43422013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4343
4344 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4345 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4346 false conditions.
4347 * conf/Makefile.common: define dist_grubconf_DATA
4348
cdce14fa
VS
43492013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Progressively skip menu elements on small terminals rather
4352 than crashing.
4353
c8d6cc3c
VS
43542013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4357 to avoid losing last column.
4358
a73b31ce
VS
43592013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * po/exclude.pot: Add missing string "%C".
4362
1202c764
VS
43632013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4366 after the test.
4367
50268344
VS
43682013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/grub-install.in: Gettextize "Not found" message.
4371
62b15edf
VS
43722013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Fix distfiles list.
4375 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4376
43772013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4378
4379 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4380 present.
4381 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4382
709ad61b
VS
43832013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4386
d128901a
VS
43872013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4390 attribute since structure is not necessarily aligned.
4391
34b22f5c
AB
43922013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4393
4394 * docs/grub.texi (Device syntax): Clarify description of network
4395 drives.
4396
0f7e980b
VS
43972013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4400 for vasprintf presence.
4401
30b03dc2
VS
44022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * util/grub-install.in: Handle efibootmgr presence check.
4405 Reported by: Leif Lindholm.
4406
0dc11c08
VS
44072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4410 new strings to translate.
4411
f8024c3f
VS
44122013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4415 yet another string (pun intended) to translate.
4416
b4c1da62
VS
44172013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * po/POTFILES-shell.in: Autogenerate it.
4420
0ef7478b
VS
44212013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4424
8200fa15
VS
44252013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4428 misnomer.
4429
091945b2
AB
44302013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4431
4432 * docs/grub.texi (Network): Add description of net_default_interface,
4433 net_default_ip and net_default_mac. Rewrite variables description
4434 to emphasize that they are per-interface.
4435
0e7b2e32
VS
44362013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 New test: cmdline and cat.
4439
16f7c8f6
VS
44402013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/commands/cat.c: Show UTF-8 characters.
4443
3e912fda
VS
44442013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * conf/Makefile.common: Poison float and double on non-emu.
4447
ee0220bc
VS
44482013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * configure.ac: Don't disable extended registers on emu.
4451
89e0240c
VS
44522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * configure.ac: Don't use extended registers on x86_64.
4455 Reported by: Peter Jones.
4456
e56d9637
VS
44572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/term/efi/console.c: Fix compile error.
4460
8098f655
VS
44612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Compressed HFS+ support.
4464
16940e07
VS
44652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4468 pixel".
4469
c5dbc13d
VS
44702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 Menu color test.
4473
011f8ae8
VS
44742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/tests/setjmp_test.c: New test.
4477
2aa072d7
VS
44782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 New variables 'net_default_*' to determine MAC/IP of default interface.
4481
43fe02cb
VS
44822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * tests/gettext_strings_test.in: A test to check for strings not
4485 marked for translation.
4486
bed06142
VS
44872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * autogen.sh: Exclude unused libgcrypt files from translation.
4490
fb2666b5
VS
44912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Simplify few strings.
4494
d22840ec
VS
44952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 Mark few forgotten strings for translation.
4498
e34092fd
VS
44992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4502 rather than printf.
4503
47cf82b4
VS
45042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4507 rather than printf.
4508 * grub-core/video/readers/tga.c: Likewise.
4509
1eed0e6e
VS
45102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * tests/priority_queue_unit_test.cc: New test.
4513
c5b7697b
VS
45142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4517 than printf.
4518
5945c2f8
AB
45192013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4520
4521 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4522 variable for one time boot menu entry.
4523
fa292343
B
45242013-05-05 Bean <bean123ch@gmail.com>
4525
4526 * grub-core/commands/testspeed.c: New command testspeed.
4527
310d4214
VS
45282013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Factor-out human-size printing.
4531
85002bf3
VS
45322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Agglomerate more mallocs to speed-up gfxterm.
4535
22b06e96
VS
45362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Speed-up gfxterm by slightly agglomerating mallocs.
4539
b7c036bc
VS
45402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 More video checks.
4543
92323d1f
VS
45442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 Speed-up gfxterm by saving intermediate results in index+alpha
4547 format.
4548
0fb356a3
VS
45492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4552 test.
4553
44dea3f9
VS
45542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4557 line of timeout as it may contain the rest of long line.
4558
14af86e4
VS
45592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/normal/main.c: Fix freed memory dereference.
4562
03f7c8c3
VS
45632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 Fix several memory leaks.
4566
c686014c
VS
45672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4570
0788a695
VS
45712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4574
daf01d61
VS
45752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Fix test -a and -o precedence.
4578 Reported by: adrian15.
4579
82ae74d7
VS
45802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4583
8cec7bd4
AB
45842013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4585
4586 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4587 and add it as source to functional_test module.
4588
aa73d688
VS
45892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4592
c104b6f9
VS
45932013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 New series of tests for gfxterm and gfxmenu.
4596
7391c4d5
VS
45972013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4600 the theme path relative to $prefix/themes.
4601
cff50118
VS
46022013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4605 Fix order bug.
4606 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4607
7c332bdc
VS
46082013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4611 descriptor.
4612
a4f9a5ff
VS
46132013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4616 grub_gfxmenu_timeout_notifications.
4617 (grub_gfxmenu_view_destroy): Likewise.
4618
b5a2114d
VS
46192013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4622
a8905e8a
VS
46232013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 Several fixes to ieee1275 and big-endian video.
4626
813c1622
VS
46272013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Add missing exports on mips.
4630
3f3e7326
VS
46312013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4634 if no unifont is found.
4635 Restore original keyboard.
4636
095accd1
VS
46372013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4640 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4641
50361660
VS
46422013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 First automated video test (running videotest and comparing results)
4645
cd0f6eec
VS
46462013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4649 instead of 2 to have full RGB/CMY test pattern.
4650
3f9634e5
VS
46512013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Add few more tests.
4654
583e5b64
VS
46552013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4658 ARCS. All users updated.
4659
aa7bcb99
VS
46602013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4663
95ef1a54
VS
46642013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4667
46546fc5
VS
46682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4671 Reported by: qwertial.
4672
3476e0ef
VT
46732013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4674
4675 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4676 with syntax "XXX deg"/"XXX °".
4677
96f33fed
VS
46782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Make PCI init in i386-qemu port more robust.
4681
46822013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4683
4684 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4685 cached view is reused.
4686 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4687 open boot menus.
4688
c53b4e67
VS
46892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 Unify more code in grub-install_header.
4692
f7457fb2
VS
46932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Add few new tests.
4696
e2f27a8c
VS
46972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 Enforce disabling of firmware disk drivers when native drivers kick in.
4700
ef9d8cd5
VS
47012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/commands/nativedisk.c: Customize the list of modules on
4704 platform. Don't try to search for disks already using native drivers.
4705
f7bf6c31
VS
47062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4709 platforms.
4710
bdc4add8
VS
47112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4714 handling of variables containing backslash.
4715
e9e46c9a
VS
47162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4719 dereference.
4720 Reported by: qwertial.
4721
0e90dee8
VS
47222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4725
e0aacf24
VS
47262013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4729 dereference.
4730 Reported by: qwertial.
4731
3c0003c3
VS
47322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4735
adb7d667
VS
47362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4739
7cd0df84
VS
47402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 New command `nativedisk'.
4743
02adbb93
VS
47442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4747 * grub-core/loader/i386/bsd.c: Likewise.
4748
9fb0fd4f
VS
47492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4752
bd69257a
VS
47532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4756 grub_get_unaligned16 rather than shifts.
4757
178c2764
VS
47582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/kern/file.c: Use const char * rather than casting to
4761 non-const.
4762
eadfad24
VS
47632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/commands/probe.c: Add missing grub_device_close.
4766
9f73ebd4
VS
47672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * INSTALL: Document linguas.sh.
4770
965fa829
VS
47712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 Remove POTFILES.in and regenerate it in autogen.sh.
4774
d417ddc4
VS
47752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Move --directory/--override-directorry to grub-install_header and unify.
4778
f97ec546
VS
47792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/term/morse.c: Macroify dih and dah.
4782
b2d7470c
PFS
47832013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4784
4785 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4786
141e2a78
VS
47872013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/term/ns8250.c: Systematically probe ports by writing
4790 to SR before using them.
4791
1dd70ebd
PFS
47922013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4793
4794 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4795 disks.
4796 (check_sas): Get sas_adress info.
4797
c796a107
VS
47982013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4801 ports.
4802
43168646
LD
48032013-04-27 Leon Drugi <eyak>
4804
4805 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4806 BSS clearing.
4807
e7b8fd08
VS
48082013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Core compression test.
4811
17f9fd29
VS
48122013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Implement grub_machine_get_bootlocation for ARC.
4815
dc2a6c8b
VS
48162013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 Improve AHCI detection and command issuing.
4819
f25a2ba6
VS
48202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Fix pseries test.
4823
a6393224
VS
48242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Make 'make check' work on emu.
4827
db99fbe8
VS
48282013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 Replace libcurses with our own vt100 handling for the ease of testing
4831 and decreasing prerequisites.
4832
b24ca7cd
VS
48332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4836
63314aa4
VS
48372013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4840 compile when not needed.
4841
c1b00fff
VS
48422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * tests/pseries_test.in: New test.
4845
f93e89ef
VS
48462013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 Add test to check that different boot mediums work.
4849
c4b456d3
VS
48502013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4853 ofw limited ISO support.
4854
5fe67f39
VS
48552013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * configure.ac: Fix loongson conditional.
4858
7f63a64f
VS
48592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Enable mipsel-arc.
4862
b04b5990
VS
48632013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 Add serial on ARC platform.
4866
88d2f302
VS
48672013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4870 commit.
4871
86eb23bc
VS
48722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * tests/partmap_test.in: Add missing double semicolon.
4875
eec3bb75
VS
48762013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/grub-mkrescue.in: Fix loongson filename.
4879
e0810df3
VS
48802013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * util/grub-mkrescue.in: Move all files that don't have a location
4883 set in stone under /boot/grub. Use ISO hard links rather than copies
4884 to save some space.
4885
65a6b30b
VS
48862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4889 bogus SLOF values.
4890
6aff0107
VS
48912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Make check work on mips-arc.
4894
5e013e56
VS
48952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-mkrescue.in: Alias sashARCS as sash.
4898
d1989e2e
VS
48992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4902 it's serial.
4903
1a25e72c
VS
49042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * util/grub-install.in: Fix target fo qemu_mips.
4907 Fix extension on EFI.
4908
a59a9826
VS
49092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4912 in front of chosen entry to mark it even if highlighting is lost.
4913
1a40f80c
VS
49142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4917 gfxpayload=keep if cbfb is active.
4918
e343549c
VS
49192013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4922
45fbd9a2
VS
49232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Add missing video ids to coreboot and ieee1275 video.
4926
ab1440bd
VS
49272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-mkrescue.in: Add mips-arc support.
4930
cdeb8324
VS
49312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4934
8528c879
VS
49352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Move mips-arc link address. Previous link address was chosen
4938 in belief that RAM on SGI platforms grows down while in fact it
4939 grows up from an unusual base.
4940
17fca573
VS
49412013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4944 Fix a type which prevented CD-ROM and floppy boot.
4945
d178788e
VS
49462013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 Support coreboot framebuffer.
4949
4950 * grub-core/video/i386/coreboot/cbfb.c: New file.
4951
fe4c3e7e
VS
49522013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4955 detecting too small regions.
4956
ec2dd179
VS
49572013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4960
872dac83
VS
49612013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4964 Remove dprintf.
4965 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4966
90ec4b7f
VS
49672013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4970 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4971 * grub-core/loader/powerpc/ieee1275/linux.c
4972 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4973
f32555dd
VS
49742013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4977 Look for /boot-rom as well as /rom/boot-rom.
4978
38649799
VS
49792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4982 handling when creating text_layer failed.
4983 * grub-core/video/video.c (grub_video_create_render_target):
4984 Set result to 0 on error.
4985 (grub_video_delete_render_target): Do not dereference NULL.
4986
aeace7f7
VS
49872013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4990 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4991 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4992 (grub_linux_load64): Mask out 2 high bits.
4993
4eafa175
AB
49942013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4995
4996 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4997 more place.
4998
daaa64bd
VS
49992013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Add support for pseries and other bootinfo machines to grub-mkrescue.
5002
5003 Tested by: Paulo Flabiano Smorigo.
5004
d0d2daa6
VS
50052013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * util/grub-mkrescue.in: Add GPT for EFI boot.
5008
b193e100
VS
50092013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5012 It improves performance in qemu.
5013
a0f8f3ac
VS
50142013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * build-aux/snippet: Add missing gnulib files.
5017
284df0e2
AB
50182013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5019
5020 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5021
740201f3
AB
50222013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5023
5024 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5025
a7e03923
PJ
50262013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
50272013-04-15 Peter Jones <pjones@redhat.com>
5028
5029 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5030 sectors.
5031 Based on patch by Peter Jones.
5032
25fc51a8
VS
50332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 Fix DMRAID partition handling.
5036
88017d47
VS
50372013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * tests/grub_cmd_date.in: Skip on sparc64.
5040
fa7d914e
VS
50412013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5044 firmware error messages.
5045
cbe57a48
VS
50462013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5049 source and destination differ.
5050
21aecce0
VS
50512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5054 detection.
5055
25092d29
VS
50562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5059 match config-util.h to avoid warnings and increase compatibility.
5060
79451522 50612013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 50622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5063
5064 Add option to compress files on install/image creation.
5065
78b7d77b
VS
50662013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * docs/grub-dev.texi: Rearrange menu to match the section order.
5069 Reported by: Bryan Hundven.
5070
cc2fa5ec
VS
50712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5074
b49fe879
VS
50752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 Move GRUB out of system area when using xorriso 1.2.9 or later.
5078
5351da81
VS
50792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * tests/grub_cmd_date.in: Add missing exit 1.
5082
c9d586ea
VS
50832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * tests/partmap_test.in: Skip on sparc64.
5086
3f729741
VS
50872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Support grub-shell on sparc64.
5090
8ca86b3a
VS
50912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Support mkrescue on sparc64.
5094
aa1af9bb
VS
50952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5098 Needed on OpenBIOS due to incomplete device tree.
5099
ac4fea79
VS
51002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5103 would be otherwise excluded.
5104
51052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5106
5107 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5108 Inline name defines used only once.
5109
fe22b071
VS
51102013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Fix memory leaks in ofnet.
5113 Reported by: Francesco Lavra.
5114
9d21381b
VS
51152013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * docs/man/grub-glue-efi.h2m: Add missing file.
5118
07aec23c
VS
51192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5122
67ab8353
VS
51232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Better support Apple Intel Macs on CD.
5126
ba44ca6d
VS
51272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Replace stpcpy with grub_stpcpy in tools.
5130
bbdd6305
VS
51312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Handle Japanese special keys.
5134 Reported by: Hiroyuki YAMAMORI.
5135 Codes supplied by: Hiroyuki YAMAMORI.
5136
8573d302
VS
51372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * util/grub-mkimage.c: Document memdisk implying --prefix.
5140
d70dbab7
VS
51412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5144 much we can do about it anyway.
5145
51a4c3e3
AN
51462013-04-12 Aleš Nesrsta <starous@volny.cz>
5147
5148 Fix handling of split transfers.
5149
92c8f58d
VS
51502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/net/http.c: Fix bad free.
5153
b7d17a49
VS
51542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5157 than buffer size.
5158
a3d566d4
VS
51592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5162
a936af56
VS
51632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * tests/util/grub-shell.in: Fix it on powerpc.
5166
51212234
VS
51672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 Turn off QEMU ACPI-way since new releases don't have shutdown port
5170 anymore.
5171
a21eec9e
VS
51722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * docs/grub.texi: Update coreboot status info.
5175
e3734b84
VS
51762013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * tests/grub_cmd_date.in: New test for datetime.
5179
f9d40055
VS
51802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * tests/partmap_test.in: Fix missing qemudisk setting.
5183
dbc56d8f
VS
51842013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 Support i386-ieee1275 grub-mkrescue and make check on it.
5187
a79b8a15
VS
51882013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5191 feature for it.
5192
48f39bb4
VS
51932013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5196 GRUB_CMDLINE_XEN_DEFAULT.
5197 Reported by: Marc Warne (GigaTux) <gigatux>
5198
053cfcdd
VS
51992013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 Import new gnulib.
5202
93cd84df
VS
52032013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 Use ACPI shutdown intests as traditional port was removed.
5206
f4b1fa4f
AB
52072013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5208
5209 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5210 distinction.
5211
49818a59
VS
52122013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5215 Fix few warining messages and leaks while on it.
5216
9277a306
AB
52172013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5218
5219 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5220 links under grub-core/lib/libgcrypt-grub/mpi.
5221
d5e2a158
VS
52222013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Fix ia64-efi image generation on big-endian machines. Deduplicate
5225 some code while on it.
5226 Reported by: Leif Lindholm.
5227
18866643
AB
52282013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5229
5230 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5231 as extra_dist.
5232
ca53deb8
AB
52332013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5234
5235 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5236
d4c4b8e1
BH
52372013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5238
5239 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5240 texinfo-5.1.
5241
47043f95
VS
52422013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/normal/term.c: Few more fixes for menu entry editor
5245 rendering.
5246 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5247
a3216068
VS
52482013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/normal/term.c: Few more fixes for menu entry editor
5251 rendering.
5252 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5253
21026747
AB
52542013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5255
5256 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5257 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5258
59624ca8
AB
52592013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5260
5261 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5262 instead of hardcoding grub.mo.
5263
1f44478c
FN
52642013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5265
5266 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5267
eeada7b1
VS
52682013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5271 grub-core/disk/geli.c.
5272
132867de
VS
52732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * util/grub-mkfont.c: Prefer enum to #define.
5276
de73de17
VS
52772013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5280
1865baa7
VS
52812013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5284
ce7d92a9
VS
52852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5288
52eab656
VS
52892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5292
98b23b95
VS
52932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * include/grub/bsdlabel.h: Use enums.
5296
0467a5dd
VS
52972013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Move GRUB_CHAR_BIT to types.h.
5300
16cc9f03
AB
53012013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5302
5303 * docs/grub.texi: Document more user commands.
5304
3152aecb
AB
53052013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5306
5307 * docs/grub.texi: Document menuentry --id option.
5308
c506fc30
FL
53092013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5310
5311 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5312
aa428238
VS
53132013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 Unify file copying setup across different install scripts. Add
5316 options for performing partial install.
5317
efe0cdda
PJ
53182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
53192013-04-04 Peter Jones <pjones@redhat.com>
5320
5321 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5322
f75835bd
VS
53232013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Use TSC as a possible time source on i386-ieee1275.
5326
2cd5ce6c
VS
53272013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5330 Init err.
5331
c9625630
VS
53322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * util/grub-setup.c (setup): Handle some corner cases.
5335
be008941
VS
53362013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5339
1a78d573
VS
53402013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/commands/verify.c: Save verified file to avoid it being
5343 tampered with after verification was done.
5344
db8ff59f
VS
53452013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5348 reported width by one to compensate for curesor algorithm problem.
5349
91bf46b1
VS
53502013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 Fix screen corruption in menu entry editor and simplify the code
5353 flow while on it.
5354
a7b1d693
AB
53552013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5356
5357 * util/grub-mount.c (fuse_init): Return error if fuse_main
5358 failed.
5359
31df9ad8
FL
53602013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5361
5362 * include/grub/elf.h: Add missing ARM relocation codes and fix
5363 existing ones.
5364
07f392eb
VT
53652013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5366
5367 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5368
9efd73ec 53692013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
53702013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5373 into account when calculating radius.
5374
53752013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5376
5377 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5378
4985ddaa
VT
53792013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5380
5381 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5382
8c3635ff
RS
53832013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5384
5385 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5386 missing closing bracket.
5387
74a35e69
RS
53882013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5389
5390 * INSTALL: Mention xorriso requirement.
5391
40f1c000
AB
53922013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5393
5394 * grub-core/commands/verify.c: Fix hash algorithms values for
5395 the first three hashes - they start with 1, not with 0.
5396
e75fdee4
VS
53972013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5400 Try terminating EFI services several times due to quirks in some
5401 implementations.
5402
33028f4c
CW
54032013-03-26 Colin Watson <cjwatson@ubuntu.com>
5404
5405 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5406 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5407 BankField extended opcodes.
5408 (get_sleep_type): Add minimal scope handling (just enough to
5409 handle setting the scope to the root path).
5410 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5411 * include/grub/acpi.h: Add enumeration values for Event, Device,
5412 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5413
33871a10
VT
54142013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5415
5416 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5417 memory leak.
5418
8990963a
VS
54192013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/disk/ahci.c: Give more time for AHCI request.
5422
daae8f9e
VS
54232013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5426 command.
5427
6a7fb94b
VS
54282013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Replace the region at 0 from coreboot tables to available in BSD
5431 memory map.
5432
ff99babd
VS
54332013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5436 non-BIOS platforms.
5437
30d6b1b2
VS
54382013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5441 platforms.
5442
6ccd0b31
VS
54432013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5446 handling of multi-device filesystems.
5447
23c9cc04
VS
54482013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5451 platforms.
5452
ce50dbd7
VS
54532013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 Add new 'proc' filesystem framework and put luks_script into it.
5456
d975e8d5
VS
54572013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5460 and qemu.
5461
e73ba5e8
VS
54622013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5465
92750e4c
VS
54662013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Add ability to generate newc additions on runtime.
5469
0ec45a68
VS
54702013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5473 description.
5474
320abd43
VS
54752013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * po/POTFILES.in: Regenerate.
5478
d7a6506e
VS
54792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/commands/verify.c (hashes): Add several hashes
5482 from the spec.
5483
8fe05def
VS
54842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 Slight improve in USB-related boot-time checkpoints.
5487
524e2766
VS
54882013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/commands/boottime.c: Fix copyright header.
5491
cc19857a
VS
54922013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5495 coreboot tables content. Support for cbmemc.
5496
ef8810e9
VS
54972013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 Fix a conflict between ports structures with 2 controllers of
5500 same kind.
5501
e9dabdfa
VS
55022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * include/grub/boottime.h: Add missing file.
5505
f6df57d2
VS
55062013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Initialize USB ports in parallel to speed-up boot.
5509
d745dda7
VS
55102013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Fix USB devices not being detected when requested
5513 due to delayed attach.
5514
e5a2dd7b
VS
55152013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5516
e744219b
VS
5517 Implement boot time analysis framework.
5518
55192013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5522 descriptor to just receive it as argument rather than endpoint
5523 address.
5524
5dd6f587
VS
55252013-03-19 Aleš Nesrsta <starous@volny.cz>
5526
5527 Better estimate the maximum USB transfer size.
5528
2f1071d5
VS
55292013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Resend a packet if we got the wrong buffer in status.
5532
46ecfc49
VS
55332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5536 multiplication rather than division.
5537
ea811130
VS
55382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5541 than divisions.
5542
d2789cf0
VS
55432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5546 operations to have intended shifts and not divisions.
5547
a9c94590
VS
55482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5551 intended shifts rather than division.
5552
84cfe81b
VS
55532013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5556 computation for some years before epoch. Avode confusing division
5557 while on it.
5558
21344ef6
VS
55592013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/video/i386/pc/vbe.c
5562 (grub_video_vbe_print_adapter_specific_info): Replace division by
5563 shifts.
5564
3f2b4d1a
VS
55652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 Adjust types in gdb module to have intended unsigned shifts rather than
5568 signed divisions.
5569
3dac5878
VS
55702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5573 maximum size is 4G - 1 on hfs
5574
5341c0fb
VS
55752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5578
fc3ff2a2
VS
55792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5582 function.
5583
81455e8e
AB
55842013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5585
5586 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5587 causing gcc error with gcc 4.7.1.
5588
efd4f117
NZ
55892013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5590
5591 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5592 dereference null pointer. While the code is technically correct, gcc
5593 may eliminate a null check if pointer is already dereferenced.
5594
e11645f4
NZ
55952013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5596
5597 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5598 OOM check.
5599 * grub-core/normal/term.c (read_terminal_list): Likewise.
5600
77468368
VS
56012013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 Lift up core size limits on some platforms. Fix potential memory
5604 corruption with big core on small memory systems. Document remaining
5605 limits.
5606
f6b58fe5
VS
56072013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5610 gotoxy to 0,0.
5611
19ce697d
VS
56122013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Remove all trampoline support. Add -Wtrampolines when
5615 present. Remove symbols used for trampolines to make
5616 link fail if trampolines are present.
5617
73b5d90f
VS
56182013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5621 append out of its parent.
5622
cb758e96
VS
56232013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5626 parent.
5627
3188131f
VS
56282013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5631 all vars to a macro. All users updated.
5632
e42b2514
VS
56332013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5636 i386-ieee1275.
5637
83e1a1a1
VS
56382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5641
1d5a880f
VS
56422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5645
6e4146c4
VS
56462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Move to more hookless approach in IEEE1275 devices handling.
5649
99fcda8a
VS
56502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/kern/term.c (grub_term_normal_color),
5653 (grub_term_highlight_color): Add back lost defaults.
5654
73bf57e2
VS
56552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Make elfload not use hooks. Opt for flags and iterators instead.
5658
7f8c105f
VS
56592013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5662 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5663
396d4091
VS
56642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5667
56682013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5671 hook pass-through parameter. All users updated and unnested.
5672
74a27421
VS
56732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5676 out of its parent.
5677
b46d4213
VS
56782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/fs/hfs.c: Remove nested functions.
5681
e114c3cc
VS
56822013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5685 the context through.
5686 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5687
f9b7d780
VS
56882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * util/grub-editenv.c (list_variables): Move print_var out of its
5691 parent.
5692
ca9c2608
VS
56932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5696 function.
5697
5d983f5f
VS
56982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/gentrigtables.c: Make tables const.
5701
3056d3e7
VS
57022013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 Remove nested functions from videoinfo iterators.
5705
e2303774
VS
57062013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5709 for 64-bit platforms.
5710
f42e3a2f
VS
57112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5714 a FOR_CHILDREN macro.
5715
be174e5e
VS
57162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5719 platform from firmware path.
5720
0789b672
VS
57212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 Enable linux16 on non-BIOS systems for i.a. memtest.
5724
5725 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5726 correctly.
5727 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5728
005a9c32
VS
57292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5732 Fix end of table condition.
5733
ff2b3cd9
VS
57342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5737 out of its parent.
5738
4fc40ff8
VS
57392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/jfs.c: Remove nested functions.
5742
be42d97a
VS
57432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/fs/minix.c: Remove nested functions.
5746
99373ce4
VS
57472013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/fs/iso9660.c: Remove nested functions.
5750
5aec2afe
VS
57512013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5754 of parent function.
5755
6c69e691
VS
57562013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * util/grub-fstest.c: Remove nested functions.
5759
43c91882
VS
57602013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/loader/machoXX.c: Remove nested functions.
5763
4eb8b756
CW
57642013-02-27 Colin Watson <cjwatson@ubuntu.com>
5765
5766 Remove nested functions from disk and file read hooks.
5767
5768 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5769 (struct grub_disk): Add read_hook_data member.
5770 * include/grub/file.h (struct grub_file): Likewise.
5771 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5772 argument.
5773
5774 Update all callers.
5775
df6da5a5
AB
57762012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5777
5778 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5779 Fix off by one error in enumerating extended partitions.
5780
21aecde5
AB
57812013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5782
5783 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5784 memory leak if device name is not found.
5785
f1a19118
AB
57862013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5787
5788 * grub-core/normal/menu_entry.c (update_screen): remove
5789 unused variable `off' which caused scroll down arrow to be always shown.
5790
958bfd20
AB
57912013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5792
5793 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5794 access to unallocated memory.
5795
b7b78edb
AB
57962013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5797
5798 * Makefile.util.def: Add partmap/msdos.c to common library.
5799 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5800 * grub-core/disk/ldm.c: Check for existence of
5801 GRUB_PC_PARTITION_TYPE_LDM.
5802
28d468d6
VS
58032013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5806 sizes and display sector size.
5807
d55ffb02
VS
58082013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Implement new command cmosdump.
5811
b5ea6ce0
VS
58122013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5813
5814 Support Openfirmware disks with non-512B sectors.
5815
5816 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5817 size of the disk.
5818 * (grub_ofdisk_get_block_size): New function.
5819 * (grub_ofdisk_prepare): Use the correct block size.
5820 * (grub_ofdisk_read): Likewise.
5821 * (grub_ofdisk_write): Likewise.
5822 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5823 New proto.
5824
cc0e476f
VS
58252013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5828
c5dbdc33
VS
58292013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5832 on first error.
5833
3f078c0f
VS
58342013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5837 freeing it.
5838
66a93674
VS
58392013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Implement USBDebug (full USB stack variant).
5842
c9f0c134
VS
58432013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5846 unless they have unexpected values.
5847
cfe1288b
VS
58482013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5851 grub_print_error.
5852
e42b9969
VS
58532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5856 zero-out of port structure.
5857
cf94fd62
VS
58582013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5861 of extended attributes.
5862
f81ef4b5
AB
58632013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5864
5865 * util/grub-install.in: change misleading comment about
5866 device.map creation
5867
af18fdb4
VS
58682013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5871 when menu highlight color isn't set.
5872
08bcec50
M
58732013-01-27 C. Masloch <pushbx@38.de>
5874
5875 Improve FreeDOS direct loading support compatibility.
5876
5877 * include/grub/i386/relocator.h (grub_relocator16_state):
5878 New member ebp.
5879 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5880 variable.
5881 (grub_relocator16_boot): Handle %ebp.
5882 * grub-core/lib/i386/relocator16.S: Likewise.
5883 * grub-core/loader/i386/pc/freedos.c:
5884 Load BPB to pass kernel which partition to load from.
5885 Check that kernel file is not too large.
5886 Set register dl to BIOS unit number as well.
5887
7782b8a6
CW
58882013-01-22 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * util/grub-reboot.in (usage): Document the need for
5891 GRUB_DEFAULT=saved.
5892 * util/grub-set-default.in (usage): Likewise.
5893 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5894
e661c180
VS
58952013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5898 than defining WORDS_BIGENDIAN manually.
5899
1c22ca9a
VS
59002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5903 invariants.
5904
d44892fe
CW
59052013-01-21 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5908 nested.
5909 (blit_comb: add_device_width): Likewise.
5910
5fdbaed1
CW
59112013-01-21 Colin Watson <cjwatson@ubuntu.com>
5912
5913 Remove nested functions from USB iterators.
5914
5915 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5916 (grub_usb_controller_iterate_hook_t): Likewise.
5917 (grub_usb_iterate): Add hook_data argument.
5918 (grub_usb_controller_iterate): Likewise.
5919 (struct grub_usb_controller_dev.iterate): Likewise.
5920
5921 Update all implementations and callers.
5922
4250985a
VS
59232013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5926 margin when not needed.
5927
7d8848f3
VS
59282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5929
bc136973 5930 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5931
59322013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5933
bc136973
VS
5934 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5935 asterisk.
7d8848f3 5936
ed12a003
CW
59372013-01-21 Colin Watson <cjwatson@ubuntu.com>
5938
5939 Fix powerpc and sparc64 build failures caused by un-nesting memory
5940 map iterators.
5941
6a0db449
CW
59422013-01-21 Colin Watson <cjwatson@ubuntu.com>
5943
5944 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5945 parameter declarations.
5946
ccd86b21
VS
59472013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5950
822b726b
VS
59512013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Improve spkmomdem reliability by adding a separator between bytes.
5954
115c2cc1
CW
59552013-01-21 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5958 an Acer registration utility with several sightings in the wild.
5959 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5960
fc524edf
CW
59612013-01-21 Colin Watson <cjwatson@ubuntu.com>
5962
5963 Remove nested functions from filesystem directory iterators.
5964
5965 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5966 (struct grub_fs.dir): Add hook_data argument.
5967
5968 Update all implementations and callers.
5969
53d3e4e3
CW
59702013-01-21 Colin Watson <cjwatson@ubuntu.com>
5971
5972 * docs/grub.texi (Multi-boot manual config): Fix typo for
5973 "recommended".
5974
c821711f
LL
59752013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5976
5977 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5978 until after its use in generate_image.
5979
6a0debbd
CW
59802013-01-20 Colin Watson <cjwatson@ubuntu.com>
5981
5982 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5983 initrd size to addr_min, since the initrd will be allocated after
5984 this address.
5985
f41e08db
AB
59862013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5987
5988 * conf/Makefile.common: Fix autogen rules to pass definition
5989 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5990
77529e0f
LL
59912013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5992
5993 * include/grub/elf.h: Update ARM definitions based on binutils.
5994
b879aa7b
VS
59952013-01-20 Aleš Nesrsta <starous@volny.cz>
5996
5997 Split long USB transfers into short ones.
5998
8eb8284d
AB
59992013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6000
6001 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6002 is interrupted by ESC.
6003
08dad2dc
VS
60042013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * util/grub-script-check.c (main): Uniform the error message.
6007
6c724b85
CW
60082013-01-20 Colin Watson <cjwatson@ubuntu.com>
6009
6010 Remove nested functions from ELF iterators.
6011
25239370
CW
60122013-01-20 Colin Watson <cjwatson@ubuntu.com>
6013
6014 Remove nested functions from device iterators.
6015
6016 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6017 (grub_arc_iterate_devs): Add hook_data argument.
6018 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6019 (struct grub_ata_dev.iterate): Add hook_data argument.
6020 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6021 (grub_device_iterate): Add hook_data argument.
6022 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6023 (struct grub_disk_dev.iterate): Add hook_data argument.
6024 (grub_disk_dev_iterate): Likewise.
6025 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6026 Likewise.
6027 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6028 Likewise.
6029 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6030 type.
6031 (struct grub_partition_map.iterate): Add hook_data argument.
6032 (grub_partition_iterate): Likewise.
6033 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6034 (struct grub_scsi_dev.iterate): Add hook_data argument.
6035
6036 Update all callers.
6037
6c0314d6
CW
60382013-01-20 Colin Watson <cjwatson@ubuntu.com>
6039
6040 Fix typos for "developer" and "development".
6041
600dc5f1
VS
60422013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Add license header to spkmodem-recv.c.
6045
17334a6b
VS
60462013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Rewrite spkmodem to use PIT for timing. Double the speed.
6049
7d462559
VS
60502013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Add new command pcidump.
6053
b78d6c32
VS
60542013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 New terminal outputs using serial: morse and spkmodem.
6057
34f71cb8
VS
60582013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Improve bidi handling in entry editor.
6061
4542e71b
VS
60622013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6065 argument to prevent name collision.
6066
09fd6d82
CW
60672013-01-15 Colin Watson <cjwatson@ubuntu.com>
6068
6069 Remove nested functions from script reading and parsing.
6070
6071 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6072 getline_data argument, passed to getline.
6073 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6074 getline_data argument, passed to grub_parser_split_cmdline.
6075 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6076 lexerstate->getline_data to lexerstate->getline.
6077 (grub_script_lexer_init): Add getline_data argument, saved in
6078 lexerstate->getline_data.
6079 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6080 argument, passed to grub_script_parse.
6081 * grub-core/script/script.c (grub_script_parse): Add getline_data
6082 argument, passed to grub_script_lexer_init.
6083 * include/grub/parser.h (grub_parser_split_cmdline): Update
6084 prototype. Update all callers to pass appropriate getline data.
6085 (struct grub_parser.parse_line): Likewise.
6086 (grub_rescue_parse_line): Likewise.
6087 * include/grub/reader.h (grub_reader_getline_t): Add void *
6088 argument.
6089 * include/grub/script_sh.h (struct grub_lexer_param): Add
6090 getline_data member.
6091 (grub_script_parse): Update prototype. Update all callers to pass
6092 appropriate getline data.
6093 (grub_script_lexer_init): Likewise.
6094 (grub_normal_parse_line): Likewise.
6095
6096 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6097 data argument.
6098 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6099 static instead of nested. Rename to ...
6100 (grub_parser_execute_getline): ... this.
6101 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6102 data argument.
6103 * grub-core/normal/main.c (read_config_file: getline): Make static
6104 instead of nested. Rename to ...
6105 (read_config_file_getline): ... this.
6106 (grub_normal_read_line): Add unused data argument.
6107 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6108 getline): Make static instead of nested. Rename to ...
6109 (grub_script_execute_sourcecode_getline): ... this.
6110 * util/grub-script-check.c (main: get_config_line): Make static
6111 instead of nested.
6112
d0d4b8a0
CW
61132013-01-15 Colin Watson <cjwatson@ubuntu.com>
6114
6115 Remove nested functions from memory map iterators.
6116
6117 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6118 argument, passed to hook.
6119 * grub-core/kern/i386/coreboot/mmap.c
6120 (grub_linuxbios_table_iterate): Likewise.
6121 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6122 instead of nested.
6123 (grub_machine_mmap_iterate): Add hook_data argument.
6124 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6125 Add hook_data argument, passed to hook.
6126 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6127 Likewise.
6128 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6129 Likewise.
6130 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6131 Likewise.
6132 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6133 Likewise.
6134 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6135 Likewise.
6136 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6137 Likewise.
6138 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6139 (grub_machine_mmap_iterate): Likewise.
6140 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6141 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6142 prototype.
6143 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6144 Remove NESTED_FUNC_ATTR from here and from all users.
6145 (grub_mmap_iterate): Update prototype.
6146 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6147 pass appropriate hook data.
6148 (grub_machine_mmap_iterate): Likewise.
6149
6150 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6151 static instead of nested.
6152 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6153 Rename to ...
6154 (lsmmap_hook): ... this.
6155 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6156 Likewise.
6157 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6158 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6159 heap_init): Likewise.
6160 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6161 Rename to ...
6162 (mmap_iterate_hook): ... this.
6163 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6164 Likewise.
6165 * grub-core/lib/ieee1275/relocator.c
6166 (grub_relocator_firmware_get_max_events: count): Likewise.
6167 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6168 to ...
6169 (grub_relocator_firmware_fill_events_iter): ... this.
6170 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6171 hook): Likewise. Rename to ...
6172 (grub_relocator_alloc_chunk_align_iter): ... this.
6173 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6174 Rename to ...
6175 (generate_e820_mmap_iter): ... this.
6176 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6177 Rename to ...
6178 (count_hook): ... this.
6179 (grub_linux_boot: hook): Likewise. Rename to ...
6180 (grub_linux_boot_mmap_find): ... this.
6181 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6182 (grub_linux_boot_mmap_fill): ... this.
6183 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6184 hook): Likewise. Rename to ...
6185 (grub_fill_multiboot_mmap_iter): ... this.
6186 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6187 hook): Likewise. Rename to ...
6188 (count_hook): ... this.
6189 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6190 hook): Likewise. Rename to ...
6191 (grub_fill_multiboot_mmap_iter): ... this.
6192 * grub-core/loader/powerpc/ieee1275/linux.c
6193 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6194 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6195 Likewise. Rename to ...
6196 (alloc_phys_choose): ... this.
6197 (determine_phys_base: get_physbase): Likewise.
6198 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6199 find_hook): Likewise.
6200 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6201 (malloc_hook: count_hook): Likewise.
6202 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6203 Likewise. Rename to ...
6204 (lower_hook): ... this.
6205 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6206 (upper_hook): ... this.
6207 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6208 (post64_hook): ... this.
6209 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6210 Likewise. Rename to ...
6211 (lower_hook): ... this.
6212 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6213 (upper_hook): ... this.
6214 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6215 (grub_mmap_iterate: fill_hook): Likewise.
6216 (fill_mask): Pass addr and mask within a single struct.
6217 (grub_cmd_badram: hook): Make static instead of nested. Rename
6218 to ...
6219 (badram_iter): ... this.
6220 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6221 (cutmem_iter): ... this.
6222
22099030
VS
62232013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6226 delimit path in strings using quotes.
6227 * util/getroot.c (grub_guess_root_devices): Likewise.
6228 (grub_make_system_path_relative_to_its_root): Likewise.
6229 * util/grub-probe.c (probe): Likewise.
6230 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6231 (xrealpath): Likewise.
6232
4a9950ec
VS
62332013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 Fix compilation with older compilers.
6236
6237 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6238 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6239 declarations.
6240 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6241 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6242 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6243 identifier with b.
6244 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6245 * include/grub/crypto.h: Add type defines.
6246 * util/import_gcrypth.sed: Remove duplicate type defines.
6247
adcc6020
VS
62482013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 New command list_trusted.
6251
6252 * grub-core/commands/verify.c (grub_cmd_list): New function.
6253
a4528937
CW
62542013-01-13 Colin Watson <cjwatson@ubuntu.com>
6255
6256 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6257 info message.
6258
ca3a7446
CW
62592013-01-13 Colin Watson <cjwatson@ubuntu.com>
6260
6261 Remove nested functions from PCI iterators.
6262
6263 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6264 passed to hook. Update all callers to pass appropriate hook data.
6265 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6266 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6267 Remove NESTED_FUNC_ATTR from here and from all users.
6268 (grub_pci_iterate): Update prototype.
6269 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6270 instead of nested. Rename to ...
6271 (grub_cs5536_find_iter): ... this.
6272 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6273 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6274 Likewise.
6275 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6276 Likewise.
6277 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6278 Likewise.
6279 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6280 Likewise.
6281 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6282 * grub-core/video/radeon_fuloong2e.c
6283 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6284 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6285 find_card): Likewise.
6286 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6287 Likewise.
6288
f8e98fee
VS
62892013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/commands/verify.c: Mark messages for translating.
6292
055b36b6
VS
62932013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6296 fatal.
6297
f7ff879b
VS
62982013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6301 fatal.
6302
63032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6304
6305 * autogen.sh: Do not try to delete nonexistant files.
6306 * util/import_gcrypth.sed: Add some missing header removals.
6307
01323d49
CW
63082013-01-12 Colin Watson <cjwatson@ubuntu.com>
6309
6310 Clean up dangling references to grub-setup.
6311 Fixes Ubuntu bug #1082045.
6312
6313 * docs/grub.texi (Images): Refer generally to grub-install rather
6314 than directly to grub-setup.
6315 (Installing GRUB using grub-install): Remove direct reference to
6316 grub-setup.
6317 (Device map) Likewise.
6318 (Invoking grub-install): Likewise.
6319 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6320 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6321 * util/grub-install.in (usage): Likewise.
6322
6323 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6324 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6325 grub-setup.
6326 * configure.ac: Remove grub_setup output variable.
6327
6328 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6329 to grub-bios-setup.
6330 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6331 grub-setup to grub-sparc64-setup.
6332
5e3b8dcb
VS
63332013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 Import gcrypt public-key cryptography and implement signature checking.
6336
535714bd
VS
63372013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/fs/ntfs.c: Ue more appropriate types.
6340 * grub-core/fs/ntfscomp.c: Likewise.
6341 * include/grub/ntfs.h: Likewise.
6342
3e4f3566
VS
63432013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 Support Apple FAT binaries on non-Apple platforms.
6346
6347 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6348 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6349 Likewise.
6350 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6351 Apple FAT binaries.
6352
4dedb13f
VS
63532013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6356 sector devices.
6357
f8861eaf
CW
63582013-01-07 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6361 explicitly zeroing elements.
6362 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6363 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6364 of elements in a structure already allocated using grub_zalloc.
6365 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6366
86065b0a
CW
63672013-01-07 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * docs/grub.texi (grub_cpu): New subsection.
6370 (grub_platform): Likewise.
6371
c6f1e92f
VS
63722013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6375
f797ec85
VS
63762013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6379 divisions.
6380
033d0b4b
VS
63812013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6384 * grub-core/fs/ntfscomp.c: Likewise.
6385 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6386 (grub_ntfs_comp): Likewise.
6387
21d1b9a0
VS
63882013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6391 Rename to ...
6392 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6393 of groups_per_block. All users updated.
6394
10ca8645
VS
63952013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6398 grub_error properly.
6399 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6400 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6401
a4c3ed4c
VS
64022013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6405 always in /boot/zfs.
6406 Reported by: Yuta Satoh.
6407
0b716507
YS
64082013-01-03 Yuta Satoh <nigoro>
6409
6410 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6411 ${grub_probe}
6412
00c05e22
VS
64132013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * configure.ac: Extend -Wno-trampolines to host.
6416
dadddb76
VS
64172013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6420 entry->len = 0.
6421
54ce53ca
CW
64222013-01-03 Colin Watson <cjwatson@ubuntu.com>
6423
6424 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6425 (Invoking grub-script-check): Likewise.
6426
8912efca
CW
64272013-01-03 Colin Watson <cjwatson@ubuntu.com>
6428
6429 * docs/grub.texi (Invoking grub-mount): New section.
6430 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6431
c3fc8394
CW
64322013-01-02 Colin Watson <cjwatson@ubuntu.com>
6433
6434 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6435 test failures, so that a failing unit test correctly causes 'make
6436 check' to fail.
6437
45d26abb
CW
64382013-01-02 Colin Watson <cjwatson@ubuntu.com>
6439
6440 Fix failing printf test.
6441
6442 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6443 '$' in the correct order when collecting type information.
6444
971dd2c6
CW
64452013-01-02 Colin Watson <cjwatson@ubuntu.com>
6446
6447 * docs/grub.texi (configfile): Explain environment variable
6448 handling.
6449 (source): New section.
6450 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6451
5c67ea6c
CW
64522012-12-31 Colin Watson <cjwatson@ubuntu.com>
6453
6454 Remove several trivially-unnecessary uses of nested functions.
6455
6456 * grub-core/commands/i386/pc/sendkey.c
6457 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6458 instead of nested.
6459 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6460 Rename to ...
6461 (legacy_file_getline): ... this.
6462 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6463 Likewise.
6464 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6465 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6466 to ...
6467 (probe_dummy_iter): ... this.
6468 * grub-core/kern/i386/coreboot/mmap.c
6469 (grub_linuxbios_table_iterate: check_signature): Likewise.
6470 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6471 check_varstate): Likewise. Mark inline.
6472 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6473 an additional parameter.
6474 (find_long: fnd_long): Likewise. Pass two additional parameters.
6475 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6476 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6477 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6478 Likewise. Rename to ...
6479 (grub_cmos_find_port_iter): ... this.
6480 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6481 Rename to ...
6482 (find_rtc_iter): ... this.
6483
6484 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6485 function directly into the function body, since it is only called
6486 once.
6487
33a68ac6
CW
64882012-12-30 Colin Watson <cjwatson@ubuntu.com>
6489
6490 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6491 __attribute__ ((unused)).
6492 * grub-core/video/bochs.c (find_card): Likewise.
6493 * grub-core/video/cirrus.c (find_card): Likewise.
6494 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6495 * grub-core/video/sis315pro.c (find_card): Likewise.
6496 * grub-core/video/sm712.c (find_card): Likewise.
6497
608b647a
CW
64982012-12-28 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6501 Fixes Savannah bug #37821.
6502
fd49ceb3
CW
65032012-12-28 Colin Watson <cjwatson@ubuntu.com>
6504
6505 Apply program name transformations at build-time rather than at
6506 run-time. Fixes Debian bug #696465.
6507
6508 * acinclude.m4 (grub_TRANSFORM): New macro.
6509 * configure.ac: Create output variables with transformed names for
6510 most programs.
6511 * util/bash-completion.d/grub-completion.bash.in: Use
6512 pre-transformed variables for program names.
6513 * util/grub-install.in: Likewise.
6514 * util/grub-kbdcomp.in: Likewise.
6515 * util/grub-mkconfig.in: Likewise.
6516 * util/grub-mkconfig_lib.in: Likewise.
6517 * util/grub-mknetdir.in: Likewise.
6518 * util/grub-mkrescue.in: Likewise.
6519 * util/grub-mkstandalone.in: Likewise.
6520 * util/grub-reboot.in: Likewise.
6521 * util/grub-set-default.in: Likewise.
6522 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6523 * tests/util/grub-shell-tester.in: Remove unused assignment.
6524 * tests/util/grub-shell.in: Likewise.
6525 * util/grub.d/00_header.in: Likewise.
6526
7024b3c0
CW
65272012-12-28 Colin Watson <cjwatson@ubuntu.com>
6528
6529 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6530
6531 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6532 HAVE_RAW_DECL_GETS.
6533 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6534
e3501b13
VS
65352012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6538 Reported by: Eriks Latosheks <foresterlv>.
6539
b40c88a9
VS
65402012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * docs/grub.texi (Network): Update instructions on generating netboot
6543 image.
6544
ce96d01c
VS
65452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6548 around device name if necessarry.
6549
0f596201
PFS
65502012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6551
6552 * util/grub-install.in: Follow the symbolic link parameter added
6553 to the file command.
6554
600d5bdb
AB
65552012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6556
6557 * util/grub-install.in: Remove stale TODO.
6558
64ebd2f4
PFS
65592012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6560
6561 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6562 dynamic allocation for the bootpath buffer.
6563
74b2fe3e
DTB
65642012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6565
6566 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6567 window too small.
6568
969b804f
VS
65692012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6572 argument rather than font name. All users updated.
6573 (grub_gfxterm_set_window): Likewise.
6574
b9f5ebd6
VT
65752012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6576
6577 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6578 from working.
6579
258f43b7
VS
65802012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * util/getroot.c (convert_system_partition_to_system_disk): Support
6583 nbd disks.
6584
cc1ce5f9
VS
65852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6588 infinite loop on corrupted FS.
6589
e77a16ca
VS
65902012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Fix big-endian mtime.
6593
6594 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6595 together sec and usec.
6596 (grub_ufs_dir): Use correct byteswapping for UFS time.
6597
d9c48c7b
VS
65982012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 Support big-endian UFS1.
6601
6602 * Makefile.util.def (libgrubmods): Add ufs_be.c
6603 * grub-core/Makefile.core.def (ufs1_be): New module.
6604 * grub-core/fs/ufs_be.c: New file.
6605 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6606 the file.
6607
2f9f40ba
LL
66082012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6609
6610 * include/grub/types.h: Fix functionality unaffecting typo in
6611 GRUB_TARGET_WORDSIZE conditional macro.
6612
48ff0889
PFS
66132012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6614
6615 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6616
03711240
GS
66172012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6618
6619 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6620 that /netbsd appears first (when it exists).
6621
a31b11bd
CJ
66222012-10-12 Christoph Junghans <ottxor@gentoo.org>
6623
6624 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6625 Fixes Savannah bug #37558.
6626
e8a5d5d4
CW
66272012-10-12 Colin Watson <cjwatson@ubuntu.com>
6628
6629 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6630 description of extract_entries_configfile.
6631
66322012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6633
6634 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6635 preferred_address.
6636 (grub_cmd_linux): Likewise.
6637 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6638 preferred_lifetime. Update all users.
6639
288c757d
CW
66402012-09-26 Colin Watson <cjwatson@ubuntu.com>
6641
6642 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6643 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6644
0d35da3f
CW
66452012-09-26 Colin Watson <cjwatson@ubuntu.com>
6646
6647 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6648 errors from grub-probe to /dev/null, not stdout.
6649
b78c3127
VS
66502012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6653 sector 1.
6654
473959f0
CW
66552012-09-24 Colin Watson <cjwatson@ubuntu.com>
6656
6657 * util/grub-install.in: Make the error message if $source_dir
6658 doesn't exist more useful.
6659
794c8c33
CW
66602012-09-22 Colin Watson <cjwatson@ubuntu.com>
6661
6662 Fix grub-emu build on FreeBSD.
6663
6664 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6665 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6666 headers on Linux.
6667 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6668 implementation is currently Linux-specific.
6669 * util/getroot.c (exec_pipe): Define only on Linux or when either
6670 libzfs or libnvpair is unavailable.
6671 (find_root_devices_from_poolname): Remove unused path variable.
6672
86d08fdb
CW
66732012-09-19 Colin Watson <cjwatson@ubuntu.com>
6674
6675 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6676 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6677 should fit before end == 63.
6678
735abf54
CW
66792012-09-19 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * util/grub-setup.c (write_rootdev): Remove unused core_img
6682 parameter. Update all callers.
6683 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6684 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6685 GRUB_SETUP_BIOS.
6686
140acd3c
VS
66872012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6690 (grub_add_tab): New function.
6691 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6692 * util/grub.d/10_illumos.in: Likewise.
6693 * util/grub.d/10_kfreebsd.in: Likewise.
6694 * util/grub.d/10_linux.in: Likewise.
6695 * util/grub.d/10_netbsd.in: Likewise.
6696 * util/grub.d/10_windows.in: Likewise.
6697 * util/grub.d/10_xnu.in: Likewise.
6698 * util/grub.d/20_linux_xen.in: Likewise.
6699 * util/grub.d/30_os-prober.in: Likewise.
6700
7ddffdad
VS
67012012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6704 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6705 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6706 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6707 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6708 ieee1275-nocursor.
6709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6710 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6711
4e092454
VS
67122012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6715 le-conversion.
6716 Reported by: BURETTE, Bernard.
6717
735abf54 67182012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6719
6720 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6721 from comment.
6722
dfd39dbd
CW
67232012-09-14 Colin Watson <cjwatson@ubuntu.com>
6724
6725 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6726 IEEE1275 machines. Fixes powerpc-emu compilation.
6727 * include/grub/terminfo.h: Likewise.
6728
3bfa763c
VS
67292012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6732 a const pointer.
6733 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6734 const pointer.
6735 (efiemu_set_variable): Make vendor_guid a const pointer.
6736
250e475b
VS
67372012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 Don't require grub-mkconfig_lib to generate manpages for programs.
6740
6741 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6742 dependencies, don't add grub-mkconfig_lib.
6743 (program): Pass empty adddeps.
6744 (script): Pass grub-mkconfig_lib as adddeps.
6745
592fd0e4
VS
67462012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6749 * util/getroot.c (grub_find_device): Likewise.
6750 (get_mdadm_uuid): Likewise.
6751 (grub_util_is_imsm): Likewise.
6752 (grub_util_pull_device): Likewise.
6753 * util/grub-probe.c (probe): Likewise.
6754
801a3027
BG
67552012-09-10 Benoit Gschwind <gschwind>
6756
6757 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6758 (devs): Add devpath_8.
6759
c5052c81
PJ
67602012-09-08 Peter Jones <pjones@redhat.com>
6761
6762 * grub-core/Makefile.core.def (efifwsetup): New module.
6763 * grub-core/commands/efi/efifwsetup.c: New file.
6764 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6765 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6766 New define.
6767 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6768
8e832f71
JS
67692012-09-05 Jiri Slaby <jslaby@suse.cz>
6770
6771 * configure.ac: Add SuSe path.
6772
f0f55752
CW
67732012-09-05 Colin Watson <cjwatson@ubuntu.com>
6774
6775 * NEWS: Fix typo.
6776
ecadc4c2
CW
67772012-09-05 Colin Watson <cjwatson@ubuntu.com>
6778
6779 * util/import_gcry.py: Sort cipher_files, to make build system
6780 generation more deterministic.
6781
64498f25
VS
67822012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6785 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6786 (grub_set_datetime): Likewise.
6787
9cc836a2
VS
67882012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6791 warnings.
6792
bcfcea01
VS
67932012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6796
a4099485
VS
67972012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6800
265c162a
CW
68012012-09-04 Colin Watson <cjwatson@ubuntu.com>
6802
6803 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6804 required for checkouts from bzr, but it may be useful for users or
6805 distributors wishing to update translations against a tarball
6806 distribution, and it can be helpful for the tarball to be a superset
6807 of what's in bzr.
6808
3d171e95
CW
68092012-09-04 Colin Watson <cjwatson@ubuntu.com>
6810
6811 * Makefile.am (EXTRA_DIST): Add
6812 grub-core/tests/boot/linux.init-mips.S,
6813 grub-core/tests/boot/linux.init-ppc.S, and
6814 grub-core/tests/boot/linux-ppc.cfg.
6815
f2c2503e
CW
68162012-09-04 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * grub-core/mmap/mips/loongson: Remove empty directory.
6819
68202012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6821
6822 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6823 gone.
6824
ab2163d5
CW
68252012-09-04 Colin Watson <cjwatson@ubuntu.com>
6826
6827 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6828 grub-sparc64-setup.
6829
ce938140
GS
68302012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6831
6832 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6833
529f58a5
GS
68342012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6835
6836 * po/POTFILES.in: Regenerated.
6837
16cf79e9
GS
68382012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6839
6840 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6841 (NetBSD): New subsection.
6842
39b27f1e 68432012-07-22 Ales Nesrsta <starous@volny.cz>
6844
6845 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6846 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6847
a885261b
VS
68482012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6851 * util/grub.d/10_hurd.in: Add missing quoting.
6852 * util/grub.d/10_illumos.in: Likewise.
6853 * util/grub.d/10_kfreebsd.in: Likewise.
6854 * util/grub.d/10_linux.in: Likewise.
6855 * util/grub.d/20_linux_xen.in: Likewise.
6856
7bd29c01
VS
68572012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 New command `lsefi'.
6860
6861 * grub-core/Makefile.core.def (lsefi): New module.
6862 * grub-core/commands/efi/lsefi.c: New file.
6863 * include/grub/efi/api.h: Add more GUIDs.
6864
ac625d8f
VS
68652012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6868 (grub_bsd_elf32_hook): Likewise.
6869 (grub_bsd_elf64_size_hook): Likewise.
6870 (grub_bsd_elf64_hook): Likewise.
6871 (grub_bsd_load_elf): Likewise.
6872
e73bb801
VS
68732012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6876 if hash function is unavailable.
6877 (dec_stream_header): Likewise.
6878
e81db8b5
VS
68792012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6882 filter state.
6883
d187a1c3
VS
68842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 Fix coreboot compilation.
6887
6888 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6889 (grub_vga_text_init_real): ... this.
6890 (grub_vga_text_fini): Rename to ...
6891 (grub_vga_text_fini_real): ... this.
6892
91a05f64
VS
68932012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6896
6af96df7
VS
68972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/lib/legacy_parse.c: Support clear and testload.
6900
4d569e12
VS
69012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6904
073b57bb
VS
69052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6908
a706f4cc
VS
69092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/net/tftp.c (ack): Fix endianness problem.
6912 (tftp_receive): Likewise.
6913 Reported by: Michael Davidsaver.
6914
e7850aa9
VS
69152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6918
69192012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6922 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6923 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6924
35692881
VS
69252012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6928 efi_mmap_size.
6929 Reported by: Stuart Hayes.
6930
c35fc5bd
VS
69312012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6934
6935 * grub-core/Makefile.core.def (mda_text): New module.
6936 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6937 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6938 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6939 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6940 here.
6941 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6942 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6943 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6944 here.
6945 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6946 to ..
6947 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6948 ... here
6949 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6950 here.
6951 * grub-core/term/i386/vga_common.c: Removed.
6952 * include/grub/i386/vga_common.h: Likewise.
6953 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6954 (grub_vga_cr_bw_read): Likewise.
6955 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6956 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6957 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6958 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6959 grub_vga_cr_read/grub_vga_cr_write.
6960 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6961
5f91f701
VS
69622012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * configure.ac: Bump version to 2.00.
6965 * grub-core/normal/main.c (features): Add feature_200_final.
6966
0c4f85f6
VS
69672012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
69682012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6969
6970 * NEWS: Fix unclarity and language mistakes.
6971
f923ad22
VS
69722012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6975 additional size to 3 pages.
6976 Reported by: Stuart Hayes.
6977
d22029ba
VS
69782012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * NEWS: Add 2.00 entry.
6981
58eee08f
VS
69822012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6985 put explicit "/" for empty path.
6986 (wildcard_expand): Improve dprintf.
6987
c59bdff7
VS
69882012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6991 it's equal to currnode. This can happen with "" symlink.
6992
5e6a440a
YB
69932012-06-27 Yves Blusseau <blusseau@zetam.org>
6994
6995 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6996 echo shell command by printf command.
6997
73a68bcb
VS
69982012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7001 the value returned by firmware is the maximal position, not diumension.
7002 (grub_terminfo_output_state): Use a more sane fallback.
7003
392a603b
VS
70042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7007
42d0867f
VS
70082012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7011 frequency to 150 MHz.
7012
489509f4
VS
70132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 Apple fixes.
7016
7017 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7018 __APPLE_
7019 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7020 definition.
7021 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7022
9f3fc883
VS
70232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Handle slash in HFS label.
7026
7027 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7028 (grub_hfs_dir): Tanslate slash.
7029 (grub_hfs_label): Don't translate slash.
7030
54853fd7
VS
70312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7034 network protocol listing since it introduces problematic dependency on
7035 net module.
7036
4dc02ddf
VS
70372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7040
c50c867d
VS
70412012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Init video early on yeeloong to avoid being rebooted by watchdog.
7044
7045 * grub-core/Makefile.am (gensm712): New target.
7046 (sm712_start.S): Likewise.
7047 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7048 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7049 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7050 description.
7051 * include/grub/vga.h: Move registry definitions to...
7052 * include/grub/vgaregs.h: ... here.
7053
5f92c8a1
VS
70542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7057 signedness.
7058
e9e6f111
VS
70592012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7062 platforms with firmware disk drivers in the core.
7063
754ad9eb
VS
70642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7067 informative verbose message.
7068 (read_lv): Handle 64-bit segment size.
7069
315654c2
VS
70702012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7073
fb022c79
VS
70742012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7077 character but still remove trainling spaces.
7078 (grub_fat_label): Ignore archive flag.
7079
8645f72c
VS
70802012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7083 cast between linux_kernel_header and linux_kernel_params.
7084
36498496
VS
70852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7088 type for size.
7089 (grub_raid6_recover_func_t): Likewise.
7090 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7091 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7092
0b5ea6b8
VS
70932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7096
650cfcfe
GS
70972012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7098
7099 Fix overflow.
7100
7101 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7102 [__NetBSD__]: Add explicit cast before bitshift.
7103
8a4d6a44
VS
71042012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * configure.ac: Bump to 2.00~rc1.
7107
2fb97ed3
VS
71082012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7111 half of $a0.
7112
1fa097dc
VS
71132012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
71142012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7115
7116 * docs/grub.texi: Fix search syntax.
7117 (Multi-boot manual config): Put msdos rather than GPT example.
7118 Grammar corrections.
7119
c890ba78
VS
71202012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7123
0f92dca7
VS
71242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7127
3988c4a0
VS
71282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7131 message on double free. Put the value of magic in case of mismatch.
7132
9e86d4c5
VS
71332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Speed-up video on yeeloong.
7136
7137 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7138 add cached_ptr.
7139 (grub_video_sm712_video_fini): Unmap cached_ptr.
7140 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7141 (grub_video_sm712_set_active_render_target): Removed.
7142 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7143 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7144 sync caches.
7145
ed24c312
VS
71462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 Avoid flushing the same line multiple times on loongson.
7149
7150 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7151 Step in 32 bytes and not 1 byte.
7152 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7153 Likewise.
7154
d1718e7d
VS
71552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7158 subvolumes.
7159
982f1909
VS
71602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Implement flow control for http.
7163
7164 * grub-core/net/http.c (parse_line): Handle response 206.
7165 (http_receive): Stall if too many packets are in the queue.
7166 (http_establish): Fix range header.
7167 (http_seek): Fix double free.
7168 (http_close): Likewise.
7169 (http_packets_pulled): New function.
7170 (grub_http_protocol): Set http_seek
7171 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7172 (ack_real): Set window depending on i_stall.
7173 (grub_net_send_tcp_packet): Likewise.
7174 (grub_net_tcp_stall): New function.
7175 (grub_net_tcp_unstall): Likewise.
7176 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7177 (grub_net_tcp_unstall): Likewise.
7178
bd407d6e
VS
71792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7182
c7564b8e
VS
71832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7186
a3706162
VS
71872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * tests/util/grub-shell.in: Fix a typo.
7190
b27069e0
VS
71912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Implement flow control for tftp.
7194
7195 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7196 packets but stop only if stop condition is satisfied.
7197 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7198 `stall' instead of `eof' as stop condition.
7199 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7200 (http_err): Likewise.
7201 * grub-core/net/tftp.c (ack): Replace the first argument with data
7202 instead of socket.
7203 (tftp_receive): Stall if too many packets are in wait queue.
7204 (tftp_packets_pulled): New function.
7205 (grub_tftp_protocol): Set packets_pulled.
7206 * include/grub/net.h (grub_net_packets): New field count.
7207 (grub_net_put_packet): Increment count.
7208 (grub_net_remove_packet): Likewise.
7209 (grub_net_app_protocol): New field `packets_pulled'.
7210 (grub_net): New field `stall'.
7211
6b9cfac6
VS
72122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7215 sync part to handle them.
7216
f35abd81
VS
72172012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7220 * grub-core/net/drivers/ieee1275/ofnet.c
7221 (grub_ieee1275_net_config_real): Likewise.
7222
0e7ec820
VS
72232012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7226 the direct route for server/gateway.
7227
9d611a31
VS
72282012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7231 IP address to server name since we may not hame the DNS.
7232
418f45ab
VS
72332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7236 freeing random buffer on failure.
7237 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7238
44a0efc1
VS
72392012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7242
531e2241
VS
72432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7246 reserved bytes.
7247 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7248 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7249 Handle malloc error correctly.
7250
cde393c9
VS
72512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7254 blocks.
7255
538478d0
VS
72562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7259 increment.
7260
9b55efe0
VS
72612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7264 none is explicitly specified.
7265
9eb832c3
VS
72662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7269 while reallocating.
7270
d6b7c7c9
VS
72712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Respect netmask from bootp/dhcp.
7274
7275 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7276 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7277 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7278 into ...
7279 (grub_net_add_ipv4_local): ... this.
7280 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7281 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7282 (grub_net_add_ipv4_local): New proto.
7283
67caf9eb
VS
72842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7287 determining EFI memory map size.
7288
43657558
VS
72892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7292
eb6d0dd3
VS
72932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7296 when looking for partition separator.
7297
31230544
VS
72982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7301 Escape commas.
7302
918a2517
VS
73032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Restructure FAT driver to avoid hook in label reading as it hits a
7306 GCC bug.
7307
7308 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7309 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7310 (grub_fat_iterate_dir): Split into ...
7311 (grub_fat_iterate_init): ... this, ...
7312 (grub_fat_iterate_fini): ... this, ...
7313 (grub_fat_iterate_dir_next): ... and this. All users updated.
7314
9f1d654e
VS
73152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7318 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7319 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7320 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7321 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7322 New fields last_key and last_key_time.
7323 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7324 extended key-esc into extended key-extended key.
7325
52f0f643
VS
73262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Avoid unnecessary memcpy of whole video buffer.
7329
7330 * grub-core/video/fb/video_fb.c (dirty): New struct.
7331 (framebuffer): Add members current_dirty and previous_dirty.
7332 (dirty): New function.
7333 (grub_video_fb_fill_rect): Update dirty.
7334 (common_blitter): Likewise.
7335 (grub_video_fb_scroll): Likewise.
7336 (doublebuf_blit_update_screen): Copy only dirty part.
7337 (doublebuf_pageflipping_update_screen): Likewise.
7338 (grub_video_fb_doublebuf_blit_init): Init dirty.
7339 (doublebuf_pageflipping_init): Likewise.
7340 (grub_video_fb_setup): Likewise.
7341
e169a180
VS
73422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7345 poll rate.
7346
48556879
VS
73472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 Fix wildcard regexp dot and other special characters handling.
7350 Reported by: Robert Mabee.
7351
7352 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7353 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7354 (split_path): Trigger expansion on '?'.
7355 (unescape): New function.
7356 (wildcard_expand): Unescape parts copied without globbing.
7357 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7358 (grub_script_arglist_to_argv): Don't unescape expansions.
7359
0494408e
VS
73602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * include/grub/net.h (grub_net_card): New member txbufsize.
7363 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7364 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7365 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7366 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7367 txbufsize.
7368 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7369 compatible property to check for macs. Set
7370 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7371 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7372 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7373 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7374 (send_card_buffer): Use txbuf.
7375 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7376 nested function out of the parent while on it.
7377
cc35fe8f
VS
73782012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7381 presence check.
7382 (grub_ieee1275_net_config_real): Fix config pointer.
7383
970a0a09
VS
73842012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7387 filename parsing to non-block devices.
7388
3e19bf87
VS
73892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7392
c62d1a0c
VS
73932012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7396 All users updated.
7397
ef76bec3
VS
73982012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7401 UUID search command even if hints probing failed.
7402
74032012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7404
7405 * po/POTFILES.in: Regenerated.
7406
70aaf305
VS
74072012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Speed-up video on fuloong.
7410
7411 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7412 New function.
7413 (grub_pci_device_unmap_range): Handle non-cached address.
7414 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7415 add direct_ptr.
7416 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7417 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7418 (grub_video_sis315pro_set_active_render_target): Removed.
7419 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7420 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7421 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7422 sync caches.
7423 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7424 New proto.
7425
10400f0b
VS
74262012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * docs/grub.texi (Multi-boot manual config): New section.
7429
ba67e2c6
VS
74302012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 Avoid slow read-back from VRAM.
7433
7434 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7435 Move from here ...
7436 * grub-core/video/fb/video_fb.c
7437 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7438 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7439 (front_target): Remove front_target. Add pages.
7440 (grub_video_fb_init): Skip setting front_pages.
7441 (grub_video_fb_fini): Likewise.
7442 (doublebuf_blit_update_screen): Use pages.
7443 (grub_video_fb_doublebuf_blit_init): Likewise.
7444 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7445 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7446 (grub_video_fb_setup): Prefer doublebuffing.
7447
377c98cb
VS
74482012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7451 gzio.
7452
eac49cff
VS
74532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 Add loongson tests.
7456
7457 * tests/util/grub-shell.in: Handle loongson.
7458 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7459 drivers.
7460 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7461 Reboot instead of shutdown if REBOOT is defined.
7462
0321415e
VS
74632012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7466 sized ports since unlike on real hardware qemu supports only 32-bit
7467 regs.
7468
3f2bdd8f
VS
74692012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7472 * util/grub-mkrescue.in: Handle loongson.
7473
29a049c9
VS
74742012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7477 Set is_part appropriately.
7478 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7479 names. Canonicalize partition without full disk.
7480
4abde346
VS
74812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 Revert usb-quiesce since it's wrong.
7484
7485 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7486 (grub_ofdisk_init): Don't do quiesce.
7487
61f1d93b
VS
74882012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7491 PowerMac workaround to Xserves as well.
7492 Information supplied by: Benjamin Herrenschmidt.
7493
a09eb541
VS
74942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Don't assume that beginning address is also the entry point on ppc.
7497
7498 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7499 (grub_linux_boot): Use linux_entry.
7500 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7501 (grub_linux_load64): Likewise.
7502
505b3c9b
VS
75032012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7506
cbe0b4ef
VS
75072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7510 needlessly lose the console.
7511
3006e981
VS
75122012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7515 space.
7516
4e5a96b0
VS
75172012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7518
7da036bb
VS
7519 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7520 than current grub_get_rtc() not implemented when booted with
7521 coreboot without TSC.
7522
7523 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7524 Add machine/time.h to kernel headers on loongson.
7525 * grub-core/Makefile.core.def (kernel): Remove
7526 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7527 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7528 (grub_get_rtc): Likewise.
7529 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7530 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7531 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7532 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7533 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7534 rather than installing known non-working time source.
7535 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7536 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7537 * include/grub/time.h: Don't include machine/time.h.
7538 * include/grub/efi/time.h: Removed.
7539 * include/grub/i386/efi/time.h: Likewise.
7540 * include/grub/i386/ieee1275/time.h: Likewise.
7541 * include/grub/powerpc/ieee1275/time.h: Likewise.
7542 * include/grub/sparc64/ieee1275/time.h: Likewise.
7543 * include/grub/x86_64/efi/time.h: Likewise.
7544
75452012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7548
7549 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7550 value.
7551 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7552 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7553 with dotless variants when any combining above is present.
7554
5561c22d
VS
75552012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7558 text and not binary.
7559
96f7e60e
VS
75602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Stop polling as soon as we have the packet we were waiting for.
7563
7564 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7565 All users updated.
7566 * grub-core/net/arp.c (have_pending): New var.
7567 (pending_req): Likewise.
7568 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7569 stop indicator.
7570 (grub_net_arp_receive): Set have_pending.
7571 * grub-core/net/dns.c (recv_data): New field stop.
7572 (recv_hook): Set stop.
7573 (grub_net_dns_lookup): Init stop and use as stop condition.
7574 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7575 condition.
7576 * grub-core/net/net.c (grub_net_poll_cards): New argument
7577 stop_condition. Stop when it goes true.
7578 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7579 indicator.
7580 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7581
3e747239
VS
75822012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 Keep TX and RX buffers on EFI rather than always allocate new ones.
7585
7586 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7587 card. All users updated.
7588 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7589 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7590 (get_card_packet): Likewise.
7591 (grub_efinet_findcards): Init new fields.
7592
f695e99a
VS
75932012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7596 compilation error on sparc64.
7597
9e5e66d1
VS
75982012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Use ITC on IA64 rather than broken routine based on daytime.
7601
7602 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7603 ia64.
7604 (grub_get_rtc) [__ia64__]: Likewise.
7605 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7606 (get_itc): New function.
7607 (grub_rtc_get_time_ms): Likewise.
7608 (grub_machine_init): Calibrate ITC.
7609 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7610 Keep only on non-ia64. Don't export since it's broken and used only
7611 if TSC is unavailable.
7612
a1767404
VS
76132012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7616 even if it's used.
7617 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7618 Skip if parent is unused.
7619
34b2bced
VS
76202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7623
5e619f40
VS
76242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Fix wildcard escaping.
7627
7628 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7629 * grub-core/script/execute.c (wildcard_escape): .. to here.
7630 Don't escape dot.
7631 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7632 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7633 Don't escape dot.
7634 * grub-core/script/execute.c (gettext_append): Always escape.
7635 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7636 * grub-core/script/yylex.l: Don't cut away the escaping.
7637 * tests/grub_script_echo1.in: Add tests with wildcard.
7638
c8ca5855
VS
76392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7642 (ftdi_hw_configure): Likewise.
7643 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7644 define.
7645 (real_config): Handle 1.5 stop bits.
7646 (pl2303_hw_configure): Likewise.
7647
7183452c
VS
76482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * Makefile.am: Add ppc linux bootcheck.
7651 * grub-core/tests/boot/linux-ppc.cfg: New file.
7652 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7653
f57c84cd
VS
76542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * tests/grub_script_expansion.in: Skip network protocols.
7657
ecfc6207
VS
76582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7661
8d03d284
VS
76622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7665 --rom-directory.
7666 Add -graft-points.
7667
61c42af0
VS
76682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 ESCC serial driver for conducting sautomated tests in qemu.
7671 Not tested on real hardware.
7672
7673 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7674 * grub-core/term/ieee1275/escc.c: New file.
7675 * grub-core/Makefile.core.def (escc): New module.
7676
08fd1291
VS
76772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7680 invalid on error.
7681 (serial_hw_fetch): Don't read invalid handle.
7682 (serial_hw_put): Don't write into invalid handle.
7683
08dafeea
VS
76842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Add a 1.5 stop bits value.
7687
7688 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7689 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7690 GRUB_SERIAL_STOP_BITS_1_5.
7691
9068fdcf
VS
76922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7695 value rather than let it uninited.
7696
f4d5820f
VS
76972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/wildcard.c (+check_file): New function.
7700 (wildcard_expand): Don't expand to non-existing files, expand with
7701 suffix and not attempt to expand if not needed.
7702
3d2de9a7
VS
77032012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7706 out of partitions containing other partitions.
7707
c5c81ff9
VS
77082012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7711 on some qemu versions with GRUB.
7712
7713 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7714 define.
7715 (grub_openbsd_bootarg_pcibios): New struct.
7716 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7717 Add PCIINFO.
7718
08a14e0b
VS
77192012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * tests/util/grub-shell.in: Trim firmware output on EFI.
7722
cede3ca3
VS
77232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7726 and coreboot since it's already in kernel.
7727
558d3a60
VS
77282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7731 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7732 to here. New return value start. All users updated.
7733 Recursively scan linear mappings.
7734 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7735 proto.
7736 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7737 Use grub_util_get_dm_node_linear_info.
7738 * util/getroot.c (convert_system_partition_to_system_disk): Use
7739 grub_util_info rather than grub_dprintf.
7740 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7741
60fde14d
VS
77422012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7745
7746 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7747 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7748
24bd8838
VS
77492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * include/grub/types.h (grub_set_unaligned64): New function.
7752 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7753 (setup): Likewise.
7754
7bc06a49
VS
77552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7758 (grub_ofdisk_fini): Quiesce USB devices.
7759
49cea015
VS
77602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7763 caches.
7764
8dcbe03b
VS
77652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7768
5b258735
VS
77692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/disk/pata.c (grub_pata_pio_read)
7772 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7773 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7774
37ba07eb
VS
77752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 Extend automated tests to qemu-mips.
7778
7779 * Makefile.am: reorganise tests and enable qemu-mips.
7780 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7781 * grub-core/tests/boot/linux.init-mips.S: New file.
7782 * tests/partmap_test.in: Handle ata0 disks.
7783 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7784 non-pc i386.
7785
070038f8
VS
77862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7789 ia64.
7790 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7791 quotes while on it.
7792
004be2cd
VS
77932012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7796 (grub_halt): Likewise.
7797 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7798
b1622487
VS
77992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/term/serial.c (grub_serial_register)
7802 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7803 the behaviour in line with x86 platforms.
7804
b7b4ab33
VS
78052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7808 (grub_ata_strncpy): Likewise.
7809 (grub_ata_identify): Add missing byteswaps.
7810
5e3535ae
VS
78112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7814 byte-swap.
7815 (screen_read_char): Likewise.
7816 (grub_vga_text_cls): Likewise.
7817
c21b17e6
VS
78182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7821 filenames.
7822 (make_file_path): Likewise.
7823
bf293dec
VS
78242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7827 machines.
7828 Tested by: Paulo Flabiano Smorigo.
7829 Crucial information about API supplied by: Coleen <Last name unknown>.
7830 Reviewed by: Coleen <Last name unknown>.
7831
81f6ef0e
VS
78322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * util/grub-mkimage.c: Disable -Wcast-align.
7835
7284143a
VS
78362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7839 as they are fatal.
7840
b99f3e00
VS
78412012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7844
944f752d
VS
78452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * util/grub-probe.c (escape_of_path): Fix double free.
7848
6cce6f38
VS
78492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/commands/videoinfo.c (hook): Show pitch.
7852
1e1eb50e
VS
78532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7856
1c715b5a
VS
78572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7860 (probe): Add ieee1275 to OFW devices.
7861
007ae52d
VS
78622012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7865
4557a36d
VS
78662012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Handle IBM OFW path.
7869
7870 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7871 available.
7872 (of_path_of_scsi): Handle vdevice.
7873
efbeefe9
VS
78742012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7877 Allocate in multiples of 16 to avoid adding a few bytes free region the
7878 windows bugs upon.
7879
15a940bb
VS
78802012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7883 Allocate in multiples of 16 to avoid adding a few bytes free region the
7884 windows bugs upon.
7885 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7886
6e5efd60
VS
78872012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7890 resolutions.
7891 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7892 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7893
0d3d137e
IS
78942012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7895
7896 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7897
45dbe300
VS
78982012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7901 resulted in \\ at the end of the line.
7902
6d8db947
VS
79032012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7906 (grub_parser_cmdline_state): Likewise.
7907 (grub_parser_split_cmdline): Likewise.
7908
de89d338
VS
79092012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7912 /dev/root and /dev/dm-*.
7913
00d41dee
VS
79142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7917 fix partially stale display.
7918
f95d1f11
VS
79192012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7922 substraction.
7923
6297e197
VS
79242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7927 Fix MBR remapping workaround.
7928 (grub_util_biosdisk_read) [__linux__]: Likewise.
7929
8a7ecad3
VS
79302012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7933
2b34f944
VS
79342012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * configure.ac: Bump to beta6.
7937
684aef11
CW
79382012-05-31 Christer Weinigel <christer@weinigel.se>
7939
7940 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7941
05b0bb91
VS
79422012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7945 (grub_cmd_linux): Likewise.
7946
bda36bfa
CW
79472012-05-31 Christer Weinigel <christer@weinigel.se>
7948
7949 Fix EHCI low-speed.
7950
7951 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7952 (GRUB_EHCI_MULT_TWO): Likewise.
7953 (GRUB_EHCI_MULT_THREE): Likewise.
7954 (GRUB_EHCI_CMASK_MASK): New enum value.
7955 (GRUB_EHCI_SMASK_MASK): Likewise.
7956 (GRUB_EHCI_CMASK_OFF): Likewise.
7957 (GRUB_EHCI_SMASK_OFF): Likewise.
7958 (grub_ehci_pci_iter): Enable periodic schedule.
7959 (grub_ehci_parse_notrun): Likewise.
7960 (grub_ehci_restore_hw): Likewise.
7961 (grub_ehci_setup_qh): Set flags for low speed transfers.
7962 (grub_ehci_find_qh): Use periodic list for low speed.
7963 (grub_ehci_setup_transfer): Check periodic queue as well.
7964 (grub_ehci_check_transfer): Likewise.
7965 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7966
e12bcb1c
PFS
79672012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7968
7969 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7970 parameter is used.
7971
bcc75fb3
PJ
79722012-05-31 Peter Jones <pjones@redhat.com>
7973
7974 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7975 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7976 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7977
f19cb95e
VS
79782012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7981 uninited variable. Allocate at least setup_sects.
7982
a4e5ca80
VS
79832012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Fix handling of EFI with big memory maps.
7986
7987 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7988 (real_mode_mem): Likewise.
7989 (real_mode_target): Likewise.
7990 (real_mode_pages): Likewise.
7991 (prot_mode_pages): Likewise.
7992 (linux_params): New var.
7993 (linux_cmdline): Likewise.
7994 (free_pages): Don't set real mode variables.
7995 (allocate_pages): Don't allocate real mode memory.
7996 (grub_e820_add_region): Remove the limit.
7997 (grub_linux_boot): Allocate and copy real mode memory.
7998 (grub_linux_unload): Free linux_cmdline.
7999 (grub_cmd_linux): Use temporary storage for parameters.
8000 (grub_cmd_initrd): Likewise.
8001 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8002 (linux_kernel_params): Make it 1K big.
8003
ddb73558
VS
80042012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * Makefile.util.def: Remove -Wno-format.
8007 * grub-core/Makefile.core.def: Likewise.
8008
1c4afb60
VS
80092012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * tests/cmp_unit_test.c: Add missing failure message.
8012 * tests/example_unit_test.c: Likewise.
8013 * tests/printf_unit_test.c: Likewise.
8014
941e3a6d
VS
80152012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8018 relaxation of protective MBR requirements.
8019
b105df76
VS
80202012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * configure.ac: Add condition for COND_HOST_XNU.
8023 * Makefile.util.def (10_xnu): New script.
8024 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8025
84e1569e
VS
80262012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8029 objconv bug.
8030
130c0f77
VS
80312012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8034 Binary on other platforms stays identical.
8035
6fd0b143
VS
80362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8039 Apple.
8040
0af1751d
VS
80412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8044
176d5f7d
VS
80452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8048 rather than defining size_t ourselves to avoid conflict.
8049
7de5e20a
VS
80502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8053 initialisation to avoid __bzero reference.
8054
f7143efe
VS
80552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8058 version.
8059 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8060 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8061 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8062 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8063 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8064
e6ad0555
VS
80652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8068 * grub-core/kern/misc.c: Likewise.
8069 * grub-core/loader/i386/xnu.c: Likewise.
8070 * include/grub/i386/tsc.h: Likewise.
8071 * include/grub/symbol.h: Likewise.
8072
4a5a3c4a
VS
80732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8076 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8077 on older compiler.
8078
037f6d90
VS
80792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8082 Implement Apple flavour.
8083 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8084
f7194551
VS
80852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8088 (memmove) [__APPLE__]: Likewise.
8089 (memcpy) [__APPLE__]: Likewise.
8090 (memset) [__APPLE__]: Likewise.
8091 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8092 (memmove) [__APPLE__]: Likewise.
8093 (memcpy) [__APPLE__]: Likewise.
8094 (memset) [__APPLE__]: Likewise.
8095
85a730ca
VS
80962012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8099 dependency discard.
8100
40e80b94
VS
81012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/normal/main.c (read_config_file): Provide config_file and
8104 config_directory.
8105 * util/grub.d/41_custom.in: Use config_directoy when available.
8106
9da59c32
VS
81072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8110 (grub_bfs_dir): Likewise.
8111
2787ae53
PJ
81122012-05-27 Peter Jones <pjones@redhat.com>
8113
8114 The old code gives arguments to a printf function which can't work
8115 correctly, and the compiler complains.
8116
8117 * grub-core/tests/example_functional_test.c (example_test): Add
8118 missing text.
8119 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8120 * include/grub/test.h (grub_test_assert_helper): New declaration.
8121 (grub_test_assert): Use grub_test_assert_helper.
8122
526ef13d
VS
81232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8126 (exfctest): ... this to avoid overlong filenames.
8127 All users updated.
8128
20dd511c
VS
81292012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 Handle "." and ".." on squashfs.
8132
8133 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8134 Make inode numbers into stack.
8135 (grub_squash_read_symlink): Use stack.
8136 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8137 (make_root_node): Fill stack.
8138 (grub_squash_open): Use stack.
8139
1d80c62a
VS
81402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8143 freeing.
8144
d336f652
VS
81452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8148 stderr on test calls.
8149
8b43f587
VS
81502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8153
80a3dc3f
VS
81542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8157
47e297d4
VS
81582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8161 "..".
8162
df042ccb
VS
81632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8166 (grub_hfsplus_iterate_dir): Add "." and "..".
8167
fc977f48
VS
81682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8171 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8172
f3250e5f
VS
81732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8176 (find_path): Handle "." and "..".
8177
fd8ed4c5
VS
81782012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8181 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8182 (grub_affs_iterate_dir): Handle hardlinks.
8183
4ce776d2
MG
81842012-05-26 Matthew Garrett <mjg@redhat.com>
8185
8186 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8187 (grub_efi_console_fini): Likewise.
8188 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8189 (grub_video_gop_fill_mode_info): Rename to ...
8190 (grub_video_gop_fill_real_mode_info): ... this.
8191 (grub_video_gop_fill_mode_info): New function.
8192 (grub_video_gop_setup): Setup double framebuffer.
8193 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8194 Free offscreen.
8195 (grub_video_gop_swap_buffers): Copy framebuffer.
8196 (grub_video_gop_fini): Free offscreen buffer.
8197 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8198 New enum.
8199 (grub_efi_gop_blt_pixel): New struct.
8200
683031ba
VS
82012012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * gentpl.py: Remove error disabling for objconv.
8204
c2deb798
VS
82052012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * configure.ac: Remove -Wunitialized as it's not available on older
8208 compilers.
8209
82102012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8211
8212 Fix extent overflow comparator.
8213
8214 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8215 (grub_hfsplus_read_block): Set type.
8216 (grub_hfsplus_cmp_extkey): Compare type.
8217
d6b1fd36
VS
82182012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8221
0a9aa0f6
VS
82222012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8225 than 0.
8226
8360e159
VS
82272012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8230 (dejavu_bold_14.pf2): New target.
8231
501b9e4b
VS
82322012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * configure.ac: Fix djvu font detection.
8235
7026b0e2
VS
82362012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8239 ext* instead of ext2.
8240
c2a51ade
VS
82412012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8244 name with \0.
8245
8f803a5d
JU
82462012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8247
8248 * docs/grub-dev.texi: Remove dot from .png.
8249
13c6353f
VS
82502012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8253 protective entry in any slot.
8254 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8255 if protective entry is found in any slot.
8256
8257 Protective entry in non-first slot make no sense but is a widespread
8258 brain damage.
8259
4cf6be1b
VS
82602012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8263
937d1c44
VS
82642012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8267 with old reiserfs.
8268 (grub_reiserfs_open): Don't free root.
8269
021d90ec
VS
82702012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8273 after freeing for safety.
8274
967b2b64
VS
82752012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8278 Reported by: Jordan Uggla.
8279
34274d02
JU
82802012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8281
967b2b64
VS
8282 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8283 actual implementation. Specifically, clarify that the grub menu will
8284 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8285 passed.
34274d02 8286
dcaaae9d
BH
82872012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8288
8289 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8290 of r0.
8291
7086ad52
VS
82922012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Remove unjustified hard dependency of normal.mod on gfxterm.
8295
8296 * include/grub/term.h (grub_term_output): New member fullscreen.
8297 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8298 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8299 (grub_gfxterm): Set .fullscreen.
8300 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8301 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8302
37ed2c9b
VS
83032012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8306 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8307 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8308
a4469c88
VS
83092012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8312
4e461486
VS
83132012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8316 a bad FS.
8317
aa78f5c4
VS
83182012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8321 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8322
197626b5
VS
83232012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8326 (grub_jfs_mount): Fill caseins.
8327 (grub_jfs_find_file): Respect caseins.
8328
8ad3f28c
VS
83292012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8332 through UTF-16.
8333
0c6c324e
VS
83342012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8337 New argument origpath. All users updated.
8338
c6666ba6
VS
83392012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8342 (read_attr): Ensure that we read start of possibly compressed block.
8343
e28e5fe5
VS
83442012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8347 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8348 All users updated.
8349
5fc23ab2
VS
83502012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8353 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8354 (dejavu.pf2): Replace with ...
8355 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8356 this.
8357
79dbc21c
VS
83582012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * util/grub.d/20_linux_xen.in: Add missing line.
8361
d2fcfb0c
VS
83622012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8365 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8366 (grub_utf16_to_utf8): Likewise.
8367
5560e9d6
VS
83682012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8371 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8372 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8373 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8374 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8375 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8376
83772012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8378
8379 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8380 a bad FS.
8381
5560e9d6 83822012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8383
8384 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8385 (grub_udf_read_symlink): Handle read_string failure.
8386
5eae3175
VS
83872012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8390 comment.
8391
c1ad82db
VS
83922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Fix handling of UDF symlinks.
8395
8396 * grub-core/fs/udf.c (read_string): New argument outbuf.
8397 All users updated.
8398 (grub_ufs_read_symlink): Rename to ...
8399 (grub_udf_read_symlink): ... this. All users updated.
8400 Handle symlinks with more than one component.
8401
33eca6e0
VS
84022012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8405 symlinks. Replace leading colon with a slash.
8406
57f4a70b
VS
84072012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8410 filename.
8411
38c8ee20
VS
84122012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8415 match in inner node.
8416
2e57f28f
VS
84172012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8420 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8421 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8422 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8423 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8424 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8425 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8426 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8427 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8428
fe8c2f11
VS
84292012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Use grub-probe and not cmp to check that disk is empty.
8432
8433 * util/grub-install.in: Use grub-probe for zero-check.
8434 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8435 (probe): Handle PRINT_ZERO_CHECK.
8436 (argp_parser): Handle -t zero_check.
8437
84382012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8439
8440 Flush block cache on adding disk to device map.
8441
8442 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8443 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8444 adding.
8445 (read_device_map): Likewise.
8446 (open_device): Flush on opening.
8447
690434e8
VS
84482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8451 (handle_symlink): Fix off-by-one error.
8452 Canonicalize the target.
8453 (grub_cpio_dir): Canonicalize the name.
8454 Fix memory leak.
8455 Set directory.
8456 (grub_cpio_open): Canonicalize the name.
8457
742d2be6
VS
84582012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8461 handling.
8462
3244fe96
VS
84632012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8466 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8467
8aeb1837
VS
84682012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8471 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8472 All users updated.
8aeb1837 8473
9133fd05
VS
84742012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8477 counterpart.
8478
6d521c5b
VS
84792012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 Fix UFS1 big file support.
8482
8483 * grub-core/fs/ufs.c (INODE): Removed.
8484 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8485 64-bit.
8486 (INODE_MODE): Simplify.
8487 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8488 (grub_ufs_lookup_symlink): Don't use INODE.
8489
21b82e17
VS
84902012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8493
8494 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8495 (grub_minix_data): Replace log_block_size with block_size.
8496 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8497 (grub_minix_mount): Fill block_size.
8498
84992012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8500
8501 * configure.ac: Bump to beta5.
8502
f417ed04
VS
85032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Fix wrapped HFS+ handling.
8506
8507 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8508 blocks_start. All users updated.
8509 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8510 wrapping offset.
8511 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8512
607d282b
VS
85132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Fix long symlinks on reiserfs.
8516
8517 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8518 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8519 (grub_reiserfs_iterate_dir): Save size for non-directories.
8520 (grub_reiserfs_open): Don't reread stat block as we already know the
8521 size.
8522 (grub_reiserfs_read): Split into...
8523 (grub_reiserfs_read_real): ... and ...
8524 (grub_reiserfs_read): ...this.
8525
ae16024d
VS
85262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 Fix non-indexed JFS.
8529
8530 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8531 (grub_jfs_data): New field namecomponentlen.
8532 (grub_jfs_mount): Fill namecomponentlen.
8533 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8534
eea1e26e
VS
85352012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8538 * tests/grub_script_echo1.in: Add tests.
8539
df760f77
VS
85402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * util/grub-install.in: Ignore empty devicetree directory.
8543
5efb817d
B
85442012-05-08 Bean <bean123ch@gmail.com>
8545
8546 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8547 All users updated.
8548 (free_rsm): Free header as well.
8549 (free_old_fragments): Fix memory leak.
8550 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8551 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8552 (destroy_pq): Likewise.
8553 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8554
668ea6d2
VS
85552012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8558 resulting hash as a precaution.
8559
1739b1fe
VS
85602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8563 '_' in variable names.
8564 * grub-core/net/net.c (grub_net_network_level_interface_register):
8565 Likewise.
8566
6ae485aa
VS
85672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Fix AFFS with non-512B blocks.
8570
8571 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8572 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8573 (grub_affs_data): Replace blocksize with log_blocksize.
8574 (grub_affs_read_block): Fix non-512B blocks.
8575 (grub_affs_read_symlink): Likewise.
8576 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8577 (grub_affs_read): Fix non-512B blocks.
8578 (grub_affs_label): Likewise.
8579 (grub_affs_mtime): Likewise.
8580 (grub_affs_mount): Fix block detection routine.
8581
d20fab84
VS
85822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Add filesystem mtime to AFFS.
8585
8586 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8587 (aftime2ctime): New function.
8588 (grub_affs_dir): Use aftime2ctime.
8589 (grub_affs_label): Fix return value.
8590 (grub_affs_mtime): New function.
8591 (grub_affs_fs): Add mtime.
8592
e87b10f5
VS
85932012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8596 UTF-8.
8597
7dceec9b
VS
85982012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8601 UTF-8.
8602
2f48221f
VS
86032012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8606
dacd85cf
VS
86072012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8610 flags.
8611 (FLAGS_CASE_SENSITIVE): New enum value.
8612 (cache_entry): New struct.
8613 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8614 cache_size and cache.
8615 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8616 Add log_blocksize and fshelp_flags.
8617 (grub_sfs_read_extent): Handle non-512 blocks.
8618 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8619 (grub_sfs_read_file): Handle non-512 blocks.
8620 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8621 fshelp_flags.
8622 (grub_sfs_read_symlink): Handle non-512 blocks.
8623 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8624 (grub_sfs_dir): Free cache.
8625 (grub_sfs_close): Likewise.
8626
24e9a854
VS
86272012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8630 filesystems.
8631
62ace64d
VS
86322012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8635
83b2e89c
VS
86362012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8639
75ccaea3
VS
86402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8643 (grub_sfs_read_extent): Likewise.
8644 (grub_sfs_read_block): Likewise.
8645 (grub_sfs_mount): Likewise.
8646 (grub_sfs_iterate_dir): Likewise.
8647 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8648 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8649
1b8463f2
VS
86502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 Fix errors on compressed NTFS with 512B clusters.
8653
8654 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8655 types.
8656 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8657 not 0.
8658 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8659 Relax check for inline extents.
8660 (ntfscomp): Return correct -1 on error and not 0.
8661
4f8e368f
VS
86622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * util/grub-install.in: Fix handling of prefix containing spaces.
8665
6f5d5ee8
VS
86662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8669 (grub_squash_read_data): Fix offset byte-swapping.
8670
ce41ab7a
VS
86712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8674 per common usage and preffered in several parts of code.
8675 (grub_memcmp): Likewise.
8676 (grub_strncmp): Likewise.
8677 * include/grub/misc.h (grub_strcasecmp): Likewise.
8678 (grub_strncasecmp): Likewise.
8679 * Makefile.util.def (cmp_test): New test.
8680 (grub_script_strcmp): Likewise.
8681 * tests/cmp_unit_test.c: New file.
8682 * tests/grub_script_strcmp.in: Likewise.
8683 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8684
49717bf4
VS
86852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * include/grub/pci.h: Move enums into no-asm part.
8688
0a308f64
VS
86892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8692
1796965f
ST
86932012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8694
8695 * util/getroot.c (find_hurd_root_device): Try to make error message
8696 and comments to translators clearer.
8697
4e9b2819
VS
86982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8701
076aeb50
VS
87022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8705 btrfs.
8706
19424d94
VS
87072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * docs/grub.cfg: Update.
8710
ebb73076
VS
87112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * docs/grub.texi (PXE): Remove not present variables.
8714
9a1b669c
VS
87152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/net/net.c (defserver_set_env): New function.
8718 (defserver_get_env): Likewise.
8719 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8720
d38bf7d3
VS
87212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8724 entries.
8725
87262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8727
8728 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8729 * grub-core/kern/emu/hostdisk.c: Likewise.
8730
e5e4ca48
ST
87312012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8732
8733 Handle hurd userspace partitions.
8734
8735 * util/getroot.c (find_hurd_root_device): New function.
8736 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8737
56bb5dd5
VS
87382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8741 names.
8742 Reported by: Bastian Blank.
8743
9e8bc27a
VS
87442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8747 crossing page boundary.
8748
aa01499d
VS
87492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Fix B-tree search in BFS, especially in presence of non-ASCII
8752 characters.
8753
8754 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8755 (find_in_b_tree): Use standard bsearch + btree algorithm.
8756
57006035
VS
87572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8760 and so on.
8761
9d34bb85
MG
87622012-05-03 Matthew Garrett <mjg@redhat.com>
87632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Suspend broadcom cards in order to stop their DMA.
8766
8767 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8768 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8769 (pci): Don't build on x86 EFI.
8770 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8771 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8772 New function.
8773 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8774 stop_broadcom if running on EFI.
8775 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8776 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8777 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8778 (grub_pci_find_capability): New proto.
8779
01aab997
VS
87802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * docs/grub.texi: Remove dot from the extension as it apparently
8783 doesn't work with some makeinfo versions.
8784
fbd8dca6
VS
87852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8788 with GRUB expectance.
8789
dab797f4
VS
87902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8793
1516bfb4
VS
87942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8797 zero after directory block since last entry may be not 0-terminated if
8798 it ends on block boundary. Use continue instead of if spanning whole
8799 loop.
8800
a3a0eace
VS
88012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Support 4K sectors UDF inline files.
8804
8805 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8806 (grub_udf_extended_file_entry): Likewise.
8807 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8808 All users updated.
8809 (get_fshelp_size): New function.
8810 (grub_udf_read_icb): Read whole block.
8811 (grub_udf_iterate_dir): Likewise.
8812 (grub_udf_dir): Likewise.
8813 (grub_udf_open): Likewise.
8814
c82f16c1
VS
88152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8818
59fd2aac
VS
88192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8822 inline symlinks in addition to workaround.
8823
3b4afb4d
VS
88242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8827
f45c794a
VS
88282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8831
f25cecbd
VS
88322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8835
bb9a34e8
VS
88362012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Fix reiserfs big seek times.
8839
8840 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8841 exact. All users updated.
8842 (grub_reiserfs_read): Use nearest btree search for seeking.
8843 Fix return value on error.
8844
dc478aea
VS
88452012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8848 entries.
8849 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8850 * docs/grub.texi: Update menuentry description.
8851
8db10f47
VS
88522012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8855 crash when embedding onto filesystem.
8856
bcb288ed
VS
88572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8860 name.
8861
a626fdd7
VS
88622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8865
b2f68477
VS
88662012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8869 commit.
8870
ba15b2af
B
88712012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
88722012-05-01 Bean <bean123ch@gmail.com>
8873
8874 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8875
a188012e
VS
88762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8879 Special behaviour for len = 0 to read whole file isn't used anywhere and
8880 can cause buffer ovewrflows in several places.
8881
f0a53ed2
VS
88822012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8885
5ed554f0
VS
88862012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Handle RAIDZ on non-512B sectors.
8889
8890 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8891 max_children_ashift.
8892 (fill_vdev_info_real): Fill max_children_ashift.
8893 (read_device): Use max_children_ashift.
8894
ddc58357
VS
88952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8898
e3282399
VS
88992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8902 disk names.
8903 * docs/grub.texi: Update device.map parts.
8904
ee618bd4
VS
89052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Don't scan into non-diskfilter devices having diskfilter names.
8908
8909 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8910 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8911 handling.
8912 (scan_disk_hook): New function.
8913
bdf88864
B
89142012-04-29 Bean <bean123ch@gmail.com>
8915
8916 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8917 allocation.
8918
32745f51
MK
89192012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8920
8921 * configure.ac: Detect starfield theme font path
8922 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8923
bc95c8c0
VS
89242012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8927 geometry on serial consoles.
8928
147fbcab
VS
89292012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8932 because of network consoles.
8933
0f42c889
VS
89342012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8937 handling.
8938
4a3594c9
VS
89392012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8942 falls on Q syndrom.
8943
5cb53879
VS
89442012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8947 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8948
b282dfe5
VS
89492012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8952 Allocate at lest 8192 for temporary buffer as required for lzo.
8953
daa59f47
VS
89542012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8957 to cluster_bits, since it's already added in.
8958 (grub_fat_read_data): Likewise.
8959
986748ce
VS
89602012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8963 as long as cluster size is multiple of 512 bytes.
8964
a20f6ad0
VS
89652012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * util/grub-mkrescue.in: Fix locale directory.
8968
385f9abb
VS
89692012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/kern/emu/hostdisk.c (map): Make static.
8972
1c557d30
B
89732012-04-23 Bean <bean123ch@gmail.com>
8974
8975 * util/grub-fstest.c (fstest): Add missing break.
8976
524b5d3a
ST
89772012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8978
8979 Fix hurd build.
8980
8981 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8982 not define nr variable.
fe4824e9 8983 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8984 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8985 grub_find_device): Do not define.
524b5d3a 8986
9a06490c
VS
89872012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 Fix kfreebsd compile and behaviour.
8990
8991 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8992 format-security.
8993 * util/getroot.c: Fix wait.h include.
8994 (grub_guess_root_devices): Error if grub_find_device fails.
8995 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8996 (grub_util_get_dev_abstraction): Likewise.
8997 (grub_util_pull_device): Likewise.
8998 (grub_util_get_grub_dev): Likewise.
8999 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9000
48143d96
VS
90012012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 Fix and unify wholedisk detection.
9004
9005 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9006 is_part. All users updated.
9007 (device_is_wholedisk): Removed.
9008 (grub_util_biosdisk_get_grub_dev): Use is_part.
9009
ebbd24f3
VS
90102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9013 mode.
9014
56f7aa1e
VS
90152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * configure.ac: Bump to beta4.
9018
9c815e01
VS
90192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9022 --fs-uuid --set UUID syntax.
9023
59e2651a
VS
90242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9027 disunification.
9028
54e03cfc
VS
90292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9032
81092a75
MK
90332012-04-18 Mads Kiilerich <mads@kiilerich.com>
9034
9035 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9036
f8315e14
MG
90372012-04-18 Mike Gilbert <floppym@gentoo.org>
9038
9039 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9040
1501ac21
B
90412012-04-18 Bean <bean123ch@gmail.com>
9042
9043 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9044 place.
9045
cb7f944e
VS
90462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9049 users updated.
9050 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9051 corresponding to GRUB partitions.
9052 (grub_util_biosdisk_write): Likewise.
9053
b72d44a1
VS
90542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Scan mdraid before LVM.
9057
9058 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9059 (grub_diskfilter_register_front): ... this.
9060 (grub_diskfilter_register_back): New function.
9061 All users of grub_diskfilter_register updated.
9062
33d918b8
VS
90632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-install.in: Fix an automatic target detection bug.
9066
c6ca973d
VS
90672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * util/grub-install.in: New option --efi-directory.
9070
b41be562
VS
90712012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9074 boot services if we have no other choice.
9075
90762012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9079 document it.
9080 * tests/util/grub-shell.in: Update to --directory.
9081
e0595a73
VS
90822012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9085
4ed80652
VS
90862012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9089 (grub_minix_read_file): Likewise.
9090 (grub_minix_read_inode): Likewise.
9091 (grub_minix_find_file): Likewise.
9092 (grub_minix_dir): Likewise.
9093
56008077
VS
90942012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub-setup.c (setup): Fix partition handling and blocklist
9097 check.
9098
ee520775
VS
90992012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9102 redundant buggy overlap check.
9103
16fc9293
VS
91042012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9107 and grub-mknetdir.
9108
9bab65c4
VS
91092012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9112 kh.loadflags on pre-2.00 kernels.
9113
3c491b47
VS
91142012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 Terminate UNDI and PXE before launching the payload to avoid problems
9117 with DMA.
9118
9119 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9120 (grub_loader_flags): ... this. All users updated.
9121 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9122 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9123 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9124 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9125 function.
9126 (grub_pxe_restore): Likewise.
9127 (fini_hnd): New var.
9128 (GRUB_MOD_INIT): Register shutdown hook.
9129 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9130 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9131 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9132 (grub_loader_set): Rename second argument to flags.
9133
851ffada
VS
91342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9137 written bytes.
9138 (grub_get_num_of_utf8_bytes): New function.
9139 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9140 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9141 executing it.
9142 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9143 (grub_ucs4_to_utf8): Change return type.
9144
491c57a8
VS
91452012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9148 warning.
851ffada
VS
9149 * grub-core/fs/bfs.c (hop_level): Likewise.
9150 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9151
756773df
VS
91522012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/lib/adler32.c: Recode due to license unclearness.
9155
fd556a96
VS
91562012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9159 (test_header): Likewise.
9160
9f9d3f69
VS
91612012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Fix --help formatting.
9164
9165 * util/grub-mkconfig_lib.in (print_option_help): New function.
9166 (grub_fmt): Likewise.
9167 * util/grub-install.in: Use print_option_help and grub_fmt.
9168 * util/grub-kbdcomp.in: Likewise.
9169 * util/grub-mkconfig.in: Likewise.
9170 * util/grub-mknetdir.in: Likewise.
9171 * util/grub-mkrescue.in: Likewise.
9172 * util/grub-mkstandalone.in: Likewise.
9173 * util/grub-reboot.in: Likewise.
9174 * util/grub-set-default.in: Likewise.
9175 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9176
561ec77e
VS
91772012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * linguas.sh: Remove autogenerated *.po.
9180
7ec2b021
VS
91812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * po/README: Move language fetcing to ...
9184 * linguas.sh: ... here.
9185 * po/README: Point to linguas.sh.
9186
a88f3270
VS
91872012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * po/README: Exclude ko.po due to disclaimer problems.
9190
d61357ce
VS
91912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9194 len = 0.
9195 (grub_gettext_translate_real): Handle 0th string.
9196 (grub_gettext_translate): Ensure that "" isn't translated.
9197
505e41dc
VS
91982012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9201 TRANSLATORS comment.
9202 (grub_diskfilter_print_partmap): Propagate changing of error into
9203 warning.
9204
e44092db
VS
92052012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9208 to uint64_t to prevent overflow.
9209 (grub_diskfilter_lv): Increase start_extent and extent_count
9210 to uint64_t to prevent overflow.
9211
9b83956a
VS
92122012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * configure.ac: Increase version.
9215
da0d5b3f
VS
92162012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9219
9220 * po/Rules-translit: New file.
9221 * po/arabic.sed: Likewise.
9222 * po/cyrillic.sed: Likewise.
9223 * po/greek.sed: Likewise.
9224 * po/hebrew.sed: Likewise.
9225 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9226 * po/Makefile.in.in: Add extra_dist4.
9227
ac66b453
VS
92282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9231
9232 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9233 modify names. Introduce MODE_BIGENDIAN.
9234 * grub-core/fs/minix_be.c: New file.
9235 * grub-core/fs/minix2_be.c: Likewise
9236 * grub-core/fs/minix3_be.c: Likewise.
9237 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9238 minix3_be.
9239 * grub-core/Makefile.core.def (minix_be): New module.
9240 (minix2_be): Likewise.
9241 (minix3_be): Likewise.
9242
92432012-04-01 Felix <email@hamburg.de>
9244
9245 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9246 (devs): Add MBP 2011.
9247
0a2d5a82
VS
92482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9251
d1625889
VS
92522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * grub-core/normal/cmdline.c (print_completion): New field
9255 prompt_len.
9256 (grub_cmdline_get): Handle width properly.
9257
6d36a236
VS
92582012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9261
9576977e
VS
92622012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9265 after 29th of February.
9576977e 9266
d73ff15d
VS
92672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 Fix exfat endianness handling.
9270
9271 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9272 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9273 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9274 Byte-swap utf16 when necessary.
9275 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9276
bbb39a45
AB
92772012-03-31 Anton Blanchard <anton@samba.org>
92782012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 Fix btrfs endianness handling.
9281
9282 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9283 (lower_bound): Make root uint64_t. Use root in le.
9284 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9285 (find_path): Fix template key init.
9286 (grub_btrfs_dir): Fix mtime byteswap.
9287 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9288
354e0af7
VS
92892012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9292 recursion_depth. Break infinite resursions. All users updated.
9293
4e75f21c
VS
92942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9297 after free.
9298 Reported by: Peter Jones.
9299
25581802
AB
93002012-03-31 Anton Blanchard <anton@samba.org>
9301
9302 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9303 8 bit values.
9304
08fbf92e
VS
93052012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/grub-install.in: Fix nvram call for PreP.
9308
5d1182a6
VS
93092012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9312 the error when some elements are missing into a warning.
9313
3f8cdd90
VS
93142012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9317
51006716
CW
93182012-03-28 Colin Watson <cjwatson@ubuntu.com>
9319
9320 * docs/grub.texi (Invoking grub-probe): New section.
9321 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9322
e1bd676b
VS
93232012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Fix tab and wide character handling in editor and menu.
9326
9327 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9328 agglomerate control characters with combining marks.
9329 (bidi_line_wrap): Allow break on tab.
9330 (grub_unicode_get_comb_start): New function.
9331 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9332 and tab correctly.
9333 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9334 with a space.
9335 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9336 fixed_tab_size. All users updated.
9337 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9338 (grub_term_getcharwidth): Handle \t.
9339 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9340 and copy.
9341
22e6a774
VS
93422012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Handle big-endian mdraid.
9345
9346 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9347 * grub-core/Makefile.core.def (mdraid09_be): New module.
9348 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9349 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9350 * grub-core/disk/mdraid_linux_be.c: New file.
9351
3c0eae66
VS
93522012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9355
b6cf74c9
VS
93562012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9359 missing quotes which caused confusion among translators.
9360
83c93b9c
VS
93612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * util/grub-mkconfig_lib.in: Fix typo.
9364
ac6fd218
VS
93652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9368 spaces.
9369 * tests/grub_script_leading_whitespace.in: New file.
9370 * Makefile.util.def (grub_script_leading_whitespace): New test.
9371
ba287dd8
VS
93722012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9375 to work.
9376
d2d58d0a
VS
93772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9380 starts with control character.
9381
0382d9bb
VS
93822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9385 overflow.
9386 (grub_gdb_outbuf): Likewise.
9387
d83ff9f9
VS
93882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9391 zero terminator. Fixes a crash.
9392
2282da4a
VS
93932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9396 beyond 4 GiB.
9397 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9398 images independently of preffered adderss field.
9399
0ae4f0bd
VS
94002012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9403 * grub-core/commands/regexp.c: Likewise.
9404 * grub-core/loader/i386/linux.c: Likewise.
9405 * grub-core/partmap/msdos.c: Likewise.
9406 * grub-core/script/execute.c: Likewise.
9407 * grub-core/term/gfxterm.c: Likewise.
9408
546fbe9b
VS
94092012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 Add variable parsing in $"..." and fix several mismatches with bash.
9412
9413 * Makefile.util.def (grub_script_gettext): New test.
9414 * grub-core/script/execute.c (parse_string): New function.
9415 (gettext_append): Likewise.
9416 (grub_script_arglist_to_argv): Use gettext_append.
9417 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9418 * tests/grub_script_gettext.in: New file.
9419
9fdb2d7b
VS
94202012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 Fix handling of leading spaces in scripts.
9423
9424 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9425 spaces.
9426 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9427 other than skipping \r. All users updated.
9428 * tests/grub_script_echo1.in: Add space-related tests.
9429 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9430
1a1ac4f6
VS
94312012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9434
b63d89b6
VS
94352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * configure.ac: Bump up the version to beta2.
9438
17f38c0f
VS
94392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Fix gettext reload bugs (e.g. inability to disable gettext
9442 once enabled).
9443
9444 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9445 main_context and secondary_context. All functions updated.
9446 (grub_gettext_translate): Rename to ...
9447 (grub_gettext_translate_real): ... this. Return NULL on failed
9448 translate.
9449 (grub_gettext_translate): Handle secondary context.
9450 (grub_gettext_delete_list): Close file and zero-out the context.
9451 (grub_mofile_open): Don't call grub_gettext_delete_list.
9452 Don't close file.
9453 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9454 if locale="" to avoid pointless error message.
9455 (grub_gettext_env_write_lang): Update lang even if load fails.
9456 Handle secondary context.
9457 (grub_gettext_reread_prefix): New function.
9458 (read_main): Likewise.
9459 (read_secondary): Likewise.
9460 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9461 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9462 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9463 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9464
8e56f870
VS
94652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * configure.ac: Decrease warning level to avoid spurious warnings and
9468 to be able to compile with GCC 4.2.
9469 * Makefile.util.def: Remove -Wno-error=logical-op.
9470
82f6d455
WB
94712012-03-10 William Bittner <william.bittner@gmail.com>
9472
9473 * util/import_unicode.py: Add missing brackets around string for
9474 python 3 support.
9475
1ecd61a4
VS
94762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 Fix efi chainloader on network root.
9479
9480 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9481 network devices.
9482 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9483 New function.
9484
14361ee8
VS
94852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9488 unused show_text member.
9489 * docs/grub.texi: Document "text" property.
9490
922aabf3
VS
94912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9494 in dprintf.
9495
ec316771
VS
94962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 Fix IMSM handling on Fedora.
9499
9500 * util/getroot.c (grub_util_is_imsm): New function.
9501 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9502
0f021838
VS
95032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * Makefile.am: Strip gold section.
9506 * conf/Makefile.common: Likewise.
9507 * gentpl.py: Likewise.
9508 * grub-core/Makefile.core.def: Likewise.
9509 * grub-core/genmod.sh.in: Likewise.
9510
1039c8eb
VS
95112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9514 * util/grub.d/20_linux_xen.in: Likewise.
9515 Based on Debian patch.
9516
6dd412cd
VS
95172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/grub.d/10_linux.in: Fix syntax error resulting in
9520 Richard Laager's patch.
9521 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9522
3fd8bae5
VS
95232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9526 dependencies.
9527
7eea1671
RL
95282012-03-10 Richard Laager <rlaager@wiktel.com>
9529
9530 * util/grub.d/10_linux.in: Fix ZFS root passing.
9531
e8e0566b
VS
95322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9535 * grub-core/commands/xnu_uuid.c: Likewise.
9536 * grub-core/loader/efi/appleloader.c: Likewise.
9537 * grub-core/script/execute.c: Likewise.
9538 * grub-core/script/main.c: Likewise.
9539 * util/grub-mkfont.c: Likewise.
9540
1acc5b1f
VS
95412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * util/grub-mkfont.c (options): Use more appropriate "select" that
9544 "set" for face index.
9545
35d70620
VS
95462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * util/grub-editenv.c (options): Gettextize command summaries.
9549
c9eb96b5
VS
95502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9553 "out of memory" error messagge.
9554
1f493136
VS
95552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9558 of diskfilter for diskfilter on diskfilter support.
9559
6d790129
VS
95602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9563
005f46c9
VS
95642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9567 themes/starfield.
9568
c8f778a0
VS
95692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9572
de1e64eb
VS
95732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9576
c6d54211
VS
95772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9580 of error message.
9581
dd390777
VS
95822012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9585
5fd1c522
VS
95862012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9589 message.
c6d54211 9590 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9591
fae01f6c
VS
95922012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9595 Gettextize.
9596 * util/grub-mount.c (options): Likewise.
9597
292fdaff
VS
95982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9601 gettextize.
9602 * grub-core/commands/search_wrap.c (options): Likewise.
9603
ecdbae77
VS
96042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9607
52bfedfa
VS
96082012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9611 size calculation.
9612 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9613 none is known.
9614
55b20e58
VS
96152012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9618 "temporary" since it's used in identifier and is limited in space.
9619
fda9d101
VS
96202012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * po/POTFILES.in: Regenerate. Include *.h since they contain
9623 translatable strings as well.
9624
6a0295e2
VS
96252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9628 byte-swap on big-endian.
9629 Reported by: Lennart Sorensen
9630
807fb77c
VS
96312012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9634 (allocate_pages): Improve dprintf.
9635 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9636 code32_start. Fill code32_start and kernel_alignment in params.
9637 (grub_cmd_initrd): Use prot_init_space.
9638
61ac50ba
VS
96392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9642
abdd26dd
VS
96432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * util/grub-install.in: Add missing dot at the end of sentence.
9646
6e69da9c
VS
96472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9650 * grub-core/commands/videotest.c: Likewise.
9651 * grub-core/loader/i386/linux.c: Likewise.
9652
4a929343
VS
96532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9656 sentence.
9657 Reported by: Milo Casagrande.
9658
bb51c6c6
VS
96592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9662 * grub-core/commands/gptsync.c: Likewise.
9663 * grub-core/commands/hashsum.c: Likewise.
9664 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9665 * grub-core/commands/legacycfg.c: Likewise.
9666 * grub-core/io/gzio.c: Likewise.
9667 * grub-core/net/net.c: Likewise.
9668 * grub-core/term/gfxterm.c: Likewise.
9669 * grub-core/term/terminfo.c: Likewise.
9670 * grub-core/tests/test_blockarg.c: Likewise.
9671 * grub-core/video/video.c: Likewise.
9672 * util/grub-install.in: Likewise.
9673 * util/grub-mkfont.c: Likewise.
9674
b2b149cb
VS
96752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9678
c7c080ad
VS
96792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9682 Reported by: David Prévot.
c7c080ad 9683
f2e243c0
VS
96842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9687 description.
9688
09963c76
VS
96892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * util/grub-script-check.c (main): Fix a syntax error message which was
9692 unclear.
9693
a50514a8
VS
96942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9697
4650daec
VS
96982012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9701 messages.
9702
97032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9704
9705 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9706 without argument.
9707 * util/grub-mount.c (options): Likewise.
9708
bbc5a342
VS
97092012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9712
ef292a87
VS
97132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/net/http.c: Add TRANSLATORS comments.
9716 * grub-core/normal/cmdline.c: Likewise.
9717 * grub-core/normal/misc.c: Likewise.
9718 * grub-core/partmap/msdos.c: Likewise.
9719 * grub-core/parttool/msdospart.c: Likewise.
9720 * grub-core/script/execute.c: Likewise.
9721 * grub-core/script/main.c: Likewise.
9722 * grub-core/term/terminfo.c: Likewise.
9723 * grub-core/video/bitmap.c: Likewise.
9724 * util/grub-install.in: Likewise.
9725 * util/grub-mkimage.c: Likewise.
9726 * util/grub-mklayout.c: Likewise.
9727 * util/grub-setup.c: Likewise.
9728
0fc19bd0
VS
97292012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9732 with similar messages in grub-fstest.
9733
d95862ef
VS
97342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * util/grub-install.in: Unify "option requires an argument" message
9737 with similar messages in other files.
9738 * util/grub-mkconfig.in: Likewise.
9739
b7308f90
VS
97402012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * util/grub-set-default.in: Replace printf with gettext_printf (the
9743 string in in question is already translated from grub-reboot)
9744
559dc587
VS
97452012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * configure.ac: Bump up the version to beta1.
9748
1a11761f
VS
97492012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9752 case when min_align = 0.
9753
24539abd
VS
97542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9757 and fix a case when line_start overflows.
9758
32bd735b
VS
97592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * util/grub-reboot.in (usage): Mention id posibility.
9762 * util/grub-set-default.in (usage): Likewise.
9763
1a2fd1e6
VS
97642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9767 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9768 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9769 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9770 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9771 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9772 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9773
90eeab76
VS
97742012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/commands/menuentry.c (options): Remove
9777 GRUB_ARG_OPTION_REPEATABLE.
9778 Reported by: Andreas Vogel
9779
5ad1be82
AV
97802012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9781
9782 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9783
cb055286
HE
97842012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9785
9786 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9787 error.
9788
93b1cd79
VS
97892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 Use sort -V by the idea of Georgi Georgiev.
9792
9793 * util/grub-mkconfig_lib.in (version_sort): New function.
9794 (version_test_numeric): Use version_sort.
9795
0cdc126c
VS
97962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 Use submenus in grub-mkconfig.
9799
9800 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9801 * util/grub-mkconfig_lib.in (grub_quote): New function.
9802 (gettext_printf): Use gettext and not gettext_quoted to fix several
9803 messages.
9804 * util/grub.d/10_hurd.in: Use submenus.
9805 * util/grub.d/10_kfreebsd.in: Likewise.
9806 * util/grub.d/10_linux.in: Likewise.
9807 * util/grub.d/10_netbsd.in: Likewise.
9808 * util/grub.d/20_linux_xen.in: Likewise.
9809 * util/grub.d/30_os-prober.in: Likewise.
9810 * util/grub.d/10_illumos.in: Add missing quoting.
9811 * util/grub.d/10_windows.in: Likewise.
9812
d9bef9bc
VS
98132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Fix menu title instability bug.
9816
9817 * grub-core/commands/menuentry.c (options): New option --id.
9818 (grub_normal_add_menu_entry): New argument id. All users updated.
9819 (grub_cmd_menuentry): Handle --id.
9820 (grub_menu_init): Accept unknown arguments.
9821 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9822 feature_menuentry_options.
9823 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9824 saved_entry.
9825 (get_entry_number): Match with id as well.
9826 * include/grub/menu.h (grub_menu_entry): New member id.
9827 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9828 * util/grub.d/00_header.in: Define menuentry_id_option.
9829 * util/grub.d/10_hurd.in: Define id.
9830 * util/grub.d/10_illumos.in: Likewise.
9831 * util/grub.d/10_kfreebsd.in: Likewise.
9832 * util/grub.d/10_linux.in: Likewise.
9833 * util/grub.d/10_netbsd.in: Likewise.
9834 * util/grub.d/10_windows.in: Likewise.
9835 * util/grub.d/20_linux_xen.in: Likewise.
9836 * util/grub.d/30_os-prober.in: Likewise.
9837
98382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9839
9840 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9841 "scope" with "body".
9842
7c8d0ce7
VS
98432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9846 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9847 prot_size and prot_file_size.
9848
49de079b
VS
98492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9852 All users updated. If easily=1 require raid-5/-6 to be full.
9853 (is_node_readable): Likewise.
9854 (scan_devices): Scan incomplete but readable LVs at the end.
9855 (grub_diskfilter_memberlist): Pull missing devices.
9856 (insert_array): Skip scanning until device is complete or scan is
9857 done otherwise.
9858 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9859 check.
9860 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9861 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9862
aff05d45
MG
98632012-03-03 Matthew Garrett <mjg@redhat.com>
98642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 Avoid EFI boot services when loading Linux.
9867
9868 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9869 avoid_efi_bootservices. All users updated.
9870 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9871 argument avoid_efi_bootservices. All users updated.
9872 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9873 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9874 align, min_align, relocatable, prefered_address. All users updated.
9875 Allocate avoiding boot services if kernel is relocatable.
9876 (grub_cmd_linux): Check if kernel is relocatable.
9877 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9878 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9879 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9880 avoid_efi_boot_services.
9881 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9882 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9883 (linux_kernel_params): Likewise.
9884
3935dde2
MG
98852012-03-03 Matthew Garrett <mjg@redhat.com>
98862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Use EDID on EFI.
9889
9890 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9891 datasize_out.
9892 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9893 modes. Set gop_handle.
9894 (grub_video_gop_get_edid): New function.
9895 (grub_gop_get_preferred_mode): Likewise.
9896 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9897 (grub_video_efi_gop_adapter): Set .get_edid.
9898 * include/grub/efi/edid.h: New file.
9899 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9900
32107ec0
VS
99012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * util/grub-install.in: Load efivars unconditionally.
9904
e70a2c50
VS
99052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * po/Rules-piglatin: Change suffix from .po-update-en to
9908 .po-update-en-piglatin.
9909
8f9cace1
VS
99102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 Add a pig farm.
9913
9914 * po/piglatin.sed: New file.
9915 * po/en@piglatin.header: Likewise.
9916 * po/Rules-piglatin: Likewise.
9917 * po/README: Add en@piglatin to autogenerated languages.
9918
8f95d002
VS
99192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9922 "Command for ...".
9923 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9924 "Check" since we don't check anything.
9925 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9926 is 64-bit one.
9927 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9928 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9929 (grub_md_sha512_real): Likewise.
9930
805a8dcc
VS
99312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/commands/gptsync.c: Fix typographic quoting.
9934 * grub-core/commands/ieee1275/suspend.c: Likewise.
9935 * grub-core/commands/parttool.c: Likewise.
9936 * grub-core/commands/search_wrap.c: Likewise.
9937 * grub-core/commands/videoinfo.c: Likewise.
9938 * grub-core/gfxmenu/gui_label.c: Likewise.
9939 * grub-core/hello/hello.c: Likewise.
9940 * grub-core/kern/emu/main.c: Likewise.
9941 * grub-core/net/net.c: Likewise.
9942 * grub-core/normal/menu.c: Likewise.
9943 * grub-core/normal/menu_text.c: Likewise.
9944 * grub-core/normal/misc.c: Likewise.
9945 * util/grub-editenv.c: Likewise.
9946 * util/grub-install.in: Likewise.
9947 * util/grub-kbdcomp.in: Likewise.
9948 * util/grub-mkconfig.in: Likewise.
9949 * util/grub-mknetdir.in: Likewise.
9950 * util/grub-mkrescue.in: Likewise.
9951 * util/grub-mkstandalone.in: Likewise.
9952 * util/grub-reboot.in: Likewise.
9953 * util/grub-set-default.in: Likewise.
9954 * util/grub-setup.c: Likewise.
9955 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9956
40211ab8
VS
99572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9960 * grub-core/commands/keystatus.c: Likewise.
9961 * grub-core/commands/loadenv.c: Likewise.
9962 * grub-core/commands/probe.c: Likewise.
9963 * grub-core/commands/regexp.c: Likewise.
9964 * grub-core/commands/true.c: Likewise.
9965 * grub-core/commands/videoinfo.c: Likewise.
9966 * grub-core/disk/cryptodisk.c: Likewise.
9967 * grub-core/disk/ldm.c: Likewise.
9968 * grub-core/disk/loopback.c: Likewise.
9969 * grub-core/disk/luks.c: Likewise.
9970 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9971 * grub-core/kern/disk.c: Likewise.
9972 * grub-core/kern/emu/hostdisk.c: Likewise.
9973
0c7d99c7
VS
99742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9977 * util/grub-install.in: Add missing quote in the comment.
9978
e7d2559b
VS
99792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9982 * grub-core/commands/lsmmap.c: Likewise.
9983 * grub-core/commands/minicmd.c: Likewise.
9984 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9985 * grub-core/commands/regexp.c: Likewise.
9986 * grub-core/gdb/gdb.c: Likewise.
9987 * grub-core/term/gfxterm.c: Likewise.
9988 * util/grub-mkconfig.in: Likewise.
9989 * util/grub-mkfont.c: Likewise.
9990 * util/grub-mklayout.c: Likewise.
9991 * util/grub-mknetdir.in: Likewise.
9992 * util/grub-mkrescue.in: Likewise.
9993 * util/grub.d/30_os-prober.in: Likewise.
9994
49ce9e50
VS
99952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9998 with "Direct color" and "Packed" with "Packed pixel".
9999 (grub_cmd_videoinfo): Simplify legend.
10000
e4b791fa
VS
100012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10004 absolutely unclear error message.
10005
fd1265cb
VS
100062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * util/grub-mkstandalone.in: Remove confusing leftover print.
10009
8822a8a0
VS
100102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10013 comments.
10014 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10015 (GRUB_MOD_INIT): Likewise.
10016 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10017 VGA mode.
10018 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10019 comments.
10020 * util/grub-install.in (usage): Likewise.
10021 Spell ID in whole letters.
10022 Add missing ending dot.
10023 Quote variables.
10024 * util/grub-reboot.in: Fix capitalisation.
10025 * util/grub-set-default.in: Likewise.
10026
937fd0cc
VS
100272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10030 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10031 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10032 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10033 Disable -Werror for -Wdeprecated-declarations.
10034 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10035 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10036 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10037 (grub_util_get_grub_dev): Make luks handling dependent on
10038 HAVE_DEVICE_MAPPER and not __linux__.
10039 (get_win32_path): Fix format security.
10040 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10041 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10042 Don't try grub_find_zpool_from_dir.
10043 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10044 #ifdef-out paresdir.
10045
1bab1ae3
VS
100462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * util/grub-pe2elf.c (usage): Add missing noreturn.
10049 (write_section_data): Rename name to shname to avoid shadowing.
10050 (write_symbol_table): Rename name to symname to avoid shadowing.
10051 Fix write_reloc_section call.
10052
ef023e42
VS
100532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10056 to ensure that it's after the last byte of .text.
10057
48afcb75
VS
100582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * util/ieee1275/ofpath.c (my_isdigit): New function.
10061 (trailing_digits): Use my_isdigit.
10062 (strip_trailing_digits): Likewise.
10063
88d51eff
VS
100642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10067 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10068
17edc2ba
VS
100692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/kern/i386/pc/startup.S: Define __start.
10072
ad5518d7
VS
100732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10076 strip already transforms he format.
10077
9e95e1bf
VS
100782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10081
9cc3ee5c
VS
100822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * util/grub-install.in: Add missing gettext init.
10085 * util/grub-kbdcomp.in: Likewise.
10086 * util/grub-mkconfig.in: Likewise.
10087 * util/grub-mknetdir.in: Likewise.
10088 * util/grub-mkrescue.in: Likewise.
10089 * util/grub-mkstandalone.in: Likewise.
10090 * util/grub-reboot.in: Likewise.
10091 * util/grub-set-default.in: Likewise.
10092 * util/grub.d/00_header.in: Likewise.
10093 * util/grub.d/10_hurd.in: Likewise.
10094 * util/grub.d/10_windows.in: Likewise.
10095 * util/grub.d/30_os-prober.in: Likewise.
10096 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10097
49e08a06
VS
100982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * po/Rules-swiss: Fix header comment.
10101
3809cb41
AV
101022012-02-29 Andreas Vogel <anvoit>
10103
10104 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10105 resulted in leak of arguments.
10106
fa6ec573
VS
101072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10110 reed_solomon_size const definition instead of computing it since
10111 Apple assembler doesn't support the later.
10112
22899b9c
VS
101132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * gentpl.py (kernel): Rewrite Apple part.
10116
a132afc3
VS
101172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10120
9d742bd4
VS
101212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10124 ELF section gap.
10125 (load_image): Likewise.
10126
f04a9a21
VS
101272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * configure.ac: Fix a typo in previous commit.
10130
46cf439c
VS
101312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Don't add -Wl,-N on Apple platform.
10134
10135 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10136 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10137
c4c48c54
VS
101382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/Makefile.core.def (lzma_decompress): Use
10141 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10142
31a12124
VS
101432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/genmod.sh.in: Rewrite the Apple part.
10146
4f3aa1af
VS
101472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10150 comparison.
10151
7bd8b0c7
VS
101522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * acinclude.m4 (grub_CHECK_PIC): New test.
10155 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10156
97304d7c
VS
101572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10160 to avoid the warning.
10161
fb883812
VS
101622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10165 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10166 after. All users updated.
10167
a121c964
VS
101682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Use the common size routine in hostfs so we can read disks as well.
10171
10172 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10173 (grub_util_get_fd_size): ... this. Return size in bytes.
10174 All users updated.
10175 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10176 grub_util_get_fd_size.
10177
c66d6410
VS
101782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10181 Add blocksize retrieval.
10182
dfc8aeb0
VS
101832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * configure.ac: Restore CFLAGS after efiemu check.
10186
403e25a5
VS
101872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10190 Apple bug.
10191
382775d1
VS
101922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10195
6fd4e6e4
VS
101962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10199 (grub_cmd_halt): Likewise.
10200
bea359d6
VS
102012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10204 for local arithmetics.
10205 Break %sp init into 2 instructions.
10206 Add 0 byte at the end.
10207
32eb6ee1
VS
102082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10211 before loops.
10212
e8377389
VS
102132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10216 for context.
10217
8cb17de7
VS
102182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/disk/ldm.c (make_vg): Init part.name.
10221 (grub_ldm_detect): Silence spurious warning.
10222 (grub_util_is_ldm): Likewise.
10223
595717e6
VS
102242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10227 sane value to avoid a spurious warning.
10228
c4b7e588
VS
102292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10232 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10233
59824957
VS
102342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10237 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10238
70115b99
VS
102392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10242 hardcoding the relevant info.
10243
56733740
VS
102442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10247 missing const qualifiers.
10248 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10249
43481481
VS
102502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * util/getroot.c [__APPLE__]: Add missing includes.
10253 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10254
3cb38f01
VS
102552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10258
d9dbf11e
VS
102592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10262 avoid conflicts.
10263
0c42a45d
VS
102642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10267
46c34eb0
VS
102682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10271 and grub_file_close call.
10272
99ce1597
VS
102732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 Add LZSS Mach-O support (needed for new xnu kernelcache).
10276
10277 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10278 * grub-core/loader/lzss.c: New file.
10279 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10280 on Mach-O open failure.
10281 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10282 Don't free cmdsXX in uncompressedXX is set.
10283 (grub_macho_file): Init new fields.
10284 New argument is_64bit. All users updated.
10285 Handle compressed. Error out if no suitable architecture is found.
10286 Don't close file.
10287 (grub_macho_open): New argument is_64bit. All users updated.
10288 * grub-core/loader/macho32.c: Add defines for new fields.
10289 * grub-core/loader/macho64.c: Likewise.
10290 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10291 (grub_macho_parse): Handle compressed.
10292 Defer actual processing if compressed.
10293 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10294 "filename". All users updated.
10295 (grub_macho_size): New argument "filename". All users updated.
10296 (grub_macho_get_entry_point): Likewise.
10297 (grub_macho_load): Handle compressed.
10298 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10299 (GRUB_MACHO_LZSS_OFFSET): New define.
10300 (grub_decompress_lzss): New proto.
10301 * include/grub/machoload.h (grub_macho_file): New fields to handle
10302 compressed.
10303 (grub_macho_contains_macho64): Remove proto.
10304 (grub_macho_contains_macho32): Likewise.
10305 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10306
ebd17d6f
VS
103072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10310
2702b4e4
VS
103112012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Fix make dist.
10314
10315 * Makefile.am (starfield_theme_files): New var.
10316 (starfield_DATA): Use starfield_theme_files.
10317 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10318 Add bootcheck-related files.
10319 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10320 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10321 and font_char_metrics.txt.
10322 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10323 (setjmp): Add lib/ia64/longjmp.S.
10324 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10325 * po/POTFILES.in: Regenerate.
10326 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10327 DISTFILES.common.extra1.
10328 * util/devicemap.c: Removed.
10329 * grub-core/lib/i386/relocator_backward.S: Likewise.
10330 * util/import_gcry.py: Remove unused files. Add extra_dist for
10331 ChangeLog.
10332
cf1adfdf
VS
103332012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10336 grub_gettext_delete_list before changing grub_gettext_max to avoid
10337 running out of array bounds.
10338
103392012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10340
10341 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10342 grub_vga_text_init/grub_vga_text_fini.
10343
cf1adfdf 103442012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10345
10346 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10347
541d92e9
VS
103482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * configure.ac: Bump to 2.00~beta0.
10351
7931dddf
VS
103522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10355 missing initialisation.
10356
f1b16fa3
VS
103572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10360
83ddae23
VS
103612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Support v2 xnu boot arguments.
10364
10365 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10366 New argument fsbfreq_out.
10367 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10368 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10369 be used.
10370 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10371 darwin_version.
10372 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10373 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10374 (grub_xnu_boot_params): Rename to ...
10375 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10376 (grub_xnu_boot_params_v2): New struct.
10377
dc693fe6
VS
103782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10381 zeroing of CRC field before computing CRC.
10382
5a6e39c2
VS
103832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10386 Change order of allocations to decrease fragmentation.
10387
6c21f5d7
VS
103882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10391
cfe456dc
CW
103922012-02-27 Colin Watson <cjwatson@ubuntu.com>
10393
10394 Use write-combining MTRR to speed up video with buggy BIOSes.
10395
10396 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10397 (cpuid): New define.
10398 (rdmsr): Likewise.
10399 (wrmsr): Likewise.
10400 (mtrr_base): Likewise.
10401 (mtrr_mask): Likewise.
10402 (grub_vbe_enable_mtrr_entry): New function.
10403 (grub_vbe_enable_mtrr): Likewise.
10404 (grub_vbe_disable_mtrr): Likewise.
10405 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10406 control off to BIOS.
10407 (grub_video_vbe_init): Fill mtrr.
10408 (grub_video_vbe_fini): Disable mtrr.
10409 (grub_video_vbe_get_info_and_fini): Likewise.
10410 (grub_video_vbe_setup): Enable mtrr.
10411
e3c78337
CW
104122012-02-27 Colin Watson <cjwatson@ubuntu.com>
10413
10414 * include/grub/partition.h (grub_partition_map): Change prototype of
10415 embed to take a maximum value for nsectors.
10416 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10417 * include/grub/fs.h (grub_fs): Likewise.
10418 * grub-core/partmap/msdos.c (embed_signatures): New array.
10419 (pc_partition_map_embed): Check for and avoid sectors matching any
10420 of the signatures in embed_signatures, up to max_nsectors.
10421 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10422 returned sector map to max_nsectors.
10423 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10424 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10425 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10426 * util/grub-setup.c (setup): Allow for the embedding area being
10427 split into multiple blocklists. Tell dest_partmap->embed the
10428 maximum number of sectors we care about.
10429
104302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10433 Specify blocklist_install and reserver_first_sector for all fs.
10434 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10435 blocklists.
10436
984b973f
VS
104372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * util/grub-install.in: Clarify strings.
10440 Fix source dir check.
10441
f122e0d6
RL
104422012-02-27 Richard Laager <rlaager@wiktel.com>
10443
10444 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10445 "zfs" and "fuse.zfs" as synonyms.
10446
071114bb
VS
104472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * configure.ac: Put platform and target_cpu substitutions back since
10450 they are used for directories.
10451
817e6abc
RL
104522012-02-27 Richard Laager <rlaager@wiktel.com>
104532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10456 * util/grub.d/20_linux_xen.in: Likewise.
10457
897b7419
RL
104582012-02-27 Richard Laager <rlaager@wiktel.com>
10459
10460 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10461 with full paths.
10462
a414bd15
RL
104632012-02-27 Richard Laager <rlaager@wiktel.com>
10464
10465 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10466 unescape.
10467
30ac48c4
VS
104682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Don't use insecure popen in getroot.
10471
10472 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10473 (exec_pipe): ... here.
10474 (find_root_devices_from_poolname): Use exec_pipe.
10475
53f13848
VS
104762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 Remove platform and target_cpu replacement.
10479
10480 * configure.ac: Remove platform and target_cpu substitutions.
10481 * tests/util/grub-shell.in: Use modinfo.
10482 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10483 explicitly.
10484
90cb2803
VS
104852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Autodetect platform in grub-install but allow override.
10488
10489 * util/grub-install.in: Autodetect platform. Support --target and
10490 --directory. Read platform from modinfo.sh.
10491
b9136427
VS
104922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Support btrfs multi-volume probe.
10495
10496 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10497 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10498 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10499 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10500 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10501 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10502 grub_find_root_devices_from_btrfs if on btrfs.
10503
c36e5cd1
VS
105042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Remove any awareness of *.c util files about target.
10507
10508 * Makefile.util.def (grub-setup): Split to ...
10509 (grub-bios-setup): ... and this.
10510 (grub-sparc64-setup): ... and this.
10511 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10512 * docs/man/grub-setup.h2m: Split into ...
10513 * docs/man/grub-sparc64-setup.h2m: ... this.
10514 * docs/man/grub-bios-setup.h2m: ... and this.
10515 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10516 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10517 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10518 (grub_target_addr_t): Remove.
10519 (grub_target_size_t): Remove.
10520 (grub_target_ssize_t): Remove.
10521 * util/grub-install.in: Use new grub-*-setup.
10522 * util/grub-mkimagexx.c (Elf_Word): New define.
10523 (Elf_Half): Likewise.
10524 (Elf_Section): Likewise.
10525 (ELF_ST_TYPE): Likewise.
10526 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10527 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10528
584b2f8a
VS
105292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Replace grub_target_addr with more appropriate types.
10532
10533 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10534 grub_target_addr with grub_addr.
10535 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10536 grub_target_addr with grub_port.
10537 (grub_cmd_write): Likewise.
10538 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10539 grub_target_addr with grub_addr.
10540 (grub_cmd_write): Likewise.
10541 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10542
5a0dc6fb
VS
105432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10546 const qualifier for vendor_guid.
10547
786aff6e
VS
105482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10551 const qualifier.
10552 (efiemu_memequal): Likewise.
10553 (find_variable): Likewise.
10554
49017b17
VS
105552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 Fix missing console prototype on qemu-mips.
10558
10559 * include/grub/mips/qemu_mips/console.h: New file.
10560
c5988629
MG
105612012-02-27 Matthew Garrett <mjg@redhat.com>
105622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10565 * include/grub/efi/efi.h: Likewise.
10566 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10567 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10568 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10569 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10570 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10571 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10572
e33f8d69
MG
105732012-02-27 Matthew Garrett <mjg@redhat.com>
10574
10575 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10576
fb312cd9
VS
105772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10580 error.
10581
7134247c
VS
105822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * configure.ac: Remove inappropriate use of program_transform_name
10585 on grubdir and bootdir but allow explicit specification of those
10586 variables.
10587
6a313124
VS
105882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * util/grub-mknetdir.in (grub_prefix): Removed.
10591 (subdir): Use @bootdirname@ and @grubdirname@.
10592
2311c5ca
VS
105932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10596
7d5d60f7
VS
105972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * po/POTFILES.in: Regenerated.
10600
8151bc82
VS
106012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 Remove improper use of program_transform_name on pkglibrootdir.
10604
10605 * configure.ac (pkglibrootdir): Removed.
10606 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10607 * util/grub-mkimage.c: Likewise.
10608
b4a6a533
VS
106092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10612 warning.
10613
668f304f
VS
106142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * util/grub-install.in: Use file identifier if no UUID is available
10617 or user explicitly prompted for it.
10618
665f2341
NP
106192012-02-27 Navdeep Parhar <nparhar@gmail.com>
10620
10621 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10622 (freebsd_get_zfs): New function.
10623 (grub_freebsd_boot): Pass zfs UUID.
10624 (grub_cmd_freebsd): Set zfs UUID.
10625
8151bc82 106262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10627
10628 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10629 pkglibrootdir.
10630
e4c498a1
MG
106312012-02-27 Mike Gilbert <floppym@gentoo.org>
10632
10633 Add configure flag to control libzfs integration.
10634
10635 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10636
1e9a9a3f
VS
106372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10640 device.
10641 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10642 small devices.
10643
036985b8
VS
106442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10647 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10648 be used on non-modules.
10649
10650 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10651 Rename to grub_boot_init.
10652 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10653 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10654 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10655 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10656 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10657 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10658 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10659 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10660 includes.
10661 (grub_machine_init): Remove empty inits.
10662 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10663 includes.
10664 (grub_machine_init): Remove empty inits.
10665 * grub-core/term/arc/console.c: Remove explicit proto.
10666 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10667 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10668 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10669 grub_at_keyboard_fini.
10670 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10671 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10672 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10673 grub_gfxterm_fini.
10674 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10675 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10676 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10677 grub_vgatext_fini.
10678 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10679 * grub-core/term/serial.c (GRUB_MOD_INIT)
10680 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10681 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10682 grub_serial_fini.
10683 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10684 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10685 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10686 grub_terminfo_fini.
10687 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10688 (GRUB_MOD_FINI): Likewise.
10689 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10690 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10691 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10692 grub_video_radeon_fuloong2e_fini.
10693 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10694 [LOONGSON]: Rename to grub_video_sis315pro_init.
10695 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10696 grub_video_sis315pro_fini.
10697 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10698 [LOONGSON]: Rename to grub_video_sm712_init.
10699 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10700 grub_video_sm712_fini.
10701 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10702 (grub_at_keyboard_fini): Likewise.
10703 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10704 Don't declare grub_{modname}_init.
10705 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10706 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10707 New proto.
10708 (grub_keylayouts_fini) [!EMU]: Likewise.
10709 * include/grub/serial.h (grub_serial_init) [!EMU]:
10710 New proto.
10711 (grub_serial_fini) [!EMU]: Likewise.
10712 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10713 New proto.
10714 (grub_terminfo_fini) [!EMU]: Likewise.
10715 * include/grub/video.h (grub_font_init) [!EMU]:
10716 New proto.
10717 (grub_font_fini) [!EMU]: Likewise.
10718 (grub_gfxterm_init) [!EMU]: Likewise.
10719 (grub_gfxterm_fini) [!EMU]: Likewise.
10720 (grub_video_sm712_init) [!EMU]: Likewise.
10721 (grub_video_sm712_fini) [!EMU]: Likewise.
10722 (grub_video_sis315pro_init) [!EMU]: Likewise.
10723 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10724 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10725 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10726
d5534665
VS
107272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Make nand a prefix for nand devices.
10730
10731 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10732
10133b5f
VS
107332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10736 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10737
8e307a62
VS
107382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * include/grub/env.h (grub_env_find): Remove prototype.
10741 * grub-core/kern/env.c (grub_env_find): Make static.
10742 (grub_env_set): Remove useless set.
10743
a4c65f34
VS
107442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/kern/i386/realmode.S: Remove useless align.
10747
d87893d5
VS
107482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * include/grub/dl.h (grub_dl_load_file): Don't export.
10751
50159add
VS
107522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10755 grub_dprintf.
10756
b2582b84
VS
107572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10760 grub_errors.
10761 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10762 not reloading whole superblock but only the part which is really needed.
10763 Remove useless grub_errors.
10764 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10765 grub_errors.
10766
e2a83395
VS
107672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Don't export grub_get_rtc.
10770
10771 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10772 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10773
e7d2a906
VS
107742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10777
6cf1363b
VS
107782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10781 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10782
eece3349
VS
107832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Remove prio_list.
10786
10787 * include/grub/list.h (grub_prio_list): Removed.
10788 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10789 GRUB_COMMAND_PRIO_MASK.
10790 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10791 GRUB_COMMAND_FLAG_ACTIVE.
10792 (grub_prio_list_insert): Removed.
10793 (grub_prio_list_remove): Likewise.
10794 (GRUB_AS_PRIO_LIST): Likewise.
10795 (GRUB_AS_PRIO_LIST_P): Likewise.
10796 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10797 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10798 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10799 * grub-core/kern/command.c (grub_register_command_prio): Inline
10800 the prio_list code.
10801 (grub_unregister_command): Likewise.
10802
94f064b4
VS
108032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Fix interrupt mixup from previous commit.
10806
10807 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10808 (grub_realidt): New var.
10809 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10810 Load idt.
10811 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10812 New declaration.
10813 (grub_relocator16_boot): Set grub_relocator16_idt.
10814 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10815 (LOCAL(realidt)): ... this.
10816 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10817 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10818 (grub_realidt): New variable.
10819
27317084
VS
108202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10823 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10824 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10825 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10826 Gettextize.
10827 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10828 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10829 * po/POTFILES.in: Regenerate.
10830
47b40053
VS
108312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10834 errors.
10835
2b343101
VS
108362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10839 \0.
10840 (add_length): Likewise.
10841
ff27c3dd
LK
108422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
108432012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10844
10845 GDB serial and backtrace support.
10846
10847 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10848 (prot_to_real): Likewise.
10849 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10850 * grub-core/Makefile.core.def (backtrace): New module.
10851 (gdb): Likewise.
10852 * grub-core/gdb/cstub.c: New file.
10853 * grub-core/gdb/gdb.c: Likewise.
10854 * grub-core/gdb/i386/idt.c: Likewise.
10855 * grub-core/gdb/i386/machdep.S: Likewise.
10856 * grub-core/gdb/i386/signal.c: Likewise.
10857 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10858 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10859 * include/grub/backtrace.h: Likewise.
10860 * include/grub/gdb.h: Likewise.
10861 * include/grub/i386/gdb.h: Likewise.
10862
108632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10864
10865 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10866 New function.
10867 (add_length): Likewise.
10868 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10869 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10870 proto.
10871 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10872 __argp_get_display_len.
10873
ff27c3dd 108742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10875
10876 $"..." support in scripts.
10877
10878 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10879 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10880 * grub-core/script/yylex.l: Likewise.
10881 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10882 value.
10883
ff27c3dd 108842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10885
10886 * gentpl.py: Remove obsolete pkglib_DATA handling.
10887
ff27c3dd 108882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10889
10890 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10891 mailing list.
10892
10893 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10894 * util/grub-kbdcomp.in: Likewise.
10895 * util/grub-mkconfig.in: Likewise.
10896 * util/grub-mkconfig_lib.in: Likewise.
10897 * util/grub-mknetdir.in: Likewise.
10898 * util/grub-mkrescue.in: Likewise.
10899 * util/grub-mkstandalone.in: Likewise.
10900 * util/grub-reboot.in: Likewise.
10901 * util/grub-set-default.in: Likewise.
10902 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10903
ff27c3dd 109042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10905
10906 Remove GRUB_PREFIX.
10907
10908 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10909 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10910 used for backward compatibility.
10911
ff27c3dd 109122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10913
10914 Add new all_video module.
10915
10916 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10917 * grub-core/Makefile.core.def (all_video): New module.
10918 * grub-core/genmoddep.awk: Generate dependency of all_video from
10919 video.lst.
10920 * grub-core/lib/fake_module.c: New file.
10921 * grub-core/normal/main.c (features): Add feature_all_video_module.
10922 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10923 don't do explicit search again.
47454da5 10924 insmod all_video in load_video if available.
22c7ce85 10925
ff27c3dd 109262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10927
10928 Another round of string clarification and adding TRANSLATORS comments.
10929
ff27c3dd 109302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10931
10932 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10933
ff27c3dd 109342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10935
10936 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10937 to grub_ssize_t.
10938 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10939 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10940
ff27c3dd 109412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10942
10943 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10944 trailing newline implicitly. All users updated.
10945
ff27c3dd 109462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10947
10948 Implement serial on IEEE1275 and EFI.
10949
10950 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10951 on emu. Mention arc and emu as the only platforms without serial
10952 support.
10953 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10954 ieee1275 platforms.
10955 * grub-core/term/efi/serial.c: New file.
10956 * grub-core/term/ieee1275/serial.c: Likewise.
10957 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10958 specification if no ns8250 driver is available.
10959 (grub_cmd_serial): Likewise.
10960 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10961 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10962 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10963 (grub_efi_parity_type_t): New type.
10964 (grub_efi_stop_bits_t): Likewise.
10965 (grub_efi_serial_io_interface): New struct.
10966 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10967 available for all interfaces.
10968 Add EFI and IEEE1275 fields.
10969 (grub_ofserial_init): New proto.
10970 (grub_efiserial_init): Likeiwse.
10971 * util/grub.d/00_header.in: Don't check for the presence of serial
10972 module.
10973
ff27c3dd 109742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10975
10976 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10977 name as if it was an alias.
10978
114076ef
VS
109792012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/commands/lsacpi.c (options): Fix typo.
10982
6a656b0e
VS
109832012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 Convert grub-emu to argp.
10986
10987 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10988 emu.
10989 * util/argp_common.c: Rename to ...
10990 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10991 Add missing includes.
10992 * grub-core/kern/emu/main.c: Convert to argp.
10993 * po/POTFILES.in: Regenerate.
10994 * util/grub-install.in (usage): Make first letter lowcase in messages
10995 for uniformity.
10996 * util/grub-setup.c (options): Likewise.
10997
1e3f8ae8
VS
109982012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11001 Put back accidently commented-out code.
11002
ed167a80
VS
110032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11006 loop check using Brent algorithm.
11007 (grub_hfsplus_btree_search): Likewise.
11008
6753c0ec
VS
110092012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * util/grub-install.in: Fix usage of wrong device for PreP install.
11012
4e27343f
VS
110132012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * conf/Makefile.common (CFLAGS_GNULIB): Add
11016 -Wno-unsafe-loop-optimizations.
11017 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11018 on tools.
11019 * grub-core/commands/legacycfg.c: Add pragma to skip
11020 -Wunsafe-loop-optimizations.
11021 (check_password_md5_real): Fix loop counter type.
11022 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11023 reading.
11024 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11025 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11026 loop condition.
11027 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11028 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11029 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11030 condition.
11031 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11032 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11033 avoid possible infinite loops.
11034 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11035 and -Wunsafe-loop-optimizations.
11036 * grub-core/script/yylex.l: Likewise.
11037 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11038 (print_glyphs): Avoid infinite loops.
11039 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11040
697f18b0
GS
110412012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11042
11043 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11044 to avoid infinite loop.
11045 (disp_acpi_rsdt_table): Likewise.
11046
274416e8
VS
110472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/font/font.c (grub_font_load): Add support for default
11050 path for fonts ($prefix/fonts).
11051 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11052 for checking if string is a path.
11053 * grub-core/normal/main.c (features): Add feature_default_font_path.
11054 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11055 * util/grub.d/00_header.in: Use default directory if possible.
11056 * util/grub-install.in: Install unicode.pf2.
11057
b3e08622
VS
110582012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11061 * po/Rules-swiss: New file.
11062 * po/swiss.sed: Likewise.
11063
fe42ce09
VS
110642012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/fs/btrfs.c (find_device): Fix typos.
11067 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11068 * util/grub-mkrelpath.c (argp_parser): Likewise.
11069 Reported by: Yuri Chornoivan.
11070
72f1d065
DO
110712012-02-23 Dalet Omega <daletomega@gmail.com>
11072
11073 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11074 for usual informative messages.
11075
c5884973
DO
110762012-02-23 Dalet Omega <daletomega@gmail.com>
11077
11078 Starfield theme.
11079
11080 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11081 * conf/Makefile.common: Define starfielddir.
11082 * configure.ac: Configure starfield.
11083 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11084 * themes/starfield/README: Likewise.
11085 * themes/starfield/blob_w.png: Likewise.
11086 * themes/starfield/boot_menu_c.png: Likewise.
11087 * themes/starfield/boot_menu_e.png: Likewise.
11088 * themes/starfield/boot_menu_n.png: Likewise.
11089 * themes/starfield/boot_menu_ne.png: Likewise.
11090 * themes/starfield/boot_menu_nw.png: Likewise.
11091 * themes/starfield/boot_menu_s.png: Likewise.
11092 * themes/starfield/boot_menu_se.png: Likewise.
11093 * themes/starfield/boot_menu_sw.png: Likewise.
11094 * themes/starfield/boot_menu_w.png: Likewise.
11095 * themes/starfield/slider_c.png: Likewise.
11096 * themes/starfield/slider_n.png: Likewise.
11097 * themes/starfield/slider_s.png: Likewise.
11098 * themes/starfield/src/blob_nw.xcf: Likewise.
11099 * themes/starfield/src/bootmenu/: Likewise.
11100 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11101 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11102 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11103 * themes/starfield/src/slider_c.xcf: Likewise.
11104 * themes/starfield/src/slider_n.xcf: Likewise.
11105 * themes/starfield/src/slider_s.xcf: Likewise.
11106 * themes/starfield/src/terminalbox/: Likewise.
11107 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11108 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11109 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11110 * themes/starfield/starfield.png: Likewise.
11111 * themes/starfield/terminal_box_c.png: Likewise.
11112 * themes/starfield/terminal_box_e.png: Likewise.
11113 * themes/starfield/terminal_box_n.png: Likewise.
11114 * themes/starfield/terminal_box_ne.png: Likewise.
11115 * themes/starfield/terminal_box_nw.png: Likewise.
11116 * themes/starfield/terminal_box_s.png: Likewise.
11117 * themes/starfield/terminal_box_se.png: Likewise.
11118 * themes/starfield/terminal_box_sw.png: Likewise.
11119 * themes/starfield/terminal_box_w.png: Likewise.
11120 * themes/starfield/theme.txt: Likewise.
11121
17d73325
VS
111222012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 * util/grub.d/00_header.in: Add missing export theme.
11125
dbebaf92
VS
111262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11129 already included.
11130 Reported by: Eren D.
11131
3d68bffb
VS
111322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * conf/Makefile.common (grubdatadir): Removed.
11135 (Makefile.am): Move eveything grubdata to pkgdata.
11136
4b59234d
VS
111372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/commands/acpihalt.c (get_sleep_type):
11140 Remove unused variable.
11141
463dcadc
VS
111422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11145 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11146 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11147 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11148 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11149 i18n with gettext no-op.
11150 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11151 GRUB_ACPI_OPCODE_STRING_CONST.
11152 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11153 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11154
e5b90c82
VS
111552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * po/POTFILES.in: Regenerate.
11158
2a704ca9
VS
111592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11162 -Wno-error=missing-noreturn.
11163
84f9d341
VS
111642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11167 condition to avoid possibly infinite loops.
11168 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11169 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11170
d46683f9
VS
111712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11174 condition to avoid possibly infinite loops.
11175
c44866b2
VS
111762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11179 on show_error.
11180
96790539
VS
111812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11184
1ba7e295
VS
111852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11188
21ffe8f1
VS
111892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/bin2h.c (usage): Add missing attribute noreturn.
11192
0ccb6b3c
VS
111932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11196 if the size isn't divisible by 512.
11197
b00d7fb6
VS
111982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 Make list_push and list_remove functions rather than inline functions
11201 to decrease size and avoid aliasing violations.
11202
11203 * include/grub/list.h (grub_list_push): Move to ...
11204 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11205 * include/grub/list.h (grub_list_remove): Move to ...
11206 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11207
9d369087
VS
112082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11211 and -Wunused-result.
11212
af0250d9
VS
112132012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11216 Reported by: Seth Goldberg
11217
aad32b14
VS
112182012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11221
ac96441c
ST
112222012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11223
11224 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11225 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11226 command line.
11227 * docs/grub.texi (Simple configuration): Document
11228 GRUB_CMDLINE_GNUMACH.
11229
112302012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11231
11232 * conf/Makefile.common (platform_SCRIPTS): New variable.
11233 (platform_PROGRAMS): Likewise.
11234 * gentpl.py: Mark *,module and *.image for install.
11235 * grub-core/gdb_grub.in: Add a notice of expected environment.
11236 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11237 (gmodule.pl): Likewise.
11238
ac96441c 112392012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11240
11241 Replace grub_checkkey with grub_getkey_noblock.
11242
11243 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11244 (grub_getkey_noblock): ... this. All users updated.
11245
ac96441c 112462012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11247
11248 * grub-core/kern/emu/console.c: Move to ...
11249 * grub-core/term/emu/console.c: ...here.
11250 (grub_ncurses_getkey): Fix return value if no key is detected.
11251
e51b5666
VS
112522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11255 (grub_unit_test_fini): Likewise.
11256 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11257
112582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * include/grub/test.h (GRUB_UNIT_TEST)
11261
d9a62292
VS
112622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11265 Better error handling.
11266 (grub_script_return): Likewise.
11267 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11268
77c9182f
VS
112692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11272 rimplicit redifinition.
11273
edb13cf9
VS
112742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11277 GRUB.
11278
a9e9dc7c
VS
112792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11282 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11283 prompt here.
11284
b4ba8e02
VS
112852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11288 as GRUB_ERR_BUG. Don't malloc if no device is available.
11289
dded5540
VS
112902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11293 Mark calling with invalid term as GRUB_ERR_BUG.
11294
0cf69874
VS
112952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11298 packets rather than raising an error.
11299
59bfe502
VS
113002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11303 in if.
11304
db5fc596
VS
113052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11308 diagnostic to dprintf.
11309 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11310
e4b7f404
VS
113112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11314 device name.
11315
e7b02f9e
VS
113162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11319 (grub_ntfs_iterate_dir): Likewise.
11320
0331e102
VS
113212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 Efiemu stylistic fixes and gettext.
11324
11325 * grub-core/efiemu/i386/loadcore32.c
11326 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11327 * grub-core/efiemu/i386/loadcore64.c
11328 (grub_arch_efiemu_relocate_symbols64): Likewise.
11329 * grub-core/efiemu/i386/pc/cfgtables.c
11330 (grub_machine_efiemu_init_tables): Likewise.
11331 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11332 (grub_efiemu_loadcore_initXX): Add a filename argument.
11333 All users updated.
11334 Improved error message.
11335 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11336 Add a filename argument.
11337 All users updated.
11338 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11339 Reclassify double relocation as GRUB_ERR_BUG.
11340
306fc074
VS
113412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11344 handling.
11345
794d8ef2
VS
113462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11349 on partition.
11350
113512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11352
11353 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11354
794d8ef2 113552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11356
11357 Improve string. Gettextize.
11358
78dde88e
VS
113592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11362 utils.
11363 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11364
4786a90f
VS
113652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11368 [GRUB_UTIL]: New function.
11369 (insert_array) [GRUB_UTIL]: Store partmaps.
11370 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11371 partmaps.
11372 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11373 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11374 (probe_abstraction): Print diskfilter and not raid.
11375 Reported by: Lennart Sorensen
11376
0b6225bd
VS
113772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11380 * util/grub-mkimagexx.c (MASK3): New define.
11381 (add_value_to_slot_20b): Use MASK3.
11382 (add_value_to_slot_21): Likewise.
11383 (relocate_addresses): Fix format specification.
11384 (load_image): Explicitly init symtab_section.
11385
b055f8f6
VS
113862012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11389 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11390
b77c2fb7
VS
113912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11394 on powerpc.
11395 Reported by: Lennart Sorensen
11396
e3ec28ab
VS
113972012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * gentpl.py: Add missing license header.
11400 * docs/grub.texi: Update copyright year.
11401
c8d9ead6
GS
114022012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11403
11404 Source grub-mkconfig_lib from the build directory at build time.
11405 Suggested by: Vladimir Serbinenko.
11406
11407 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11408 * util/grub-install.in: Define pkgdatadir if not already set, and source
11409 grub-mkconfig_lib from there.
11410 * util/grub-kbdcomp.in: Likewise.
11411 * util/grub-mkconfig.in: Likewise.
11412 * util/grub-mknetdir.in: Likewise.
11413 * util/grub-mkrescue.in: Likewise.
11414 * util/grub-mkstandalone.in: Likewise.
11415 * util/grub-reboot.in: Likewise.
11416 * util/grub-set-default.in: Likewise.
11417 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11418
ebcecdf1
VS
114192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 Increase warning level.
11422
11423 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11424 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11425 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11426 (TARGET_CFLAGS): Likewise.
11427 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11428 * grub-core/Makefile.core.def (decompressor_xz): Add
11429 -Wno-unreachable-code.
11430 (normal): Add -Wno-redundant-decls.
11431 (xzio): Add -Wno-unreachable-code.
11432 (lzopio): Add -Wno-redundant-decls -Wno-error.
11433 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11434 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11435 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11436 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11437 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11438 * grub-core/kern/i386/coreboot/init.c: Add exception to
11439 -Wsuggest-attribute=noreturn.
11440 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11441 * grub-core/kern/ia64/dl_helper.c: Likewise.
11442 * grub-core/kern/mips/dl.c: Likewise.
11443 * grub-core/kern/sparc64/dl.c: Likewise.
11444 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11445 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11446 (memcmp): Likewise.
11447 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11448 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11449 * grub-core/loader/mips/linux.c: Likewise.
11450 * grub-core/loader/multiboot_elfxx.c: Likewise.
11451 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11452 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11453 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11454 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11455 fixme.
11456 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11457 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11458 Fix prototype.
11459
37bb97fe
VS
114602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11463 address.
11464
29a3550b
VS
114652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11468 Avoid improper use of strings.
11469 (grub_cmd_legacy_initrdnounzip): Likewise.
11470
dfdffd0d
VS
114712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11474 attribute.
11475 (grub_util_info): Likewise.
11476 (grub_util_error): Likewise.
11477
102fae4a
VS
114782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11481 * util/grub-fstest.c (fstest): Likewise.
11482
7e94d044
VS
114832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11486 (grub_md_sha512_real): Likewise.
11487 (grub_util_get_geli_uuid): Likewise.
11488 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11489 (grub_util_biosdisk_open): Fix format specification.
11490 Respect format security.
11491 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11492 (xrealloc): Likewise.
11493 (xasprintf): Likewise.
11494
5ebd9769
VS
114952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * util/import_gcry.py: Include grub/crypto.h in init.c.
11498
495fc8c1
VS
114992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11502 (generate_image): Make prefix a const char *.
11503 Fix format specifications. Respect format security.
11504 Avoid void * arithmetics.
11505 Avoid shadowing.
11506 (argp_parser): Remove unused variable. Respect format security.
11507 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11508 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11509 (count_funcs): Remove unused variable.
11510 (relocate_addresses): Fix format specification.
11511 Disable x86-64 with elf32. Remove unused variables.
11512 (add_fixup_entry): Avoid shadowing.
11513 (make_reloc_section): Fix format specification.
11514 Use assert.
11515 (locate_sections): Fix format specifications.
11516 (load_image): Avoid shadowing.
11517
043c2ea3
VS
115182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11521 Fix format specifications. Respect format security.
11522 Don't translate already translated grub_errmsg.
11523 (argp_parser): Remove unused variable
11524
3ec65a81
VS
115252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11528
a4d9fe4a
VS
115292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11532 (main): Likewise. Use xmalloc. Respect format security.
11533
15b81d49
VS
115342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11537 a const char *.
11538 (argp_parser): Remove unused variable.
11539
31731fc0
VS
115402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11543 (add_pixel): Make static.
11544 (add_font): Likewise.
11545 (write_string_section): Make name and str a const char *.
11546 (write_be16_section): Make name a const char *.
11547 (print_glyphs): Make static.
11548 (write_font_ascii_bitmap): Likewise.
11549 (write_font_width_spec): Likewise.
11550 (write_font_pf2): Likewise.
11551 (argp_parser): Remove unused variable.
11552 Respect format security.
11553 (main): Avoid shadowing. Respect format security.
11554
0809527b
VS
115552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * util/grub-editenv.c (argp_parser): Make static.
11558 (create_envblk_file): Use xmalloc.
11559 (open_envblk_file): Likewise.
11560 Resepect format security.
11561 (set_variables): Respect format security.
11562
45b0c8b7
VS
115632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * util/getroot.c (grub_find_device): Respect format security.
11566 (get_mdadm_uuid): Remove unused variable.
11567 (grub_util_pull_device): Dont call gettext on already translated
11568 grub_errmsg.
11569 (find_system_device): Remove unused variable.
11570 (grub_util_get_grub_dev): Likewise.
11571 (grub_make_system_path_relative_to_its_root): Respect format security.
11572
1b024b4e
VS
115732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * util/grub-fstest.c (execute_command): Make first argument
11576 a const char *.
11577 (read_file): Avoid shadowing.
11578 Reuse underlying error message if device open fails.
11579 (cmd_cmp): Respect format security.
11580 (root): Make const char *.
11581 (fstest): Remove args argument and use global copy.
11582 Respect format security.
11583 (argp_parser): Make static.
11584 (main): Make default_root const char *.
11585
5d1d4e28
VS
115862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * util/grub-mount.c (root): Make const char *.
11589 (execute_command): Make first argument a const char *.
11590 (fuse_init): Respect format security.
11591 (argp_parser): Make static. Remove unused variable.
11592 (main): Make default_root a const char *.
11593 Respect format security.
11594
36eb7379
VS
115952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * util/grub-probe.c (probe): Don't call gettext on already translated
11598 grub_errmsg.
11599 Remove unused variables.
11600 (argp_parser): Remove unused variable.
11601
76fb2ea9
VS
116022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * util/grub-script-check.c (argp_parser): Remove unused variable.
11605 (main): Rename read to curread to avoid shadowing.
11606
56c98584
VS
116072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * util/misc.c (grub_util_write_image_at): Fix format specification.
11610 (grub_util_write_image): Likewise.
11611 (grub_script_execute_argument_to_string): Removed (unused).
11612 (grub_script_execute_menuentry): Likewise.
11613 (grub_putchar): Likewise.
11614
164ebb48
VS
116152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11618 (FUNCTION) [GRUB_UTIL]: Likewise.
11619 (VARIABLE) [GRUB_UTIL]: Likewise.
11620
44318d61
VS
116212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11624 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11625
31a26002
VS
116262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11629 buffer.
11630
116312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11634 (LzmaEnc_SaveState): Removed (unused).
11635 (LzmaEnc_RestoreState): Likewise.
11636 (LzmaEnc_InitPriceTables): Made static.
11637 (LzmaEnc_Construct): Likewise.
11638 (LzmaEnc_FreeLits): Likewise.
11639 (LzmaEnc_Destruct): Likewise.
11640 (LzmaEnc_Init): Likewise.
11641 (LzmaEnc_InitPrices): Likewise.
11642 (LzmaEnc_Finish): Likewise.
11643 (LzmaEnc_PrepareForLzma2): Removed (unused).
11644 (LzmaEnc_MemPrepare): Likewise.
11645 (LzmaEnc_GetNumAvailableBytes): Likewise.
11646 (LzmaEnc_GetCurBuf): Likewise.
11647 (LzmaEnc_CodeOneMemBlock): Likewise.
11648
6fa67967
VS
116492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11652 (grub_util_ldm_embed): Likewise.
11653
9a7428e6
VS
116542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * util/grub-editenv.c (print_var): Rename name to varname to
11657 avoid shadowing.
11658 (main): Rename index to curindex to avoid shadowing.
31a26002 11659 Make filename a const char *.
9a7428e6 11660
4f96abd1
VS
116612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11664 to arg_getline to avoid shadowing.
11665
44d10dad
VS
116662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11669 disk_ to avoid shadowing.
11670
340ba63e
VS
116712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11674 curindex to avoid shadowing.
11675 Make static.
11676 (MatchFinder_GetNumAvailableBytes): Make static.
11677
22965bce
VS
116782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11681 avoid shadowing.
11682
7b5784d4
VS
116832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11686 argument from encrypt to do_encrypt to avoid shadowing.
11687
6f48ca01
VS
116882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11691 incorrect nesting of #if's.
11692
a4ea2dff
VS
116932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11696 checks which are always false on some platforms.
11697 (grub_cmd_lsacpi): Likewise.
11698 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11699 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11700 Likewise.
11701
def9fc1b
VS
117022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11705 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11706
a67b2a04
VS
117072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11710 re_dfa_t to avoid breaking alignment invariants.
11711 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11712 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11713
44c6828d
VS
117142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11717 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11718
bebe0dd0
VS
117192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11722 Fix declaration.
11723
a9cdb3cf
VS
117242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11727 conserve alignment invariants.
11728 (grub_ehci_ehcc_read16): Likewise.
11729 (grub_ehci_oper_read32): Likewise.
11730 (grub_ehci_oper_write32): Likewise.
11731 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11732 Conserve alignment invariants.
11733
ccc3b1b8
VS
117342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11737 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11738 declarations.
11739
987fbd95
VS
117402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11743 Remove unused variable.
11744
0df363f3
VS
117452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11748 Remove set in if.
11749
b2c0c4a6
VS
117502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * include/grub/net.h: Remove double declarations.
11753
690c531f
VS
117542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 Remove "payload" command in ia64 Linux loader since I couldn't
11757 find any evidence of it being used for anything.
11758 Replace "relocate" command with an environment variable
11759
11760 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11761 fields.
11762 (ia64_boot_payload): Removed.
11763 (last_payload): Likewise.
11764 (RELOCATE_OFF): Likewise.
11765 (RELOCATE_ON): Likewise.
11766 (RELOCATE_FORCE): Likewise.
11767 (relocate): Likewise.
11768 (free_pages): Don't free payloads.
11769 (grub_load_elf64): Use common error messages.
11770 Use "linux_relocate" variable.
11771 Increase the space after boot_params.
11772 (grub_cmd_payload): Removed.
11773 (grub_cmd_relocate): Likewise.
11774 (grub_cmd_fpswa): Improve messages.
11775 (cmd_payload): Removed.
11776 (cmd_relocate): Likewise.
11777 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11778 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11779
01783768
VS
117802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 Convert UHCI to DMA framework.
11783
11784 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11785 (grub_uhci_pci_iter): Fill new members
11786 (grub_alloc_td): Use P2V and V2P functions.
11787 (grub_free_queue): Likewise.
11788 (grub_alloc_qh): Likewise.
11789 (grub_uhci_setup_transfer): Likewise.
11790 (grub_uhci_check_transfer): Likewise.
11791
43206939
VS
117922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11795 Remove assignment in if while on it.
11796
571e140e
VS
117972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * util/grub-mkstandalone.in: Fix modules directory.
11800
a9d96eeb
VS
118012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11804 on i386-pc target.
11805 (argp_parser): Accept "auto" as compression specification.
11806
e4e37e8d
VS
118072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 Fix `help' with unloaded modules.
11810
11811 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11812 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11813 (grub_dyncmd_dispatcher): Small stylistic fix.
11814 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11815 explicit help is requested.
11816
e1ea3ade
VS
118172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11820 Explicitly init restart while on it.
11821
27556881
VS
118222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11825 uninited variable.
11826
d65f6b36
VS
118272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * util/grub-mknetdir.in: Use . rather than source for POSIX
11830 compatibility.
11831
0a1e473c
VS
118322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11835
ce6647c8
VS
118362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11839 variable.
11840
66747894
VS
118412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11844 without quotes.
11845
71645f6e
VS
118462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11849
0e1c1f61
VS
118502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11853 iteration of partitions.
11854
9c4b5c13
VS
118552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 Improve gettext support. Stylistic fixes and error handling fixes while
11858 on it.
11859
215c90cb
VS
118602012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11863 part. Instead setup the correct stack in RM.
11864 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11865 for stack.
11866 * include/grub/i386/relocator_private.h: New file.
11867
b5c1f9bf
VS
118682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11871 argument.
11872 * util/grub-fstest.c (options): Add missing DEVICE part.
11873
b525fd83
VS
118742012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 Clarify and unify messages.
11877
11878 * grub-core/commands/hashsum.c (options): Unify messages.
11879 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11880 literal-only message as translatable.
11881 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11882 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11883 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11884 commands.
11885 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11886 key, not the key used to unlock. Clarify what it's used for.
11887 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11888 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11889 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11890 * util/grub-editenv.c (options): Unify "verbose" message.
11891 * util/grub-fstest.c (read_file): Unify error message.
11892 (fstest): Add quotes around commands.
11893 (options): Unify "verbose" message.
11894 * util/grub-install.in: Add quotes around variable name.
11895 * util/grub-kbdcomp.in: Unify error message.
11896 * util/grub-mkfont.c (main): Likewise.
11897 * util/grub-mkrescue.in: Likewise.
11898 * util/grub-mklayout.c (options): Unify "verbose" message.
11899 * util/grub-mkstandalone.in: Unify help and verbose messages.
11900 * util/grub-mount.c (options): Unify "verbose" message.
11901 * util/grub-probe.c (options): Likewise.
11902 * util/grub-script-check.c (options): Likewise.
11903 * util/grub-setup.c (setup): Unify no-terminator message.
11904 (options): Use DEVICE and not DEV.
11905 Unify "verbose" message.
11906 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11907
0ae70393
VS
119082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 Improve and unify messages.
11911
11912 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11913 name. All users updated.
11914 Print filename in error.
11915 (read_device_map): Print filename in error.
11916 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11917 (grub_util_get_os_disk): Likewise.
11918 (grub_util_biosdisk_get_grub_dev): Likewise.
11919 (grub_util_check_block_device): Likewise.
11920 (grub_util_check_char_device): Likewise.
11921 (grub_make_system_path_relative_to_its_root): Likewise.
11922 * util/grub-editenv.c (create_envblk_file): Likewise.
11923 (open_envblk_file): Likewise.
11924 (write_envblk): Likewise.
11925 * util/grub-fstest.c (cmd_cp): Likewise.
11926 (cmd_cat): Likewise.
11927 (cmd_cmp): Likewise.
11928 * util/grub-menulst2cfg.c (main): Likewise.
11929 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11930 (write_font_width_spec): Likewise.
11931 (write_font_pf2): Likewise.
11932 * util/grub-mkimage.c (generate_image): New argument outname.
11933 All users updated.
11934 Remove unreacheable message.
11935 (options): Unify messages.
11936 (help_filter): Likewise.
11937 * util/grub-mklayout.c (usage): Removed (unused).
11938 (main): Print filename in error.
11939 * util/grub-mkrescue.in: Fix wrong quoting.
11940 * util/grub-setup.c (setup): Print filename in error.
11941 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11942 (check_sas): Likewise.
11943 * util/misc.c (grub_util_get_fp_size): Removed.
11944 (grub_util_get_image_size): Print filename in error.
11945 (grub_util_read_at): Removed.
11946 (grub_util_read_image): Print filename in error.
11947 (grub_util_load_image): Likewise.
11948 (grub_util_write_image_at): New argument filename. All users updated.
11949 Print filename in error.
11950 (grub_util_write_image): New argument filename. All users updated.
11951 Print filename in error.
11952 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11953 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11954
0a96117d
VS
119552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/Makefile.core.def (pxechain): New module.
11958 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11959 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11960 function.
11961 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11962 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11963
aca002f7
VS
119642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11967 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11968 * include/grub/err.h (grub_error_saved): New struct.
11969 (grub_errmsg): Make array size explicit.
11970 * include/grub/misc.h (grub_error_save): New function.
11971 (grub_error_load): Likewise.
11972 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11973 (grub_error_push): Update `errno' member name.
11974 (grub_error_pop): Likewise
11975 * grub-core/net/tftp.c (tftp_data): New member save_err.
11976 (tftp_receive): Save error.
11977 (tftp_open): Restore error.
11978
a51dab13
VS
119792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11982 to real mode down to execute A20-related code in protected mode as
11983 intended.
11984
eb6e6649
GS
119852012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11986
11987 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11988 NULL when the argument `level' has an unexpected value.
11989
92cd0f6e
VS
119902012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 Move platform-dependent files from $prefix to $prefix/$platform.
11993
11994 * config.h.in (GRUB_TARGET_CPU): New definition.
11995 (GRUB_PLATFORM): Likewise.
11996 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11997 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11998 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11999 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12000 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12001 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12002 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12003 * grub-core/normal/term.c (read_terminal_list): Likewise.
12004 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12005 $prefix/locale.
12006 (grub_gettext_init_ext): Likewise.
12007 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12008 grub_platform.
12009 * util/grub-install.in: Update directories.
12010 * util/grub-mknetdir.in: Likewise.
12011 * util/grub-mkrescue.in: Likewise.
12012
db606889
VS
120132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12016 grub_error framework. All users updated.
12017
c39992a4
VS
120182012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12021 lists (by always binsearching), improve caching (cache strings
12022 used for binsearch, not only results), improve
12023 maintainability (by using more structured binary search) and correct
12024 error handling.
12025
1e5ec32f
VS
120262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/script/execute.c (grub_script_return): Fix warning.
12029
ac576cde
VS
120302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/script/execute.c (grub_script_return): Fix potential
12033 NULL-dereference.
12034 Reported by: Jim Meyering.
12035
498453f6
VS
120362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * po/POTFILES.in: Regenerate.
12039 * util/grub-install.in: Gettextize the strings missed in first pass.
12040
8be63f2e
VS
120412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * Makefile.util.def (grub-mkdevicemap): Removed.
12044 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12045 * include/grub/util/deviceiter.h: Removed.
12046 * util/deviceiter.c: Likewise.
12047 * util/getroot.c (grub_util_get_os_disk): New function.
12048 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12049 replacement for EFI.
12050 * util/grub-mkdevicemap.c: Removed.
12051 * util/grub-probe.c (probe): Handle PRINT_DISK.
12052 (argp_parser): Handle -t disk.
12053
8e1e4e39
VS
120542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/grub-mkfont.c: Migrate to argp.
12057 * util/grub-mklayout.c: Likewise.
12058 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12059 * util/grub-mkrelpath.c: Likewise.
12060 * util/grub-probe.c: Likewise.
12061 * util/grub-script-check.c: Likewise.
12062
4459819a
VS
120632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * util/grub-reboot.in: Add missing datarootdir.
12066 Add missing newline.
12067 * util/grub-set-default.in: Add missing datarootdir.
12068 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12069 * util/grub-mkrescue.in: Likewise.
12070
f65741c7
VS
120712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12074
c1a33466
VS
120752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * util/grub-kbdcomp.in: Add decent help and gettextize.
12078 * docs/man/grub-kbdcomp.h2m: New file.
12079
c76899a0
VS
120802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Migrate grub-mkimage.c to argp.
12083
12084 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12085 (grub-setup): Likewise.
12086 * util/grub-setup.c (print_version): Move to ...
12087 * util/argp_common.c (print_version): ... here.
12088 * util/grub-setup.c (argp_program_version_hook): Move to ...
12089 * util/argp_common.c (argp_program_version_hook): ... here.
12090 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12091 safety.
12092 * util/grub-mkimage.c (main): Migrate to argp.
12093
57db0757
VS
120942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * util/grub-mkrescue.in: Use same message as
12097 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12098 for better translations.
12099
18534ad9
VS
121002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12103 options with generic grub-mkrescue.in with the goal of future
12104 merge.
12105
c84ba308
VS
121062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * grub-core/kern/mm.c: Add missing include of i18n.h
12109 * grub-core/lib/relocator.c: Likewise.
12110
347998c2
VS
121112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12114 error.
12115 (allocate_pages): Check return value.
12116 Replace fatal with error.
12117 (grub_linux_boot): Replace printf with dprintf.
12118 Check find_mmap_size return value.
12119 Replace fatal with error.
12120 Don't call grub_machine_fini.
12121 (grub_load_elf64): Replace printf with dprintf.
12122 (grub_cmd_linux): Likewise.
12123 (grub_cmd_initrd): Likewise.
12124 (grub_cmd_payload): Likewise.
12125
c779226e
VS
121262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12129 message.
12130 * grub-core/video/radeon_fuloong2e.c
12131 (grub_video_radeon_fuloong2e_setup): Likewise.
12132 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12133 * grub-core/video/video.c (grub_video_set_mode): Don't override
12134 standard out of memory message.
12135
dc87d45a
GS
121362012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12137
12138 NetBSD disk wedge support.
12139
12140 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12141 [__NetBSD__]: Handle NetBSD disk wedges.
12142 * util/getroot.c (convert_system_partition_to_system_disk)
12143 [__NetBSD__]: Likewise.
12144
055f856f
MW
121452012-02-03 Mark Wooding <mdw@distorted.org.uk>
12146
12147 * util/grub-mkconfig.in: Use umask rather than chmod to create
12148 grub.cfg.new to avoid insecure grub.cfg.
12149
4a9f8346
VS
121502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * grub-core/commands/ls.c: Gettextize.
12153 * grub-core/commands/setpci.c: Likewise.
12154 * grub-core/commands/videotest.c: Likewise.
12155 * grub-core/disk/geli.c: Likewise.
12156 * grub-core/kern/mm.c: Likewise.
12157 * grub-core/lib/relocator.c: Likewise.
12158 * grub-core/loader/efi/appleloader.c: Likewise.
12159 * grub-core/loader/i386/xnu.c: Likewise.
12160 * grub-core/loader/ia64/efi/linux.c: Likewise.
12161 * grub-core/loader/xnu.c: Likewise.
12162 * grub-core/net/dns.c: Likewise.
12163 * grub-core/net/net.c: Likewise.
12164 * grub-core/script/lexer.c: Likewise.
12165 * grub-core/script/parser.y: Likewise.
12166 * grub-core/script/yylex.l: Likewise.
12167 * util/getroot.c: Likewise.
12168 * util/grub-setup.c: Likewise.
12169
a646a366
VS
121702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12173 number.
12174
54e2be26
VS
121752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12178
f7c71e68
VS
121792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12182 macro.
12183 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12184 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12185
a32d5c71
VS
121862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12189 * util/grub-install.in: Gettextize.
12190 * util/grub-mkconfig.in: Likewise.
12191 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12192 if not available.
12193 (grub_warn): Gettextize.
12194 * util/grub-mknetdir.in: Gettextize.
12195 * util/grub-mkrescue.in: Likewise.
12196 * util/grub-mkstandalone.in: Likewise.
12197 * util/grub-reboot.in: Likewise.
12198 * util/grub-set-default.in: Likewise.
12199 * util/grub.d/00_header.in: Likewise.
12200 * util/grub.d/10_hurd.in: Likewise.
12201 * util/grub.d/10_kfreebsd.in: Likewise.
12202 * util/grub.d/10_linux.in: Likewise.
12203 * util/grub.d/10_netbsd.in: Likewise.
12204 * util/grub.d/10_windows.in: Likewise.
12205 * util/grub.d/20_linux_xen.in: Likewise.
12206 * util/grub.d/30_os-prober.in: Likewise.
12207 * po/POTFILES-shell.in: Regenerate.
12208
69edd81a
RL
122092012-02-03 Richard Laager <rlaager@wiktel.com>
12210
12211 * util/grub-mkimage.c (main): Fix format-security warning.
12212 * util/grub-mkrelpath.c (main): Likewise.
12213 * util/grub-probe.c (main): Likewise.
12214
65f08dbf
RL
122152012-02-03 Richard Laager <rlaager@wiktel.com>
12216
12217 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12218 failure.
12219 Put back lost PRINT_DRIVE.
12220
e9084abe
RL
122212012-02-03 Richard Laager <rlaager@wiktel.com>
12222
12223 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12224 (grub_guess_root_devices): Replace strlen with sizeof.
12225 Avoid crash.
12226 (find_root_devices_from_poolname): Remove unused variable.
12227 Handle raidzN.
12228
cf5f7ee7
VS
122292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Support install on multi-device filesystems.
12232
12233 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12234 (grub_guess_root_devices): ...this. Return char **. All users updated.
12235 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12236 Removed.
12237 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12238 (find_root_devices_from_poolname): ... here.
12239 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12240 Support zfs-fuse.
12241 (grub_guess_root_device): Rename to ...
12242 (grub_guess_root_devices): ... this. Return char **. All users updated.
12243 * util/grub-install.in: Handle multi-device filesystems.
12244 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12245 argument. All users updated.
12246 Handle multi-device filesystems.
12247 Use 'delim' as separator.
12248 Remove device check to allow filesystems on file.
12249 (main): Support -0 argument. Handle multi-device.
12250 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12251 Fix a cross-device check while on it.
12252 (arguments): Remove root_dev.
12253 (argp_parser): Remove -r.
12254 (main): Remove root_dev.
12255
2f53a9ed
VS
122562012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12259
17e1d934
VS
122602012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12263 symbol.
12264 Reported by: NODA, Kai <nodakai>.
12265
d3e3fab5
VS
122662012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 Fix ehci on amd64.
12269
12270 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12271 pointers.
12272 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12273 (grub_ehci_setup_qh): Likewise.
12274 (grub_ehci_find_qh): Likewise.
12275 (grub_ehci_transaction): Likewise.
12276 (grub_ehci_setup_transfer): Likewise.
12277 (grub_ehci_check_transfer): Likewise.
12278 (grub_ehci_portstatus): Likewise.
12279 (grub_ehci_detect_dev): Likewise.
12280 (grub_ehci_transfer_controller_data): New field td_last_phys.
12281 (grub_ehci_setup_transfer): Fill td_last_phys.
12282 (grub_ehci_check_transfer): Use td_last_phys.
12283
3008675b
SG
122842012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12285
12286 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12287 if no submenu is present.
12288
fc9b5652
AN
122892012-02-01 Aleš Nesrsta <starous@volny.cz>
12290
12291 CBI support.
12292
12293 * include/grub/usb.h (grub_usbms_protocol_t): New values
12294 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12295 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12296 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12297 (grub_usbms_dev): Add subclass, protocol and intrpt.
12298 Remove in_maxsz and out_maxsz.
12299 (grub_usbms_reset): Rename to ...
12300 (grub_usbms_bo_reset): .. this.
12301 (grub_usbms_cbi_cmd): New function.
12302 (grub_usbms_cbi_reset): Likewise.
12303 (grub_usbms_reset): Likewise.
12304 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12305 (grub_usbms_transfer): Rename to ...
12306 (grub_usbms_transfer_bo): ... this.
12307 (grub_usbms_transfer_cbi): Likewise.
12308 (grub_usbms_transfer): Likewise.
12309
a2b81d53
AN
123102012-02-01 Aleš Nesrsta <starous@volny.cz>
123112012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12314 the support for the CS5536 modification thereos and few bugfixes.
12315
12316 * grub-core/Makefile.core.def (ehci): New module.
12317 * grub-core/bus/usb/ehci.c: New file.
12318 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12319 port and hubaddr. All users updated.
12320 Save port and hubaddr into dev structure.
12321 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12322 define.
12323 * include/grub/pci.h (grub_dma_phys2virt): New function.
12324 (grub_dma_virt2phys): Likewise.
12325 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12326
b1d51f02
VS
123272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12330 check as some mkfs implementations omit it.
12331
fc694106
VS
123322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12335
6c0920e3
VS
123362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12339 Add new member volname2.
12340 (grub_jfs_label): Use volname2 if available.
12341
d1a46f9a
VS
123422012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12345 over last_mounted as seen in image generated by mkfs.nilfs2.
12346 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12347
dec8ed14
VS
123482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12351 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12352 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12353
7397c69b
VS
123542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12357 over the sector.
12358
b3fe42ad
VS
123592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12362 subvolume name (by removing a bogus and useless check).
12363
10476bb0
VS
123642012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12367 sizeof while on it.
12368
9c08ad87
VS
123692012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12372 (grub_scsi_read_capacity10): ... this.
12373 (grub_scsi_read_capacity16): New function.
12374 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12375 0xffffffff.
12376 Fix off-by-one error.
12377 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12378 64-bit unsigned.
12379 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12380 (grub_scsi_read_capacity10): ... this.
12381 (grub_scsi_read_capacity_data): Rename to ...
12382 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12383 (grub_scsi_read_capacity16): New struct.
12384 (grub_scsi_read_capacity16_data): Likewise.
12385 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12386 grub_scsi_cmd_read_capacity10.
12387 New command grub_scsi_cmd_read_capacity16.
12388
bc8d0f45
VS
123892012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 SCSI >2TiB support.
12392
12393 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12394 (grub_scsi_write16): Likewise.
12395 (grub_scsi_read): Use read16 when necessary.
12396 (grub_scsi_write): Likewise.
12397 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12398 (grub_scsi_write16): Likewise.
12399 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12400
cc774926
VS
124012012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 SCSI write support (for usbms mainly).
12404
12405 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12406 a const pointer.
12407 (grub_scsi_write): Implement.
12408 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12409
67639fd7
VS
124102012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12413 variable.
12414
9079d3ed
VS
124152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12418
c6a6f204
VS
124192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * po/POTFILES.in: Regenerate.
12422
ecbf8cd1
VS
124232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12426 with grub_printf to avoid unnecessary fatal failure.
12427
0b3b3b38
VS
124282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12431 (INT_MAX): Likewise.
12432 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12433 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12434 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12435 (strcpy): Likewise.
12436 (strstr): Likewise.
12437 (strchr): Likewise.
12438 (strncpy): Likewise.
12439 (strcat): Likewise.
12440 (strncat): Likewise.
12441 (strcoll): Likewise.
12442 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12443 (GRUB_INT_MAX): Likewise.
12444
db7337a3
VS
124452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12448 unexpected error.
12449 (optimize_utf8): Likewise.
12450 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12451
f37c87e1
VS
124522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * grub-core/boot/i386/pc/lnxboot.S: Use
12455 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12456 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12457 location.
12458 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12459 definition.
12460 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12461
63fe43f3
VS
124622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12465 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12466 now to avoid double free.
12467 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12468 hostdisk.
12469 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12470 * util/grub-probe.c (escape_of_path): Always return a new copy.
12471 (print_full_name): Escape path.
12472 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12473 Fix hints on abstractions.
12474
ebe2c961
VS
124752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12478 Don't add "root" line if no compatibility hont is available.
12479 Suggested by: Seth Goldberg.
12480
2b5336a2
VS
124812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12484 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12485 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12486 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12487
74310bd8
VS
124882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12491
c30582ba
VS
124922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * util/grub-pe2elf.c (ehdr): Make static.
12495 (shdr): Likewise.
12496 (num_sections): Likewise.
12497 (offset): Likewise.
12498
5f47782c
VS
124992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 Eliminate ofpath limits and possible overflows.
12502
12503 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12504 (OF_PATH_MAX): Removed.
12505 (MAX_DISK_CAT): New const.
12506 (find_obppath): Use allocated rather than preallocated buffer.
12507 Return result. Argument of_path removed. All users updated.
12508 Add missing fdstat.
12509 (xrealpath): New function.
12510 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12511 Allocate rather than use preallocated buffer. All users updated.
12512 (__of_path_common): Use allocated rather than preallocatecd buffer.
12513 Return result. Argument of_path removed. All users updated.
12514 (vendor_is_ATA): Read only needed part form the file.
12515 (check_sas): Allocate depending on contents rather than fixed.
12516 (main) [STANDALONE]: Handle NULL result.
12517
f990cbf9
VS
125182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12521
9c6e84b8
VS
125222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 Cryptodisk write support.
12525
12526 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12527 (grub_cryptodisk_decrypt): Moved logic to ...
12528 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12529 (grub_cryptodisk_write): Implement.
12530 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12531 (grub_util_fd_write): ... this. Make global.
12532 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12533
87cf9744
VS
125342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * include/grub/list.h (grub_list_remove): Don't crash if element is
12537 removed twice.
12538
ca8c0baf
VS
125392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 Rename ofconsole to console.
12542
12543 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12544 as sysnonym to console.
12545 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12546 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12547 Rename grub_ofconsole_ to grub_console_. All users updated
12548 (grub_console_term_output): Rename "ofconsole" to "console".
12549 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12550 as "console".
12551
64c8b8f6
VS
125522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12555 handling.
12556 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12557 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12558 GRUB_DISK_DEVICE_FILE_ID.
12559
f6c434d5
VS
125602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12563 and improve performance.
12564
5858b42d
VS
125652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12568 missing ieee1275/ prefix on whole disk.
12569
4ed3c26b
VS
125702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12573 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12574
df71143e
VS
125752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12578
076e7c0f
VS
125792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 Merge common RAID and LVM logic to an abstract diskfilter.
12582 Add LDM support using the same framework.
12583
12584 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12585 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12586 (libgrubmods): Remove grub-core/disk/raid.c and
12587 grub-core/partmap/gpt.c.
12588 * grub-core/Makefile.core.def (ldm): New module.
12589 (raid): Renamed to diskfilter. All users updated.
12590 * grub-core/disk/raid.c: Moved to ...
12591 * grub-core/disk/diskfilter.c: ... here.
12592 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12593 (lv_num): New var.
12594 (find_array): Renamed to ...
12595 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12596 (grub_is_array_readable): Renamed to ...
12597 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12598 (insert_array): New argument id.
12599 (is_node_readable): New function.
12600 (scan_device): Rename to ...
12601 (scan_disk): .. this. Restrict to one disk.
12602 (scan_devices): New function.
12603 (grub_diskfilter_iterate): Support multi-LV.
12604 Skip invisible and nameless LVs.
12605 (grub_diskfilter_memberlist): Support multi-LV.
12606 (grub_diskfilter_read_node): New function.
12607 (grub_raid_read): Most of logic moved to ...
12608 (read_segment): ... here
12609 (read_lv): New function.
12610 (grub_diskfilter_get_vg_by_uuid): New function.
12611 (grub_diskfilter_make_raid): Likewise.
12612 * grub-core/disk/ldm.c: New file.
12613 * grub-core/disk/lvm.c (vg_list): Removed.
12614 (lv_count): Likewise.
12615 (scan_depth): Likewise.
12616 (is_lv_readable): Likewise.
12617 (grub_lvm_getvalue): Advance pointer past the number.
12618 (find_lv): Removed.
12619 (do_lvm_scan): Refactored into ...
12620 (grub_lvm_detect): ... this. Support raid.
12621 (grub_lvm_iterate): Removed.
12622 (grub_lvm_memberlist): Likewise.
12623 (grub_lvm_open): Likewise.
12624 (grub_lvm_close): Likewise.
12625 (read_lv): Likewise.
12626 (read_node): Likewise.
12627 (is_node_readable): Likewise.
12628 (is_lv_readable): Likewise.
12629 (grub_lvm_read): Likewise.
12630 (grub_lvm_write): Likewise.
12631 (grub_lvm_dev): Use diskfilter
12632 (GRUB_MOD_INIT): Likewise.
12633 (GRUB_MOD_FINI): Likewise.
12634 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12635 new interface.
12636 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12637 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12638 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12639 grub_diskfilter_read_node.
12640 Fix a bug with xor.
12641 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12642 grub_diskfilter_read_node.
12643 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12644 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12645 (grub_disk_dev_iterate): Move from here...
12646 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12647 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12648 Make global.
12649 (grub_hostdisk_find_partition_start): Likewise.
12650 (grub_hostdisk_os_dev_to_grub_drive): New function.
12651 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12652 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12653 * util/getroot.c (make_device_name): ... here.
12654 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12655 Move to ...
12656 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12657 * grub-core/kern/emu/hostdisk.c
12658 (convert_system_partition_to_system_disk): Move to ...
12659 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12660 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12661 * util/getroot.c (device_is_wholedisk): ... here.
12662 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12663 * util/getroot.c (find_system_device): ... here.
12664 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12665 Move to ...
12666 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12667 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12668 Move to ...
12669 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12670 Handle LDM.
12671 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12672 Move to ...
12673 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12674 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12675 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12676 DISKFILTER.
12677 * include/grub/raid.h: Renamed to ...
12678 * include/grub/diskfilter.h: ... this.
12679 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12680 (GRUB_RAID_LAYOUT_*): Make into array.
12681 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12682 (grub_diskfilter_vg): New struct.
12683 (grub_diskfilter_pv_id): Likewise.
12684 (grub_raid_member): Removed.
12685 (grub_raid_array): Likewise.
12686 (grub_diskfilter_pv): New struct.
12687 (grub_diskfilter_lv): Likewise.
12688 (grub_diskfilter_segment): Likewise.
12689 (grub_diskfilter_node): Likewise.
12690 (grub_diskfilter_get_vg_by_uuid): New proto.
12691 (grub_raid_register): Inline.
12692 (grub_diskfilter_unregister): Likewise.
12693 (grub_diskfilter_make_raid): New proto.
12694 (grub_diskfilter_vg_register): Likewise.
12695 (grub_diskfilter_read_node): Likewise.
12696 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12697 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12698 (grub_util_is_ldm): Likewise.
12699 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12700 (grub_hostdisk_find_partition_start): Likewise.
12701 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12702 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12703 New definition.
12704 (grub_gpt_partition_map_iterate): New proto.
12705 * include/grub/lvm.h (grub_lvm_vg): Removed.
12706 (grub_lvm_pv): Likewise.
12707 (grub_lvm_lv): Likewise.
12708 (grub_lvm_segment): Likewise.
12709 (grub_lvm_node): Likewise.
12710 * util/getroot.c [...]
12711 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12712 (probe_abstraction): Likewise.
12713 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12714 (main): Remove dead logic.
12715
8a7f9b9c
VS
127162012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Simplify root device discover and don't fail when trying to open
12719 incorrect devices.
12720
12721 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12722 function.
12723 (get_diskname_from_path): Likewise.
12724 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12725 of iterating.
12726
30545b85
VS
127272012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12730
28ea58cf
VS
127312012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12734 pastthe end.
12735
692dabca
VS
127362012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * util/grub-install.in: Add missing \.
12739 Reported by: gentoofan
12740
f6e4ea70
VS
127412012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12744 (direct_read): Use correct compressed size.
12745 (grub_squash_read_data): Likewise.
12746
127472012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12748
12749 * docs/grub.texi (Platform limitations): New section.
12750 (Platform-specific operations): Likewise.
12751 * docs/grub-dev.texi (Porting): Likewise.
12752
76261110
VS
127532012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 IEEE1275 disk write support.
12756
12757 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12758 const void *.
12759 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12760 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12761 and seek loginc to ...
12762 (grub_ofdisk_prepare): ... here.
12763 (grub_ofdisk_write): Implement.
12764
fc36d603
VS
127652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 ARC disk write support.
12768
12769 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12770 (reopen): New argument writable. All users updated.
12771 Handle required access mode.
12772 (grub_arcdisk_write): Implement.
12773 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12774 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12775
e06c2e7a
VS
127762012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12779 (read_sblock): Don't attempt to read superblocks outside the disk size.
12780
ff447958
VS
127812012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12784 first superblock to find the second one when possible.
12785
9e88df39
VS
127862012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * util/grub-install.in: Fix an ARC bug.
12789 Print a warning if no platform-specific setup is available.
12790
bb26e4ff
VS
127912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 Use static allocation rather than scratch pointer in reed_solomon.
12794 It decreases its size significantly and avoids a variable in .text.
12795
12796 * grub-core/lib/reed_solomon.c (scratch): Removed.
12797 (chosenstat): New const or static array.
12798 (sigma): Likewise.
12799 (errpot): Likewise.
12800 (errpos): Likewise.
12801 (sy): Likewise.
12802 (mstat): Likewise.
12803 (errvals): Likewise.
12804 (eqstat): Likewise.
12805 (pol_evaluate): Replace x with log_x argument. All users updated.
12806 (syndroms): Removed.
12807 (gauss_solve): Use statically allocated arrays.
12808 (rs_recover): Likewise.
12809 Calculate syndroms directly.
12810 (decode_block): Use statically allocated arrays.
12811 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12812 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12813
2e13ede5
VS
128142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Eliminate fixed limit on reed solomon decoder length.
12817
12818 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12819 rather than hardcoding the address.
12820 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12821 no_reed_solomon_length.
12822 Move gate_a20 to no-reed-solomon part.
12823 Don't force a particular size of no reed-solomon part.
12824 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12825 Removed.
12826 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12827 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12828
f8a9ab12
VS
128292012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/commands/wildcard.c (match_files): Handle filenames
12832 without explicit device.
12833 (wildcard_expand): Don't add explicit device if not already present.
12834 * tests/grub_script_echo1.in: Add a new expansion test.
12835
87edb894
VS
128362012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 Replace single-linked with double-linked lists. It results in more
12839 compact and more efficient code.
12840
12841 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12842 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12843 (grub_list_remove): Moved from here ...
12844 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12845 (grub_prio_list_insert): Set prev.
12846 * include/grub/list.h (grub_list): Add prev. All users updated.
12847
48b391e9
VS
128482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 Handle newer autotools. Add some missing quotes while on it.
12851
12852 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12853 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12854 (pkgdata_DATA): ... here.
12855 * Makefile.util.def (update-grub_lib): Removed.
12856 * conf/Makefile.common (pkglib_DATA): Removed.
12857 (pkglib_SCRIPTS): Likewise.
12858 (pkgdata_DATA): New variable.
12859 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12860 needed.
12861 Add missing quotes.
12862 Remove unused variable while on it.
12863 * tests/util/grub-shell.in: Likewise.
12864 * util/grub-install.in: Likewise.
12865 * util/grub-mkconfig.in: Likewise.
12866 * util/grub-mknetdir.in: Likewise.
12867 * util/grub-mkrescue.in: Likewise.
12868 * util/grub-mkstandalone.in: Likewise.
12869 * util/grub.d/00_header.in: Likewise.
12870 * util/grub.d/10_hurd.in: Likewise.
12871 * util/grub.d/10_illumos.in: Likewise.
12872 * util/grub.d/10_kfreebsd.in: Likewise.
12873 * util/grub.d/10_linux.in: Likewise.
12874 * util/grub.d/10_netbsd.in: Likewise.
12875 * util/grub.d/10_windows.in: Likewise.
12876 * util/grub.d/20_linux_xen.in: Likewise.
12877 * util/grub.d/30_os-prober.in: Likewise.
12878 * util/update-grub_lib.in: Removed.
12879
128802012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12881
12882 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12883 a workaround for intel problem.
12884
66832792
PRP
128852012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
128862012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
128872012-01-23 pfsmorigo
12888
12889 * util/grub-install.in: Support dd'in into PreP partition.
12890 * util/grub-probe.c (probe): Support discovering partition type.
12891 (main): Support -t msdos_parttype.
12892
7816a17e
VS
128932012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12896 infinite recursion using counter.
12897 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12898 init to skip it if the magic check fails.
12899 (dec_stream_header): Init s->crc32.
12900
8f9d3a8c
ZB
129012012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
129022012-01-22 Zachary Bedell <pendorbound@gmail.com>
129032012-01-22 Richard Laager <rlaager@wiktel.com>
12904
12905 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12906 All users updated.
12907 (find_bestub): Determine correct size.
12908 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12909 (scan_disk): Align the size down.
12910 Call check pool before find_bestub to have ashift.
12911
b055dd32
VS
129122012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12915 dprintf in no-malloc zone.
12916
d779e9bd
ML
129172012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12918
12919 * configure.ac: Add back in test for limits.h.
12920
b508af69
VS
129212012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Support 4K-sector NTFS.
12924
12925 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12926 (grub_ntfs_data): Remove blocksize.
12927 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12928 Remove data argument. All users updated.
12929
dad9c8b5
VS
129302012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12933 being in .text to avoid dprel references.
12934 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12935 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12936 (grub_arch_highmemsize): Likewise.
12937 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12938 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12939 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12940
d43a777e
VS
129412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12944
12945 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12946 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12947
34e4208f
VS
129482012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12951 GRUB_UTIL.
12952 (grub_set_datetime_cmos): Likewise.
12953
3ec0fc1c
VS
129542012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Make XZ compression parameters dependent on target and not host CPU.
12957
12958 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12959 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12960
22489834
VS
129612012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12964 set but not used variable.
12965
8502fbca
VS
129662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12969 created when no uuid support is compiled into mkfs.reiser.
12970
76df2068
VS
129712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12974 (utf8_to_macroman): Do the opposite.
12975 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12976
64e3f8f6
VS
129772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * configure.ac: Refise build qemu_mips w/o unifont.
12980
9c271078
VS
129812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Eliminate grub_min/grub_max prone to overflow usage.
12984
12985 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12986 (poll_nonroot_hub): Likewise.
12987 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12988 (grub_affs_label): Likewise.
12989 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12990 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12991 (grub_hfs_label): Likewise.
12992 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12993 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12994 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12995 (zap_leaf_array_get): Likewise.
12996 (dnode_get_path): Likewise.
12997 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12998 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12999 * grub-core/script/execute.c (grub_script_break): Likewise.
13000 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13001 grub_max.
13002 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13003 * include/grub/misc.h (grub_min): Removed.
13004 (grub_max): Likewise.
13005
80662dbc
VS
130062012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13007
13008 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13009 direct.inode = 0.
13010
e6da1467
VS
130112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13014
b1ac4cb1
VS
130152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13018
b4bf7c3b
VS
130192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13022 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13023
8ee1101a
VS
130242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13027 rather than a hack for grub_strncasemap.
13028
130292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 Support multiple initrds
13032 Note: part of this was accidently committed in r3739.
13033
13034 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13035 initrd.
13036 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13037 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13038 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13039 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13040 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13041
4d1e2bc9
VS
130422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13045 disks with unknown size.
13046 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13047
75b49ebe
VS
130482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Remove defines pertaining to arbitrary limits not affecting GRUB
13051 anymore.
13052
13053 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13054 (EXT2_MAX_SYMLINKCNT): Likewise.
13055 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13056 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13057 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13058 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13059 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13060 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13061 (DN_MAX_OBJECT_SHIFT): Likewise.
13062 (DN_MAX_OFFSET_SHIFT): Likewise.
13063 (DN_MAX_OBJECT): Likewise.
13064 (DNODES_PER_LEVEL_SHIFT): Likewise.
13065 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13066 (SPA_MAXBLOCKSIZE): Likewise.
13067 (SPA_BLOCKSIZES): Likewise.
13068 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13069 (MZAP_MAX_BLKSZ): Likewise.
13070
74a1dce7
VS
130712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13074 handle NULL appropriately.
13075 Remove MIN.
13076
30c7d3ce
VS
130772012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 Fix efiemu.
13080
13081 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13082 cpu/types.h.
13083 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13084 * configure.ac: Fix efiemu check.
13085
3c76ea0c
VS
130862012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13089 grub_probe.
13090 Reported by: adamwill
13091
7e532280
SG
130922012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13093
13094 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13095
30492374
VS
130962012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 Fix handling of wide characters in gfxterm.
13099
13100 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13101 (clear_char): Likewise.
13102 (paint_char): Skip code == NULL chars.
13103 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13104
e70cb72f
VS
131052012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/normal/charset.c: Move comment to right place.
13108
5c827cf9
VS
131092012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13112 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13113 (grub_affs_mount): Revert the correct version checking.
13114
53603892
VS
131152012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * docs/grub.texi (Unicode): Mention several other unsupported features.
13118
ff094b9b
VS
131192011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13122 case statements as compile-time one.
13123 (direct_read): Prevent spurious warnings.
13124 (grub_squash_read_data): Likewise.
13125
c029da8a
VS
131262011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Various squash4 fixes and LZO and XZ support.
13129
13130 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13131 Add xzembed source files.
13132 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13133 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13134 (grub_squash_inode): New subtype long_dir.
13135 (SQUASH_TYPE_LONG_DIR): New inode type.
13136 (COMPRESSION): New enum.
13137 (XZBUFSIZ): New const.
13138 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13139 (read_chunk): Use data->decompress.
13140 (zlib_decompress): New function.
13141 (lzo_decompress): Likewise.
13142 (xz_decompress): Likewise.
13143 (squash_mount): Set new data fields.
13144 (grub_squash_iterate_dir): Handle long dir.
13145 (squash_unmount): Free xzdec and xzbuf.
13146 (grub_squash_open): Check ino type.
13147 (direct_read): Stylistic fixes. Use data->decompress.
13148 (grub_squash_read_data): Likewise.
13149 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13150 (get_byte): Likewise.
13151 (grub_zlib_disk_read): Removed.
13152 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13153 (GRUB_POSIX_BOOL_DEFINED): New define.
13154 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13155 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13156 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13157 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13158
7a45a539
VS
131592011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 Don't override more informative errors.
13162
13163 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13164 * grub-core/font/font.c (open_section): Likewise.
13165 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13166 filename. Don't override errors.
13167 (grub_cmd_openbsd_ramdisk): Don't override errors.
13168 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13169 (grub_cmd_initrd): Likewise.
13170 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13171 (grub_cmd_initrd): Likewise.
13172 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13173 (grub_cmd_linux): Likewise.
13174 (grub_cmd_initrd): Likewise.
13175 (grub_cmd_payload): Likewise.
13176 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13177 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13178 (grub_cmd_module): Likewise.
13179 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13180 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13181 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13182 (grub_cmd_xnu_mkext): Likewise.
13183 (grub_cmd_xnu_ramdisk): Likewise.
13184 (grub_xnu_check_os_bundle_required): Likewise.
13185 (grub_xnu_load_kext_from_dir): Likewise.
13186 (grub_cmd_xnu_kextdir): Likewise.
13187 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13188
b2d004db
VS
131892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13192 as 1024 in block size field. Found on one of my test images.
13193 Small optimisation while on it.
13194
ec000eac
VS
131952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13198 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13199 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13200 performance fixes while on it.
13201 (grub_sfs_close): Fix memory leak while on it.
13202 (grub_sfs_label): Convert Latin1 to UTF-8.
13203
f50e1165
VS
132042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13207 space to avoid overflows.
13208 (grub_hfs_label): Convert from macroman to UTF-8.
13209
2ae254de
VS
132102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13213
0108f491
VS
132142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13217
f45f5f89
VS
132182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * unicode: Import Unicode 6.0 data.
13221
4d8c4765
VS
132222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13223
63fa8ef9
VS
13224 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13225 outside of range.
13226
132272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13230
13231 * include/grub/charset.h (grub_getend): New function.
13232 * grub-core/script/function.c (grub_script_function_find): Use
13233 grub_getend.
13234 * grub-core/normal/completion.c (add_completion): Likewise.
13235
f3cb4a4e
VS
132362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13239 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13240 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13241 (GRUB_UNICODE_TAG_END): Likewise.
13242 (GRUB_UNICODE_LAST_VALID): Likewise.
13243
5da8dbc5
VS
132442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13247 len and make it smaller. All users updated.
13248 * util/import_unicode.py: Put length and not end character.
13249 Check length.
13250
8569f13d
VS
132512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 Make better Unicode-compliant and unify some UTF-8 code pathes.
13254
13255 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13256 valid character.
13257 (grub_is_valid_utf8): Use grub_utf8_process.
13258 Check resulting code range.
13259 (grub_utf8_to_ucs4): Use grub_utf8_process.
13260 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13261 valid character.
13262
cc4fddf5
VS
132632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13266
bbc47747
VS
132672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * docs/grub.texi (Filesystems): Mention AFS.
13270
f63d6bf4
VS
132712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * docs/grub.texi (Filesystems): Clarify restrictions.
13274 (Regexp): Mention non-Unicode regexp behaviour.
13275 (Other): Mention non-Unicode matching behaviour.
13276
74bbf0db
VS
132772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13278
f63d6bf4 13279 Make HFS implementation use MacRoman.
74bbf0db
VS
13280
13281 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13282 (macroman): New const array.
13283 (macroman_to_utf8): New function.
13284 (utf8_to_macroman): Likewise.
13285 (grub_hfs_find_dir): Use utf8_to_macroman.
13286 (grub_hfs_dir): Use macroman_to_utf8.
13287 Set case_insensitive.
13288
4ea0316e
VS
132892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13292
d3c13cbd
VS
132932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 Integrate hints into autogeneration scripts.
13296
13297 * docs/grub.texi (Filesystems): Add a hostdisk example.
13298 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13299 (grub-probe): Add ofpath.
13300 * gentpl.py: Remove group nosparc64.
13301 * grub-core/commands/search.c (cache_entry): New struct.
13302 (cache): New var.
13303 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13304 * grub-core/commands/search_wrap.c (options): Add platform-specific
13305 hint options.
13306 (grub_cmd_search): Handle platform-specific hints.
13307 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13308 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13309 (grub_util_biosdisk_data): Likewise.
13310 (grub_util_biosdisk_open): Set device_map.
13311 (read_device_map): Handle "" as indication of no map.
13312 Set device_map.
13313 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13314 (grub_util_biosdisk_get_compatibility_hint): New function.
13315 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13316 * include/grub/emu/hostdisk.h
13317 (grub_util_biosdisk_get_compatibility_hint): New proto.
13318 * util/grub-install.in: Don't call grub-mkdevicemap.
13319 Add platform-specific hint to load.cfg.
13320 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13321 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13322 hints. Set root preliminary to compatibility hint, not to OS name.
13323 * util/grub-probe.c (PRINT_*): Add hints.
13324 (print): Make static.
13325 (escape_of_path): New function.
13326 (guess_bios_drive): Likewise.
13327 (guess_efi_drive): Likewise.
13328 (guess_baremetal_drive): Likewise.
13329 (print_full_name): Likewise.
13330 (probe): Handle hints.
13331 (main): Likewise.
13332 * util/ieee1275/devicemap.c: Removed.
13333 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13334 updated.
13335 (grub_util_devname_to_ofpath): Return NULL on failure.
13336
13337 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13338 resource leak.
13339 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13340
13341 * po/POTFILES.in: Regenerated.
13342
13343 Allow purely long options
13344
13345 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13346 (SHORT_ARG_USAGE): Likewise.
13347 (grub_arg_show_help): Compare opt with help_options.
13348 (parse_option): Receive opt as argument. If makes big simplificatons.
13349 All users updated
13350
00ce2df3
VS
133512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13354 Restructure to avoid warning.
13355
e77e325f
VS
133562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * util/grub-install.in: Account for possible escaped comma in device
13359 name.
13360
165099ea
VS
133612011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13364 channel.
13365
ce4a999d
VS
133662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13369 allocation and zero-setting.
13370 (grub_ieee1275_get_devname): Check that alias is complete.
13371
379586ad
VS
133722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13375 unaligned segments.
13376
9197b0ad
VS
133772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13380 prefix.
13381 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13382 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13383 Add ieee1275 prefix.
13384
edddb7f9
VS
133852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * docs/grub.texi (Filesystems): Update.
13388
a1a8b1b9
VS
133892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Support odc, newc and bigendian cpio formats.
13392
13393 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13394 * grub-core/Makefile.core.def (newc): New module.
13395 (odc): Likewise.
13396 (cpio_be): Likewise.
13397 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13398 (MAGIC): Likewise.
13399 (MAGIC2): Likewise.
13400 (head) [MODE_ODC]: Adapt for the format.
13401 (head) [MODE_NEWC]: Likewise.
13402 (head) [!MODE_*]: Write fields of interest as arrays.
13403 (MAGIC_USTAR): Removed.
13404 (read_number) [MODE_NEWC]: Change to hex.
13405 (read_number) [!MODE_*]: Parse binary arrays.
13406 (grub_cpio_find_file): Factor out the code for better structure and
13407 always use read_number.
13408 (grub_cpio_mount): Use MAGIC and MAGIC2.
13409 (grub_cpio_dir): Exit on first hook non-0 return.
13410 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13411 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13412 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13413 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13414 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13415 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13416 * grub-core/fs/newc.c: New file.
13417 * grub-core/fs/odc.c: Likewise.
13418 * grub-core/fs/cpio_be.c: Likewise.
13419
58eba9ee
VS
134202011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 Fix handling of tar numbers occupying the whole field.
13423
13424 * grub-core/fs/cpio.c (read_number): New function.
13425 (grub_cpio_find_file): Use read_number instead of strtoull.
13426
a54a0e12
VS
134272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13430 occupying the whole field size.
13431
a6120aca
LA
134322011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13433
13434 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13435
a93964ce
VS
134362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13439
3ea1ca46
SG
134402011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13441
13442 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13443 TARGET_IMG_LDFLAGS.
13444
b87f7ef2
VS
134452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13448 (mountinfo_entry): Increase the field size to take escaping into
13449 account.
13450 (find_root_device_from_libzfs): Add one byte to size of strings for
13451 security.
13452
62092395
VS
134532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13456 an assert.
13457 * util/grub-setup.c (setup): Likewise.
13458
1f0b1a77
VS
134592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13462 _LzmaDecodeA.
13463
8eba9997
VS
134642011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * docs/grub.texi (Internationalisation): New section.
13467
dd0c91e9
VS
134682011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * docs/grub.texi (Loopback booting): New section.
13471
134722011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13473
13474 * util/grub-mkstandalone.in: Fix minor typo errors.
13475
198e150a
VS
134762011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13479
13480 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13481 net/icmp.c and net/icmp6.c.
13482 (http): New module.
13483 (priority_queue): Likewise.
13484 * grub-core/io/bufio.c: Rewritten.
13485 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13486 TYPE_WITH_CONFIGFILE_OPTION.
13487 (legacy_commands): Add bootp and dhcp.
13488 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13489 (grub_legacy_parse): Likewise.
13490 * grub-core/lib/priority_queue.c: New file.
13491 * grub-core/net/arp.c: Add missing license header.
13492 (arp_find_entry): Removed.
13493 (arp_find_entry): Likewise.
13494 (grub_net_arp_resolve): Rename to ...
13495 (grub_net_arp_send_request): ...this.
13496 (grub_net_arp_receive): New card argument.
13497 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13498 Set router and DNS server.
13499 (grub_net_configure_by_dhcp_ack): Handle routing information.
13500 (grub_cmd_bootp): Set checksum.
13501 (grub_bootp_init): Remove net_dhcp.
13502 * grub-core/net/dns.c: New file.
13503 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13504 completion.
13505 (get_card_packet): Handle allocation.
13506 (grub_efinet_findcards): Set mtu.
13507 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13508 (get_card_packet): Handle allocation.
13509 (emucard): Set mtu.
13510 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13511 (GRUB_MOD_INIT): Set mtu.
13512 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13513 mtu.
13514 (get_card_packet): Handle allocation.
13515 (grub_ofnet_findcards): Set mtu.
13516 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13517 assert.
13518 (grub_net_recv_ethernet_packet): Handle IPv6.
13519 * grub-core/net/http.c: New file.
13520 * grub-core/net/icmp.c: Likewise.
13521 * grub-core/net/icmp6.c: Likewise.
13522 * grub-core/net/ip.c (ip6addr): New type.
13523 (ip6hdr): Likewise.
13524 (reassemble): Likewise.
13525 (cmp): New function.
13526 (reassembles): New variable.
13527 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13528 (id): New variable.
13529 (send_fragmented): New function.
13530 (grub_net_send_ip_packet): Rename to ...
13531 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13532 Handle non-UDP.
13533 (grub_net_recv_ip_packets): Rename to ...
13534 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13535 (free_rsm): New function.
13536 (free_old_fragments): Likewise.
13537 (grub_net_recv_ip4_packets): New function.
13538 (grub_net_send_ip6_packet): Likewise.
13539 (grub_net_send_ip_packet): Likewise.
13540 (grub_net_recv_ip6_packets): Likewise.
13541 (grub_net_recv_ip_packets): Likewise.
13542 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13543 (LINK_LAYER_CACHE_SIZE): New const.
13544 (link_layer_find_entry): New function.
13545 (grub_net_link_layer_add_address): Likewise.
13546 (grub_net_link_layer_resolve_check): Likewise.
13547 (grub_net_link_layer_resolve): Likewise.
13548 (grub_net_ipv6_get_slaac): Likewise.
13549 (grub_net_ipv6_get_link_local): Likewise.
13550 (grub_cmd_ipv6_autoconf): Likewise.
13551 (parse_ip): Handle one number representation.
13552 (parse_ip6): New functoion.
13553 (match_net): Handle IPv6.
13554 (grub_net_resolve_address): Handle IPv6 and DNS.
13555 (grub_net_resolve_net_address): Handle IPv6.
13556 (route_cmp): New function.
13557 (grub_net_route_address): Find best route.
13558 (grub_net_addr_to_str): Handle IPv6.
13559 (grub_net_addr_cmp): New function.
13560 (grub_net_add_addr): Register local route.
13561 (print_net_address): Handle net address.
13562 (grub_net_poll_cards): Retransmit TCP.
13563 (grub_net_poll_cards_idle_real): Likewise.
13564 (have_ahead): New function.
13565 (grub_net_seek_real): Use underlying seek.
13566 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13567 * grub-core/net/tcp.c: New file.
13568 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13569 (cmp): New function.
13570 (ack): Likewise.
13571 (tftp_receive): Handle unordered input.
13572 (destroy_pq): New function.
13573 (tftp_close): Close pq.
13574 * grub-core/net/udp.c: Put missing license header.
13575 (grub_net_udp_socket): New function.
13576 (udp_socket_register): Likewise.
13577 (grub_net_udp_close): Likewise.
13578 (grub_net_recv_udp_packet): Check checksum.
13579 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13580 * include/grub/misc.h (grub_memchr): New function.
13581 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13582 (grub_net_card_driver): Return buf in recv.
13583 (grub_net_slaac_mac_list): New struct.
13584 (grub_network_level_protocol_id): Add ipv6.
13585 (grub_net_network_level_addr): Likewise.
13586 (grub_net_network_level_net_addr): Likewise.
13587 (grub_net_app_protocol): Add seek.
13588 (grub_net_socket): Removed.
13589 (grub_net_sockets): Likewise.
13590 (grub_net_socket_register): Likewise.
13591 (grub_net_socket_unregister): Likewise.
13592 (FOR_NET_SOCKETS): Likewise.
13593 (grub_net_add_addr): Add const.
13594 (GRUB_NET_BOOTP_*): New enum.
13595 (grub_net_addr_cmp): New proto.
13596 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13597 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13598 (grub_net_hwaddr_to_str): NEw proto.
13599 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13600 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13601 (grub_dns_init): New proto.
13602 (grub_dns_fini): Likewise.
13603 (grub_net_tcp_retransmit): Likewise.
13604 (grub_net_link_layer_add_address): Likewise.
13605 (grub_net_link_layer_resolve_check): Likewise.
13606 (grub_net_link_layer_resolve): Likewise.
13607 (grub_net_dns_lookup): Likewise.
13608 (grub_net_add_dns_server): Likewise.
13609 (grub_net_remove_dns_server): Likewise.
13610 (GRUB_NET_TRIES): New const.
13611 (GRUB_NET_INTERVAL): Likewise.
13612 * include/grub/net/arp.h: Mostly rewritten.
13613 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13614 * include/grub/net/ip.h: Mostly rewritten.
13615 * include/grub/net/netbuff.h: Indent.
13616 * include/grub/net/tcp.h: New file.
13617 * include/grub/net/udp.h: Mostly rewritten.
13618 * include/grub/priority_queue.h: New file.
13619 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13620 (grub_swap_bytes64_compile_time): Likewise.
13621 (grub_cpu_to_be16_compile_time): Likewise.
13622 (grub_cpu_to_be32_compile_time): Likewise.
13623 (grub_cpu_to_be64_compile_time): Likewise.
13624 (grub_be_to_cpu64_compile_time): Likewise.
13625
215c1800
VS
136262011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13629 UINT_TO_PTR with cast.
13630
c17e546c
VS
136312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13634 don't use them.
13635
ff6b18b6
VS
136362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13639 already there.
13640
70ffcc93
VS
136412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13644 confusing ipxe.
13645
e5f4d260
VS
136462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13649 Add missing const attribute.
13650 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13651 Likewise.
13652 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13653 Likewise.
13654
8e54b4b7
VS
136552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13658 misaligned access.
13659 (serpent_setkey): Likewise.
13660 (serpent_encrypt_internal): Likewise.
13661 (serpent_decrypt_internal): Likewise.
13662 (serpent_encrypt): Don't put an alignment-increasing cast.
13663 (serpent_decrypt): Likewise.
13664 (serpent_test): Likewise.
13665
813c0a2b
VS
136662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13669
f2b60fbd
VS
136702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13673
13674 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13675 grub_addr_t casts.
13676 (PTR_TO_UINT64): Likewise.
13677 (PTR_TO_UINT32): Likewise.
13678
5ef5c511
VS
136792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13682 because of stack.
13683 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13684 limit.
13685
c476e6df
VS
136862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13689 text_width > available width a bit more gracefully.
13690
384ad7cc
VS
136912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13694 current address calculation.
13695
96f8caf8
VS
136962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13699 stack.
13700 (encode_block): Likewise.
13701
276b7a8b
VS
137022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13705 certainety.
13706
e3fd394a
VS
137072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13710 non-RS part to avoid RS messing with GDT.
13711 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13712 Increase to suit in realmode routines.
13713
137142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * grub-core/kern/i386/realmode.S: Increase alignment.
13717 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13718
ee9c2e7a
VS
137192011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13722 be deterministic.
13723 (syndroms): Compute 0 syndrom.
13724 (rs_recover): Use 0 syndrom.
13725
7a7f7cc9
VS
137262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13729
a14b16d1
VS
137302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13733 brackets.
13734
9f59e9fc
VS
137352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13736
ca1b552c
VS
13737 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13738 account.
13739 (get_top_pad): Likewise.
13740 (get_right_pad): Likewise.
13741 (get_bottom_pad): Likewise.
13742
137432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13746
e739d698
VS
137472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13750 attribute as the structure isn't guaranteed to be properly aligned.
13751 (grub_efi_pci_device_path): Likewise.
13752 (grub_efi_pccard_device_path): Likewise.
13753 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13754 specify the size of `memory_type'.
13755 (grub_efi_vendor_device_path): Likewise.
13756 (grub_efi_controller_device_path): Likewise.
13757 (grub_efi_acpi_device_path): Likewise.
13758 (grub_efi_expanded_acpi_device_path): Likewise.
13759 (grub_efi_atapi_device_path): Likewise.
13760 (grub_efi_scsi_device_path): Likewise.
13761 (grub_efi_fibre_channel_device_path): Likewise.
13762 (grub_efi_1394_device_path): Likewise.
13763 (grub_efi_usb_device_path): Likewise.
13764 (grub_efi_usb_class_device_path): Likewise.
13765 (grub_efi_i2o_device_path): Likewise.
13766 (grub_efi_mac_address_device_path): Likewise.
13767 (grub_efi_ipv4_device_path): Likewise.
13768 (grub_efi_ipv6_device_path): Likewise.
13769 (grub_efi_infiniband_device_path): Likewise.
13770 (grub_efi_uart_device_path): Likewise.
13771 (grub_efi_vendor_messaging_device_path): Likewise.
13772 (grub_efi_hard_drive_device_path): Likewise.
13773 (grub_efi_cdrom_device_path): Likewise.
13774 (grub_efi_vendor_media_device_path): Likewise.
13775 (grub_efi_file_path_device_path): Likewise.
13776 (grub_efi_protocol_device_path): Likewise.
13777 (grub_efi_piwg_device_path): Likewise.
13778 (grub_efi_bios_device_path): Likewise.
13779
cb8f88ea
VS
137802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13783 (grub_ucs4_to_utf8_alloc): Likewise.
13784 (grub_ucs4_to_utf8): Likewise.
13785 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13786 (grub_ucs4_to_utf8_alloc): Likewise.
13787
309e5352
VS
137882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 AFFS never uses unicode.
13791
13792 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13793 (grub_latin1_to_utf8): New inline function.
13794 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13795
e7987e1b
VS
137962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13799 overflow.
13800
efc2616e
VS
138012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13804 (grub_squash_dirent_header): Likewise.
13805 (read_chunk): Don't double swap.
13806 (grub_squash_iterate_dir): Fix swap sizes.
13807
3c349f5a
VS
138082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13811
b453412d
VS
138122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13815 (grub_hfs_iterate_dir): Likewise.
13816
12e9d4d1
VS
138172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Fix video on platforms where unaligned access is forbidden.
13820 Make several optimisations while on it.
13821
13822 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13823 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13824 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13825 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13826 Disable.
13827 (grub_video_fbblit_replace_16bit_1bit):
13828 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13829 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13830 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13831 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13832 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13833 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13834 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13835 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13836 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13837 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13838 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13839 (grub_video_fbblit_replace_index_RGB888): Likewise.
13840 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13841 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13842 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13843 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13844 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13845 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13846 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13847 Disable.
13848 (grub_video_fbblit_blend_XXX565_1bit):
13849 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13850 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13851 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13852 void *.
13853 * grub-core/video/fb/video_fb.c (common_blitter)
13854 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13855 (grub_video_fb_create_render_target_from_pointer)
13856 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13857 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13858 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13859 definition.
13860 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13861
ace96609
VS
138622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13865 HH22 and HM10 relocations.
13866
fd261d73
VS
138672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13870
e59b7857
VS
138712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13874 allocation succeeded.
13875
9b4baaa4
VS
138762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13879 argument a u8 pointer. All users updated.
13880 Handle unaligned buffers.
13881
dc713193
VS
138822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13885 add_part to workaround compiler bug.
13886
30dd48c2
VS
138872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13890
0c6087a8
VS
138912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13894 Reserve alignment invariants.
13895 (grub_multiboot_load): Likewise.
13896 (retrieve_video_parameters): Likewise.
13897 (grub_multiboot_make_mbi): Likewise.
13898
c2e77777
VS
138992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13902 incorrect pointer.
13903
b70b6d11
VS
139042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13907 (grub_pata_pio_write): Likewise.
13908
02a2bf83
VS
139092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 Add noreturn attributes and remove unreachable code.
13912
13913 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13914 code.
13915 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13916 code. Mark as noreturn.
13917 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13918 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13919 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13920 unreachable code.
13921 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13922 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13923 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13924 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13925 * include/grub/kernel.h (grub_main): Mark as noreturn.
13926 * include/grub/reader.h (grub_rescue_run): Likewise.
13927
2019d09e
VS
139282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13931 redundant declaration.
13932
d1c501ee
VS
139332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13936 redundant declaration.
13937 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13938
61664420
VS
139392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13942 to ensure alignment.
13943 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13944 alignment. Ensure tmp alignment.
13945 (grub_cmd_hdparm): Ensure buf alignment.
13946 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13947 to ensure alignment.
13948 (grub_ata_dumpinfo): Ensure text alignment.
13949 (grub_atapi_identify): Preserve alignment invariant.
13950 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13951
0d51ee20
VS
139522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13955 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13956 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13957 * include/grub/misc.h (grub_reboot)
13958 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13959 (grub_halt) [__mips__]: Likewise.
13960
753ef8c1
VS
139612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13964 Remove redundant declaration.
13965 (grub_mmap_get_post64): Likewise.
13966 (grub_mmap_get_upper): Likewise.
13967 (grub_mmap_get_lower): Likewise.
13968
85c85365
VS
139692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13972 uint32_t * to ensure alignment.
13973 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13974
a23f2cc4
VS
139752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13976
93018f64
VS
13977 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13978 uint16_t * to ensure alignment.
13979 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13980 alignment.
13981
139822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13985 to ensure alignment.
13986 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13987
58acccd6
VS
139882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13991 Handle unaligned pointers.
13992 (u32at): Likewise.
13993 (u64at): Likewise.
13994 (fixup): Use byte access instead of v16at.
13995 (find_attr): Fix imporper usage of v32at.
13996 (read_data): Likewise.
13997 (list_file): Handle byte-swapping and unaligned strings.
13998 (grub_ntfs_label): Likewise.
13999
9b05cad7
VS
140002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14003 as it's not necessarily aligned.
14004
b3950b84
VS
140052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14008 redundant declaration.
14009 (grub_serial_init): Likewise.
14010 (grub_terminfo_init): Likewise.
14011
fcd232b7
VS
140122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14015 function.
14016 (ZAP_HASH_IDX): Likewise.
14017 (ZAP_LEAF_HASH_SHIFT): Likewise.
14018 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14019 (LEAF_HASH): Likewise.
14020 (ZAP_LEAF_NUMCHUNKS): Likewise.
14021 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14022 alignment invariants. Return pointer. All users updated.
14023 (ZAP_LEAF_ENTRY): Make into inline function.
14024 (NBBY): Removed.
14025 (xor): LIkewise.
14026 (xor_out): Use grub_crypto_xor.
14027 (dnode_get_path): Use grub_get_unaligned.
14028 (nvlist_find_value): Likewise.
14029 (grub_zfs_nvlist_lookup_uint64): Likewise.
14030 (grub_zfs_nvlist_lookup_string): Likewise.
14031 (get_nvlist_size): Likewise.
14032 (grub_zfs_open): Likewise.
14033 (fill_fs_info): Likewise.
14034 (grub_zfs_dir): Likewise.
14035 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14036 alignment invariants.
14037 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14038 necessarily aligned.
14039
f138623a
VS
140402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14043
564840dc
VS
140442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14047 arithmetic to conserve alignment invariants.
14048
9b40df20
VS
140492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14052 redundant declaration.
14053 (grub_efiemu_mm_obtain_request): Likewise.
14054 (grub_efiemu_prepare): Likewise.
14055
d1c930f9
VS
140562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14059 to match types.
14060
4c5f3056
VS
140612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14064 case of aunaligned recptr.
14065 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14066 alignment.
14067 (grub_hfsplus_btree_search): Handle unaligned index.
14068
728cba91
VS
140692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14072 to get freetag and skip.
14073
eb561f31
VS
140742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14077 array.
14078 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14079 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14080
20993fbb
VS
140812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14084 name for checksum and fix allocation algorithm.
14085
1f313b94
VS
140862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * include/grub/types.h (grub_properly_aligned_t): New type.
14089 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14090 (grub_get_unaligned16): Add explicit casts.
14091 (grub_get_unaligned32): Likewise.
14092 (grub_get_unaligned64): Likewise.
14093 (grub_set_unaligned16): New function.
14094 (grub_set_unaligned32): Likewise.
14095
47ae27ec
VS
140962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14099
78c2cd1c
VS
141002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14103 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14104 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14105
53072f9b
VS
141062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14109 conditionals.
14110
055dc239
VS
141112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14114 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14115
496bd074
VS
141162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Unify and improve RAID and crypto xor.
14119
14120 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14121 changed to grub_crypto_xor
14122 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14123 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14124 Use bigger types when possible.
14125
ef6e4335
VS
141262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/disk/raid.c (scan_devices): Fix condition.
14129
5d048bf2
VS
141302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14133 Make name a const ptr.
14134
ee533335
VS
141352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14138 first argument a const pointer.
14139 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14141 proto.
14142 (grub_children_iterate): Likewise.
14143 (grub_machine_mmap_iterate): Remove redundant declaration.
14144
cc8f3668
VS
141452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14148 (grub_cmd_acpi) [!x86]: Disable EBDA.
14149
c5fc563a
VS
141502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 Enable UTF8 in gnulib regexp.
14153
14154 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14155 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14156 (isupper): Use grub_isupper.
14157 (isascii): New inline function.
14158 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14159 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14160 * grub-core/normal/charset.c (grub_utf8_process): New function.
14161 (grub_utf8_to_utf16): Use grub_utf8_process.
14162 (grub_encode_utf8_character): New function.
14163 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14164 * include/grub/charset.h (grub_utf8_process): New declaration.
14165 (grub_encode_utf8_character): Likewise.
14166 * include/grub/misc.h (grub_islower): New inline function.
14167 (grub_isupper): Likewise.
14168 (grub_strchrsub): Moved down to fix the definitions.
14169
0af2346f
VS
141702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14173 specification.
14174
74dbd244
VS
141752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * include/grub/loader.h (grub_loader_register_preboot_hook):
14178 Use struct preboot * and not void * for handle. All users updated.
14179 (grub_loader_unregister_preboot_hook): Likewise.
14180
1bc8f60d
VS
141812011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14184 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14185 UTF-16-BE. All users updated.
14186 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14187 (grub_hfsplus_iterate_dir): Likewise.
14188 (grub_hfsplus_label): Likewise.
14189
48d6e456
VS
141902011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14193
bf3a3857
VS
141942011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 Add missing const qualifiers.
14197
14198 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14199 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14200 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14201 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14202 (grub_lvm_check_flag): Likewise.
14203 * grub-core/efiemu/i386/coredetect.c
14204 (grub_efiemu_get_default_core_name): Likewise
14205 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14206 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14207 * grub-core/fs/ntfs.c (fixup): Likewise.
14208 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14209 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14210 (fzap_lookup): Likewise.
14211 (zap_lookup): Likewise.
14212 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14213 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14214 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14215 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14216 (grub_freebsd_add_meta_module): Likewise.
14217 (grub_cmd_freebsd_module): Likewise.
14218 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14219 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14220 (grub_xnu_writetree_get_size): Likewise.
14221 (grub_xnu_writetree_toheap_real): Likewise.
14222 (grub_xnu_find_key): Likewise.
14223 (grub_xnu_create_key): Likewise.
14224 (grub_xnu_create_value): Likewise.
14225 (grub_xnu_register_memory): Likewise.
14226 (grub_xnu_check_os_bundle_required): Likewise.
14227 (grub_xnu_scan_dir_for_kexts): Likewise.
14228 (grub_xnu_load_kext_from_dir): Likewise.
14229 * grub-core/normal/color.c (color_list): Likewise.
14230 * grub-core/normal/completion.c (current_word): Likewise.
14231 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14232 * grub-core/term/serial.c (grub_serial_find): Likewise.
14233 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14234 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14235 Likewise.
14236 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14237 (grub_freebsd_add_meta_module): Likewise.
14238 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14239 * include/grub/net.h (grub_net_card_driver): Likewise.
14240 (grub_net_card): Likewise.
14241 (grub_net_app_protocol): Likewise.
14242 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14243 * include/grub/serial.h (grub_serial_find): Likewise.
14244 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14245 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14246 (grub_xnu_create_value): Likewise.
14247 (grub_xnu_find_key): Likewise.
14248 (grub_xnu_scan_dir_for_kexts): Likewise.
14249 (grub_xnu_load_kext_from_dir): Likewise.
14250
14251 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14252 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14253 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14254 Moved from here ...
14255 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14256
112b4837
CW
142572011-11-28 Colin Watson <cjwatson@ubuntu.com>
14258
14259 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14260
49e891ac
VS
142612011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14264 (read_device): Fix size calculation.
14265
fd258e5c
RM
142662011-11-25 Robert Millan <rmh@gnu.org>
14267
14268 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14269 (find_root_device_from_libzfs): Add zpool output parser to be used
14270 as fallback when libzfs isn't available.
14271
78845dc2
SG
142722011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14273
14274 * po/Makefile.in.in: Add missing escape-continuation.
14275
adac5211
VS
142762011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14279
10b64f1c
VS
142802011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14283
bb416954
VS
142842011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14287
bdfe9eeb
VS
142882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14291
581ffa8a
VS
142922011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 * grub-core/lib/adler32.c: Add missing license specification.
14295 * grub-core/lib/crc64.c: Likewise.
14296 * grub-core/loader/i386/pc/plan9.c: Likewise.
14297 * grub-core/partmap/plan.c: Likewise.
14298
2536cf64
LK
142992011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14300
14301 Add facility to debug GRUB with gdb under qemu.
14302
14303 * grub-core/gdb_grub.in: New file.
14304 * grub-core/gmodule.pl.in: Likewise.
14305 * grub-core/Makefile.core.def (gmodule.pl): New script.
14306 (gdb_grub): Likewise.
14307
bc108a4a
VS
143082011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * util/grub-mount.c (argp_parser): Accept relative pathes.
14311 * util/grub-fstest.c (argp_parser): Likewise.
14312
111c1778
VS
143132011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Plan9 support.
14316
14317 * Makefile.util.def (libgrubmods): Add
14318 grub-core/partmap/plan.c.
14319 * docs/grub.texi: Notice Plan9 support.
14320 * grub-core/Makefile.core.def (plan9): New module.
14321 (part_plan): Likewise.
14322 * grub-core/loader/i386/pc/plan9.c: New file.
14323 * grub-core/partmap/plan.c: Likewise.
14324 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14325 define.
14326 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14327 * include/grub/mm.h (grub_extend_alloc): New inline function.
14328
c30be3b6
VS
143292011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 Make Reed-Solomon faster by using power of generator representation of
14332 GF(256)*.
14333
14334 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14335 (gf_double_t): Likewise.
14336 (gf_invert): Removed.
14337 (gf_powx): New array.
14338 (gf_powx_inv): Likewise.
14339 (scratch): Move higher.
14340 (gf_reduce): Removed.
14341 (gf_mul): Use powx.
14342 (gf_invert): Likewise.
14343 (init_inverts): Replaced with ...
14344 (init_powx): ...this. All users updated.
14345 (pol_evaluate): Replace multiplications with additions.
14346 (rs_encode): Likewise.
14347 (gauss_eliminate): Call gf_invert.
14348 (grub_reed_solomon_add_redundancy): Call init_powx.
14349 (grub_reed_solomon_recover): Call init_powx unconditionally.
14350
fa5aeffc
VS
143512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14354
a346b81c
VS
143552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14358 disk->partiton for safety.
14359
d89ee414
VS
143602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14363 Fix a memory leak.
14364 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14365
91ee7b6d
VS
143662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14369
91e5a33d
VS
143702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14373
9edd7be2
VS
143742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 Fix spaces handling in proc/self/mountinfo.
14377
14378 * util/getroot.c (unescape): New function.
14379 (grub_find_root_device_from_mountinfo): Use unescape.
14380
ba102053
VS
143812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 Support ZFS embedding.
14384
14385 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14386 (grub_zfs_fs): Register grub_zfs_embed.
14387
aa94b870
VS
143882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 Fix MIPS compilation.
14391
14392 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14393 * include/grub/offsets.h: Rename decompressor fields from
14394 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14395 * util/grub-mkimage.c (image_targets): Use new names.
14396
5fbdac14
VS
143972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 Defer multiboot device parsing until we're in compressed part.
14400
14401 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14402 bsd_part. setdevice has fallen into disuse.
14403 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14404 (bsd_part): Likewise.
14405 (boot_dev): New variable.
14406 (multiboot_trampoline): Don't parse multiboot device.
14407 Pass multiboot device in %edx.
14408 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14409 grub_boot_device.
14410 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14411 Likewise.
14412 * grub-core/kern/i386/pc/startup.S: Save edx.
14413 (grub_boot_drive): Removed.
14414 (grub_install_dos_part): Likewise.
14415 (grub_install_bsd_part): Likewise.
14416 (grub_boot_device): New variable.
14417 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14418 (grub_install_bsd_part): Likewise.
14419 (grub_boot_drive): Likewise.
14420 (grub_boot_device): New variable.
14421 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14422 Removed.
14423 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14424 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14425 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14426 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14427 * util/grub-install.in: Remove redundant condition.
14428
691cbb58
VS
144292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 Fix bug introduced by previous commit.
14432
14433 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14434
60240b8b
VS
144352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Use decompressors framework on i386-pc. It increases core size
14438 by 46 bytes but improves compatibility and maintainability.
14439
14440 * grub-core/Makefile.core.def (lzma_decompress): New image.
14441 (kernel): Add i386_pc_ldflags.
14442 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14443 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14444 to real_to_prot, prot_to_real and device info.
14445 * include/grub/offsets.h: Renamed decompressor offsets.
14446 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14447 (image_target_desc): Remove raw_size and rename decompressor fields.
14448 (compress_kernel): Handle lzma.
14449 (generate_image): Handle decompressors on i386-pc.
14450
e9d3421c
VS
144512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * configure.ac: Add -fno-asynchronous-unwind-tables.
14454
2b23074a
VS
144552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 Move assembly code to C by using intwrap. It increases core size
14458 by 88 bytes but improves compatibility and maintainability.
14459
14460 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14461 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14462 ... here. Translated to C.
14463 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14464 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14465 ... here. Translated to C.
14466 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14467 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14468 ... here. Translated to C.
14469 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14470 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14471 ... here. Translated to C.
14472 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14473 * grub-core/term/i386/pc/console.c (grub_console_cls):
14474 ... here. Translated to C.
14475 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14476 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14477 ... here. Translated to C.
14478 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14479 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14480 Translated to C.
14481 * grub-core/term/i386/pc/console.c (int10_9): New function.
14482 (grub_console_putchar): Likewise.
14483 * include/grub/i386/pc/console.h: Removed the not anymore shared
14484 functions.
14485
678f4b67
VS
144862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 Move grub_chainloader_real_boot out of the kernel.
14489
14490 * grub-core/Makefile.am: Remove machine/loader.h.
14491 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14492 Removed.
14493 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14494 variable.
14495 (grub_relocator16_keep_a20_enabled): Likewise.
14496 (grub_relocator16_boot): Fill new variables.
14497 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14498 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14499 relocator.
14500 (grub_chainloader_unload): Likewise.
14501 (grub_chainloader_cmd): Likewise.
14502 * include/grub/i386/pc/loader.h: Removed.
14503 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14504 and esi. All initialisers updated.
14505
4626edf6
VS
145062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
145072011-11-12 Colin Watson <cjwatson@ubuntu.com>
14508
14509 * Makefile.util.def (grub-mount): New util.
14510 * .bzrignore: Add grub-mount.
14511 * configure.ac: Check for fuse and enable grub-mount if available.
14512 * docs/man/grub-mount.h2m: New file.
14513 * util/grub-mount.c: Likewise.
14514
10f0117b
VS
145152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * grub-core/commands/efi/fixvideo.c: Gettextize.
14518 * grub-core/commands/hashsum.c: Likewise.
14519 * grub-core/commands/i386/cmostest.c: Likewise.
14520 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14521 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14522 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14523 * grub-core/commands/lsmmap.c: Likewise.
14524 * grub-core/commands/menuentry.c: Likewise.
14525 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14526 * grub-core/commands/setpci.c: Likewise.
14527 * grub-core/loader/i386/bsd.c: Likewise.
14528 * grub-core/loader/i386/linux.c: Likewise.
14529 * util/getroot.c: Likewise.
14530 * util/grub-editenv.c: Likewise.
14531 * util/grub-fstest.c: Likewise.
14532 * util/grub-mkfont.c: Likewise.
14533 * util/grub-mkimage.c: Likewise.
14534 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14535 * util/grub-pe2elf.c: Likewise.
14536 * util/grub-probe.c: Likewise.
14537 * util/grub-setup.c: Likewise.
14538 * util/ieee1275/ofpath.c: Likewise.
14539 * util/misc.c: Likewise.
14540 * util/raid.c: Likewise.
14541
566f779b
RM
145422011-11-11 Robert Millan <rmh@gnu.org>
14543
14544 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14545 __attribute__((unused)) from `os_dev', which *is* being used.
14546
b50787de
VS
145472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14550 forgotten define.
14551 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14552 GRUB_IA64_DL_GOT_ALIGN.
14553 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14554 GRUB_IA64_DL_TRAMP_ALIGN.
14555
119d11c8
VS
145562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 Replace grub_fatal with normal errors in i386 linux loader.
14559
14560 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14561 (allocate_pages): Check find_efi_mmap_size return value.
14562 (grub_e820_add_region): Return error.
14563 (grub_linux_boot): Check mmap return value.
14564
6e0632e2
VS
145652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/commands/acpihalt.c: Gettextized.
14568 * grub-core/commands/cacheinfo.c: Likewise.
14569 * grub-core/commands/cmp.c: Likewise.
14570 * grub-core/commands/efi/loadbios.c: Likewise.
14571 * grub-core/commands/gptsync.c: Likewise.
14572 * grub-core/commands/ieee1275/suspend.c: Likewise.
14573 * grub-core/commands/legacycfg.c: Likewise.
14574 * grub-core/commands/memrw.c: Likewise.
14575 * grub-core/commands/minicmd.c: Likewise.
14576 * grub-core/commands/parttool.c: Likewise.
14577 * grub-core/commands/time.c: Likewise.
14578 * grub-core/commands/videoinfo.c: Likewise.
14579 * grub-core/disk/geli.c: Likewise.
14580 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14581 * grub-core/disk/luks.c: Likewise.
14582 * grub-core/disk/lvm.c: Likewise.
14583 * grub-core/font/font_cmd.c: Likewise.
14584 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14585 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14586 * grub-core/gfxmenu/view.c: Likewise.
14587 * grub-core/kern/emu/hostdisk.c: Likewise.
14588 * grub-core/kern/emu/main.c: Likewise.
14589 * grub-core/kern/emu/misc.c: Likewise.
14590 * grub-core/kern/emu/mm.c: Likewise.
14591 * grub-core/kern/mips/arc/init.c: Likewise.
14592 * grub-core/kern/mips/loongson/init.c: Likewise.
14593 * grub-core/kern/partition.c: Likewise.
14594 * grub-core/lib/i386/halt.c: Likewise.
14595 * grub-core/lib/mips/arc/reboot.c: Likewise.
14596 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14597 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14598 * grub-core/loader/i386/xnu.c: Likewise.
14599 * grub-core/loader/multiboot.c: Likewise.
14600 * grub-core/net/bootp.c: Likewise.
14601 * grub-core/net/net.c: Likewise.
14602 * grub-core/normal/term.c: Likewise.
14603 * grub-core/partmap/bsdlabel.c: Likewise.
14604 * grub-core/parttool/msdospart.c: Likewise.
14605 * grub-core/term/gfxterm.c: Likewise.
14606 * grub-core/term/terminfo.c: Likewise.
14607 * grub-core/video/i386/pc/vbe.c: Likewise.
14608 * util/grub-menulst2cfg.c: Likewise.
14609 * util/grub-mkdevicemap.c: Likewise.
14610 * util/grub-mklayout.c: Likewise.
14611 * util/grub-mkrelpath.c: Likewise.
14612 * util/grub-script-check.c: Likewise.
14613 * util/ieee1275/grub-ofpathname.c: Likewise.
14614 * util/resolve.c: Likewise.
14615
073aa7a9
VS
146162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Support %1$d syntax.
14619
14620 * tests/printf_unit_test.c: New file.
14621 * Makefile.util.def (printf_test): New test.
14622 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14623
c76b5417
VS
146242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14627 fix.
14628
df067ad1
VS
146292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14632 dprintf.
14633 * grub-core/font/font.c (grub_font_load): Likewise.
14634
5b289bc5
VS
146352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * util/grub-macho2img.c: Add comment concerning gettext.
14638 * grub-core/lib/legacy_parse.c: Likewise.
14639
c1860f87
VS
146402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14643 (grub_xvasprintf): Likewise.
14644
d35d0d37
VS
146452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 Add const keyword to grub_env_get and gettextize week days.
14648
14649 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14650 (grub_read_hook_datetime): Return const char *.
14651 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14652 updated.
14653 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14654 Mark for gettext.
14655 (grub_get_weekday_name): Return const char *. Call gettext.
14656 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14657 char * and len as the argument. All users updated.
14658 (grub_script_argv_split_append): Receive const char *.
14659 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14660 * include/grub/env.h (grub_env_get): Likewise.
14661 (grub_env_read_hook_t): Return const char *.
14662 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14663 (grub_script_argv_split_append): Likewise.
14664
9aed8a71
VS
146652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14668
067fdf00
VS
146692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14672 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14673
a8bd9d39
VS
146742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14677 Fix prototype.
14678
f7ce5baf
VS
146792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 Fix mips compilation.
14682
14683 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14684 normal decoder.
14685 (hashes): Use in embed decoder as well (for sizes).
14686 (dec_stream_header): Fix embed decompressor logic.
14687 (dec_stream_footer): Likewise.
14688
9bb182f3
VS
146892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14692 an error and not a fatal on unrecognised relocation types.
14693
63a9e6f6
VS
146942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14697 Issue error rather than printf on unknown arguments.
14698
4c458569
VS
146992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14702 Make buf a const.
14703
e2d22baf
VS
147042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14707 Fix module name.
14708
53dc8590
VS
147092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14712 leftover debug printf.
14713
6c189294
VS
147142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14717
f7688369
VS
147182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14721 A stylistic fix.
14722
11a775a3
VS
147232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14726
33f784e8
SL
147272011-11-10 Shea Levy <slevy@tieronedesign.com>
14728
14729 Allow all modules to perform serial IO
14730
14731 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14732 * include/grub/serial.h (grub_serial_port_configure): New inline
14733 function.
14734 (grub_serial_port_fetch): Likewise.
14735 (grub_serial_port_put): Likewise.
14736 (grub_serial_port_fini): Likewise.
14737 (grub_serial_find): New proto.
14738
f6276525
VS
147392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 Put symlink at the end of the node and fix a potential
14742 memory corruption.
14743
14744 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14745 Make symlink into an array.
14746 (set_rockridge): Set have_symlink and alloc_dirents.
14747 (grub_iso9660_read_symlink): Use new layout.
14748 (grub_iso9660_iterate_dir): Fix memory corruption.
14749 Use new layout.
14750 (grub_iso9660_dir): Set have_symlink.
14751 (grub_iso9660_open): Likewise.
14752
c3591189
VS
147532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 Remove local keyword.
14756
14757 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14758 (version_test_gt): Likewise.
14759 (version_find_latest): Likewise.
14760 (gettext_printf): Likewise.
14761 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14762
cb544caa
VS
147632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14766
45bd824d
VS
147672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 Fix ZFS memory and resource leaks.
14770
14771 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14772 All users updated.
14773 Free type on exit.
14774 (fill_vdev_info): New parameter inserted. All users updated.
14775 (check_pool_label): Likewise.
14776 (scan_disk): Likewise.
14777 (scan_devices): Close non-inserted disks.
14778 (fzap_iterate): Free l.
14779 (unmount_device): Free children descripto memory.
14780
ad9a2f44
VS
147812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14784 argument (access out of bounds).
14785
6b68db81
VS
147862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14789 >= 6 drives.
14790
28840fda
VS
147912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14794 Fix declaration.
14795
8a5a3a5b
VS
147962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 Fix several memory leaks.
14799
14800 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14801 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14802 (grub_cpio_dir): Likewise.
14803 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14804 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14805 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14806 (grub_romfs_label): Likewise.
14807 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14808 (squash_unmount): New function.
14809 (grub_squash_dir): Fix memory leak.
14810 (grub_squash_open): Likewise.
14811 (grub_squash_read): Likewise.
14812 (grub_squash_mtime): Likewise.
14813 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14814 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14815 * util/grub-fstest.c (fstest): Likewise.
14816
57b01250
VS
148172011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14820 avoid accessing beyond the array.
14821
19e81ba7
VS
148222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14825
52b656c0
VS
148262011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 Several AFFS fixes.
14829
14830 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14831 (GRUB_AFFS_FLAG_FFS): Removed.
14832 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14833 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14834 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14835 (grub_fshelp_node): Make block 32-bit.
14836 Add block_cache and last_block_cache.
14837 (grub_affs_read_block): Fill and use block cache.
14838 (grub_affs_read_file): Removed.
14839 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14840 boot block.
14841 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14842 safety.
14843 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14844 space.
14845 (grub_affs_close): Free block cache.
14846 (grub_affs_read): Use grub_fshelp_read_file directly.
14847
438a746a
VS
148482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14851 with no error set.
14852
49a45021
VS
148532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14856 used variable.
14857 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14858 Likewise.
14859
3ae17eb8
VS
148602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14863
14864 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14865 byteswap when needed.
14866
27610c38
VS
148672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Fix FreeBSD compilation.
14870
14871 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14872 to avoid circular dependency.
14873 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14874 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14875 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14876
4a19b601
VS
148772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 Fix ZFS crypto error types.
14880
14881 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14882 (grub_gcm_decrypt): Likewise.
14883 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14884 from PBKDF2.
14885
958ee221
VS
148862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 Illumos support.
14889
14890 * Makefile.util.def (10_illumos): New script.
14891 * configure.ac: Set COND_HOST_ILLUMOS.
14892 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14893 Support Illumos calls.
14894 (find_partition_start) [__sun__]: Likewise.
14895 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14896 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14897 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14898 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14899 device.
14900 * util/grub-probe.c (probe) [__sun__]: Do character check.
14901 * util/grub.d/10_illumos.in: New file.
14902
cac14fb6
VS
149032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 Support escaped commas in hostdisk.
14906
14907 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14908 (find_grub_drive): Use unescape_cmp.
14909 (make_device_name): Escape commas.
14910
78e08dc3
VS
149112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14914
9f421dd1
VS
149152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14918 variable.
14919
ed64e9e2
VS
149202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 Support trampoline jumps on powerpc.
14923
14924 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14925 __ia64__ path.
14926 (grub_dl_load_segments): Set mod->sz.
14927 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14928 segments.
14929 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14930 (jump): Likewise.
14931 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14932 function.
14933 (trampoline): New struct.
14934 (trampoline_template): New const.
14935 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14936 * include/grub/dl.h (grub_dl): Add sz element.
14937 [__powerpc__]: Follow __ia64__.
14938 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14939 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14940 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14941 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14942
3084ede4
VS
149432011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 ZFS crypto support.
14946
14947 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14948 * grub-core/Makefile.core.def (zfscrypt): New module.
14949 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14950 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14951 it. All users updated.
14952 (grub_zfs_decrypt): New var.
14953 (grub_zfs_load_key): Likewise.
14954 (zio_checksum_functions): Add SHA256+MAC.
14955 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14956 (zio_read): Handle encrypted blocks.
14957 (zap_verify): Remove incorrect check.
14958 (fzap_iterate): Handle non-standard fzap.
14959 (zap_iterate): Likewise.
14960 (zap_iterate_u64): New function.
14961 (dnode_get_fullpath): Load keys.
14962 * grub-core/fs/zfs/zfscrypt.c: New file.
14963 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14964 (grub_crypto_ecb_encrypt): Make input const.
14965 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14966 (grub_crypto_ecb_encrypt): Make input const.
14967 (GRUB_CIPHER_AES): New macro.
14968 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14969 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14970 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14971 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14972 prefix. All users updated.
14973 (grub_zfs_add_key): New proto.
14974 (grub_zfs_decrypt): Likewise.
14975 (grub_zfs_load_key): Likewise.
14976 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14977 * util/grub-fstest.c (options): Add -K option.
14978 (argp_parser): Likewise.
14979
b632b404
VS
149802011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 Support zle compression on ZFS.
14983
14984 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14985 (decomp_table): Add zle.
14986 * include/grub/zfs/zio.h (zio_compress): Add zle.
14987
c7ba4f69
VS
149882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Support BtrFS embedding.
14991
14992 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14993 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14994 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14995 * util/grub-setup.c (setup): Use fs embedding if available.
14996 Add additional sanity check.
14997
455377d9
VS
149982011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub-install.in: Fix condition for config_opt.
15001
c2fd16ca
VS
150022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Support third redundancy strip on raidz3.
15005
15006 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15007 Return error on singularity. All users updated.
15008 (read_device): Don't stop on 3rd failure on raidz3.
15009
8622923b
VS
150102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 Support case-insensitive ZFS subvolumes.
15013
15014 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15015 All users updated.
15016 (zap_hash): Likewise.
15017 (name_cmp): New function.
15018 (zap_leaf_array_equal): New parameter case_insensitive.
15019 All users updated.
15020 (zap_leaf_lookup): Likewise.
15021 (fzap_lookup): Likewise.
15022 (zap_lookup): Likewise.
15023 (dnode_get_path): New parameter case_insensitive. Retrieve case
15024 sensitiviness of a volume. All users updated.
15025 (dnode_get_fullpath): New parameter case_insensitive.
15026 All users updated.
15027 (grub_zfs_dir): Set info.case_insensitiveness.
15028
95f2e860
VS
150292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Support second redundancy strip on raidz(2,3).
15032
15033 * grub-core/fs/zfs/zfs.c (powx): New array.
15034 (powx_inv): Likewise.
15035 (poly): New const.
15036 (xor_out): New function.
15037 (gf_mul): Likewise.
15038 (recovery): Likewise.
15039 (read_device): Use second redundancy strip.
15040
11ee4389
VS
150412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 Use a power of generator representation of GF(256) multiplication group
15044 to save space time and complexity.
15045
15046 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15047 (raid6_table2): Likewise.
15048 (powx): New array.
15049 (powx_inv): Likewise.
15050 (poly): New const.
15051 (grub_raid_block_mul): Replace with ...
15052 (grub_raid_block_mulx): ...this.
15053 (grub_raid6_init_table): Rewritten.
15054 (grub_raid6_recover): Use power of generator representation.
15055
09e2763f
VS
150562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15059 for the right device.
15060
8bec9a28
VS
150612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15064 expected by grub-mkimage and it's more clear since there is no implicit
15065 padding.
15066
dbd3a32e
VS
150672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15070 disk.
15071 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15072
182c872a
PMH
150732011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15074
15075 * util/grub-mkrescue.in: Fix handling xorriso option.
15076
1e51cabd
VS
150772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15080 NULL.
15081
9cc3581d 150822011-11-03 crocket <crockabiscuit@gmail.com>
15083
15084 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15085
158dc1ea
VS
150862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 XZ CRC64 and SHA256 support.
15089
15090 * Makefile.util.def (libgrubmods): Add crc64.c.
15091 * grub-core/Makefile.core.def (crc64): New module.
15092 * grub-core/lib/crc64.c: New file.
15093 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15094 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15095 Fix the type.
15096 (MAX_HASH_SIZE): New define.
15097 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15098 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15099 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15100 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15101 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15102 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15103 Handle non-crc32 hashes.
15104 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15105 (dec_stream_header): Handle non-crc32 hashes.
15106 (dec_stream_footer): Likewise.
15107 (dec_block_header): Likewise.
15108 (dec_main): Likewise.
15109 (xz_dec_init): Likewise.
15110 (xz_dec_reset): Likewise.
15111 (xz_dec_end): Likewise.
15112 * util/import_gcry.py: Add CRC64 line.
15113
9d9b3d2f
VS
151142011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15117 as well.
15118
7d0ac931
VS
151192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 Make reiserfs label retrieval similar to other *_label functions.
15122
15123 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15124 (REISERFS_MAX_LABEL_LENGTH): Removed.
15125 (REISERFS_LABEL_OFFSET): Likewise.
15126 (grub_reiserfs_label): Rewritten.
15127
151282011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15131 field.
15132
cf5ba824
VS
151332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15136
17744004
VS
151372011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15140 drive failure on both raidz and raidz2.
15141
aca5aefc
VS
151422011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Fix RAIDZ(2) for >= 5 devices.
15145
15146 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15147 asize argument. All users updated.
15148
ce8ca56e
VS
151492011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 Fix RAIDZ(2).
15152
15153 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15154 (fill_vdev_info_real): Set ashift.
15155 (read_device): Rewrite RAIDZ part based on reverse engineering.
15156
7c01e783
VS
151572011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15160 don't report potentially unavialiable fields in debug output.
15161 (find_path): Fix double-free and memory leak.
15162
ce109e84
VS
151632011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 Read label on UFS1.
15166
15167 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15168 (grub_ufs_fs): Always set .label.
15169
87661123
VS
151702011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 Use shifts in UFS.
15173
15174 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15175 (grub_ufs_data): New field log2_blksz.
15176 (grub_ufs_read_file): Use shifts.
15177 (grub_ufs_mount): Check block size and logarithm it.
15178
46bc1dc2
VS
151792011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15182 long symlinks.
15183
19ee2987
VS
151842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 Handle symlinks and long names on tar and cpio.
15187
15188 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15189 (ATTR_FILE): Likewise.
15190 (ATTR_DIR): Likewise.
15191 (ATTR_LNK): Likewise.
15192 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15193 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15194 L and K entries.
15195 (grub_cpio_mount): Zero-fill data.
15196 (handle_symlink): New function.
46bc1dc2
VS
15197 (grub_cpio_dir): Handle symlinks.
15198 (grub_cpio_open): Likewise.
15199 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15200
c83a08d8
VS
152012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 Fix iso9660 filename limitations and fix memory leaks.
15204
15205 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15206 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15207
45cdd3ea
VS
152082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 Fix JFS file name length limitations.
15211
15212 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15213 (grub_jfs_diropen): Fix maximum filename length.
15214 (grub_jfs_getent): Fix filename length.
15215 (grub_jfs_lookup_symlink): Fix size checks.
15216
94ef05c2
VS
152172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15220 string.
15221
785ab8c7
VS
152222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15223
eb0b6b45
VS
15224 Leverage BFS implementation to read AFS.
15225
15226 * Makefile.util.def (libgrubmods): Add afs.c.
15227 * grub-core/Makefile.core.def (afs): New module
15228 * grub-core/fs/afs.c: New file.
15229 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15230
152312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15234
c4a1628f
VS
152352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/fs/bfs.c: Run indent.
15238
5825b379
VS
152392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 BFS implementation based on the specification.
15242
15243 * grub-core/fs/bfs.c: New file.
15244 * Makefile.util.def (libgrubmods): Add bfs.c.
15245 * grub-core/Makefile.core.def (bfs): New module.
15246
42b2a706
VS
152472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * util/grub-fstest.c (cmd_cp): Clarify error message.
15250 (cmd_cmp): Likewise.
15251
61b99bfc
YB
152522011-10-30 Yves Blusseau <blusseau@zetam.org>
15253
15254 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15255 and befs_be.
15256
faba3d16
VS
152572011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 Remove afs and befs because of copyright problem.
15260
15261 * grub-core/fs/afs.c: Removed.
15262 * grub-core/fs/afs_be.c: Removed.
15263 * grub-core/fs/befs.c: Removed.
15264 * grub-core/fs/befs_be.c: Removed.
15265 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15266 * grub-core/Makefile.core.def (afs): Removed.
15267 (afs_be): Likewise.
15268 (befs): Likewise.
15269 (befs_be): Likewise.
15270
c39224b0
VS
152712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 Prefer rockridge over Joliet.
15274
15275 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15276 to ...
15277 (set_rockridge): ... here.
15278 (grub_iso9660_mount): Check rockridge on the primary label when
15279 discovering. Ignore Joliet if Rockridge is present.
15280
e551115a
VS
152812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Use shifts in nilfs2.
15284
15285 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15286 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15287 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15288 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15289 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15290 (grub_nilfs2_entries_per_block): Replaced with ...
15291 (grub_nilfs2_log_entries_per_block_log): ... this.
15292 (grub_nilfs2_blocks_per_group): Replaced with ...
15293 (grub_nilfs2_blocks_per_group_log): ... this.
15294 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15295 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15296 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15297 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15298 (grub_nilfs2_palloc_entry_offset): Replaced ...
15299 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15300 (grub_nilfs2_dat_translate): Use shifts.
15301 (grub_nilfs2_read_inode): Likewise.
15302 (GRUB_MOD_INIT): Ensure that logs are correct.
15303
564dd58c
VS
153042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 Use shifts in minix filesystem.
15307
15308 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15309 (GRUB_MINIX_ZONE2SECT): Likewise.
15310 (grub_minix_data): Replace block_size with log_block_size.
15311 (grub_minix_read_file): Use shifts.
15312 (grub_minix_mount): Check block size and take a logarithm.
15313
ed9ba06d
VS
153142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Use shifts in squash4.
15317
15318 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15319 (squash_mount): Check block size and take logarithm.
15320 (direct_read): Use shifts.
15321
ad03fe76
VS
153222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Correct befs block counting logic.
15325
15326 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15327 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15328 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15329 (grub_afs_read_inode): Use block_shift.
15330 (RANGE_SHIFT): New definition.
15331 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15332 unexpected conditions, use shifts and appropriate types.
15333 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15334
6563f63d
VS
153352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * grub-core/disk/raid.c (scan_devices): Check partition.
15338 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15339
5b1ae25f
VS
153402011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Support BFS (befs) UUID.
15343
15344 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15345 (grub_afs_small_data_element_header): New struct.
15346 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15347 (grub_afs_read_attribute) [MODE_BFS]: New function.
15348 (grub_afs_iterate_dir): Allocate for complete inode.
15349 (grub_afs_mount): Likewise.
15350 (grub_afs_uuid) [MODE_BFS]: New function.
15351 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15352
f8d82408
VS
153532011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15356 (zfs_unmount): Fix memory leak.
15357
5773fb64
VS
153582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 Support NTFS reparse points.
15361
15362 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15363 (symlink_descriptor): New struct.
15364 (grub_ntfs_read_symlink): New function.
15365 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15366 (grub_ntfs_open): Likewise.
15367
91c3fdde
VS
153682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15371
3be82e10
VS
153722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 fstest xnu_uuid subcommand.
15375
15376 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15377 grub-core/commands/xnu_uuid.c.
15378 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15379 (fstest): Handle xnu_uuid.
15380 (options): Document xnu_uuid.
15381 (argp_parser): Parse xnu_uuid.
15382
8e32442e
VS
153832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15386 -l argument. Add newline at the end if printing.
15387 (GRUB_MOD_INIT): Document -l.
15388
52a05075
VS
153892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15392
1869edb5
VS
153932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 ZFS multi-device and version 33 support.
15396
15397 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15398 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15399 (grub_zfs_data): Add multidev-ice-related fields.
15400 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15401 (dva_get_offset): Make dva const.
15402 (zfs_fetch_nvlist): New function.
15403 (fill_vdev_info_real): Likewise.
15404 (fill_vdev_info): Likewise.
15405 (check_pool_label): Likewise.
15406 (scan_disk): Likewise.
15407 (scan_devices): Likewise.
15408 (read_device): Likewise.
15409 (read_dva): Likewise.
15410 (zio_read_gang): Use read_dva.
15411 (zio_read_data): Likewise.
15412 (zap_leaf_lookup): Add missing endian conversion.
15413 (zap_verify): Add missing endian conversion. All users updated.
15414 (fzap_lookup): Likewise.
15415 (fzap_iterate): Likewise.
15416 (dnode_get_path): Handle SA bonus.
15417 (nvlist_find_value): Make input const. All users updated.
15418 (unmount_device): New function.
15419 (zfs_unmount): Use unmount_device.
15420 (zfs_mount): Use scan_disk.
15421 (zfs_mtime): New function.
15422 (grub_zfs_open): Handle system attributes.
15423 (fill_fs_info): Likewise.
15424 (grub_zfs_dir): Likewise.
15425 (grub_zfs_fs): Add mtime.
15426 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15427 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15428 (SA_MTIME_OFFSET): Likewise.
15429 (SA_SYMLINK_OFFSET): Likewise.
15430 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15431 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15432 (fstest): Support zfsinfo.
15433 (argp_parser): Likewise.
15434
186b4028
VS
154352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15438 error.
15439
154402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15441
15442 ZFS fixes.
15443
15444 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15445 sharing the same block. Iterate over correct number of indices.
15446 (dnode_get_path): Handle symlinks correctly.
15447
c0584900
VS
154482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15451
67e2bd71
VS
154522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Read label on HFS+.
15455
15456 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15457 (grub_hfsplus_btree_search): Fix types.
15458 (grub_hfsplus_label): Implement.
15459
e9cc6b7b
VS
154602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15463
19832ddb
VS
154642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15467
66b40850
VS
154682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Fix symlink handling on iso9660.
15471
15472 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15473 All users updated.
15474 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15475 (grub_iso9660_read_symlink): Moved most of code ...
15476 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15477
db821363
VS
154782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15481 Use union to avoid breaking strict-aliasing rules.
15482
e1211949
VS
154832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 Support multi-extent iso files.
15486
15487 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15488 Add node.
15489 (grub_fshelp_node): Revamp. All users updated.
15490 (FLAG_*): New enum.
15491 (read_node): New function.
15492 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15493 All users updated.
15494 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15495 (get_node_size): New function.
15496 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15497 entries.
15498 Fix memory leak on . and ..
15499 (grub_iso9660_read): Use read_node.
15500 (grub_iso9660_close): Free node.
15501
d4888031
VS
155022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 Fix tar 4G limit and handle paths containing dot.
15505
15506 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15507 (canonicalize): New function.
15508 (grub_cpio_find_file): Use canonicalize. Store offs in
15509 grub_disk_addr_t.
15510 (grub_cpio_dir): Use grub_disk_addr_t.
15511 (grub_cpio_open): Likewise.
15512
9f12e664
VS
155132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15516
15517 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15518 unused flags.
15519 (grub_squash_inode): Add long_file and block_size.
15520 (grub_squash_cache_inode): New struct.
15521 (grub_squash_dirent): Make types into enum.
15522 (SQUASH_TYPE_LONG_REGULAR): New type.
15523 (grub_squash_frag_desc): Add field size.
15524 (SQUASH_BLOCK_FLAGS): New enum.
15525 (grub_squash_data): Use grub_squash_cache_inode.
15526 (grub_fshelp_node): Make ino_chunk 64-bit.
15527 (read_chunk): Minor argument change. All users updated.
15528 (squash_mount): Use correct le_to_cpu.
15529 (grub_squash_open): Handle LONG_REGULAR.
15530 (direct_read): New function.
15531 (grub_squash_read_data): Handle blocks correctly.
15532
9f326fba
VS
155332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15536
f4d9b64b
VS
155372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15540
5bbd28b8
VS
155412011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 Fix 2G limit on ZFS.
15544
15545 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15546 types.
15547 (uberblock_verify): Likewise.
15548 (dmu_read): Likewise.
15549 (grub_zfs_read): Likewise. Remove invalid cast.
15550
68c72069
VS
155512011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15554 (grub_jfs_blkno): Fix incorrect shift.
15555 (grub_jfs_read_file): Use more appropriate types.
15556
6e536dc8
VS
155572011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 Support triple indirect on minix2 and minix3.
15560
15561 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15562 Declare triple_indir_zone.
15563 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15564 indirect.
15565
e0864e7a
VS
155662011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 Minix FS fixes.
15569
15570 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15571 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15572 Rename ctime to mtime. All users updated.
15573 (grub_minix_get_file_block): Fix types and double indirect computations.
15574
89481cab
VS
155752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15578 if no label is found.
15579 (grub_fat_iterate_dir): Fix file size type.
15580 (grub_fat_iterate_dir): Likewise.
15581
f646e143
VS
155822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15585 save some space.
15586 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15587 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15588
534d769e
VS
155892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15592
e084ba18
VS
155932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * util/import_gcry.py: Accept space between # and include.
15596
3471ecdf
VS
155972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15600
124df5f6
VS
156012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15604
15605 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15606 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15607 yylex_strncpy.
15608 * grub-core/script/yylex.l: Add fine-grained #pragma.
15609
4defb8d5
VS
156102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15613 New inline function.
15614 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15615 Likewise.
15616 (memset) [GRUB_UTIL]: Likewise.
15617 (memcmp) [GRUB_UTIL]: Likewise.
15618
4e94ae65
VS
156192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15622 inline function rather than a define.
15623
18c575e5
VS
156242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * util/grub-setup.c: Add missing include.
15627
f8bc22a8
VS
156282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 * util/ieee1275/grub-ofpathname.c: Add missing include.
15631
3ce69fc9
VS
156322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15635 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15636 Likewise.
15637
d1e293bb
VS
156382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15641 grub_memcmp usage.
15642
7a5c54a4
VS
156432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * util/grub-install.in: Add datarootdir as per automake manual
15646 suggestion.
15647 * util/grub-mknetdir.in: Likewise.
15648
156492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15650
15651 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15652 suggestion.
15653 * util/grub.d/10_kfreebsd.in: Likewise.
15654 * util/grub.d/10_linux.in: Likewise.
15655 * util/grub.d/10_netbsd.in: Likewise.
15656 * util/grub.d/10_windows.in: Likewise.
15657 * util/grub.d/20_linux_xen.in: Likewise.
15658
766f7d08
VS
156592011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 Remove redundant grub_kernel_image_size.
15662
15663 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15664 _edata and _start.
15665 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15666 the small code. It moves it only by few bytes but simplifies the code.
15667 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15668 _start.
15669 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15670 (grub_kernel_image_size): Removed.
15671 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15672 (grub_kernel_image_size): Removed.
15673 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15674 compiled with Apple toolchain.
15675 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15676 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15677 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15678 (grub_total_module_size): Likewise.
15679 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15680 Removed.
15681 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15682 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15683 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15684 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15685 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15686 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15687 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15688 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15689 Removed.
15690 (grub_total_module_size): Removed.
15691 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15692 (image_targets): Likewise.
15693 Set .compressed_size to no field on sparc.
15694 (generate_image): Remove kernel_image_size handling.
15695
fcf1d672
SJ
156962011-10-19 Szymon Janc <szymon@janc.net.pl>
15697
15698 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15699 NULL pointer dereference.
15700
de9c615e
VS
157012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15704 done with a dedicated section.
15705
15706 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15707 Ensure the correct position of boot_path.
15708 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15709 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15710 other fields.
15711 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15712 * include/grub/boot.h: Removed. All references removed.
15713 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15714 Removed.
15715 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15716
e55599dc
VS
157172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15720 name.
15721
36dd20ad
VS
157222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15725
f8f72eb8
VS
157262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15729 Don't add the bogus brackets.
15730
a374751b
VS
157312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 ExFAT support.
15734
15735 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15736 * grub-core/Makefile.core.def (exfat): New module.
15737 * grub-core/fs/exfat.c: New file.
15738 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15739 (GRUB_FAT_ATTR_*): Make into an enum.
15740 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15741 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15742 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15743 (GRUB_FAT_MAXFILE): Removed.
15744 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15745 (grub_current_fat_bpb_t): New type.
15746 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15747 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15748 (grub_fat_dir_node_t): New type.
15749 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15750 (fat_log2) [MODE_EXFAT]: Removed.
15751 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15752 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15753 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15754 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15755 (grub_fat_label) [MODE_EXFAT]: New function.
15756 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15757 reserved_first_sector to 0.
15758
544c2487
VS
157592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Move grub_reboot out of the kernel.
15762
15763 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15764 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15765 * grub-core/lib/efi/reboot.c: ... here.
15766 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15767 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15768 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15769 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15770 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15771 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15772 * grub-core/lib/ieee1275/reboot.c: ... here.
15773 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15774 * grub-core/lib/mips/arc/reboot.c: ... here.
15775 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15776 * grub-core/lib/mips/loongson/reboot.c: ...here.
15777 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15778 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15779 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15780 * include/grub/i386/reboot.h: New file.
15781 * include/grub/mips/loongson/ec.h: Fix includes.
15782 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15783 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15784 * grub-core/lib/i386/reboot.c: New file.
15785
a97501d2
VS
157862011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 Make grub_prefix into module to fix the arbitrary limit and save
15789 some space.
15790
15791 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15792 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15793 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15794 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15795 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15796 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15797 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15798 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15799 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15800 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15801 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15802 * include/grub/ia64/efi/kernel.h: Removed.
15803 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15804 (grub_prefix): Removed.
15805 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15806 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15807 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15808 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15809 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15810 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15811 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15812 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15813 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15814 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15815 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15816 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15817 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15818 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15819 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15820 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15821 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15822 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15823 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15824 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15825 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15826 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15827 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15828 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15829 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15830 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15831 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15832 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15833 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15834 from module.
15835 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15836 prefix_end.
15837 (image_targets): Likewise.
15838 (generate_image): Put prefix as a module.
15839
39705fad
VS
158402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Replace grub_module_iterate with FOR_MODULES.
15843
15844 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15845 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15846 (grub_efi_modules_addr): ...this.
15847 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15848 (grub_efi_init): Set grub_modbase.
15849 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15850 (grub_modbase): New variable.
15851 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15852 (grub_modbase): New variable.
15853 (grub_machine_init): Set grub_modbase.
15854 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15855 (grub_modbase): New variable.
15856 (grub_machine_init): Set grub_modbase.
15857 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15858 (grub_modbase): New variable.
15859 (grub_machine_init): Set grub_modbase.
15860 * grub-core/kern/main.c (grub_module_iterate): Remove.
15861 (grub_modules_get_end): Use grub_modbase.
15862 (grub_load_modules): Use FOR_MODULES.
15863 (grub_load_config): Likewise.
15864 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15865 (grub_modbase): New variable.
15866 (grub_machine_init): Set grub_modbase.
15867 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15868 (grub_modbase): New variable.
15869 (grub_machine_init): Set grub_modbase.
15870 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15871 Removed.
15872 (grub_modbase): New variable.
15873 (grub_machine_init): Set grub_modbase.
15874 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15875 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15876 (grub_module_iterate): Likewise.
15877 (grub_modbase): New variable declaration.
15878 (FOR_MODULES): New macro.
15879
2afb7f6c
VS
158802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15883 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15884
366e34fa
VS
158852011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 Fix few obvious type discrepancies.
15888
15889 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15890 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15891 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15892 variable.
15893 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15894 and connected types.
15895 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15896 offset.
15897 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15898 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15899 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15900 and connected types.
15901
177b960e
VS
159022011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Fix python 3.x incompatibilities.
15905
15906 * gentpl.py: Put brackets around print strings.
15907 * util/import_gcry.py: Open explicitly as utf-8.
15908 Use in instead of has_key.
15909
3b619ae1
VS
159102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15913 (GRUB_XFS_INO_AGBITS): Make into inline function.
15914 (GRUB_XFS_INO_INOINAG): Likewise.
15915 (GRUB_XFS_INO_AG): Likewise.
15916 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15917 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15918 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15919 (GRUB_XFS_EXTENT_SIZE): Likewise.
15920 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15921 (GRUB_XFS_NEXT_DIRENT): Likewise.
15922 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15923 (grub_xfs_read_file): Fix offset type.
15924
8bcebcb8
RM
159252011-10-15 Robert Millan <rmh@gnu.org>
15926
15927 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15928
0017e5ef
RM
159292011-10-15 Robert Millan <rmh@gnu.org>
15930
15931 Fix build problem on FreeBSD and GNU/kFreeBSD.
15932
15933 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15934
d8919552
VS
159352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15938
15939 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15940 types.
15941 (grub_hfsplus_btree_recoffset): Likewise.
15942 (grub_hfsplus_btree_recptr): Likewise.
15943 (grub_hfsplus_find_block): Likewise.
15944 (grub_hfsplus_btree_search): Likewise.
15945 (grub_hfsplus_read_block): Likewise.
15946 (grub_hfsplus_read_file): Likewise.
15947 (grub_hfsplus_mount): Likewise.
15948 (grub_hfsplus_btree_iterate_node): Likewise.
15949 (grub_hfsplus_btree_search): Likewise.
15950 (grub_hfsplus_iterate_dir): Likewise.
15951 (grub_hfsplus_read): A small code simplification.
15952
c81296b6
VS
159532011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 * grub-core/kern/emu/hostdisk.c
15956 (convert_system_partition_to_system_disk): Don't assume that children
15957 of mapper nodes are mapper nodes.
15958
0eb8ffb1
VS
159592011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15962 * include/grub/misc.h (grub_isxdigit): New function.
15963 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15964 switched to grub_isxdigit.
15965 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15966 number starting with a letter.
15967
a98f4a08
RM
159682011-10-09 Robert Millan <rmh@gnu.org>
15969
15970 LVM support for FreeBSD and GNU/kFreeBSD.
15971
15972 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15973 GNU/kFreeBSD.
15974 (LVM_DEV_MAPPER_STRING): Move from here ...
15975 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15976 * util/getroot.c: Include `<grub/util/lvm.h>'.
15977 (grub_util_get_dev_abstraction): Enable
15978 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15979 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15980 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15981 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15982 support it.
15983 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15984 GNU/kFreeBSD.
15985 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15986 when LVM abstraction is required for ${GRUB_DEVICE}.
15987
050e8e90
SJ
159882011-10-06 Szymon Janc <szymon@janc.net.pl>
15989
15990 Add support for LZO compression in GRUB:
15991 - import of minilzo library,
15992 - LZO decompression for btrfs,
15993 - lzop files decompression.
15994
15995 * grub-core/io/lzopio.c: New file.
15996 * grub-core/lib/adler32.c: Likewise.
15997 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15998 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15999 * grub-core/lib/minilzo/minilzo.c: Likewise.
16000 * grub-core/lib/minilzo/minilzo.h: Likewise.
16001 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16002 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16003 grub-core/lib/minilzo/minilzo.c to common.
16004 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16005 cflags in cppflags.
16006 * grub-core/Makefile.core.def (btrfs): Likewise.
16007 * grub-core/Makefile.core.def (lzopio): New module.
16008 (adler32): Likewise.
16009 * grub-core/fs/btrfs.c: Include minilzo.h.
16010 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16011 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16012 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16013 (grub_btrfs_lzo_decompress): New function.
16014 (grub_btrfs_extent_read): Add support for LZO compression type.
16015 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16016 (GRUB_USHRT_MAX): Likewise.
16017 (GRUB_UINT_MAX): Likewise.
16018 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16019 (UINT_MAX): Likewise.
16020 (CHAR_BIT): Likewise.
16021 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16022 grub-core/lib/posix_wrap/limits.h
16023 (UCHAR_MAX): Likewise.
16024 * include/grub/file.h (grub_file_filter_id): New compression filter
16025 GRUB_FILE_FILTER_LZOPIO.
16026 * include/grub/file.h (grub_file_filter_id): Set
16027 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16028 * include/grub/types.h (grub_get_unaligned16): New function.
16029 (grub_get_unaligned32): Likewise.
16030 (grub_get_unaligned64): Likewise.
16031 * util/import_gcry.py (cryptolist): Add adler32.
16032
0eb8ffb1
VS
160332011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16036 in perspective decreases the complexity of build system and fixes
16037 compilation right now.
16038
ce79cc99 160392011-10-01 Ales Nesrsta <starous@volny.cz>
16040
16041 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16042 (fixed problem related to using UHCI with coreboot).
16043
8667a314
BC
160442011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16045
16046 * gentpl.py: Use Autogen macros so that the output template file
16047 (Makefile.tpl) size is reduced.
16048
fc5efcc0
MK
160492011-09-29 Mads Kiilerich <mads@kiilerich.com>
16050
16051 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16052 extra_dist.
16053
d1ab689d
ML
160542011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16055
16056 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16057 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16058
c05de032
ML
160592011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16060
16061 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16062 _fullpath.
16063
cca7ccd8
ML
160642011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16065
16066 Remove extra declaration of sleep for mingw32.
16067
16068 * util/misc.c (sleep) [__MINGW32__]: Removed.
16069 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16070
e0b0dc83
GS
160712011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16072
16073 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16074 type and packname.
16075 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16076 Resurrected.
16077 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16078 (grub_netbsd_btinfo_bootwedge): New struct.
16079 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16080 New function.
16081 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16082
91a1a164
TH
160832011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16084
16085 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16086 loader.
16087
2ded951e
AB
160882011-09-28 Andreas Born <futur.andy@googlemail.com>
16089
16090 Fix incorrect identifiers in bash-completion.
16091
16092 * util/bash-completion.d/grub-completion.bash.in
16093 (_grub_mkpasswd-pbkdf2): Rename to ...
16094 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16095 (_grub_script-check): Rename to ...
16096 (_grub_script_check): ... this. All users updated.
16097
69915030
VS
160982011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16101 Return 0 if disk isn't biosdisk.
16102
20fd15f9
GS
161032011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16104
16105 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16106 on NetBSD.
16107 * Makefile.util.def (grub-fstest): Likewise.
16108
1a7d7db9
GS
161092011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16110
16111 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16112 Get sector size from disk label.
16113
2221ab6c
CW
161142011-09-05 Colin Watson <cjwatson@ubuntu.com>
16115
16116 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16117 */README* as well as README*.
16118 Reported by: Axel Beckert.
16119
ca51c4a0
VS
161202011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16123 case of less than 256 MiB of RAM.
16124
ab80f326
VS
161252011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/commands/wildcard.c (make_regex): Handle @.
16128
4155e697
VS
161292011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16132
ab178c08
SJ
161332011-08-21 Szymon Janc <szymon@janc.net.pl>
16134
16135 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16136 AC_LANG_CONFTEST macros.
16137
7dc3c686
SJ
161382011-08-20 Szymon Janc <szymon@janc.net.pl>
16139
16140 Add grub-fstest option to uncompress data for commands.
16141
16142 * util/grub-fstest.c (uncompress): New var.
16143 (options): New option -u.
16144
fe8d4a7b
SJ
161452011-08-20 Szymon Janc <szymon@janc.net.pl>
16146
16147 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16148 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16149
a5219af1
SJ
161502011-08-20 Szymon Janc <szymon@janc.net.pl>
16151
16152 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16153 file type was not recognized correctly (not gzip or corrupted).
16154
f87abff5
VS
161552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16158 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16159
d94497ea
VS
161602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16163 loongson.
16164 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16165 video_radeon_fuloong2e.
16166 * grub-core/video/radeon_fuloong2e.c: New file.
16167 * include/grub/video.h (grub_video_id_t): Add new ID
16168 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16169
0d1fd011
VS
161702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16173 define.
16174 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16175 that PRID matches the detected subplatform and reset the subplatform
16176 if it doesn't.
16177
84beb0ee
VS
161782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16181
1227c133
VS
161822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 Fix PCI iterating on functions >= 4.
16185
16186 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16187 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16188 Removed.
16189 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16190 (grub_pci_read): Fix bitmask.
16191 (grub_pci_read_word): Likewise.
16192 (grub_pci_read_byte): Likewise.
16193 (grub_pci_write): Likewise.
16194 (grub_pci_write_word): Likewise.
16195 (grub_pci_write_byte): Likewise.
16196
9594c689
VS
161972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16200 can still be specified in TARGET_CFLAGS)
16201
14a2562c
VS
162022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16205
16206 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16207 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16208 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16209 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16210 (FULOONG): Rename to ...
16211 (FULOONG2F): ... this. All users updated.
16212 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16213 (machtype_fuloong2f_str): ... this.
16214 (machtype_fuloong2e_str): New string.
16215 Check for machtype_fuloong2e_str.
16216 * grub-core/loader/mips/linux.c (loongson_machtypes)
16217 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16218 * grub-core/term/serial.c (loongson_defserial)
16219 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16220 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16221 loongson_defserial.
16222 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16223 Rename to ...
16224 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16225 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16226 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16227 to IMAGE_FULOONG2F_FLASH. All users updated.
16228 (image_targets): Rename images.
16229 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16230
b526cbb6
SJ
162312011-08-19 Szymon Janc <szymon@janc.net.pl>
16232
16233 Make enable of disk cache statistics code configurable.
16234
16235 * configure.ac: --enable-cache-stats added.
16236 * config.h.in (DISK_CACHE_STATS): New define.
16237 * grub-core/Makefile.core.def (cacheinfo): New command.
16238 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16239 * grub-core/commands/cacheinfo.c: New file.
16240 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16241 moved to cacheinfo.c.
16242 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16243 debug code.
16244 * include/grub/disk.h: Likewise.
16245
fb739ccd
SJ
162462011-08-19 Szymon Janc <szymon@janc.net.pl>
16247
16248 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16249 * grub-core/Makefile.am: Likewise.
16250
2bba8cfd
VS
162512011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16254 non-zero pull.
16255
43526629
VS
162562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16259 All users updated.
16260 (grub_jfs_lookup_symlink): Use correct starting inode.
16261
5c144cc8
VS
162622011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * util/grub-setup.c (main): Add missing gcry initialisation.
16265
b1257f65
VS
162662011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 Don't accept text modes on EFI when booting Linux.
16269
16270 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16271 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16272
828bc390
ML
162732011-08-15 Mario Limonciello <mario_limonciello@dell.com>
162742011-08-15 Colin Watson <cjwatson@ubuntu.com>
16275
16276 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16277 use of "/path/.." as in grub-install for EFI as well as handling
16278 symlinks correctly.
16279 Fixes Debian bug #637768.
16280
5f60ccac
CW
162812011-08-15 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * util/grub-probe.c: Remove duplicate #include.
16284
6dc212f9
RM
162852011-08-10 Robert Millan <rmh@gnu.org>
16286
16287 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16288
16289 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16290 function.
16291 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16292 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16293
66816d85
RM
162942011-08-03 Robert Millan <rmh@gnu.org>
16295
16296 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16297 la_array as packed.
16298 Reported by: Zachary Bedell
16299
20168fca
CW
163002011-07-26 Colin Watson <cjwatson@ubuntu.com>
16301
16302 * configure.ac: The Loongson port requires grub-mkfont due to its
16303 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16304 be built.
16305
303b6246
CW
163062011-07-26 Colin Watson <cjwatson@ubuntu.com>
16307
16308 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16309 processing arguments (otherwise help2man fails when GRUB has not yet
16310 been installed).
16311
6795300e
VS
163122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16313
41aa28ea
VS
16314 New script grub-mkstandalone.
16315
16316 * Makefile.util.def (grub-mkstandalone): New script.
16317 * docs/man/grub-mkstandalone.h2m: New file.
16318 * util/grub-mkstandalone.in: Likewise.
16319
163202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 Support ATA disks with 4K sectors.
6795300e
VS
16323
16324 * include/grub/ata.h (grub_ata): New member log_sector_size.
16325 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16326 (grub_ata_identify): Read sector size.
16327 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16328
92227597
VS
163292011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * util/grub-install.in: Don't use uhci outside of x86.
16332
c77069f5
VS
163332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * util/grub-mkrescue.in: Add missing quotes.
16336
163372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16338
16339 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16340 dereference.
16341
583168a2
VS
163422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16345
6be1c01f
VS
163462011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * include/grub/video.h: add missing EXPORT_FUND on
16349 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16350
a1167439
VS
163512011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * include/grub/mips/kernel.h: Fix define conflict.
16354
bf66054f
VS
163552011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16358 all four ways.
16359
8fc4fa45
CW
163602011-07-21 Colin Watson <cjwatson@ubuntu.com>
16361
16362 Preferred resolution detection for VBE.
16363
16364 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16365 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16366 the Flat Panel extension, in line with the X.org VESA driver.
16367 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16368 New function.
16369 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16370 (grub_vbe_bios_read_edid): Likewise.
16371 (grub_vbe_get_preferred_mode): Likewise.
16372 (grub_video_vbe_setup): When the mode is "auto", try to get the
16373 preferred mode from VBE, and use the largest mode that is no larger
16374 than the preferred mode (some BIOSes expose a preferred mode that is
16375 not in their mode list!). If this fails, fall back to 640x480 as a
16376 safe conservative choice.
16377 (grub_video_vbe_get_edid): New function.
16378 (grub_video_vbe_adapter): Add get_edid.
16379 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16380 (struct grub_video_adapter): Add get_edid.
16381 (grub_video_edid_checksum): Add prototype.
16382 (grub_video_edid_preferred_mode): Likewise.
16383 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16384 structure.
16385
16386 * grub-core/commands/videoinfo.c (print_edid): New function.
16387 (grub_cmd_videoinfo): Print EDID if available.
16388
16389 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16390 is more appropriate on a wider range of platforms than 640x480.
16391 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16392 documentation.
16393
ca5572a9
VS
163942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16397
e4bcf625
VS
163982011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * po/POTFILES.in: Regenerate.
16401
c4edd548
VS
164022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16405 incorrect memory usage.
16406
16a2bab0
VS
164072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * util/grub-install.in: Source grub-mkconfig_lib.
16410
2e418de6
VS
164112011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 Remove getroot.c from core on emu platform.
16414
16415 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16416 kern/emu/raid.c.
16417 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16418 useless.
16419 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16420 * util/getroot.c (get_win32_path): ... here.
16421 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16422 * util/getroot.c (fini_libzfs): ... here.
16423 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16424 * util/getroot.c (grub_get_libzfs_handle): ... here.
16425 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16426 Moved from here...
16427 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16428 * grub-core/kern/emu/misc.c
16429 (grub_make_system_path_relative_to_its_root): Moved from here...
16430 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16431 * grub-core/kern/emu/getroot.c: Moved from here ...
16432 * util/getroot.c: ... here. All users updated.
16433 * grub-core/kern/emu/raid.c: Moved from here ...
16434 * util/raid.c: ... here. All users updated.
16435
def9832a
VS
164362011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * po/POTFILES.in: Regenerate.
16439
cd8fe79a
VS
164402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Fix compilation on GNU/Linux.
16443
16444 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16445 Disable geli.
16446 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16447 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16448 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16449
a251b719
VS
164502011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
164512011-07-07 Michael Gorven <michael@gorven.za.net>
164522011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16453
16454 LUKS and GELI support.
16455
16456 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16457 grub-core/disk/luks.c, grub-core/disk/geli.c,
16458 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16459 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16460 grub-core/lib/arg.c.
16461 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16462 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16463 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16464 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16465 (grub-bin2h): Add libgcry.a.
16466 (grub-mkimage): Likewise.
16467 (grub-mkrelpath): Likewise.
16468 (grub-script-check): Likewise.
16469 (grub-editenv): Likewise.
16470 (grub-mkpasswd-pbkdf2): Likewise.
16471 (grub-pe2elf): Likewise.
16472 (grub-fstest): Likewise.
16473 (grub-mkfont): Likewise.
16474 (grub-mkdevicemap): Likewise.
16475 (grub-probe): Likewise.
16476 (grub-ofpath): Likewise.
16477 (grub-mklayout): Likewise.
16478 (example_unit_test): Likewise.
16479 (grub-menulst2cfg): Likewise.
16480 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16481 * grub-core/Makefile.core.def (cryptodisk): New module.
16482 (luks): Likewise.
16483 (geli): Likewise.
16484 * grub-core/disk/AFSplitter.c: New file.
16485 * grub-core/disk/cryptodisk.c: Likewise.
16486 * grub-core/disk/geli.c: Likewise.
16487 * grub-core/disk/luks.c: Likewise.
16488 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16489 grub_util_is_lvm.
16490 (grub_util_get_dm_abstraction): New function.
16491 (grub_util_follow_gpart_up): Likewise.
16492 (grub_util_get_geom_abstraction): Likewise.
16493 (grub_util_get_dev_abstraction): Use new functions.
16494 (grub_util_pull_device): Pull GELI and LUKS.
16495 (grub_util_get_grub_dev): Handle LUKS and GELI.
16496 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16497 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16498 (follow_geom_up): Removed.
16499 (grub_util_fd_seek): New function.
16500 (open_device): Use grub_util_fd_seek.
16501 (nread): Rename to ..
16502 (grub_util_fd_read): ... this. All users updated.
16503 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16504 (grub_crypto_cbc_decrypt): Likewise.
16505 (grub_crypto_hmac_write): Likewise.
16506 (grub_crypto_hmac_buffer): Likewise.
16507 (grub_password_get): Extend to util.
16508 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16509 New member modname.
16510 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16511 * include/grub/cryptodisk.h: New file.
16512 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16513 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16514 LUKS and GELI.
16515 (grub_util_follow_gpart_up): New proto.
16516 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16517 (grub_util_fd_read): Likewise.
16518 (grub_cryptodisk_cheat_mount): Likewise.
16519 (grub_util_cryptodisk_print_uuid): Likewise.
16520 (grub_util_get_fd_sectors): Likewise.
16521 * util/grub-fstest.c (mount_crypt): New var.
16522 (fstest): Mount crypto if requested.
16523 (options): New option -C.
16524 (argp_parser): Parse -C.
16525 (main): Init and fini gcry.
16526 * util/grub-install.in: Support cryptodisk install.
16527 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16528 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16529 cryptodisk.
16530 (prepare_grub_to_access_device): Likewise.
16531 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16532 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16533 (probe_cryptodisk_uuid): New function.
16534 (probe_abstraction): Likewise.
16535 (probe): Use new functions.
16536 * util/import_gcry.py: Create Makefile.utilgcry.def.
16537 Add modname member.
16538
9bfdcbbc
VS
165392011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 Lazy device scanning.
16542
16543 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16544 (grub-setup): Remove util/raid.c.
16545 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16546 * grub-core/disk/lvm.c (scan_depth): New variable.
16547 (grub_lvm_iterate): Rescan if necessary.
16548 (find_lv): New function based on grub_lvm_open.
16549 (grub_lvm_open): Use find_lv. Rescan on error.
16550 (is_node_readable): New function.
16551 (is_lv_readable): Likewise.
16552 (grub_lvm_scan_device): Skip already found disks.
16553 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16554 Stop if searched device is found and readable.
16555 * grub-core/disk/raid.c (inscnt): New variable.
16556 (scan_depth): Likewise.
16557 (scan_devices): New function based on grub_raid_register. Abort if
16558 looked for device is found.
16559 (grub_raid_iterate): Rescan if needed.
16560 (find_array): NEw function based on -grub_raid_open.
16561 (grub_raid_open): Use find_array and rescan.
16562 (insert_array): Set became_readable_at.
16563 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16564 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16565 New function.
16566 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16567 (grub_util_pull_device): New function.
16568 (grub_util_get_grub_dev): Call grub_util_pull_device.
16569 * util/raid.c: Moved to ..
16570 * grub-core/kern/emu/raid.c: ... here.
16571 (grub_util_raid_getmembers): New parameter "bootable".
16572 All users updated. Support 1.x.
16573 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16574 All users updated.
16575 * include/grub/disk.h (grub_disk_pull_t): New enum.
16576 (grub_disk_dev): Change iterate prototype.
16577 All users updated.
16578 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16579 New proto.
16580 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16581 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16582 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16583 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16584 All users updated.
16585 * include/grub/util/raid.h: Removed.
16586
1c358e59
VS
165872011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * po/POTFILES.in: Regenerate.
16590
abee94ed
VS
165912011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 Unify sparc init with other ieee1275.
16594
16595 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16596 instead of kern/sparc64/ieee1275/init.c.
16597 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16598 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16599 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16600 grub/machine/kernel.h.
16601 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16602 (grub_claim_heap) [__sparc__]: Use sparc version.
16603 (grub_machine_init): Moved args parsing to
16604 (grub_parse_cmdline): ...this.
16605 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16606 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16607 New definition.
16608 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16609
16610 Move BOOTP to separate file.
16611
16612 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16613 * grub-core/net/net.c: Move all BOOTP functions to
16614 * grub-core/net/bootp.c: ... here.
16615
16616 Use frame interface on PXE.
16617
16618 * grub-core/Makefile.core.def (pxecmd): Removed.
16619 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16620 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16621 * grub-core/i386/pc/pxe.c: Moved from here ...
16622 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16623 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16624 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16625
16626 EFI network support.
16627
16628 * grub-core/Makefile.core.def (efinet): New module.
16629 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16630 here...
16631 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16632 All users updated.
16633 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16634 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16635 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16636 * grub-core/net/drivers/efi/efinet.c: New file.
16637 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16638 (grub_efi_net_config): New extern var.
16639
16640 Various cleanups and bugfixes.
16641
16642 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16643 error.
16644 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16645 disk declared as partition.
16646 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16647 leak on failure.
16648 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16649 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16650 (grub_debug_zalloc): Likewise.
16651 (grub_debug_realloc): Likewise.
16652 (grub_debug_memalign): Likewise.
16653 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16654 Check that target is IPv4.
16655 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16656 local-mac-address as fallback.
16657 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16658 memory leak.
16659 * grub-core/net/ip.c (ipchksum): Rename to ...
16660 (grub_net_ip_chksum): ... this. All users updated.
16661 (grub_net_recv_ip_packets): Special handling for DHCP.
16662 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16663
16664 Unify prefix handling
16665
16666 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16667 (grub_machine_get_bootlocation): ... this.
16668 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16669 (grub_machine_get_bootlocation): ... this.
16670 (grub_prefix): New variable.
16671 (prefix): Removed.
16672 (root_dev): New variable.
16673 (dir): Likewise.
16674 (main): Use new variables.
16675 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16676 Revamped into ...
16677 (grub_machine_get_bootlocation): ... this.
16678 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16679 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16680 (grub_machine_get_bootlocation): ... this.
16681 (grub_machine_set_prefix): Removed.
16682 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16683 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16684 Revamped into ...
16685 (grub_machine_get_bootlocation): ... this.
16686 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16687 (grub_set_prefix_and_root): ... this. All users updated.
16688 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16689 Revamped into ...
16690 (grub_machine_get_bootlocation): ... this.
16691 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16692 (grub_machine_get_bootlocation): New proto.
16693 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16694
16695 Less intrusive and more reliable seek on network implementation.
16696
16697 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16698 (grub_file_seek): Don't call grub_file_net_seek.
16699 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16700 (grub_net_fs_read_real): .. this.
16701 (grub_net_seek_real): Use net->offset.
16702 (grub_net_fs_read): Seek if necessary.
16703
16704 Unify IEEE1275 netwotk config with the other platforms.
16705
16706 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16707 New variable.
16708 (grub_machine_get_bootlocation): Support network.
16709 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16710 Support type and device parsing.
16711 (grub_ieee1275_get_device_type): New function.
16712 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16713 into ...
16714 (grub_ieee1275_net_config_real): ... this.
16715 (grub_ofnet_probecards): Removed.
16716 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16717 * include/grub/ieee1275/ofnet.h: Removed.
16718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16719 extern var.
16720 (grub_ieee1275_get_device_type): New function.
16721
16722 Unify network device closing across platforms and make more robust.
16723
16724 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16725 grub_grubnet_fini.
16726 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16727 already.
16728 * grub-core/net/net.c (grub_net_network_level_interface_register):
16729 Update num_ifaces.
16730 (grub_net_card_unregister): Close all interfaces.
16731 (receive_packets): Don't poll if no iterfaces are registered.
16732 Open if necessary.
16733 (grub_net_fini_hw): New function.
16734 (grub_net_restore_hw): Likewise.
16735 (fini_hnd): New variable.
16736 (GRUB_MOD_INIT): Register preboot hook.
16737 (GRUB_MOD_FINI): Run and unregister preboot hook.
16738
16739 Poll network cards when idle.
16740
16741 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16742 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16743 * grub-core/net/net.c (receive_packets): Save last poll time.
16744 (grub_net_poll_cards_idle_real): New function.
16745 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16746 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16747 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16748
16749 Rename ofnet interfaces.
16750
16751 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16752 (grub_ofnet_findcards): Use ofnet_%s names.
16753
16754 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16755
16756 Cleanup socket opening.
16757
16758 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16759 (grub_net_fs_close): Likewise.
16760 (grub_net_fs_read_real): Use eof member.
16761 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16762 (+grub_net_udp_close): New inline function.
16763
16764 * include/grub/net/tftp.h: Moved to the top of ...
16765 * grub-core/net/tftp.c: ... here.
16766 * include/grub/net/ip.h: Moved mostly to the top of ...
16767 * grub-core/net/ip.c: ... here.
16768 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16769 * grub-core/net/ethernet.c: ... here.
16770
16771 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16772
16773 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16774 FS name.
16775
16776 * include/grub/net/ip.h (ipv4_ini): Removed.
16777 (ipv4_fini): Likewise.
16778
16779 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16780 (grub_net_send_ip_packets): Likewise.
16781
cf1337aa
VS
167822011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16785 grub_read_cmos prototype.
16786
93c06ff9
VS
167872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 VGA text support in qemu-mips
16790
16791 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16792 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16793 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16794 text.
16795 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16796 * grub-core/kern/vga_init.c: ... this.
16797 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16798 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16799 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16800 Adjust.
16801 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16802 GRUB_MACHINE_PCI_IO_BASE.
16803
748ccabe
VS
168042011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 MIPS qemu flash support.
16807
16808 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16809 magic.
16810 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16811 (grub_machine_init): Probe memory if its size isn't known.
16812 * util/grub-mkimage.c (image_targets): Add flash targets.
16813 (generate_image): Handle flash targets.
16814
d7345994
VS
168152011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 MIPS qemu at_keyboard support.
16818
16819 * gentpl.py (videoinkernel): Add qemu-mips.
16820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16821 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16822 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16823 modules.
16824 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16825 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16826 * grub-core/term/serial.c (grub_serial_register)
16827 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16828
a07a81b3
VS
168292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 CMOS support on sparc.
16832
16833 * gentpl.py (cmos): Add powerpc and sparc.
16834 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16835 powerpc and sparc.
16836 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16837 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16838 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16839 grub_set_datetime_cmos.
16840 * grub-core/lib/ieee1275/cmos.c: New file.
16841 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16842 (find_rtc): Set no_ieee1275_rtc on error.
16843 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16844 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16845 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16846 fail. Move value to argument. All users updated
16847 (grub_cmos_write): Likewise.
16848 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16849 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16850 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16851 grub_get_datetime_cmos and grub_set_datetime_cmos.
16852
77546584
GS
168532011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16854
16855 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16856 sourcing grub-mkconfig_lib.
16857 * util/update-grub_lib.in: Likewise.
16858 * util/grub.d/00_header.in: Likewise.
16859 * util/grub.d/10_hurd.in: Likewise.
16860 * util/grub.d/10_kfreebsd.in: Likewise.
16861 * util/grub.d/10_linux.in: Likewise.
16862 * util/grub.d/10_netbsd.in: Likewise.
16863 * util/grub.d/10_windows.in: Likewise.
16864 * util/grub.d/20_linux_xen.in: Likewise.
16865 * util/grub.d/30_os-prober.in: Likewise.
16866
54894791
CW
168672011-06-28 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16870 default_bg_color rather than black.
16871 (grub_gfxterm_fullscreen): Likewise.
16872 (grub_gfxterm_background_color_cmd): Save new background color in
16873 default_bg_color.
16874
8d5d8444
VS
168752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16876
16877 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16878
5afeb5bd
VS
168792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16882 mismerge.
16883
ba7df45e
VS
168842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 Chainloading on coreboot support.
16887
16888 * grub-core/Makefile.core.def (chain): Add coreboot.
16889 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16890
d0b526b2
VS
168912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16894 if it happens.
16895
5ff1d945
VS
168962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 Implement time command.
16899
16900 * grub-core/Makefile.core.def (time): New module.
16901 * grub-core/commands/time.c: New file.
16902 * grub-core/script/parser.y: Remove "time" keyword.
16903 * grub-core/script/yylex.l: Likewise.
16904
5ebaad7e
VS
169052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16908
bdea3798
VS
169092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16912 when handling leftovers.
16913
b28c5655
VS
169142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16917 so that help2man doesn't fail.
16918
b6f945dc
VS
169192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16922 type in pointers on sparc64.
16923 (get_card_packet): Likewise.
16924
f9b75e8a
CW
169252011-06-27 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16928 with `*'.
16929 (grub_cmd_videoinfo): Fetch current video mode.
16930
1e3d9b86
VS
169312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16934 because of underlying system restrictions.
16935
efff4b1c
VS
169362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16939 necessary.
16940
9fc9ce37
VS
169412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 Coreboot video support.
16944
16945 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16946 (vbe): Likewise.
16947 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16948 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16949 here ...
16950 * grub-core/kern/i386/int.S: ... here.
16951 * grub-core/video/i386/pc/vbe.c: Updated includes.
16952 * grub-core/video/i386/pc/vga.c: Likewise.
16953 * include/grub/i386/coreboot/memory.h
16954 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16955 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16956 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16957 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16958 Disable interrupts.
16959 * include/grub/i386/pc/vga.h: Removed. All users updated.
16960
41bec7fe
VS
169612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16964 definitions for dprintf.
16965 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16966
ca80309d
VS
169672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16970 prototype.
16971 (get_card_packet): Likewise.
16972
9e322ce8
YB
169732011-06-26 Yves Blusseau <blusseau@zetam.org>
16974
16975 Display the path of the file when file is not found
16976
16977 * grub-core/fs/fat.c: Display the filename when file is not found.
16978 * grub-core/fs/fshelp.c: Likewise.
16979 * grub-core/fs/hfs.c: Likewise.
16980 * grub-core/fs/jfs.c: Likewise.
16981 * grub-core/fs/minix.c: Likewise.
16982 * grub-core/fs/ufs.c: Likewise.
16983 * grub-core/fs/btrfs.c: Likewise.
16984 * grub-core/commands/i386/pc/play.c: Likewise.
16985
cbf597af
SJ
169862011-06-26 Szymon Janc <szymon@janc.net.pl>
16987
16988 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16989 pointer checks before calling grub_free().
16990 * grub-core/commands/wildcard.c (match_devices): Likewise.
16991 * grub-core/commands/wildcard.c (match_files): Likewise.
16992 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16993 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16994 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16995 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16996 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16997 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16998 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16999 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17000 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17001
6295b32f
P
170022011-06-25 Patrick <p55@mailinator.com>
17003
17004 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17005
77c0840b
VS
170062011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17009 (grub_pxe_send): Likewise.
17010 (GRUB_MOD_INIT): Fix types.
17011
40ea05de
SJ
170122011-06-24 Szymon Janc <szymon@janc.net.pl>
17013
17014 * grub-core/io/xzio.c: Fix code style issues
17015
90162423
MRA
170162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
170172011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17018
17019 Network infrastructure.
17020 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17021
17022 * include/grub/net/arp.h: New file.
90162423
MRA
17023 * include/grub/net/device.h: Likewise.
17024 * include/grub/net/ethernet.h: Likewise.
17025 * include/grub/net/ip.h: Likewise.
17026 * include/grub/net/netbuff.h: Likewise.
17027 * include/grub/net/tftp.h: Likewise.
17028 * include/grub/net/udp.h: Likewise.
17029 * include/grub/ieee1275/ofnet.h: Likewise.
17030 * include/grub/emu/export.h: Likewise.
17031 * include/grub/net.h: Likewise.
17032 * grub-core/net/arp.c: Likewise.
17033 * grub-core/net/ethernet.c: Likewise.
17034 * grub-core/net/ip.c: Likewise.
17035 * grub-core/net/udp.c: Likewise.
17036 * grub-core/net/tftp.c: Likewise.
17037 * grub-core/net/netbuff.c: Likewise.
17038 * grub-core/net/net.c: Likewise.
17039 * grub-core/net/drivers/emu/emunet.c: Likewise.
17040 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17041 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17042 export.h.
17043 * grub-core/Makefile.core.def (net): New module.
17044 (tftp): Likewise.
17045 (ofnet): Likewise.
17046 (emunet): Likewise.
17047 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17048 network protocols.
17049 * grub-core/kern/device.c (grub_net_open) : New variable.
17050 (grub_device_open): Handle network device.
17051 (grub_device_close): Likewise.
17052 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17053 (grub_grubnet_fini): Likewise.
17054 (grub_file_seek): Seek in network device.
17055 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17056 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17057 network root.
17058 (grub_machine_fini): Call grub_grubnet_fini.
17059 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17060 network.
17061 (grub_ieee1275_get_aliasdevname): New function.
17062 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17063 Add unofficial Solaris network info.
17064 (grub_multiboot_make_mbi): Likewise.
17065 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17066 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17067 * include/grub/device.h (grub_fs): Removed.
17068 * include/grub/err.h (grub_err_t): Add network-related values.
17069 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17070 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17071 (grub_ieee1275_get_aliasdevname): New proto.
17072 * include/grub/net.h: Rewritten.
423a1849 17073
031f22a0
VS
170742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17077 names.
17078
4388ca72
VS
170792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17082 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17083 it truncates the output.
17084 Reported by: Ximin Luo.
17085
98e2f506
VS
170862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17089
2a5e94d8
VS
170902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17093 partmap before abstraction.
17094
535c1910
AK
170952011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17096
17097 * util/grub-mkconfig_lib.in: Add missing quotes.
17098
bc09e1a2
VS
170992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17102 old method if mountinfo would return /dev/root and /dev/root doesn't
17103 exist.
17104
290766fb
VS
171052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 ZFS zlib support
17108
17109 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17110 (decomp_table): Add zlib entries.
17111 (zio_read): USe 8 bits for compression function rather than 3.
17112 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17113
171142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * grub-core/disk/ahci.c: Add missing license statements.
17117 * grub-core/fs/romfs.c: Likewise.
17118 * grub-core/lib/ia64/setjmp.S: Likewise.
17119 * grub-core/loader/i386/pc/freedos.c: Likewise.
17120 * grub-core/loader/ia64/efi/linux.c: Likewise.
17121 * grub-core/video/colors.c: Likewise.
17122 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17123
5ab3f48a
VS
171242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 AHCI support.
17127
17128 * grub-core/Makefile.core.def (ata_pthru): Removed.
17129 (ahci): New module.
17130 (pata): Likewise.
17131 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17132 on unload.
17133 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17134 readwrite.
17135 (grub_hdparm_do_check_powermode_cmd): Likewise.
17136 (grub_hdparm_do_smart_cmd): Likewise.
17137 (grub_hdparm_set_val_cmd): Likewise.
17138 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17139 * grub-core/disk/ahci.c: New file.
17140 * grub-core/disk/ata.c: Factor out the low-level part into ...
17141 * grub-core/disk/pata.c: ... here.
17142 * grub-core/disk/ata_pthru.c: Contents moved to ...
17143 * grub-core/disk/pata.c: ... here.
17144 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17145 (grub_scsi_iterate): Use grub_scsi_names.
17146 (grub_scsi_open): Likewise.
17147 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17148 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17149 (grub_ata_regs_t): New struct.
17150 (grub_disk_ata_pass_through_parms): Likewise.
17151 (grub_ata_device): Renamed to ...
17152 (grub_ata): ... this.
17153 (grub_ata_dev): New struct.
17154 Removed all low-level inline functions.
17155 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17156 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17157 iterate hooks and open. All users updated.
17158 * util/grub-install.in: Handle AHCI disk module.
17159
c31dc5f5
SJ
171602011-06-23 Szymon Janc <szymon@janc.net.pl>
17161
17162 Add support for DRI and RSTn markers in JPEG files.
17163
17164 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17165 (JPEG_MARKER_RST0): Likewise.
17166 (JPEG_MARKER_RST1): Likewise.
17167 (JPEG_MARKER_RST2): Likewise.
17168 (JPEG_MARKER_RST3): Likewise.
17169 (JPEG_MARKER_RST4): Likewise.
17170 (JPEG_MARKER_RST5): Likewise.
17171 (JPEG_MARKER_RST6): Likewise.
17172 (JPEG_MARKER_RST7): Likewise.
17173 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17174 (grub_jpeg_decode_dri): New function.
17175 (grub_jpeg_decode_sos): Move image data related part into
17176 grub_jpeg_decode_data function.
17177 (grub_jpeg_decode_data): New function.
17178 (grub_jpeg_reset): New function.
17179 (grub_jpeg_decode_jpeg): Handle new markers.
17180
fe12fd5b
VS
171812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * util/ieee1275/ofpath.c (check_sas): Close fd.
17184 (main): Free of_path.
17185 Reported by: David Volgyes <dvolgyes>.
17186
03147f46
VS
171872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17190 Reported by: David Volgyes <dvolgyes>.
17191
cad3237f
VS
171922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17195 file after stat.
17196 Reported by: David Volgyes <dvolgyes>.
17197
13548d26
VS
171982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17201
17202 Reported by: David Volgyes <dvolgyes>.
17203
e061a1b5
VS
172042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17207 Prevent memory leak.
17208
1abe47dc
VS
172092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17210
17211 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17212 (main): Close file.
e061a1b5 17213 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17214
fbc62666
VS
172152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17218 to continue if allocation is failed.
17219
17220 Reported by: David Volgyes <dvolgyes>.
17221
e98c83e9
DV
172222011-06-23 David Volgyes <dvolgyes>
17223
17224 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17225 dereference.
17226
a199a8cd
VS
172272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 Fix spurious warning.
17230
17231 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17232 (acorn_partition_map_find): Use .bin member.
17233
e2d1dba0
VS
172342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17237 /dev/root as a valid device.
17238
8a5d6919
JM
172392011-06-23 Jim Meyering <meyering@redhat.com>
17240
e2d1dba0
VS
17241 Avoid NULL deref in grub_device_open.
17242
8a5d6919
JM
17243 * grub-core/kern/device.c (grub_device_open): Don't dereference
17244 a NULL pointer upon failed grub_env_get.
17245
f7db6f4a
VS
172462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 Support non-512B sectors and agglomerate reads.
17249
17250 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17251 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17252 (disk_io_guid): Removed.
17253 (make_devices): Locate solely by BlockIO.
17254 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17255 (grub_efidisk_read): Use read_blocks.
17256 (grub_efidisk_write): Use write_blocks.
17257 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17258 log_sector_size.
17259 (get_safe_sectors): Handle non-512B sectors.
17260 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17261 sectors.
17262 (grub_biosdisk_write): Handle non-512B sectors.
17263 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17264 (grub_scsi_read): Remove special non-512B block handling (now handled
17265 one level up).
17266 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17267 and do sanity checks.
17268 (grub_disk_adjust_range): Handle non-512B sectors.
17269 (transform_sector): New function.
17270 (grub_disk_read_small): Likewise.
17271 (grub_disk_read): Rewritten.
17272 (grub_disk_write): Handle non-512B sectors.
17273 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17274 log_sector_size.
17275 (open_device): Use log_sector_size.
17276 (grub_util_biosdisk_read): Likewise.
17277 (grub_util_biosdisk_write): Likewise.
17278 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17279 non-512B sectors.
17280 (pc_partition_map_embed): Likewise.
17281 * include/grub/disk.h (grub_disk): New field log_sector_size.
17282 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17283 (GRUB_DISK_CACHE_BITS): Increased to 6.
17284 * util/grub-fstest.c (fstest): New command testload.
17285 (argp_parser): Likewise.
17286
881ac815
RM
172872011-06-16 Robert Millan <rmh@gnu.org>
17288
17289 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17290 `ata' driver on kernel of FreeBSD 9.
17291
17292 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17293 (get_ataraid_disk_name): New functions.
17294 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17295 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17296 get_ataraid_disk_name() and get_ada_disk_name().
17297
1e9aef7d
CW
172982011-06-13 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17301 input format.
17302
351c7c8a
CW
173032011-05-29 Colin Watson <cjwatson@ubuntu.com>
17304
17305 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17306 `ftp.gnu.org' for `alpha.gnu.org'.
17307
6b4e6430
CW
173082011-05-27 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17311 partitions under /dev/disk/by-id/.
17312
c64db050
CW
173132011-05-27 Colin Watson <cjwatson@ubuntu.com>
17314
17315 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17316 after ten consecutive open failures. Scanning all the way up to
17317 10000 is excessive and can cause serious performance problems in
17318 some configurations.
17319 Fixes Ubuntu bug #787461.
17320
245f4aba
VS
173212011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17324 opening new one.
17325
f767c929
VS
173262011-05-21 Colin Watson <cjwatson@ubuntu.com>
173272011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 Don't stat devices unless we have to.
17330
17331 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17332 dir == /dev/mapper.
17333 (grub_guess_root_device): Use already known os_dev if possible.
17334 * grub-core/kern/emu/hostdisk.c
17335 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17336 if device is known to be a dm one.
17337
f35fa3a6
CW
173382011-05-20 Colin Watson <cjwatson@ubuntu.com>
17339
17340 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17341 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17342 Reported by: Pawel Tecza.
17343
9a79fcf2
VS
173442011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17347 (lsefisystab): Likewise.
17348 (lssal): Likewise.
17349 (lsefimmap): Likewise.
17350 (hdparm): Enable on qemu-mips.
17351 (setjmp): Add ia64 nodist.
17352 (serial): Simplify tags.
17353
63e3eea9
CW
173542011-05-18 Colin Watson <cjwatson@ubuntu.com>
17355
17356 * Makefile.util.def (grub-ofpathname): Install manual page.
17357
09728256
CW
173582011-05-18 Colin Watson <cjwatson@ubuntu.com>
17359
17360 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17361
8b63a142
CW
173622011-05-18 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17365
e775d8ed
VS
173662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17369 into dprintf.
17370
bf947d36
VS
173712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 Use full 64-bit division.
17374
17375 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17376 (grub_divmod64): ... this.
17377 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17378 version.
17379
b84f26c5
CW
173802011-05-18 Colin Watson <cjwatson@ubuntu.com>
17381
17382 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17383 `source'.
17384
5626056f
CW
173852011-05-18 Colin Watson <cjwatson@ubuntu.com>
17386
17387 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17388 to avoid accidents when debugging with 'sh -x'.
17389 * grub-core/gensyminfo.sh.in: Likewise.
17390 * tests/example_scripted_test.in: Likewise.
17391 * tests/grub_cmd_regexp.in: Likewise.
17392 * tests/grub_script_blanklines.in: Likewise.
17393 * tests/grub_script_dollar.in: Likewise.
17394 * tests/grub_script_expansion.in: Likewise.
17395 * tests/grub_script_final_semicolon.in: Likewise.
17396 * tests/partmap_test.in: Likewise.
17397 * tests/util/grub-shell-tester.in: Likewise.
17398 * tests/util/grub-shell.in: Likewise.
17399
e2965f4a
CW
174002011-05-18 Colin Watson <cjwatson@ubuntu.com>
17401
17402 Move gfxmenu color handling to video, so that gfxterm can use it
17403 too.
17404
17405 * grub-core/gfxmenu/named_colors.c: Move to ...
17406 * grub-core/video/colors.c: ... here. Rename
17407 grub_gui_get_named_color to grub_video_get_named_color.
17408 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17409 * grub-core/video/colors.c (my_isxdigit): ... here.
17410 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17411 Move to ...
17412 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17413 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17414 to ...
17415 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17416
17417 * include/grub/gui.h (grub_gui_color_t): Move to ...
17418 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17419 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17420 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17421 * include/grub/gui.h (grub_gui_map_color): Move to ...
17422 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17423 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17424 to ...
17425 * include/grub/video.h (grub_video_get_named_color): ... here.
17426 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17427 * include/grub/video.h (grub_video_parse_color): ... here.
17428
17429 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17430 video/colors.c.
17431 (gfxmenu): Remove gfxmenu/named_colors.c.
17432 (video) [videomodules]: Add video/colors.c.
17433
17434 Add a background_color command.
17435
17436 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17437 function.
17438 (GRUB_MOD_INIT): Register background_color command.
17439 (GRUB_MOD_FINI): Unregister background_color command.
17440 (redraw_screen_rect): Allow blend/replace of text layer to be
17441 controlled independently from whether there is a background bitmap.
17442 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17443 changing bitmap.
17444
1e4b4390
VS
174452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17446
26618ff0
VS
17447 Patch BPB in ntldr and chainloader --bpb.
17448
1e4b4390
VS
17449 * grub-core/fs/fat.c: Include grub/fat.h.
17450 (grub_fat_bpb): Moved to ...
17451 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17452 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17453 grub/ntfs.h.
17454 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17455 Moved from here...
17456 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17457 here.
17458 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17459 New function.
17460 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17461 (GRUB_MOD_INIT): Show --bpb.
17462 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17463 * grub-core/normal/main.c (features): New variable.
17464 (GRUB_MOD_INIT): Set feature_* variables.
17465 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17466 proto.
17467 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17468
cf02731e
VS
174692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17472 for cleanness.
17473
e3a1073f
VS
174742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 FreeDOS direct loading support.
17477
17478 * docs/grub.texi (Supported OS): Add FreeDOS.
17479 * grub-core/Makefile.core.def (freedos): New module.
17480 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17481 variable.
17482 (grub_relocator16_boot): Handle %ebx.
17483 * grub-core/lib/i386/relocator16.S: Likewise.
17484 * grub-core/loader/i386/pc/freedos.c: New file.
17485
05caa461
VS
174862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Long Linux command line support.
17489
17490 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17491 (maximal_cmdline_size): New variable.
17492 (allocate_pages): Use maximal_cmdline_size.
17493 (grub_cmd_linux): Set and use maximal_cmdline_size.
17494 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17495 (allocate_pages): Use maximal_cmdline_size.
17496 (grub_cmd_linux): Set and use maximal_cmdline_size.
17497 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17498 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17499 and cmdline_size.
17500
a2491e23
VS
175012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
175022011-05-18 Colin Watson <cjwatson@ubuntu.com>
17503
17504 Improve devmapper support
17505
17506 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17507 (grub_util_is_lvm): New function.
17508 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17509 than lvm if not dmraid.
17510 Handle mapped md nodes.
17511 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17512 (grub_util_device_is_mapped): ... this. Make always available. All users
17513 updated.
17514 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17515 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17516 dmraid nodes.
17517 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17518
6ad6223e
VS
175192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17522
17523 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17524 * grub-core/modinfo.sh.in: New file.
17525 * grub-core/Makefile.core.def (modinfo.sh): New script.
17526 * util/grub-mknetdir.in: Use modinfo.sh.
17527 * util/grub-mkrescue.in: Likewise.
17528
543a8f6e
VS
175292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17532 Fix potential usage of Elf32 instead of Elf64 when compiling on
17533 32-bit architecture. Add endianness macros while on it.
17534
4959e111
VS
175352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 Use mipsel- rather than mips- in directories involving mipsel ports to
17538 allow both endiannesses coexist.
17539
17540 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17541 mips. All conditions adjusted.
17542 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17543 variable.
17544 * util/grub-install.in: Adjust conditions to take renaming into account.
17545 * util/grub-mkimage.c (image_targets): Likewise. New target
17546 mips-qemu_mips-elf for bigendian mips.
17547
35341bbc
VS
175482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 Avoid unnecessary copying on MIPS.
17551
17552 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17553 early if src == dest.
17554 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17555 compression is none.
17556
b772baed
VS
175572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 Reduce memory footprint on SGI by putting modules before the kernel
17560 as opposed to after.
17561
17562 * grub-core/Makefile.core.def (kernel): Increase linking address.
17563 (none_decompress): Likewise.
17564 (xz_decompress): Likewise.
17565 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17566 address.
17567 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17568 layout change.
17569 (grub_arch_modules_addr): New function.
17570 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17571 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17572 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17573 here.
17574 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17575 (grub_total_modules_size): ... this. Make global.
17576 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17577 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17578 New definition.
17579 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17580 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17581 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17582 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17583 * util/grub-mkimage.c (image_target_desc): New flag
17584 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17585 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17586 (generate_image): Handle images with modules before kernel.
17587
566a1917
VS
175882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 Prevent potential loss of memory map by overwrite on qemu-mips.
17591
17592 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17593 Save ram size in $s4.
17594 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17595 All users changed to grub_arch_memsize.
17596 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17597 Loongson.
17598 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17599 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17600 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17601 external variable.
17602
5d420cd9
CW
176032011-05-17 Colin Watson <cjwatson@ubuntu.com>
17604
17605 * .bzrignore: Remove grub-dumpbios.
17606
d064b830
CW
176072011-05-17 Colin Watson <cjwatson@ubuntu.com>
17608
17609 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17610 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17611 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17612 existing options which append).
17613 * docs/grub.texi (Simple configuration): Document new options.
17614 Reported by: Ian Jackson. Fixes Debian bug #617538.
17615
3ca2b466
CW
176162011-05-17 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * util/grub-fstest.c (cmd_cat): New function.
17619 (fstest): Handle CMD_CAT.
17620 (options): Add cat.
17621 (argp_parser): Handle cat.
17622
24c9143a
CW
176232011-05-17 Colin Watson <cjwatson@ubuntu.com>
17624
17625 * Makefile.util.def (grub-bin2h): Don't install.
17626 * docs/man/grub-bin2h.h2m: Remove.
17627
90f7ac19
VS
176282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17631 place.
17632
8d4a5178
VS
176332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 Reenable qemu-mips port.
17636
17637 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17638 Fix small arc bug while on it.
17639 * gentpl.py: Handle qemu_mips.
17640 * grub-core/Makefile.am: Likewise.
17641 * grub-core/Makefile.core.def: Likewise.
17642 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17643 inappropriate includes.
17644 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17645 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17646 * grub-core/kern/main.c (grub_modules_get_end)
17647 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17648 * grub-core/kern/mips/qemu-mips: Moved to ..
17649 * grub-core/kern/mips/qemu_mips: ... this.
17650 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17651 (grub_machine_init): Call terminfo_init and serial_init.
17652 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17653 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17654 New variable.
17655 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17656 parameter passing.
17657 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17658 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17659 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17660 * include/grub/mips/qemu_mips/cmos.h: New file.
17661 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17662 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17663 Removed.
17664 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17665 Use correct mips-style address.
17666 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17667 (GRUB_TICKS_PER_SECOND): Removed.
17668 (grub_get_rtc): Likewise.
17669 (grub_cpu_idle): Likewise.
17670 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17671 New definition.
17672 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17673 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17674 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17675 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17676 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17677 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17678 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17679 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17680
400b9371
VS
176812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 SGI ARCS port.
17684
17685 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17686 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17687 platforms.
17688 * configure.ac: New target mips-arc.
17689 * gentpl.py: Likewise.
17690 * grub-core/Makefile.am: Likewise.
17691 * grub-core/Makefile.core.def: Likewise.
17692 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17693 (none_decompress): Likewise.
17694 (lsdev): New module.
17695 (datetime): Use lib/arc/datetime.c on ARC.
17696 (part_dvh): New module.
17697 * grub-core/commands/arc/lsdev.c: New file.
17698 * grub-core/disk/arc/arcdisk.c: Likewise.
17699 * grub-core/kern/mips/arc/init.c: Likewise.
17700 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17701 aligned addresses.
17702 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17703 support.
17704 (grub_arch_dl_relocate_symbols): Likewise.
17705 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17706 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17707 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17708 platforms.
17709 * grub-core/lib/arc/datetime.c: New file.
17710 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17711 pci.h on non-loongson.
17712 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17713 (grub_linux_boot): Set unused registers to 0.
17714 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17715 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17716 * grub-core/mmap/mips/uppermem.c: ...here.
17717 * grub-core/partmap/dvh.c: New file.
17718 * grub-core/term/arc/console.c: Likewise.
17719 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17720 (grub_terminfo_set_current): Add terminal "arc".
17721 (grub_terminfo_readkey): Support ARC sequences.
17722 * include/grub/arc/arc.h: New file.
17723 * include/grub/arc/console.h: Likewise.
17724 * include/grub/disk.h (grub_disk_dev_id): Add
17725 GRUB_DISK_DEVICE_ARCDISK_ID.
17726 * include/grub/mips/arc/kernel.h: New file.
17727 * include/grub/mips/arc/memory.h: Likewise.
17728 * include/grub/mips/arc/time.h: Likewise.
17729 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17730 * include/grub/mips/kernel.h (grub_halt): ... here.
17731 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17732 here...
17733 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17734 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17735 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17736 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17737 proto.
17738 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17739 from here ...
17740 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17741 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17742 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17743 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17744 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17745 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17746 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17747 (grub_phys_addr_t): Moved from here ...
17748 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17749 (grub_vtop): Moved from here ...
17750 * include/grub/mips/memory.h (grub_vtop): ... here.
17751 (grub_map_memory): Moved from here ...
17752 * include/grub/mips/memory.h (grub_map_memory): ... here.
17753 (grub_unmap_memory): Moved from here ...
17754 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17755 (grub_machine_mmap_iterate): Moved from here ...
17756 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17757 (grub_mmap_get_lower): Moved from here ...
17758 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17759 (grub_mmap_get_upper): Moved from here ...
17760 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17761 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17762 here ...
17763 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17764 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17765 here ...
17766 * include/grub/mips/time.h (grub_get_rtc): ... here.
17767 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17768 here ...
17769 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17770 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17771 here ...
17772 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17773 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17774 definition.
17775 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17776 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17777 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17778 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17779 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17780 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17781 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17782 (GRUB_MACHINE_LINK_ADDR): Likewise.
17783 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17784 to 6.
17785 * util/grub-install.in: Run dvhtool on ARC.
17786 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17787 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17788
c8ecc840
VS
177892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17792 blocks.
17793
153a4b55
VS
177942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17797 after enabling port.
17798
ff44d107
VS
177992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 Skip incorrect USB devices.
17802
17803 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17804 configcnt == 0.
17805 * include/grub/usb.h (grub_usb_err_t): New enum value
17806 GRUB_USB_ERR_BADDEVICE.
17807
638dbe4f
VS
178082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 Fuloong video init support.
17811
17812 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17813 well.
17814 (grub_vga_read_arx): New function.
17815 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17816 definition.
17817 (framebuffer): New members io, mmioptr and mmiobase.
17818 (read_sis_cmd): New function.
17819 (write_sis_cmd): Likewise.
17820 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17821 rather than 640x400.
17822 * grub-core/video/sis315_init.c: New file.
17823
c3fc520c
VS
178242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17827 non-loongson.
17828 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17829 to grub_dl_register_symbol.
17830
67b1e5c9
VS
178312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 Fix compilation errors.
17834
17835 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17836 potentially unused.
17837 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17838 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17839 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17840 to loongson machines.
17841
b756f75f
VS
178422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 Several FS mtime support.
17845
17846 * grub-core/fs/affs.c (grub_affs_time): New struct.
17847 (grub_affs_file): New field mtime.
17848 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17849 type. Removed 'size'. New field 'di'. All users updated.
17850 (grub_affs_mount): Simplify checsum checking.
17851 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17852 (grub_affs_dir): Handle mtime.
17853 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17854 (grub_cpio_dir): Likewise.
17855 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17856 (grub_hfs_filerec): New field mtime.
17857 (grub_hfs_dir): Handle mtime.
17858 (grub_hfs_mtime): New function.
17859 (grub_hfs_fs): Register grub_hfs_mtime.
17860 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17861 (grub_iso9660_dir): New field mtime.
17862 (grub_fshelp_node): New field dirent.
17863 (iso9660_to_unixtime): New function.
17864 (iso9660_to_unixtime2): Likewise.
17865 (grub_iso9660_read_symlink): Use node->dirent.
17866 (grub_iso9660_iterate_dir): Likewise.
17867 (grub_iso9660_dir): Set mtime.
17868 (grub_iso9660_mtime): New function.
17869 (grub_iso9660_fs): Register grub_iso9660_mtime.
17870 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17871 (grub_jfs_inode): New fields atime, ctime and mtime.
17872 (grub_jfs_dir): Set mtime.
17873 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17874 * grub-core/fs/ntfs.c (list_file): Set mtime.
17875 (grub_ntfs_dir): Likewise.
17876 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17877 (grub_reiserfs_iterate_dir): Set mtime.
17878 (grub_reiserfs_dir): Likewise.
17879 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17880 (grub_fshelp_node): Likewise.
17881 (grub_sfs_iterate_dir): Set mtime.
17882 (grub_sfs_dir): Likewise.
17883 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17884 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17885 (grub_xfs_inode): New fields atime, mtime, ctime.
17886 (grub_xfs_dir): Set mtime.
17887 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17888 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17889 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17890
17891 Support UDF symlinks.
17892
17893 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17894 (grub_ufs_read_symlink): New function. All users updated.
17895
17896 Check amiga partmap checksum.
17897
17898 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17899 (grub_amiga_partition): Likewise.
17900 (amiga_partition_map_checksum): New function.
17901 (amiga_partition_map_iterate): Check checksum.
17902
5470225d
VS
179032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 ROMFS support.
17906
17907 * Makefile.util.def (libgrubmods.a): Add romfs.
17908 * grub-core/Makefile.core.def (romfs): New module.
17909 * grub-core/fs/romfs.c: New file.
17910
d4680a35
VS
179112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 Squashfs v4 support.
17914
17915 * Makefile.util.def (libgrubmods.a): Add squash4.
17916 * grub-core/Makefile.core.def (squash4): New module.
17917 * grub-core/fs/squash4.c: New file.
17918 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17919 disk_input_start, disk_input.
17920 (get_byte): Handle disk_input.
17921 (grub_zlib_disk_read): New function.
17922 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17923
bcb18e74
FZ
179242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
179252011-05-15 Feiran Zheng <famcool@gmail.com>
17926
17927 * Makefile.util.def (libgrubmods.a): Add minix3.
17928 * grub-core/Makefile.core.def (minix3): New module.
17929 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17930 (GRUB_MINIX_BSIZE): Removed.
17931 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17932 (grub_minix_ino_t): New type.
17933 (grub_minix_le_to_cpu_ino): New macro.
17934 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17935 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17936 (grub_minix_data): New field block_size.
17937 (grub_minix_read_file): Handle 64-bit correctly.
17938 * grub-core/fs/minix3.c: New file.
17939
32297d5f
TG
179402011-05-15 Tristan Gingold <gingold@free.fr>
179412011-05-15 Robert Millan <rmh.grub@aybabtu.com>
179422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 IA64 support.
17945
17946 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17947 * configure.ac: Add ia64-efi target.
17948 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17949 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17950 * gentpl.py: Add ia64_efi platform.
17951 Rename x86_efi to efi and Add ia64-efi. All users updated.
17952 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17953 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17954 Remove kern/generic/rtc_get_time_ms.c on EFI.
17955 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17956 kern/ia64/dl_helper.c on ia64-efi.
17957 Add kern/emu/cache.c on emu.
17958 (linux): Use on loader/ia64/efi/linux.c on ia64.
17959 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17960 whether symbol is a function.
17961 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17962 (grub_symbol): New field 'isfunc'.
17963 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17964 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17965 (grub_dl_load_segments): Place all sections into the same region.
17966 [__ia64__]: Create trampolines and got.
17967 [GRUB_MACHINE_EMU]: Call mprotect.
17968 (grub_dl_resolve_symbols): Resolve symbol type as well.
17969 [__ia64__]: Create function descriptors.
17970 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17971 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17972 (grub_get_rtc): New function.
17973 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17974 * grub-core/kern/emu/cache.S: Renamed to ...
17975 * grub-core/kern/emu/cache_s.S: ... this.
17976 [__ia64__]: Add a nop.
17977 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17978 [__ia64__]: New function.
17979 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17980 * grub-core/kern/ia64/dl.c: New file.
17981 * grub-core/kern/ia64/dl_helper.c: Likewise.
17982 * grub-core/kern/ia64/efi/init.c: New file.
17983 * grub-core/kern/ia64/efi/startup.S: Likewise.
17984 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17985 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17986 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17987 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17988 * grub-core/loader/ia64/efi/linux.c: New file.
17989 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17990 (GRUB_MOD_DEP): Likewise.
17991 (grub_dl) [__ia64__]: New fields got and tramp.
17992 (grub_dl): New field 'base'.
17993 (grub_dl_register_symbol): New argument isfunc. All users updated.
17994 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17995 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17996 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17997 (grub_ia64_dl_get_tramp_got_size): New proto.
17998 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17999 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18000 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18001 * include/grub/efi/api.h: Skip call wrappers on ia64.
18002 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18003 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18004 * include/grub/elf.h (ELF_ST_INFO): New definition.
18005 * include/grub/ia64/efi/kernel.h: New file.
18006 * include/grub/ia64/efi/memory.h: Likewise.
18007 * include/grub/ia64/efi/time.h: Likewise.
18008 * include/grub/ia64/kernel.h: Likewise.
18009 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18010 * include/grub/ia64/time.h: New file.
18011 * include/grub/ia64/types.h: Likewise.
18012 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18013 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18014 New protos.
18015 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18016 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18017 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18018 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18019 All users updated.
18020 (EFI64_HEADER_SIZE): New definition. All users updated.
18021 (image_targets): Add ia64-efi.
18022 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18023 jumpers_addr. All users updated.
18024 Create function descriptors.
18025 (count_funcs): New function.
18026 (unaligned_uint32): New struct.
18027 (MASK20): New definition.
18028 (MASK19): Likewise.
18029 (MASKF21): Likewise.
18030 (add_value_to_slot_20b): New function.
18031 (add_value_to_slot_21_real): Likewise.
18032 (add_value_to_slot_21): Likewise.
18033 (ia64_kernel_trampoline): New struct.
18034 (nopm): New variable.
18035 (jump): Likewise.
18036 (make_trampoline): New function.
18037 (relocate_addresses): Handle ia64.
18038 (make_reloc_section): Likewise.
18039 (load_image): Likewise.
18040
983b414d
VS
180412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18044 warning. Move variables before code while on it.
18045
5d063cdc
VS
180462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 Fuloong support.
18049
18050 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18051 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18052 * grub-core/boot/mips/loongson/fuloong.S: New file.
18053 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18054 Explicitly init CS5536.
18055 [FULOONG]: Don't use serial until CS5536 is available.
18056 Set GPIO based on dumps.
18057 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18058 [FULOONG]: Handle GPIO and memory controller differences.
18059 Parse machine type in $a2.
18060 * grub-core/boot/mips/startup_raw.S: Determine and save the
18061 architecture.
18062 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18063 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18064 init on architecture type.
18065 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18066 SIS315E. Don't init at_keyboard on fuloong.
18067 (grub_halt): Support Fuloong.
18068 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18069 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18070 (loongson_machtypes): New array.
18071 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18072 type.
18073 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18074 config. All users updated. Handle CS5536 serial.
18075 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18076 default port on machine type. Register serial as inactive.
18077 * grub-core/video/sis315pro.c: New file.
18078 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18079 definition.
18080 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18081 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18082 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18083 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18084 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18085 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18086 to ...
18087 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18088 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18089 definition.
18090 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18091 (grub_arch_machine): New extern var.
18092 * include/grub/mips/loongson/serial.h
18093 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18094 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18095 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18096 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18097 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18098 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18099 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18100 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18101 * include/grub/term.h (grub_term_register_input_inactive): New inline
18102 function.
18103 (grub_term_register_output_inactive): Likewise.
18104 * include/grub/video.h (grub_video_driver_id): New value
18105 GRUB_VIDEO_DRIVER_SIS315PRO.
18106 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18107 New field "names". All users updated.
18108 New field value IMAGE_FULOONG_FLASH.
18109 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18110
6ada82d1
JU
181112011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18112
18113 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18114 and add some clarification.
18115
90c571a4
VS
181162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18119 platforms if kernel is compressed.
18120
de04eecf
VS
181212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18124 unused modules since currently referrence counter isn't reliable and
18125 there isn't much memory to recover there anyway.
18126
57688121
VS
181272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18130 rather than resetting it to allow modules to reference themselves
18131 in init.
18132
3d2c7e35
VS
181332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18136 counter on dependencies since grub_dl_unref already handles this.
18137
b25db218
VS
181382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18141 on error if not already done.
18142
25a45338
VS
181432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 Fix few potential memory misusage.
18146
18147 * grub-core/font/font.c (load_font_index): Don't free char_index to
18148 avoid double free.
b25db218
VS
18149 (grub_font_load): Zero-fill font at alloc for safety.
18150 Close file on error.
18151 (free_font): Free bmp_idx.
25a45338 18152
0cac83df
VS
181532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * docs/grub.texi (Installation): Fix several outdated claims.
18156
2217a143
VS
181572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 Handle module_license on windows.
18160
18161 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18162 sections shifted.
18163 (insert_string): Make argument const char * instead of char *.
18164 (write_section_data): Handle long section names.
18165 Handle module_license.
18166
d4de6b01
VS
181672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18170 handle class-free menuentries.
18171 (grub_normal_add_menu_entry): Add a check to be sure.
18172
4c2a3b43
VS
181732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18176 PgUp and PgDown.
18177
85c6210f
VS
181782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 * configure.ac: Bump version to 1.99.
18181
36084912
VS
181822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Give ATA device a bit more time on first try in order to allow disks
18185 to spin up.
18186
18187 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18188 if dev->present is 1. Reset dev->present on failure.
18189 (grub_ata_device_initialize): Set dev->present to 1.
18190 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18191 (grub_ata_device): New member 'present'.
18192
bda0e219
VS
181932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * util/grub-mkimage.c (generate_image): Update hash.
18196
19e1c41b
VS
181972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 Flush caches on DMA memory.
18200
18201 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18202 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18203 (grub_dma_free): Likewise.
18204 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18205
91bbcc0c
VS
182062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18209 to avoid asm treating ld and sd as macros.
18210
60ddfad3
VS
182112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18214 decompressor.
18215
a298aa04
VS
182162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18219 grub_decompress_core since later would fail if grub_decompress_core
18220 is too far.
18221
9b44feca
VS
182222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18225 R_MIPS_JALR since it's used by newer compiler.
18226
56dbe7b4
VS
182272011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18230
52856af2
VS
182312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18234 file_path to 0 for surety.
18235 (grub_chainloader_boot): Set exit_data to NULL.
18236 Unset the loader once done.
18237 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18238
9c9bfc6d
VS
182392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18242 unknown key into a dprintf.
18243
dd94a3df
VS
182442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18247 on first non-existant partition.
18248
fa68d99c
VS
182492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18252 openning fails.
18253 Reported by: Mark Korenberg.
18254
157effb7
VS
182552011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18258 overflow.
18259
ea75312f
VS
182602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18263 before closing to ensure that it will be readable by grub-setup.
18264
072b5d31
VS
182652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18268 (devpath_1): Use MAKE_PIWG_PATH.
18269 (devpath_2): Likewise.
18270 (devpath_3): Likewise.
18271 (devpath_4): Likewise.
18272 (devpath_5): Likewise.
18273 (devpath_6): Likewise.
18274
18275 The appleldr.mod was checked that to be binary identical to previous
18276 version.
18277
7fae0051
Z
182782011-05-05 Zach <mikezackles>
18279
18280 Support 2010 Macbooks.
18281
18282 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18283 (devs): Add devpath_6.
18284
7c515bee
VS
182852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18288 /dev/random. /dev/urandom is good enough for our purposes (salting).
18289
ed660bd8
VS
182902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18293
ee5614b7
VS
182942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18297 hexadecimal.
18298
664889a6
VS
182992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18302 and not 0 on failure.
18303
bd405bbc
CW
183042011-05-03 Colin Watson <cjwatson@ubuntu.com>
18305
18306 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18307 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18308 disk; otherwise grub_fs_probe will not fall back to the next
18309 filesystem.
18310 (grub_pxefs_open): Likewise, for consistency.
18311 Reported and tested by: Ezekiel Grave.
18312
4ebff753
CW
183132011-05-03 Colin Watson <cjwatson@ubuntu.com>
18314
18315 * tests/partmap_test.in: Don't hardcode path to parted.
18316 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18317
8f942553
CW
183182011-05-01 Colin Watson <cjwatson@ubuntu.com>
18319
18320 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18321 of `ls' to find out which devices are available.
18322
3c62402d
VS
183232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18326 than source address for efi mmap buffer.
18327
723f63f2
VS
183282011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18331 wrong action on non-detecting the magic.
18332
68797f92
VS
183332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18336 already supplied by another part of the module (fixes compilation on
18337 FreeBSD).
18338
6be8715d
VS
183392011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18342 match the one used by mdadm.
18343
e91dba5b
CW
183442011-04-21 Colin Watson <cjwatson@ubuntu.com>
18345
18346 * po/README: Add instructions for creating po/LINGUAS.
18347
c85140b3
CW
183482011-04-21 Colin Watson <cjwatson@ubuntu.com>
18349
18350 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18351 #551428.
18352
18353 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18354 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18355 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18356 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18357 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18358 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18359 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18360 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18361 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18362 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18363 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18364 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18365 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18366 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18367 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18368 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18369 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18370 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18371 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18372 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18373 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18374 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18375
92051871
CW
183762011-04-21 Colin Watson <cjwatson@ubuntu.com>
18377
18378 * grub-core/kern/emu/getroot.c
18379 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18380 test that was incorrectly reintroduced in r3214.
18381 Reported by: Ian Dall. Fixes Savannah bug #33133.
18382
b13f79a4
CW
183832011-04-21 Colin Watson <cjwatson@ubuntu.com>
18384
18385 Fix stack pointer handling in 16-bit relocator.
18386
18387 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18388 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18389 Fixes Ubuntu bug #683904.
18390
9b710a88
VS
183912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 * configure.ac: Bump version to 1.99~rc2.
18394
d97e7b59
VS
183952011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18398 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18399 * grub-core/lib/x86_64/setjmp.S: Likewise.
18400 * grub-core/lib/mips/setjmp.S: Likewise.
18401 * grub-core/lib/powerpc/setjmp.S: Likewise.
18402 * grub-core/lib/sparc64/setjmp.S: Likewise.
18403
0624551c
VS
184042011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18407 * grub-core/lib/efi/datetime.c: Likewise.
18408
e8f28d4c
VS
184092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18412 New function.
18413 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18414 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18415 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18416
bba79a15
VS
184172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18420 bitmap.
18421 (grub_gfxterm_term_init): Likewise.
18422
abc474ef
VS
184232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Take into account the decorations the computing menu entry width.
18426
18427 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18428 (grub_gfxmenu_create_box): Register get_border_width.
18429 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18430 if available.
18431 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18432 get_border_width.
18433
e74b3947
EP
184342011-04-18 Endres Puschner <code@e7p.de>
18435
18436 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18437 Don't skip first class.
18438
34faa595
VS
184392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18442 chunks.
18443 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18444
93a777e3
VS
184452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 Complete 64-bit division support.
18448
18449 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18450 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18451 * include/grub/misc.h (grub_divmod64): Rename to ...
18452 (grub_divmod64_full): ... this.
18453 (grub_divmod64): New inline function.
18454
a5102d94
VS
184552011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18458
f3fb7b36
VS
184592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18462 performing the necessary test.
18463
9ac718b0
VS
184642011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18467 (kfreebsd.elf): Likewise.
18468 (pc-chainloader.elf): Likewise.
18469 (ntldr.elf): Likewise.
18470
50d2cc5a
VS
184712011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 Identify RAID by its UUID rather than (guessed) name.
18474
18475 * grub-core/disk/raid.c (ascii2hex): New function.
18476 (grub_raid_open): Accept mduuid/%s specification.
18477 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18478 (get_mdadm_uuid): ... this.
18479 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18480
e03f7bea
VS
184812011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18484 to negative size.
18485
e74c3112
CW
184862011-04-13 Colin Watson <cjwatson@ubuntu.com>
18487
18488 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18489 btrfs subvolume.
18490 * util/grub.d/20_linux_xen.in: Likewise.
18491
78fa584f
CW
184922011-04-13 Colin Watson <cjwatson@ubuntu.com>
18493
18494 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18495 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18496
18497 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18498 Build a list of relevant visible mounts using the mnt_id and
18499 parent_mnt_id fields, and then scan that list at the end.
18500
9d5f8162
CW
185012011-04-12 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * docs/grub.texi (normal): New section.
18504 (normal_exit): New section.
18505 (Embedded configuration): Add reference to normal.
18506 (GRUB only offers a rescue shell): Likewise.
18507 * docs/grub-dev.texi (Error Handling): Fix typo.
18508
09a9d66f
CW
185092011-04-12 Colin Watson <cjwatson@ubuntu.com>
18510
18511 * NEWS: Drop obsolete entry about probe-only btrfs support.
18512
0c676933
CW
185132011-04-12 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * util/import_gcry.py: Fix typo.
18516
ec9f5e0d
VS
185172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 * NEWS: Add btrfs support.
18520
fe6b2cba
VS
185212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
185222011-04-11 Colin Watson <cjwatson@ubuntu.com>
18523
18524 BtrFS support. Written by me (Vladimir) with important bugfixes and
18525 even more important testing by Colin.
18526
18527 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18528 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18529 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18530 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18531 mem_input_off and mem_input. All users updated to accept in-RAM input.
18532 (gzio_seek): New function.
18533 (test_zlib_header): Likewise.
18534 (grub_gzio_read): Likewise.
18535 (grub_zlib_decompress): Likewise.
18536 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18537 Accept partial and non-virtual mounts.
18538 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18539 avoid receiving /dev/dm-X as device.
18540 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18541 Handle bind and partial mounts.
18542 * grub-core/lib/crc.c: New file.
18543 * include/grub/deflate.h: Likewise.
18544 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18545 proto.
18546 * include/grub/lib/crc.h: New file.
18547
e745cf0c
VS
185482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 Implement automatic module license checking according to new GNU
18551 guidelines.
18552
18553 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18554 (grub_dl_load_core): Use grub_dl_check_license.
18555 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18556 (GRUB_MOD_LICENSE): Likewise.
18557 (GRUB_MOD_DUAL_LICENSE): Likewise.
18558 All modules updated.
18559
2a9bc016
CW
185602011-04-11 Colin Watson <cjwatson@ubuntu.com>
18561
18562 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18563 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18564 loaders.
18565 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18566
8a3bc88e
VS
185672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18570
af869a4a
VS
185712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18574 failed.
18575
9ee8d94f
VS
185762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18579 parenthesis in the middle of the filename.
18580
b01abe3e
VS
185812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18584 rather than trying to put initrd way too high.
18585 Reported by: Ryan Lortie <desrt@desrt.ca>
18586
335bda1e
VS
185872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18590 improperly removed string.
18591
5ca1a64d
VS
185922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18595 is_disk.
18596 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18597 (open_device) Likewise.
18598 (grub_util_biosdisk_close): Likewise.
d8ce9995 18599 Reported by: Mark Korenberg.
5ca1a64d 18600
cbac5b1e
AK
186012011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18602
18603 * util/grub-mkconfig_lib.in: Add missing quotes.
18604
088cdb65
CW
186052011-04-10 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18608 is NULL.
18609
8b8a81fa
VS
186102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Dynamically count the number of lines for the lower banner.
18613
18614 * grub-core/normal/menu_entry.c (per_term_screen): New member
18615 num_entries.
18616 (print_down): Use num_entries.
18617 (update_screen): Likewise.
18618 (grub_menu_entry_run): Set num_entries.
18619 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18620 num_entries.
18621 (grub_print_message_indented): Move real part to ...
18622 (grub_print_message_indented_real): ... here. Additional argument
18623 dry_run.
18624 (draw_border): Additional argument num_entries.
18625 (print_message): Additional argument dry_run.
18626 (print_entries): Receive menu viewer data.
18627 (grub_menu_init_page): New argment num_entries.
18628 (menu_text_set_chosen_entry): Use num_entries.
18629 (grub_menu_try_text): Likewise.
18630 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18631 All users updated.
18632 (grub_ucs4_count_lines): New function.
18633 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18634 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18635 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18636 (grub_term_border_height): Likewise.
18637 (grub_term_num_entries): Likewise.
18638
277f955b
VS
186392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18642 Remove now unused string.
18643
536ce85a
CW
186442011-04-09 Colin Watson <cjwatson@ubuntu.com>
18645
18646 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18647 build system.
18648 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18649
18650 (Comment): Fix typo.
18651 (Getting started): General copy-editing.
18652 (Typical Development Experience): Likewise.
18653 (Error Handling): Likewise.
18654 (Video API): Likewise.
18655
2cf09e32
CW
186562011-04-09 Colin Watson <cjwatson@ubuntu.com>
18657
18658 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18659 throughout.
18660
1ec652f4
VS
186612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18664 directory.
18665
2c583728
CW
186662011-04-08 Colin Watson <cjwatson@ubuntu.com>
18667
18668 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18669 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18670 "development".
18671
d7a565e9
VS
186722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18675 grub_strcpy since the lines aren't necessarily 0-terminated.
18676
7c2e4909
VS
186772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18680 root on legacy.
18681
34c09785
VS
186822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18685 (GRUB_MOD_INIT): DEVICE isn't optional.
18686
6a6f8058
VS
186872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18690 word on new line if it's too long anyway. Fixes a hang.
18691
2e335e90
VS
186922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18695 const.
18696 * util/grub-setup.c (main): Reuse md device name if available.
18697 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18698 not GRUB name as argument.
18699 Based on patch by: Florian Wagner <fwagner>.
18700
10a7a867
VS
187012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18704 Place mbi on low memory for better compatibility.
18705
7a3d6cd9
VS
187062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18709
18dd6b47
VS
187102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
187112011-04-08 Colin Watson <cjwatson@ubuntu.com>
18712
18713 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18714 * conf/Makefile.common: Likewise.
18dd6b47 18715
3c0e3f14
VS
187162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18717
f7148863
VS
18718 * grub-core/normal/menu.c: Add missing include.
18719
187202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18723
6d1fa41f
MZ
187242011-04-08 Martin Zuther <mzuther@mzuther.de>
18725
18726 * util/grub-mkconfig.in: Ignore emacsen backup.
18727
478182a8
VS
187282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18731 on open.
18732 (grub_util_biosdisk_close): Likewise.
18733
72a89a54
VS
187342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18737 const attribute and use grub_isdigit.
18738
b5ebecfa
A
187392011-04-06 Andrey <dev_null@ukr.net>
18740
18741 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18742 gcc warning.
18743
7755f66e
VS
187442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18747 useful grub_dprintf's.
18748
461121ff
VS
187492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18752
2a961775
VS
187532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18756
adf594cc
VS
187572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 Output errors if theme loading failed.
18760
18761 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18762 grub_gfxterm_fullscreen on error paths to ...
18763 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18764 theme loading error.
18765
665900a3
VS
187662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18769 space for older compilers.
18770 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18771
a562b479
VS
187722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18775 and report them as not RAID members since they are useless for GRUB.
18776 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18777
850e9373
VS
187782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 Increase LVM implementation robustness in order not to crash on
18781 configurations like pvmove. Previously code assumed that in some places
18782 only lvs or only pvs are used whereas it seems that they are used
18783 interchangeably.
18784
18785 * grub-core/disk/lvm.c (read_node): New function.
18786 (read_lv): Use read_node.
18787 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18788 Match volumes only at the end when all lvs are found. Take both
18789 pvs (first) and lvs (second) into account.
18790 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18791 mirror_* into node_*. All users updated.
18792 (grub_lvm_stripe): Merge this ...
18793 (grub_lvm_mirror): ... and this ...
18794 (grub_lvm_node): ... into this. All users updated.
18795
6f332153
VS
187962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18799 of function to allow further scanning for LVMs.
18800
829ea451
VS
188012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18804 on failed seek as it breaks open fd reusage.
18805
09ceb9a5
VS
188062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * util/grub-install.in: Add a recommendation to use --recheck before
18809 reporting bugs.
18810
67e11623
VS
188112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18814 are obtained.
18815
caee5efd
VS
188162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 GRUB developper manual based on existing Internals section and
18819 contributions by the various authors with active copyright assignment.
18820
18821 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18822 * docs/font_char_metrics.png: New file.
18823 * docs/font_char_metrics.txt: Likewise.
18824 * docs/grub-dev.texi: Likewise.
18825 * docs/grub.texi (Internals): Move from here ...
18826 * docs/grub-dev.texi: ... here.
18827
2cccc747
CW
188282011-04-01 Colin Watson <cjwatson@ubuntu.com>
18829
18830 Store the loopback device as data on loopback grub_disk structures,
18831 rather than the file it points to. This fixes use of freed memory
18832 if an existing loopback device is replaced.
18833
18834 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18835 disk->data, not dev->file.
18836 (grub_loopback_read): Adjust file assignment to match.
18837 Fixes Ubuntu bug #742967.
18838
186ae367
CW
188392011-04-01 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18842 when replacing an existing device.
18843
cfed2ad0
VS
188442011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18847 memory corruptions.
18848
18849 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18850 unsigned.
18851 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18852 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18853 (grub_jfs_read_inode): Likewise.
18854 (grub_jfs_opendir): Likewise. Remove now useless casts.
18855 (grub_jfs_getent): Likewise.
18856 Make ino a grub_uint32_t rather than int.
18857 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18858 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18859 division and module with bit operations.
18860 (grub_jfs_find_file): Make ino a grub_uint32_t.
18861 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18862
05d2ed32
CW
188632011-04-01 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18866 warning. (This was in fact always initialised before use, but GCC
18867 wasn't smart enough to prove that.)
18868 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18869
91dc6073
VS
188702011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18873 stack alignment.
18874 (efi_wrap_1): Likewise.
18875 (efi_wrap_2): Likewise.
18876 (efi_wrap_3): Likewise.
18877 (efi_wrap_4): Likewise.
18878 (efi_wrap_5): Likewise.
18879 (efi_wrap_6): Likewise.
18880 (efi_wrap_10): Likewise.
18881 Based on information by: Red Hat/Peter Jones.
18882
a8afc1d1
CW
188832011-03-31 Colin Watson <cjwatson@ubuntu.com>
18884
18885 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18886 set-but-not-used variable.
18887
a826cc7d
CW
188882011-03-31 Colin Watson <cjwatson@ubuntu.com>
18889
18890 * docs/grub.texi (Simple configuration): Be more explicit about
18891 GRUB_DEFAULT, and add an example.
18892 Reported by: Leslie Rhorer.
18893
875b67ba
CW
188942011-03-30 Colin Watson <cjwatson@ubuntu.com>
18895
18896 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18897 shell".
18898
fd7cd914
AS
188992011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18900
18901 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18902 * util/grub.d/20_linux_xen.in: Likewise.
18903
090b1b6a
VS
189042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/grub.d/10_linux.in: Try alternative config filenames where
18907 we parse config file.
18908 * util/grub.d/20_linux_xen.in: Likewise.
18909
baad885c
AS
189102011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18911
18912 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18913 * util/grub.d/20_linux_xen.in: Likewise.
18914
241e41f5
VS
189152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * grub-core/disk/raid.c (insert_array): Add few potentially
18918 useful grub_util_info.
18919 (grub_raid_register): Likewise.
18920
56445fb2
VS
189212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18924 Preserve partition number in mdadm code path.
18925
c871b1c6
VS
189262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18929 few potentially useful grub_util_info.
18930
5e631b4f
CW
189312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18934
2d5d0333
CW
189352011-03-30 Colin Watson <cjwatson@ubuntu.com>
18936
18937 * docs/grub.texi (default): Use @example rather than nested
18938 itemized lists to avoid breaking gendocs.
18939
3d7ed04e
CW
189402011-03-30 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * docs/grub.texi (Future): Update.
18943
abf04200 189442011-03-30 Colin Watson <cjwatson@ubuntu.com>
18945
18946 * docs/grub.texi (Environment): New chapter.
18947 (Changes from GRUB Legacy): Link to "Environment block" section for
18948 details of limitations.
18949 (Simple configuration): Likewise. Link to documentation of gfxmode
18950 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18951 respectively.
18952 (Shell-like scripting): Note that normal variables are stored in the
18953 environment.
18954 (gettext): Link to documentation of lang and locale_dir.
18955 (list_env): New section.
18956 (load_env): New section.
18957 (save_env): New section.
18958
18959 (Reporting bugs): Fix typo.
18960
e1ad0edd
VS
189612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18964 the example.
18965
5d803174
VS
189662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * grub-core/term/at_keyboard.c (set_scancodes)
18969 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18970
2a2da1d0
CW
189712011-03-30 Colin Watson <cjwatson@ubuntu.com>
18972
18973 * docs/grub.texi (Menu-specific commands): Remove some semantics
18974 that were true in GRUB Legacy but not in GRUB 2.
18975 (submenu): New section.
18976 (false): New section.
18977 (read): New section.
18978 (true): New section.
18979
a7527639
CW
189802011-03-30 Colin Watson <cjwatson@ubuntu.com>
18981
18982 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18983
189842011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18985
18986 * docs/grub.texi (Simple configuration): Explain some of the
18987 current limitations of grub-mkconfig.
8a748df2 18988 Reported by: Leslie Rhorer.
e30af029 18989
fc858482
VS
189902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 Old macs search for boot.efi rather than for bootia32.efi.
18993
18994 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18995 * util/grub-mkrescue.in: Likewise.
18996 Suggested by: Peter Jones.
18997
e1eb511d
VS
189982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19001
70e75364
VS
190022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19005 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19006 (grub_lvm_mirror): New struct.
19007 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19008 (grub_lvm_iterate): Iterate only visible volumes.
19009 (grub_lvm_read): Factor out to ..
19010 (read_lv): ... this. Support mirrors.
19011 (grub_lvm_read): New wrapper function.
19012 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19013 stripped or mirrored.
19014
fc18f6a3
VS
190152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19018
5c650f4c
CW
190192011-03-29 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * docs/grub.texi (loopback): New section.
19022
61d7156b
CW
190232011-03-29 Colin Watson <cjwatson@ubuntu.com>
19024
19025 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19026 removed -p option.
19027
994b8264
CW
190282011-03-29 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * docs/grub.texi (BIOS installation): New section, partly based on
19031 previous text in other sections.
19032 (Installing GRUB using grub-install): Replace BIOS discussion with a
19033 cross-reference.
19034 (Images): Likewise.
19035
9e4d19e0
VS
190362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19039 [HAVE_DIOCGDINFO]: Add safety checks.
19040
a307c0b2
VS
190412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19044 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19045
b4db4f39
CW
190462011-03-29 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19049 real_sb->size is zero (e.g. RAID-0), get the disk size from
19050 real_sb->data_size instead.
19051 Fixes Ubuntu bug #743136.
19052
35e5f84c
VS
190532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19056 printf clauses for printing size and start.
19057
d2e29d81
VS
190582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19061 Reported and tested by: Timothy Nikkel.
19062
ed5587af
VS
190632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19066 (dirty_region_add_real): ... this.
19067 (dirty_region_add): Don't discard margin refresh when performing
19068 scheduled repaint.
19069
a1dc717c
VS
190702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 * grub-core/lib/relocator.c (allocate_regstart)
19073 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19074 terminals are capabple of malloc-free operation.
19075 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19076 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19077
9f3677d3
VS
190782011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19079
19080 * util/grub-setup.c: Copy the partition table zone if floppy support
19081 is disabled, even if no partition table is found.
19082
19083 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19084 during POST if an invalid partition table is contained in the PBR
19085 of the active partition when GRUB is installed to a partition.
19086
24148725
CW
190872011-03-28 Colin Watson <cjwatson@debian.org>
19088
19089 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19090 comment.
19091
f329eda7
CW
190922011-03-28 Colin Watson <cjwatson@debian.org>
19093
19094 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19095 to be specific about what kind of RAID device we're scanning for.
19096
c482ad98
SG
190972011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19098
19099 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19100 return freed string.
19101
5ee04984
VS
191022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19105
f4727da9
VS
191062011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Use libgeom on FreeBSD to detect partitions.
19109
19110 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19111 (grub-mkrelpath): Likewise.
19112 (grub-script-check): Likewise.
19113 (grub-editenv): Likewise.
19114 (grub-mkpasswd-pbkdf2): Likewise.
19115 (grub-fstest): Likewise.
19116 (grub-mkfont): Likewise.
19117 (grub-mkdevicemap): Likewise.
19118 (grub-probe): Likewise.
19119 (grub-setup): Likewise.
19120 (grub-ofpathname): Likewise.
19121 (grub-mklayout): Likewise.
19122 (example_unit_test): Likewise.
19123 (grub-menulst2cfg): Likewise.
19124 * grub-core/Makefile.core.def (grub-emu): Likewise.
19125 (grub-emu-lite): Likewise.
19126 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19127 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19128 define HAVE_DIOCGDINFO.
19129 (follow_geom_up) [FreeBSD]: New function.
19130 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19131 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19132 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19133 unconditionally of HAVE_DIOCGDINFO.
19134
82fe6c75
VS
191352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 Fix FreeBSD compilation problem.
19138
19139 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19140 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19141
4c6c9431
CW
191422011-03-24 Colin Watson <cjwatson@ubuntu.com>
19143
19144 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19145 Switch back to page zero before loading a kernel, since some kernel
19146 drivers expect that.
19147 Thanks to: Felix Kuehling.
19148
c7064d94
VS
191492011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19152 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19153 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19154
3f71cded
VS
191552011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19158 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19159
ef6de21a
VS
191602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19163 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19164 malloc is disabled.
19165
8bc66a2c
VS
191662011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19169 for modules headers when counting the needed allocation size.
19170
5657722c
VS
191712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19174 if no ASCII character is found to prevent crash.
19175
41a85f55
AK
191762011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19177
19178 * grub-core/video/bitmap.c (match_extension): Ignore case.
19179
59e1e5f1
VS
191802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19183
bd4d051a
VS
191842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * grub-core/script/parser.y: Declare "time" as valid argument.
19187
bae7fcc1
PJ
191882011-03-23 Peter Jones <pjones@redhat.com>
19189
19190 Fix incorrect assert failure reporting.
19191
19192 * grub-core/tests/example_functional_test.c (example_test): Add
19193 a failure comment.
19194 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19195 (failure_start): ...this. Check that malloc succeeded.
19196 Don't call xvasprintf. Return failure struct.
19197 (failure_append_vtext): New function.
19198 (failure_append_text): Likewise.
19199 (add_failure): Likewise.
19200 (grub_test_assert_helper): Likewise.
19201 * include/grub/test.h (grub_test_assert_helper): New declaration.
19202 (grub_test_assert): Macro rewritten.
19203
537dc9be
VS
192042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19207
fa3e01bf
VS
192082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19211
b1d28404
VS
192122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19215 into GRUB-style one.
19216
2e3e2e09
VS
192172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19220 error and not grub_errno.
19221 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19222
ed57e557
VS
192232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19226 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19227
d1611f01
VS
192282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * grub-core/efiemu/i386/pc/cfgtables.c
19231 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19232 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19233 (grub_xnu_unlock): Likewise.
19234 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19235
7d4e39d6
VS
192362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19239 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19240 * grub-core/commands/hashsum.c (aliases): Likewise.
19241 * grub-core/commands/setpci.c (pci_registers): Likewise.
19242 * grub-core/disk/usbms.c (attach_hook): Likewise.
19243 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19244 (zio_checksum_table): Likewise.
19245 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19246 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19247 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19248 * grub-core/lib/relocator.c (leftovers): Likewise.
19249 (extra_blocks): Likewise.
19250 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19251 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19252 (modules_last): Likewise.
19253 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19254 (devices): Likewise.
19255 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19256 (modules_last): Likewise.
19257 * grub-core/normal/auth.c (users): Likewise.
19258 * grub-core/normal/context.c (initial_menu): Likewise.
19259 (current_menu): Likewise.
19260 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19261 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19262 (grub_serial_terminfo_input_template): Likewise.
19263 (grub_serial_terminfo_output_template): Likewise.
19264 (grub_serial_terminfo_input): Likewise.
19265 (grub_serial_terminfo_output): Likewise.
19266 (registered): Likewise.
19267 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19268
40fc4659
VS
192692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19272 grub_video_mode_type_t.
19273 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19274 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19275 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19276
2da48d28
VS
192772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * util/grub-install.in: Correct the x86-64 name as x86_64.
19280
9b43bf39
CW
192812011-03-11 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19284 initial chunk read from the kernel always includes GRUB's multiboot
19285 header, which is now outside the first sector.
19286
be1a7ce0
CW
192872011-03-09 Colin Watson <cjwatson@ubuntu.com>
19288
19289 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19290 cached mmap_size, so that this works correctly when called multiple
19291 times.
19292 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19293
83a3c48d
CW
192942011-03-09 Colin Watson <cjwatson@ubuntu.com>
19295
19296 * docs/grub.texi (Simple configuration): Tidy up formatting.
19297
57d75699
SJ
192982011-03-07 Szymon Janc <szymon@janc.net.pl>
19299
19300 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19301 Set-but-not-used variable removed.
19302
028501a0
VS
193032011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Workaround yet another IEEE1275 bug.
19306
19307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19308 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19309 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19310 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19311 is set.
19312 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19313 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19314
d998657d
VS
193152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19318 error.
19319
fee7cdd4
CW
193202011-02-11 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19323 empty, since in that case we can only generate either nothing or a
19324 syntactically invalid configuration file.
19325 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19326
97286eb5
CW
193272011-02-09 Colin Watson <cjwatson@ubuntu.com>
19328
19329 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19330 (Making a GRUB bootable CD-ROM): Likewise.
19331 (Invoking grub-mkrescue): New section.
19332 Reported by: Yann Dirson. Fixes Debian bug #612585.
19333
22b28eb3
CW
193342011-02-09 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * util/grub-install.in: Remove unnecessary brackets from tr
19337 arguments.
19338 * util/grub.d/10_hurd.in: Likewise.
19339 * util/grub.d/10_kfreebsd.in: Likewise.
19340 * util/grub.d/10_linux.in: Likewise.
19341 * util/grub.d/20_linux_xen.in: Likewise.
19342 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19343
7e735e43
CW
193442011-02-08 Colin Watson <cjwatson@ubuntu.com>
19345
19346 * include/grub/file.h (not_easly_seekable): Rename to ...
19347 (not_easily_seekable): ... this. Update all users.
19348
800f1881
CW
193492011-01-28 Colin Watson <cjwatson@ubuntu.com>
19350
19351 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19352 grub-mkrescue.
19353
3281d3d6
VS
193542011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * util/grub-mkimage.c (generate_image): Refuse to create the images
19357 bigger than the actual flash (512K) in Loongson machines. 512K is also
19358 the biggest chip supported by them.
19359
3533413c
VS
193602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19363
73ae4f4f
VS
193642011-01-22 Anthony DeRobertis <anthony@derobert.net>
19365
19366 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19367 super_offset field.
19368
37f4f608
VS
193692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19370
19371 * util/grub-install.in: Ignore install device on platforms
19372 where it doesn't make sense. Always use UUIDs except on pc, efi and
19373 sparc64.
19374 Reported by: Daniel Kahn Gillmor.
19375
03a4ccb5
VS
193762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19379
ffc8f4d8
VS
193802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19383 (iterate_real): Don't rely on partition being non-NULL.
19384
80f23be7
VS
193852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19388 supported platforms. Put a compile time assert for this rather than
19389 generate a warning with 32-bit shift.
19390
5d4f4dd5
VS
193912011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19394 logical expression more readable.
19395
e489601a
VS
193962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19399 even if some elements have a name.
19400 Reported by: Alexander GQ Gerasiov.
19401
96e0a6ea
CW
194022011-01-22 Colin Watson <cjwatson@ubuntu.com>
19403
19404 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19405 path unreadable if `grub-probe -t abstraction' fails, for example if
19406 memberlist fails on an LVM volume group.
19407 Reported by: Darius Jahandarie.
19408
81431e2b
CW
194092011-01-22 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * docs/grub.texi (Simple configuration): Document
19412 GRUB_PRELOAD_MODULES.
19413
5e79d66a
CW
194142011-01-17 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * .bzrignore: Remove nonexistent grub-pbkdf2.
19417
646ada34
VS
194182011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 * configure.ac: Bump version to 1.99~rc1.
19421
04360337
VS
194222011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19425 for safety.
19426
46c9db88
VS
194272011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19430 module.
19431
194322011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19433
19434 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19435
4fbf1852
VS
194362011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19439 diskdevid.
19440
f1632d4d
VS
194412011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 Fix compilation on cygwin.
19444
19445 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19446 -R .drectve on cygwin.
19447 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19448 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19449 (COND_CYGWIN): New condition.
19450 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19451 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19452 not @TARGET_OBJ2ELF@.
19453 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19454 type to determine whether aux is to be used.
19455
0b5e127b
VS
194562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19459 realpath'ed device string.
19460 Handle floppy (somewhat).
19461 Issue error in unknown case rather than garbage.
19462 Reported by: Axel Beckert.
19463
173b71e9
VS
194642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * util/grub.d/00_header.in (load_video): Handle the case when no video
19467 drivers available.
19468 Thanks to: Axel Beckert.
19469
f8f479db
VS
194702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19473 variable. Fixes problem on big endian platforms.
19474
8fc0a245
VS
194752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19476
19477 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19478 It doesn't work well there.
19479
b8494fbe
VS
194802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19483 warning.
19484 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19485 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19486 counter.
19487
b44a558c
VS
194882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 Use alias->path rather than buggy "canon".
19491
19492 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19493 (ofdisk_hash_add): New argument curcan. All users updated.
19494
51fa856c
CW
194952011-01-11 Colin Watson <cjwatson@ubuntu.com>
19496
19497 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19498
9da068a5
VS
194992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19502 loadmask before doing any calculations. Use correct type for offset.
19503 (grub_linux_load64): Likewise.
19504
86205c94
CW
195052011-01-11 Colin Watson <cjwatson@ubuntu.com>
19506
19507 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19508 with NULL.
19509 (console_grub_equivalences_unshift): Likewise.
19510 Reported by: Daniel Dehennin.
19511
4531a206
VS
195122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19515 (set_env_limn_ro): Likewise.
19516 (GRUB_MOD_INIT): Likewise.
19517 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19518 ARRAY_SIZE while on it.
19519 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19520 * grub-core/normal/context.c (grub_env_export): Move from here ...
19521 * grub-core/kern/env.c (grub_env_export): ... here.
19522 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19523 prefix.
19524 * grub-core/kern/main.c (grub_main): Export root and prefix.
19525 * include/grub/env.h (grub_env_export): Export.
19526 Reported by: Seth Goldberg.
19527
45146057
VS
195282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19531 Take into account space used by ELF sections and multiboot palette.
19532 Reported by: Grégoire Sutre.
19533
f093110b
VS
195342011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * BUGS: New file.
19537
3395fe52
VS
195382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 Pass more appropriate video id to Linux.
19541
19542 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19543 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19544 fill have_vga.
19545 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19546 shift params->lfb_size.
19547 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19548
c2fa6cbb
VS
195492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19552
b3ff6ff0
VS
195532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19556 separator and pass bootpath/devid even if only one of them is available.
19557 Reported by: Seth Goldberg.
19558
ae67942e
VS
195592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19562 implementations bug on them.
19563
19564 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19565 memory.
19566 (filter_memory_map): Likewise.
19567
d570097a
VS
195682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19571 Reported by: nebuchadnezzar.
19572
a508e776
VS
195732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19576 Reported by: nebuchadnezzar.
19577
dcb883b1
VS
195782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 Submenu default support.
19581
19582 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19583 auto_boot. All users updated.
19584 Declared static.
19585 Handle chosen and default with submenus.
19586 (grub_menu_execute_with_fallback): Declared static.
19587 Don't notify failure if autobooted. Upper level does it.
19588 (menuentry_eq): New function.
19589 (get_entry_number): Use menuentry_eq.
19590 (show_menu): New parameter "autobooted". All users updated.
19591 (grub_show_menu): Likewise.
19592 * include/grub/normal.h (grub_show_menu): Likewise.
19593 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19594 (grub_menu_execute_with_fallback): Likewise.
19595
6fef99b4
VS
195962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * util/grub-mklayout.c (usage): Update help text.
19599
47a77af5
VS
196002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19603
ce6bb3ee
VS
196042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 * util/grub-menulst2cfg.c (main): Trim the line.
19607
db87be2a
VS
196082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19611 (grub_machine_init): Don't check amount of low memory as reportedly
19612 INT 12h can be broken and if low memory is too low we wouldn't have
19613 gotten into grub_machine_init anyway.
19614
c49849cc
VS
196152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19618 (grub_machine_mmap_iterate): Take low memory into account
19619
b1969b30
VS
196202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19621
19622 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19623 badfs.
19624 Reported by: TiCPU.
19625
cf0eaf13
VS
196262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19629 members errors.
19630
1f060f39
GS
196312011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19632
19633 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19634 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19635
a21e5672
GS
196362011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19637
19638 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19639 openbsd and netbsd types being in part_bsd module.
19640
c88172fa
VS
196412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19644 (_FILE_OFFSET_BITS): Likewise.
19645 Reported by: Seth Goldberg.
19646
53798c4b
GS
196472011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19648
19649 * configure.ac: Check for libdevmapper header.
19650
e7121b69
VS
196512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19654 avoid aliasing.
19655 (fzap_lookup): Likewise.
19656 (dnode_get): Likewise.
19657 (make_mdn): Likewise.
19658 (zfs_mount): Likewise.
19659 (fzap_iterate): Use temporary pointer to avoid aliasing.
19660 (grub_zfs_read): Likewise.
19661 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19662 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19663 pointers to avoid aliasing.
19664 (grub_cmd_xnu_kernel64): Likewise.
19665 (grub_xnu_load_driver): Likewise.
19666
fc836af9
VS
196672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19670 aliasing warning.
19671 (grub_cmd_terminal_output): Likewise.
19672 Reported and tested by: Grégoire Sutre.
19673
f9f37648
VS
196742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19677 warning.
19678 Reported and tested by: Grégoire Sutre.
19679
ec1dfd63
VS
196802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 * configure.ac: Do CPU substitution even if it's specified explicitly.
19683 Reported and tested by: Alain Greppin.
19684
9462775a
VS
196852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19688 Reported and tested by: Alain Greppin.
19689
0fd48e35
VS
196902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 Satisfy some bison versions need for inttypes.h.
19693
19694 * grub-core/lib/posix_wrap/inttypes.h: New file.
19695 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19696 (int16_t): Likewise.
19697 (int32_t): Likewise.
19698 (int64_t): Likewise.
19699 Reported and tested by: Alain Greppin.
19700
43f1bc83
VS
197012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19704 Silence spurious warning.
19705 Reported and tested by: Alain Greppin.
19706
64d1f041
SJ
197072011-01-07 Szymon Janc <szymon@janc.net.pl>
19708
19709 * docs/grub.texi (Support automatic decompression): Update with xz
19710 decompression support.
19711
25953e10
SJ
197122011-01-07 Szymon Janc <szymon@janc.net.pl>
19713
19714 Improve loaders' kernel command line handling.
19715
19716 * grub-core/lib/cmdline.c: New file.
19717 * include/grub/lib/cmdline.h: Likewise.
19718 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19719 grub_create_loader_cmdline to create kernel command line.
19720 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19721 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19722 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19723 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19724 (linux): Add lib/cmdline.c on common.
19725
e72d259f
VS
197262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19729 inopos might be unaligned.
19730
c0cf26da
VS
197312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19734 endian transformations.
19735 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19736 Based on report by: Doug Nazar.
19737
0ca09e6c
DN
197382011-01-07 Doug Nazar <nazard.michi@gmail.com>
19739
19740 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19741 array->members[i].start_sector.
19742 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19743
014b6806
VS
197442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19747 Reported and tested by: Grégoire Sutre.
19748
415502c2
CW
197492011-01-06 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19752 avoid causing test failures by clearing the screen.
19753
71b6a2b7
CW
197542011-01-06 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19757 Fix prefix check to handle the case where dir ends with a slash
19758 (most significantly, "/" itself).
19759 Reported by: Michael Vogt.
19760
b3f8d28a
VS
197612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 Run terminfo_cls on initing terminfo output to clear the screen and
19764 move the cursor to (0,0).
19765
19766 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19767 Call grub_terminfo_output_init.
19768 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19769 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19770 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19771
4c3e4f37
VS
197722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19773
19774 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19775 only when needed.
19776
488f71f1
VS
197772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19780 CTRL.
19781
18a38098
VS
197822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19783
19784 The E820 type 5 is BADRAM, not EXEC_CODE.
19785
19786 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19787 (GRUB_E820_BADRAM): New define.
19788 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19789 into reserved. Propagate BADRAM.
19790 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19791 (GRUB_E820_BADRAM): New define.
19792
9eae2084
VS
197932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19796 Ignore the memory post-4G.
19797 (grub_relocator_firmware_alloc_region): Additional debug statement.
19798
ebc71d28
VS
197992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19802 names.
19803 Reported by: David Pravec.
19804
446fa400
VS
198052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19808 BIOSes.
19809
a0159f37
VS
198102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19813 Prevent overflow.
19814 (grub_reed_solomon_recover): Likewise.
19815
e5146ca1
VS
198162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19819
198202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19821
19822 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19823 variable.
19824
5b1bdf12
CW
198252011-01-04 Colin Watson <cjwatson@ubuntu.com>
19826
19827 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19828 descriptions of extract_legacy_entries_source and
19829 extract_legacy_entries_configfile.
19830 Reported by: Seung Soo, Ha.
19831
99d925aa
CW
198322011-01-03 Colin Watson <cjwatson@ubuntu.com>
19833
19834 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19835 on devices that do not implement function 0.
19836
4af0504b
DV
198372011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19838
19839 * grub-core/fs/hfsplus.c: Make parent unsigned.
19840 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19841 overflows.
19842 (grub_hfsplus_cmp_extkey): Likewise
19843
469ee10a
VS
198442011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 * util/grub-install.in: Correctly use bootloader_id and not
19847 GRUB_DISTRIBUTOR on efibootmgr line.
19848
323a8e9c
VS
198492011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19852
1b394975
IC
198532010-12-31 Ian Campbell <ijc@hellion.org.uk>
19854
19855 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19856 Xen and reorder menu item wording to make it clearer that this entry
19857 will launch Xen. Print separate messages when loading Xen and
19858 Linux.
19859
275bff5f
VS
198602010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19863 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19864 loop in case of incorrect amiga partmap.
19865
307806cb
VS
198662010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19869 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19870 Reported by:EHeM.
19871
b12b923e
VS
198722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19875 spurious warning.
19876 Reported by: crocket
19877
14b48a19
VS
198782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19881 Preload EFIemu.
19882 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19883
693db2df
VS
198842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19887 is loaded
19888 (grub_cmd_xnu_kextdir): Likewise.
19889 (grub_cmd_xnu_splash): Likewise.
19890
c7638645
VS
198912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 Avoid using Reed-Solomon with 0 redundancy.
19894
19895 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19896 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19897 or 0 redundancy.
19898 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19899 (grub_reed_solomon_recover): Likewise.
19900
25dd4780
VS
199012010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 Don't use disk subsystem in freebsd_boot.
19904
19905 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19906 (freebsd_biosdev): Likewise.
19907 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19908 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19909
0b2db943
VS
199102010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 Handling of files of unknown size is currently limited. They can't be
19913 used e.g. for initrd or modules. Moreover gzip handling of not
19914 easily seekable files is buggy. Disable unknown file size for now. May
19915 be inefficient but works.
19916
19917 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19918 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19919
5c408d0f
MP
199202010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19921
19922 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19923 floppy probe.
19924
190a011a
JD
199252010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19926
19927 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19928
022d01b8
SL
199292010-12-25 Shea Levy <shlevy>
19930
19931 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19932
c4855fdc
VS
199332010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19936 Windows Server 2008.
19937 Reported by: Devin Giddings.
19938
0354b867
VS
199392010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19942 writing an error message because of async power management.
19943 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19944 (grub_reboot): Likewise.
19945
ab66c69f
JU
199462010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19947
19948 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19949 keep unit tests from failing when they shouldn't.
19950
1426ef35
CW
199512010-12-21 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19954 previous patch increased the size of the RS code by 20 bytes (at
19955 least with gcc-4.4), so increase this by 20 bytes to match.
19956 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19957
20641b6b
CW
199582010-12-21 Colin Watson <cjwatson@ubuntu.com>
19959
19960 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19961 scratch area. Make sure to initialise chosen in standalone mode as
19962 well as non-standalone.
19963 Reported by: Robert Hooker and Andy Whitcroft.
19964 Tested by: Andy Whitcroft.
19965
d060ad60
CW
199662010-12-21 Colin Watson <cjwatson@ubuntu.com>
19967
19968 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19969 constructing a new unescaped string and passing it to grub_xputs in
19970 one go, rather than passing characters to grub_printf one at a time.
19971
b889cfad
CW
199722010-12-21 Colin Watson <cjwatson@ubuntu.com>
19973
19974 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19975 initialising utf16.
19976
4e01b6c8
CW
199772010-12-21 Colin Watson <cjwatson@ubuntu.com>
19978
19979 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19980 comment. Add an extra layer of quotation, requiring the output of
19981 this function to be used in a printf format string.
19982 (gettext_printf): New function.
19983 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19984 Extract translatable strings from here-documents and use a temporary
19985 variable instead, so that xgettext can find them.
19986 * util/grub.d/10_kfreebsd.in: Likewise.
19987 * util/grub.d/10_linux.in: Likewise.
19988 * util/grub.d/20_linux_xen.in: Likewise.
19989
19990 * po/grub.d.sed: New file.
19991 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19992 arguments. Set c-format flags on all strings extracted from
19993 util/grub.d/ (xgettext refuses to include these itself for strings
19994 it extracted from a shell file, but these really are c-format).
19995
5318fe98
VS
199962010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19999 Avoid next pointing to nowhere.
20000
6c85b743
VS
200012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20004 rather than assuming than rootblock is exactly in the middle.
20005 (grub_affs_label): Likewise.
20006
a2a08a35
VS
200072010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20010 reserved_first_sector to 0.
20011 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20012 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20013 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20014
7059d1ec
VS
200152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 Fix handling of UTF-16 UDF labels.
20018
20019 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20020 (read_string): .. here.
20021 (grub_udf_label): Use read_string.
20022
30aff4cb
BC
200232010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20024
20025 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20026 editor under argument scope.
20027 Reported by: Jordan Uggla
20028
5cf86f4b
VS
200292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20032
32570200
CW
200332010-12-18 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20036 line, and other keys scroll an entire page (previous handling was
20037 for \r and \n to scroll a page and other keys to scroll two lines).
20038
e1dffcf2
VS
200392010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20042 Set ptrdest to correct get_physical_target_address rather than
20043 incorrect get_virtual_current_address.
20044
b04298cf 200452010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20046
20047 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20048 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20049
5367ecd3
CW
200502010-12-10 Colin Watson <cjwatson@ubuntu.com>
20051
20052 * .bzrignore: Ignore grub-core/rs_decoder.S.
20053
1fb430f8
CW
200542010-12-10 Colin Watson <cjwatson@ubuntu.com>
20055
20056 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20057 .mo/.mo.gz opening sequence to ...
20058 (grub_mofile_open_lang): ... here.
20059 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20060 * util/grub.d/00_header.in (grub_lang): Include country part of
20061 locale.
20062 Reported by: Mario Limonciello.
20063
a94a6671
RM
200642010-12-09 Robert Millan <rmh@gnu.org>
20065
20066 * NEWS: Document addition of ZFS support.
20067
24b7938b
CW
200682010-12-04 Colin Watson <cjwatson@ubuntu.com>
20069
20070 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20071 rather than `/ 2', as the latter requires -Wa,--divide which would
20072 require bumping our minimum binutils version.
20073
bddc3ef6
BC
200742010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20075
20076 * util/grub-script-check.c (main): Print script line number on
20077 error.
20078
bf78d5b2
RM
200792010-12-01 Robert Millan <rmh@gnu.org>
20080
20081 * grub-core/fs/zfs/zfs.c: New file.
20082 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20083 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20084 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20085 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20086
20087 * include/grub/zfs/dmu.h: Likewise.
20088 * include/grub/zfs/dmu_objset.h: Likewise.
20089 * include/grub/zfs/dnode.h: Likewise.
20090 * include/grub/zfs/dsl_dataset.h: Likewise.
20091 * include/grub/zfs/dsl_dir.h: Likewise.
20092 * include/grub/zfs/sa_impl.h: Likewise.
20093 * include/grub/zfs/spa.h: Likewise.
20094 * include/grub/zfs/uberblock_impl.h: Likewise.
20095 * include/grub/zfs/vdev_impl.h: Likewise.
20096 * include/grub/zfs/zap_impl.h: Likewise.
20097 * include/grub/zfs/zap_leaf.h: Likewise.
20098 * include/grub/zfs/zfs.h: Likewise.
20099 * include/grub/zfs/zfs_acl.h: Likewise.
20100 * include/grub/zfs/zfs_znode.h: Likewise.
20101 * include/grub/zfs/zil.h: Likewise.
20102 * include/grub/zfs/zio.h: Likewise.
20103 * include/grub/zfs/zio_checksum.h: Likewise.
20104
20105 * Makefile.util.def: Build ZFS into libgrubmods.
20106 * grub-core/Makefile.core.def: Build zfs.mod.
20107
3f0f3831
SJ
201082010-11-30 Szymon Janc <szymon@janc.net.pl>
20109
20110 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20111 variable.
20112 * grub-core/commands/wildcard.c (match_files): Likewise.
20113
3a4253b2
RM
201142010-11-30 Robert Millan <rmh@gnu.org>
20115
20116 * grub-core/loader/i386/bsd.c
20117 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20118 whether kernel is loaded using grub_loader_is_loaded(), rather
20119 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20120 certain error conditions.
20121
8c317b27
RM
201222010-11-30 Robert Millan <rmh@gnu.org>
20123
c5c9cd3e
RM
20124 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20125 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20126
49d3ab46
VS
201272010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 Avoid using tricks for initialising endian variables.
20130
20131 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20132 Make const.
20133 (GRUB_MOD_INIT): Don't byte-swap.
20134 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20135 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20136 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20137 (grub_swap_bytes32_compile_time): Likewise.
20138 (grub_cpu_to_le32_compile_time): Likewise.
20139 (grub_cpu_to_le16_compile_time): Likewise.
20140
f420a804
VS
201412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * util/grub-setup.c (setup): Stop recommending --force. People who
20144 understand the dangers of blocklists are able to find this option
20145 anyway and the ones who don't shouldn't use it anyway.
20146
4e7db17b
RM
201472010-11-26 Robert Millan <rmh@gnu.org>
20148
20149 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20150 Update all users.
20151
9be57a0d
CW
201522010-11-26 Colin Watson <cjwatson@ubuntu.com>
20153
20154 Fix LVM-on-RAID probing.
20155
20156 * util/grub-probe.c (probe): Remember which disk was detected as
20157 RAID (perhaps an LVM physical volume). Use that disk's raidname
20158 rather than that of the top-level disk.
20159
2c7859b3 201602010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20161
d7647bb6
BC
20162 Fix cmdline argument quotes for setparams command of menuentry
20163 definitions.
7e623b0d
BC
20164
20165 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20166 quotes for arguments.
f866fe80 20167 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20168 grub_strchrsub function instead.
f866fe80 20169
7955bea0 20170 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20171
74f72a64
CW
201722010-11-24 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20175 effort by skipping "." and ".." entries up-front.
20176 Suggested by: Michael Lazarev.
20177
5a407278
CW
201782010-11-24 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20181 ldflags to ldadd, to fix link line ordering.
20182 (none_decompress): Likewise.
20183
3030d8ec
CW
201842010-11-24 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20187 platforms.
20188 (grub-emu-lite): Remove kern/emu/cache.S.
20189
b7fbac12
CW
201902010-11-23 Colin Watson <cjwatson@ubuntu.com>
20191
20192 * util/deviceiter.c (compare_devices): If the by-id link for a
20193 device couldn't be resolved, fall back to sorting by the by-id link
20194 rather than segfaulting.
20195 Reported and tested by: Daniel Mierswa.
20196
5225f328
CW
201972010-11-23 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20200 ldflags, to fix link line ordering.
20201
038b3ce8
CW
202022010-11-23 Colin Watson <cjwatson@ubuntu.com>
20203
20204 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20205 linkers are picky about this.
20206
bf16e98e
CW
202072010-11-23 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * grub-core/Makefile.am (command.lst): Adjust sed expression
20210 ordering so that extended and priority commands aren't treated as
20211 ordinary commands.
20212
7242bab6
CW
202132010-11-23 Colin Watson <cjwatson@ubuntu.com>
20214
20215 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20216 Remove byte-swapping function calls, which are not valid in
20217 structure initialisers.
20218 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20219 non-const.
20220 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20221 grub_gpt_partition_type_bios_boot.
20222
14e8b279
CW
202232010-11-22 Colin Watson <cjwatson@ubuntu.com>
20224
20225 Fix test program build on GNU/kFreeBSD.
20226
20227 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20228 $(LIBNVPAIR)' library dependencies.
20229
e6f63338 202302010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20231
20232 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20233
cf8ffc38
CW
202342010-11-22 Colin Watson <cjwatson@ubuntu.com>
20235
20236 * util/grub-install.in: Remove excessive quoting that broke
20237 installations to RAID devices.
20238
7f8b0fd7
VS
202392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20242 bootloader version instead of 0.
20243
dfd240b1
VS
202442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20247 warning.
20248
7b61e609
VS
202492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20252 retrieve the metadat sector if size isn't known.
20253 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20254
9dfe92d0
RM
202552010-11-18 Robert Millan <rmh@gnu.org>
20256
20257 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20258 with grub_memcmp().
20259
41cc919e
VS
202602010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20263 arrow.
20264 Reported by: Jordan Uggla.
20265
1afcc914
VS
202662010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 Make better UTF compliant.
20269
20270 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20271 sequences as incorrect.
20272 (grub_is_valid_utf8): Likewise.
20273 (grub_utf8_to_ucs4): Likewise.
20274 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20275 (grub_ucs4_to_utf8_alloc): Likewise.
20276 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20277
f1808884
VS
202782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Make legacy_source behave like source.
20281
20282 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20283 grub_show_menu.
20284 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20285
24ec575b
CW
202862010-11-16 Colin Watson <cjwatson@debian.org>
20287
20288 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20289 (-Wunused implies -Wunused-parameter, but not vice versa).
20290
72b7c7aa
CW
202912010-11-16 Colin Watson <cjwatson@ubuntu.com>
20292
20293 * configure.ac: Make error messages less confusing by testing for
20294 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20295 accepted, but produces a diagnostic if something else is wrong).
20296
e98937aa
VS
202972010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20298
20299 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20300 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20301 (now unused).
20302 (grub_keyboard_controller_init)
20303 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20304 read the initial state since controller isn't inited yet.
20305
f6bbabc3
VS
203062010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20309 allocate_regbeg may need to create new chunk header.
20310
22e7dbb2
VS
203112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 Fix quoting in legacy parser.
20314
20315 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20316 single quotes.
20317 (grub_legacy_parse): Likewise.
20318 Reported by: Jordan Uggla.
20319 Tested by: Jordan Uggla.
20320
03f80960
VS
203212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 Don't add -lgcc on i386 and x86_64.
20324
20325 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20326 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20327 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20328
779dc15b
VS
203292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * configure.ac: Add -Wno-trampolines when supported.
20332
d20a3b37
MV
203332010-11-14 Modestas Vainius <modax@debian.org>
20334
20335 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20336 fakeraid.
20337
e5360933
GC
203382010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20339
20340 Add generic logical block size support for UDF.
20341
20342 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20343 (GRUB_UDF_BLKSZ): Removed.
20344 (struct grub_udf_data): New field "lbshift" to hold the logical block
20345 size of the file system in log2 format. All users updated.
20346 (sblocklist): Change type to unsigned.
20347 (grub_udf_mount): Change type of "sblklist" to unsigned.
20348 Move AVDP search before VRS recognition, because the latter requires
20349 knowledge of the logical block size, which is detected during the
20350 former.
20351 Detect and validate logical block size during AVDP search, adding
20352 support for block sizes 512, 1024 and 4096.
20353 Make VRS recognition independent of block size.
20354
cb0229c5
GC
203552010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20356
20357 Properly handle deleted files on UDF.
20358
20359 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20360 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20361 set.
20362
406858a8
GC
203632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20364
20365 Support reading files larger than 2 GiB.
20366
20367 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20368 "offset" to grub_off_t.
20369 (grub_udf_read_file): Likewise for parameter "pos".
20370
130da6a7
VS
203712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20374 unavailable.
20375 (Simple configuration): Refer to Changes from GRUB Legacy about
20376 save_env availability.
20377
65e93f6b
VS
203782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * util/grub-install.in: Ignore empty partition table detection
20381 instead of trying to include part_ module.
20382
1fd08bf1
VS
203832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20384
20385 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20386 LVM on RAID support.
20387
de1a024f
VS
203882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20389
20390 Properly define WORDS_BIGENDIAN in wrapped environments.
20391
20392 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20393 definition.
20394 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20395
20396 Reported by: Manoel Rebelo Abranches.
20397 Tested by: Manoel Rebelo Abranches.
20398
bc5dd0b9
VS
203992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * util/grub-mkconfig.in: Fix quoting.
20402
58c184be
VS
204032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 Support big ext2 files.
20406
20407 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20408 (grub_ext2_read_block): Support triple indirect blocks.
20409 (grub_ext2_read_file): Use 64-bit types and read size_high.
20410 (grub_ext2_open): Read size_high.
20411 Reported by: Ximin Luo.
20412 Tested by: Manoel Rebelo Abranches.
20413
5f0c02b3
VS
204142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * util/grub-install.in: Handle filenames containing spaces.
20417 Reported by: Jordan Uggla.
20418 Tested by: Jordan Uggla.
20419
4417aae6
VS
204202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 * util/grub-mkconfig.in (grub_script_check): New variable.
20423 Use grub_script_check instead of grub-script-check.
20424 Reported by: Barry Jackson.
20425
7625a68e
VS
204262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * docs/grub.texi (menu): Correct the order.
20429 Reported by: D. Hugh Redelmeier.
20430
10001ac5
VS
204312010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20434 jump.
20435
9c4cf53b
MRA
204362010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20437
10001ac5
VS
20438 * include/grub/elfload.h (grub_elf32_size): New parameter.
20439 All users updated.
9c4cf53b
MRA
20440 Return maximum segments alignment.
20441 (grub_elf64_size): Likewise.
20442 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20443 Return maximum segments alignment.
20444 (grub_elf64_size): Likewise.
20445 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20446 (grub_linux_claimmap_iterate): New function. Uses the
20447 "available" property in the "memory" node for memory allocation
20448 for kernel in the PowerPC loader.
9c4cf53b
MRA
20449 (grub_linux_load32): Correctly find linux entry point offset.
20450 (grub_linux_load64): Likewise.
20451
d2bf06bf
RM
204522010-11-07 Robert Millan <rmh@gnu.org>
20453
20454 On mips-yeeloong, build with -march=loongson2f when this flag is
20455 available (GCC >= 4.4).
20456 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20457 `-march=mips3'.
20458 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20459 or otherwise add -march=mips3.
20460
898c99a2
BC
204612010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20462
87220a68
BC
20463 Suppress shell expansion on echo '*' and echo "*" like cases.
20464 Reported by: Jordan Uggla.
898c99a2
BC
20465
20466 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20467 string arguments before shell expansion.
20468 * tests/grub_cmd_echo.in: New testcases.
20469
4f9b406a
RM
204702010-11-07 Robert Millan <rmh@gnu.org>
20471
20472 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20473 transition.
20474
80c6d25e
VS
204752010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * grub-core/kern/emu/hostdisk.c
20478 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20479
4a1a0153
VS
204802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20483 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20484 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20485
34706ddc
VS
204862010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20489
6972dea9
VS
204902010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * util/grub-install.in: Replace useless recomendation to pass
20493 --modules with a recomendation to report a bug.
20494
9c693bd6
VS
204952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 Properly register serial terminfo.
20498 Reported by: Jordan Uggla
20499
20500 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20501 const.
20502 (grub_serial_terminfo_output_template): Likewise.
20503 (grub_cmd_serial): Register "serial" with terminfo.
20504 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20505 grub_serial_terminfo_output.
20506
6c9e4c0c
RM
205072010-11-05 Robert Millan <rmh@gnu.org>
20508
20509 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20510 needed).
20511
b9b3839f
RM
205122010-11-05 Robert Millan <rmh@gnu.org>
20513
20514 On Yeeloong, pass machine type information to Linux.
20515
20516 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20517 (LOONGSON_MACHTYPE): New macro, set to
20518 "machtype=lemote-yeeloong-2f-8.9inches".
20519 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20520 additional argument to Linux.
20521
1a3aaff4
RM
205222010-11-04 Robert Millan <rmh@gnu.org>
20523
20524 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20525 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20526 (its SATA disks are detected as slaveless IDE master drives on
20527 kFreeBSD).
20528 Reported by Carsten Aulbert.
20529
a75f4f62
CW
205302010-11-02 Colin Watson <cjwatson@ubuntu.com>
20531
20532 * util/bin2h.c (main): Fix spelling error in generated output.
20533
33b4b0c6
GS
205342010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20535
20536 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20537
2b36fbf4
VS
205382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20541 vga= option is supplied.
20542
74aaf558
VS
205432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20546 * util/grub.d/10_kfreebsd.in: Likewise.
20547 * util/grub.d/10_linux.in: Likewise.
20548 * util/grub.d/20_linux_xen.in: Likewise.
20549
6428dec3
VS
205502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20553 argument as an argument to no-argument option.
20554
f8729d98
VS
205552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * util/grub.d/10_linux.in: Add missing load_video with explicit
20558 GRUB_GFXPAYLOAD_LINUX.
20559
89d68fa6
VS
205602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20563
3a1197cd
VS
205642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20567 elements with invlid index.
20568 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20569 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20570 members.
20571 * include/grub/raid.h (grub_raid_member): New struct.
20572 (grub_raid_array): Transform devices and start_sector into usage of
20573 grub_raid_member. All users updated
20574 (allocated_devs): New member.
20575
71574288
VS
205762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20579 is modified
20580
8d40ec65
BC
205812010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20582
20583 NetBSD build fix for getline function conflict from gnulib.
20584
20585 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20586 components that depend on gnulib headers.
20587 (libgrubmods.a): Renamed from earlier libgrub.a.
20588 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20589
95b9257e
VS
205902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20591
20592 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20593 install rather than creating a broken install.
20594
26c53dc6
VS
205952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * util/grub-setup.c (argp): Remove misleading example of installing to
20598 a partition.
20599
4171b3c5
VS
206002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * util/grub-setup.c (setup): Clarify the error message.
20603
18568d18
VS
206042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20607
4f6a2e21
VS
206082010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * grub-core/kern/emu/misc.c
20611 (grub_make_system_path_relative_to_its_root)
20612 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20613
206142010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20615
20616 * grub-core/kern/emu/misc.c
20617 (grub_make_system_path_relative_to_its_root): Revert r2882.
20618
e138c458
VS
206192010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20622 useless field head. All users updated.
20623 (free_subchunk): Correct handling of IN_REGION subchunk.
20624
0cbcdf0e
CW
206252010-10-22 Colin Watson <cjwatson@ubuntu.com>
20626
20627 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20628 (Supported kernels): Likewise.
20629
b65ea155
GS
206302010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20631
20632 Make mktemp invocations portable.
20633
20634 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20635 exit if mktemp fails.
20636 * tests/grub_script_blockarg.in: Likewise.
20637 * tests/partmap_test.in: Likewise.
20638 * tests/util/grub-shell-tester.in: Likewise.
20639 * tests/util/grub-shell.in: Likewise.
20640 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20641 * Makefile.am: Likewise, and chain shell commands with `&&'
20642 instead of ';'.
20643 * util/grub-mkrescue.in: Use the same explicit template as above, and
20644 exit if mktemp fails.
20645
05f43cdd
BC
206462010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20647
20648 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20649 Linux kernel, reported by Dennis Schridde.
20650
800e6a9b
SJ
206512010-10-17 Szymon Janc <szymon@janc.net.pl>
20652
20653 * grub-core/normal/auth.c (grub_auth_check_authentication):
20654 Set-but-not-used variable removed.
20655
d82df574
VS
206562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20659 32-bit linux protocol.
20660
7bced458
VS
206612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20664 cursor shape for sanity.
20665
5b027690
VS
206662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * docs/grub.texi (Installation): Document buggy BIOS install.
20669
ba5f65cf
VS
206702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * docs/grub.texi (Installation): Indent.
20673
fdf2ec9c
VS
206742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 * util/grub-setup.c (setup): New parameter allow_floppy.
20677 (arguments): New member allow_floppy.
20678 (argp_parser): Handle --allow-floppy.
20679 (main): Pass allow_floppy.
20680 * util/grub-install.in: New option --allow-floppy passed though to
20681 grub-setup.
20682
861dfd4c
VS
206832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * util/grub-install.in: Handle partitionless disks.
20686
f77a8c24
VS
206872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * util/grub-setup.c (setup): Don't clean blocklists before readability
20690 verfification.
20691
27d9ee32
VS
206922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * docs/grub.texi (Installation): Document embedding zone. Remove
20695 obsolete grub-install example.
20696
6bdda8f8
SJ
206972010-10-16 Szymon Janc <szymon@janc.net.pl>
20698
20699 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20700 Set-but-not-used variable ifdef'ed.
20701 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20702 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20703 variable removed.
20704 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20705 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20706 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20707 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20708 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20709 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20710 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20711 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20712 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20713 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20714 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20715 Likewise.
20716
e19b016b
VS
207172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20720 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20721 enum value.
20722
6c8d3002
VS
207232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20726 synonym to _S5_. Needed for some DSDTs.
20727
c32b51c9
VS
207282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Userspace ACPI parser debugging.
20731
20732 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20733 headers and add relevant defines. Don't include standard headers.
20734 (main) [GRUB_DSDT_TEST]: New function.
20735 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20736 Don't declare functions.
20737
fbfbeb39
VS
207382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 Remove dead grub_efi_mm_fini.
20741
20742 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20743 (ALLOCATED_PAGES_SIZE): Likewise.
20744 (MAX_ALLOCATED_PAGES): Likewise.
20745 (allocated_pages): Likewise.
20746 (grub_efi_allocate_pages): Don't record allocated pages.
20747 (grub_efi_free_pages): Likewise.
20748 (grub_efi_mm_init): Likewise.
20749 (grub_efi_mm_fini): Removed.
20750
65f7ed7c
VS
207512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20754 (grub_efi_mm_init): Take into account the memory map size increase.
20755
24977b44
VS
207562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20759 (serial_hw_put): Wait based on real time rather than port reads. Don't
20760 roken ports.
20761 * include/grub/serial.h (grub_serial_port): New field broken.
20762
1eb01cd2
RM
207632010-10-16 Robert Millan <rmh@gnu.org>
20764
20765 * grub-core/kern/emu/misc.c
20766 (grub_make_system_path_relative_to_its_root): Fix premature return
20767 when processing non-root ZFS filesystems.
5f8b440b 20768 Reported by Sergio Talens-Oliag.
1eb01cd2 20769
2d5fed60
RM
207702010-10-15 Robert Millan <rmh@gnu.org>
20771
20772 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20773 guarantee compressed ones are processed first.
20774
d0f4c1ea
VS
207752010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20776
20777 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20778 grub_efiemu_autocore.
20779
d87c681f
VS
207802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20783 rather than 0x1b.
20784 (grub_console_getkey): Use correct jae opcode rather than ja.
20785
219b3564
RM
207862010-10-12 Robert Millan <rmh@gnu.org>
20787
20788 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20789 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20790 variable. All references updated.
20791
20792 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20793
20c6bb7e
VS
207942010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 Correctly distinguish mdraid flavours.
20797
20798 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20799 (insert_array): New argument raid.
20800 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20801 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20802 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20803
74baff84
VS
208042010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20807 handling of special keys.
20808
3ef068df 208092010-10-02 Aleš Nesrsta <starous@volny.cz>
20810
c7980ad9
VS
20811 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20812 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20813
a9455194 208142010-10-02 Aleš Nesrsta <starous@volny.cz>
20815
c7980ad9
VS
20816 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20817 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20818 users updated.
a9455194 20819 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20820 Use right endpoint when querying descriptor.
a9455194 20821
441cfe65
VS
208222010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 Clear out 0x80 color bit on EFI.
20825 Tested by: decoder
20826 Reported by: decoder and meta tech.
20827
20828 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20829 (grub_console_setcolorstate): Clear out 0x80 bit.
20830 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20831 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20832 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20833
bf26bcc4
VS
208342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20837 Set to "auto".
20838
6e3c515d
VS
208392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20842 mo_file after freeing.
20843
e6d983ba
VS
208442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20845
20846 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20847
74ccb5b5
VS
208482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20851 flags.
20852
17821956
VS
208532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20856 usage.
20857
ee74fa48
VS
208582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20861
20862 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20863 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20864 and terminfo.h when needed.
20865 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20866 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20867 (terminfo): Enable only on terminfokernel.
20868 (extcmd): Likewise.
20869 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20870 * include/grub/lib/arg.h: Likewise.
20871 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20872 incorrect usage of ->.
20873
aa438e68
VS
208742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20875
20876 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20877 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20878
57994012
VS
208792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 Fix coreboot compilation.
20882
20883 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20884 Take VBE info into account even if only text is supported.
20885 (fill_vbe_info): Take into account the case when only VGA text
20886 is supported.
20887 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20888 on coreboot, multiboot and qemu.
20889
2a406611
VS
208902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20893 debug messages.
20894 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20895
d33613fc
VS
208962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20899 parameters.
20900
44a1b432
VS
209012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20904 if they were BSD-style.
20905
edde54e6
VS
209062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * grub-core/boot/i386/pc/lnxboot.S: Replace
20909 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20910 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20911
b65830fa
VS
209122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 Write embedding zone using Reed-Solomon.
20915
20916 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20917 * grub-core/Makefile.am (rs_decoder.S): New target.
20918 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20919 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20920 (multiboot): Move to RS part.
20921 (post_reed_solomon): New label.
20922 (grub_boot_drive): Move to non-RS part since it's modified in memory
20923 on boot.
20924 Include rs_decoder.S.
20925 * grub-core/lib/reed_solomon.c: New file.
20926 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20927 New definition.
20928 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20929 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20930 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20931 * include/grub/partition.h (grub_partition_map): Change prototype of
20932 embed to allow returning additional sectors.
20933 * include/grub/reed_solomon.h: New file.
20934 * util/grub-setup.c (setup): Handle Reed-Solomon.
20935
0b4b227f
CW
209362010-09-28 Colin Watson <cjwatson@ubuntu.com>
20937
20938 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20939 i386 and x86-64 definedness tests.
20940
f772623b
YB
209412010-09-27 Yves Blusseau <blusseau@zetam.org>
20942
20943 Fix generation of kernel_syms.lst
20944
20945 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20946 ASM_PREFIX
20947
8e57a6ca
RM
209482010-09-26 Robert Millan <rmh@gnu.org>
20949
20950 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20951
20952 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20953 the pool is an array of devices, iterate through it and return the
20954 first device that passes a stat() test (instead of blindly returning
20955 the first one).
20956
f9130836
RM
209572010-09-26 Robert Millan <rmh@gnu.org>
20958
20959 Build fixes for GNU/kFreeBSD.
20960
20961 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20962 to programs that require ZFS conversion.
20963 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20964 kernels that don't have FLOPPY_MAJOR.
20965
96510faf
BC
209662010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20967
20968 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20969
449333eb
BC
209702010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20971
20972 Fix grub-emu build.
20973
20974 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20975 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20976 mdraid09 and mdraid1x.
20977
e1fd1939
CW
209782010-09-24 Colin Watson <cjwatson@ubuntu.com>
20979
20980 Re-enable grub-extras.
20981
20982 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20983 avoid confusing Automake. Run autogen only twice, once for the top
20984 level and once for grub-core. Add Makefile.util.def and
20985 Makefile.core.def from extra modules to the appropriate autogen
20986 invocations. If Makefile.common exists in an extra module, include
20987 it in both Makefile.util.am and grub-core/Makefile.core.am;
20988 similarly, include any Makefile.util.common file in Makefile.util.am
20989 and any Makefile.core.common file in grub-core/Makefile.core.am.
20990 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20991 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20992 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20993 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20994
20995 * gentpl.py (gvar_add): Turn GVARS into a set.
20996 (global_variable_initializers): Sort global variables on output.
20997 (vars_init): New function.
20998 (first_time): Likewise.
20999 (library): Ensure that non-global variable initialisations are
21000 emitted before the first time we emit code for a library block.
21001 Append to variables rather than setting them. Only emit
21002 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21003 each conditional path.
21004 (program): installdir() emits an Autogen macro, so must be passed to
21005 var_add rather than gvar_add.
21006 (data): Likewise.
21007 (script): Likewise.
21008 (rules): New function, centralising handling for different target
21009 types. Set up Guile association lists for first_time and vars_init,
21010 and send most output to a diversion so that variable initialisations
21011 can be emitted first.
21012 (module_rules): Use new rules function.
21013 (kernel_rules): Likewise.
21014 (image_rules): Likewise.
21015 (library_rules): Likewise.
21016 (program_rules): Likewise.
21017 (script_rules): Likewise.
21018 (data_rules): Likewise.
21019
21020 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21021
21022 * .bzrignore: Add contrib and grub-core/contrib. Remove
21023 grub-core/Makefile.gcry.am.
21024
1d12cf29
YB
210252010-09-24 Yves Blusseau <blusseau@zetam.org>
21026
21027 * grub-core/lib/LzFind.c: Add missing include.
21028 * grub-core/lib/LzmaEnc.c: Likewise.
21029 * grub-core/script/lexer.c: Likewise.
21030 * grub-core/script/yylex.l: Likewise.
21031 * util/grub-macho2img.c: Likewise.
21032 * util/grub-menulst2cfg.c: Likewise.
21033 * util/grub-mklayout.c: Likewise.
21034 * util/grub-mkpasswd-pbkdf2.c
21035 * util/grub-mkrelpath.c: Likewise.
21036 * util/resolve.c: Likewise.
21037
dd363028
BC
210382010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21039
21040 * Makefile.util.def (example_unit_test): Add
21041 grub-core/gnulib/libgnu.a.
21042
f5a109e2
GS
210432010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21044
21045 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21046
6d0fa83c
VS
210472010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Support xz compression on yeeloong.
21050
21051 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21052 * configure.ac: Check for LZMA.
21053 * grub-core/Makefile.core.def (xz_decompress): New target.
21054 (none_decompress): Likewise.
21055 * grub-core/boot/decompressor/minilib.c: New file.
21056 * grub-core/boot/decompressor/none.c: Likewise.
21057 * grub-core/boot/decompressor/xz.c: Likewise.
21058 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21059 * grub-core/kern/mips/cache_flush.S: Likewise.
21060 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21061 * grub-core/kern/mips/startup.S: Move first stage to ...
21062 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21063 nomacro.
21064 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21065 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21066 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21067 Allocate statically.
21068 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21069 Allocate statically or use scratch. Don't check CRC32.
21070 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21071 Allocate statically. Don't check CRC32.
21072 * include/grub/decompressor.h: New file.
21073 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21074 Removed.
21075 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21076 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21077 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21078 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21079 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21080 * util/grub-mkimage.c (grub_compression_t): New type.
21081 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21082 (image_target_desc): New field default_compression.
21083 (image_targets): Adjust yeeloong targets.
21084 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21085 (compress_kernel): New parameter comp.
21086 (generate_image): Likewise. Handle new compression case.
21087 (options): New option --compression
21088 (help): Likewise.
21089 (main): Handle new option.
21090
1b655af6
GS
210912010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21092
21093 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21094
8f03f0b5
CW
210952010-09-22 Colin Watson <cjwatson@ubuntu.com>
21096
21097 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21098 typo in __i386__ conditional.
21099
7835dfd3
VS
211002010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21103 include.
21104
e255597e
VS
211052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21106
6d0fa83c 21107 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21108
21109 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21110 new tags as supported.
21111 (acpiv2_size): New function.
21112 (grub_multiboot_get_mbi_size): Take new tags into account.
21113 (grub_multiboot_make_mbi): Add new tags.
21114 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21115
6cc14051 211162010-09-21 Aleš Nesrsta <starous@volny.cz>
21117
21118 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21119 Added missing configuration of USB device.
21120
df7769d8
CW
211212010-09-21 Colin Watson <cjwatson@ubuntu.com>
21122
21123 * grub-core/normal/menu_entry.c (run): Make sure we always return
21124 a value.
21125
b031012d
CW
211262010-09-21 Colin Watson <cjwatson@ubuntu.com>
21127
21128 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21129 NumberOfPages is UINT64 according to the UEFI specification, not
21130 UINTN. Fix printf format.
21131
174de8f3
CW
211322010-09-21 Colin Watson <cjwatson@ubuntu.com>
21133
21134 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21135 `err' to grub_usb_err_t.
21136 Reported and tested by: KESHAV P.R.
21137
d7dbe923
CW
211382010-09-21 Colin Watson <cjwatson@ubuntu.com>
21139
21140 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21141 tpart non-const, so that we can assign to it. (Since this is a
21142 typedef, the constness refers to the pointer rather than what it
21143 points to.)
21144
8d5e2af3
CW
211452010-09-21 Colin Watson <cjwatson@ubuntu.com>
21146
21147 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21148 $(top_srcdir)/grub-core/gnulib as well as
21149 $(top_builddir)/grub-core/gnulib.
21150 Reported by: KESHAV P.R.
21151
5c527783
CW
211522010-09-21 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub-install.in: Fix the bootloader ID option to be
21155 consistently --bootloader-id, not --bootloader_id.
21156 Reported by: KESHAV P.R.
21157
d309a16e
CW
211582010-09-21 Colin Watson <cjwatson@ubuntu.com>
21159
21160 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21161 check hash checksum." consistently translatable.
21162
b830cd16
YB
211632010-09-21 Yves Blusseau <blusseau@zetam.org>
21164
21165 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21166 $(top_builddir).
21167
c4fe27a8
CW
211682010-09-21 Colin Watson <cjwatson@ubuntu.com>
21169
21170 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21171 (GRUB_MOD_INIT): Register sha1sum command.
21172 (GRUB_MOD_FINI): Unregister sha1sum command.
21173
a4c1d277
YB
211742010-09-21 Yves Blusseau <blusseau@zetam.org>
21175
21176 Keep boot and grub directory names in sync with utils scripts
21177
21178 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21179 * config.h.in: Add previous macros.
21180 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21181 * util/grub-install.in: Use $bootdir and $grubdir variables.
21182
4eff79d2
CW
211832010-09-21 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21186 convert partition names to disk names if the new `convert' parameter
21187 is set.
21188 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21189 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21190 disk in its own right. This can happen with Xen disk images.
21191
934d7e44
YB
211922010-09-21 Yves Blusseau <blusseau@zetam.org>
21193
21194 * util/grub-editenv.c: Update strings to avoid warnings when generating
21195 grub.pot file.
21196 * util/grub-setup.c: Likewise.
934d7e44 21197
df3367cc
VS
211982010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * configure.ac: Change version to 1.99~beta0.
21201
77a94e98
VS
212022010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21205 Add BADRAM.
21206 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21207 Likewise.
21208 * include/multiboot.h: Resynced with specification.
21209 * include/multiboot2.h: Likewise.
21210
269004c1
CW
212112010-09-21 Colin Watson <cjwatson@ubuntu.com>
21212
21213 Fix po directory handling.
21214
21215 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21216 * grub-core/gnulib/Makefile.am: Import gettext module.
21217 * m4/gnulib-cache.m4: Likewise.
21218 * m4/gnulib-comp.m4: Likewise.
21219 * m4/gettext.m4: New file, from gnulib.
21220 * m4/glibc2.m4: Likewise.
21221 * m4/iconv.m4: Likewise.
21222 * m4/intdiv0.m4: Likewise.
21223 * m4/intl.m4: Likewise.
21224 * m4/intldir.m4: Likewise.
21225 * m4/intlmacosx.m4: Likewise.
21226 * m4/intmax.m4: Likewise.
21227 * m4/inttypes-pri.m4: Likewise.
21228 * m4/lcmessage.m4: Likewise.
21229 * m4/lib-ld.m4: Likewise.
21230 * m4/lib-link.m4: Likewise.
21231 * m4/lib-prefix.m4: Likewise.
21232 * m4/lock.m4: Likewise.
21233 * m4/nls.m4: Likewise.
21234 * m4/po.m4: Likewise.
21235 * m4/printf-posix.m4: Likewise.
21236 * m4/progtest.m4: Likewise.
21237 * m4/threadlib.m4: Likewise.
21238 * m4/uintmax_t.m4: Likewise.
21239 * m4/visibility.m4: Likewise.
21240 * po/Makefile.am: Remove.
21241 * po/Makefile.in.in: New file, from gettext.
21242 ($(DOMAIN).pot-update): Support POTFILES-shell.
21243 * po/Makevars: New file.
21244 * po/POTFILES-shell: Rename to ...
21245 * po/POTFILES-shell.in: ... this. Update.
21246 * po/POTFILES: Rename to ...
21247 * po/POTFILES.in: ... this. Update.
21248 * po/Rules-quot: New file, from gettext.
21249 * po/boldquot.sed: Likewise.
21250 * po/en@boldquot.header: Likewise.
21251 * po/en@quot.header: Likewise.
21252 * po/insert-header.sin: Likewise.
21253 * po/quot.sed: Likewise.
21254 * po/remove-potcdate.sin: Likewise.
21255
3e0fa5d0
VS
212562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21259
ade9bd66
VS
212602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 * util/grub.d/20_linux_xen.in: Use submenus.
21263
fc55cc4c
VS
212642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 Support submenus.
21267
21268 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21269 parameter submenu. All users updated.
21270 * grub-core/normal/main.c (free_menu): Rename to ...
21271 (grub_normal_free_menu): ... this. Made global.
21272 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21273 if requested.
21274 * grub-core/normal/menu_entry.c (screen): New field submenu.
21275 (make_screen): Set submenu.
21276 (run): Open new context if requested.
21277 * include/grub/menu.h (grub_menu_entry): New field submenu.
21278 * include/grub/normal.h (grub_normal_free_menu): New proto.
21279
600cedf7
VS
212802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 Menu entries extractor.
21283
21284 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21285 variants.
21286 (GRUB_MOD_INIT): Register new variants.
21287 (GRUB_MOD_FINI): Unregister new variants.
21288 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21289 into grub_cmd_legacy_source.
21290 (grub_cmd_legacy_source): Implement extractor variants.
21291 (GRUB_MOD_INIT): Register new variants.
21292 (GRUB_MOD_FINI): Unregister new variants.
21293 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21294 as an extractor.
21295 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21296 search as an extractor.
21297 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21298 test as an extractor.
21299 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21300 as an extractor.
21301 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21302 (grub_env_new_context): New function.
21303 (grub_env_context_open): Likewise.
21304 (grub_env_extractor_open): Likewise.
21305 (grub_env_extractor_close): Likewise.
21306 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21307 grub_extractor_level.
21308 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21309 * include/grub/env.h (grub_env_extractor_open): New proto.
21310 (grub_env_extractor_close): Likewise.
21311 * include/grub/normal.h (grub_extractor_level): New external variable.
21312
7bda3a87
VS
213132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21314
21315 Make cutmem accept a region specification.
21316 Suggested by: Samuel Thibault
21317
21318 * grub-core/mmap/mmap.c (parsemem): New function.
21319 (grub_cmd_cutmem): Handle new arguments.
21320
2ea57f88
VS
213212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 New command cutmem.
21324
21325 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21326 (GRUB_MOD_INIT): Register new command.
21327 (GRUB_MOD_FINI): Unregister new command.
21328
74342e31
VS
213292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 Support some annoying BSD and Minix subpartitions.
21332
21333 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21334 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21335 Properly handle concatenation.
21336 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21337 * grub-core/normal/completion.c (iterate_partition): Likewise.
21338 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21339 contain partition. All users updated.
21340 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21341 struct.
21342 (grub_openbsdlabel_partition_map): Likewise.
21343 (bsdlabel_partition_map_iterate): Rename to ..
21344 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21345 (bsdlabel_partition_map_iterate): New function.
21346 (netopenbsdlabel_partition_map_iterate): Likewise.
21347 (netbsdlabel_partition_map_iterate): Likewise.
21348 (openbsdlabel_partition_map_iterate): Likewise.
21349 (GRUB_MOD_INIT): Register new partmaps.
21350 (GRUB_MOD_FINI): Unregister new partmaps.
21351 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21352 (grub_partition_msdos_iterate): ... this. All users updated.
21353 Don't support embedding other than in a minix partition.
21354 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21355 proto.
21356 * include/grub/partition.h (grub_partition): New field msdostype.
21357 * util/grub-install.in: Handle openbsd and netbsd types being in
21358 part_bsd module.
21359
1e8d555b
VS
213602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21363
21364 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21365 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21366 (mdraid09): ... this.
21367 (mdraid1x): New module.
21368 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21369 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21370
899d8af4
VS
213712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21374 vsprintf.
21375
40901acd
CW
213762010-09-20 Colin Watson <cjwatson@ubuntu.com>
21377
21378 * grub-core/commands/efi/lsefimmap.c: Correct header.
21379 * NEWS: Update.
21380
dfe3b247
CW
213812010-09-20 Colin Watson <cjwatson@ubuntu.com>
21382
21383 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21384 as printf format strings; the translations might contain '%' which
21385 could cause a crash.
21386 (main): Likewise.
21387 * util/grub-fstest.c (argp_parser): Likewise.
21388 * util/grub-setup.c (argp_parser): Likewise.
21389 (main): Likewise.
21390
3286a4b4
VS
213912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 Use argp in grub-fstest.
21394
21395 * util/grub-fstest.c: Don't include getopt.h.
21396 Include argp.h.
21397 (root): New variable.
21398 (args_count): Likewise.
21399 (nparm): Likewise.
21400 (num_disks): Likewise.
21401 (images): Likewise.
21402 (cmd): Likewise.
21403 (debug_str): Likewise.
21404 (args): Likewise.
21405 (options): Transformed to argp.
21406 (usage): Removed.
21407 (main): Split argument parsing into ...
21408 (argp_parser): ... this. Changed to argp format.
21409 (argp): New variable.
21410 (main): Use argp_parse.
21411
3dccbe4b
TG
214122010-09-20 Tristan Gingold <gingold@free.fr>
214132010-09-20 Robert Millan <rmh.grub@aybabtu.com>
214142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21415
21416 * grub-core/commands/efi/lsefimmap.c: New file.
21417 * grub-core/Makefile.core.def (lsefimmap): New module.
21418 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21419
38c259a7
VS
214202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 Pause the execution (10s max) if any errors are displayed so the user
21423 has a chance to see them.
21424
21425 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21426 (grub_print_error): Increment grub_err_printed_errors.
21427 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21428 execution if any errors were displayed.
21429 (show_menu): Remove old code for pause.
21430 * grub-core/normal/menu_entry.c (run): Likewise.
21431 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21432 users updated.
21433 (grub_normal_get_char_counter): Likewise.
21434 * include/grub/err.h (grub_err_printed_errors): New external variable.
21435 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21436
f218b09c
VS
214372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Support multiboot VBE info.
21440
21441 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21442 Take VBE info into account.
21443 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21444 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21445 Call fill_vbe_info when appropriate.
21446 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21447 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21448 as supported.
21449 (grub_multiboot_get_mbi_size): Take new tags into account.
21450 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21451 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21452 Call fill_vbe_tag when appropriate.
21453 (grub_multiboot_make_mbi): Properly align tags.
21454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21455 function.
21456 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21457 proto.
21458 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21459
a9cc5438
VS
214602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 Suport manual terminal geometry specification.
21463
21464 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21465 Save state in grub_ofconsole_terminfo_output.
21466 (grub_ofconsole_term): Use grub_terminfo_getwh.
21467 (grub_ofconsole_getwh): Removed.
21468 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21469 (grub_serial_term): Use grub_terminfo_getwh.
21470 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21471 (options): New struct.
21472 (OPTION_*): New enum.
21473 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21474 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21475 width and height.
21476 (grub_terminfo_getwh): New proto.
21477 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21478
1a8fed20
VS
214792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 Handle legacy "terminal" command.
21482
21483 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21484 and FLAG_TERMINAL.
21485 (legacy_commands): Add terminal and title.
21486 (grub_legacy_parse): Handle terminal. Simplify title handling.
21487
41e9c57d
VS
214882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21489
21490 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21491 parameters overflow.
21492
61c874c5
CW
214932010-09-20 Colin Watson <cjwatson@ubuntu.com>
21494
21495 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21496 widthspec.h.
21497
21498 * docs/grub.texi (Shell-like scripting): Document `!'.
21499 (Network): Simplify using new i386-pc-pxe format. Mention
21500 grub-mknetdir.
21501
21502 * NEWS: Update.
21503
943682b4
CW
215042010-09-20 Colin Watson <cjwatson@ubuntu.com>
21505
21506 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21507 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21508 when needed.
21509
6d3d698d
CW
215102010-09-20 Colin Watson <cjwatson@ubuntu.com>
21511
21512 * grub-core/commands/efi/lsefisystab.c: Correct header.
21513 * grub-core/commands/efi/lssal.c: Likewise.
21514 * grub-core/commands/testload.c: Likewise.
21515
c982589f
CW
215162010-09-20 Colin Watson <cjwatson@ubuntu.com>
21517
21518 * util/grub-mkrescue.in: Add explicit root argument to --set to
21519 prevent the UUID being interpreted as an argument to --set (matches
21520 previous change to prepare_grub_to_access_device).
21521
a63c31b6
CW
215222010-09-20 Colin Watson <cjwatson@ubuntu.com>
21523
21524 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21525 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21526 the verbosity of later #ifs.
21527 (find_partition_start): Define this function on FreeBSD too.
21528 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21529 function.
21530 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21531 on FreeBSD.
21532
6439b8ee
YB
215332010-09-20 Yves Blusseau <blusseau@zetam.org>
21534
21535 * util/grub-editenv.c: Use argp instead of getopt.
21536
c5930ec8
YB
215372010-09-20 Yves Blusseau <blusseau@zetam.org>
21538
21539 * util/grub-setup.c: Use argp instead of getopt.
21540
15c69261
YB
215412010-09-20 Yves Blusseau <blusseau@zetam.org>
21542
21543 Use gnulib-tool to create gnulib source files.
21544
21545 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21546 grub-core/gnulib directories
21547 * .bzignore: Add **/.deps and autogenerated gnulib files
21548 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21549 of gnulib macros, add grub-core/gnulib/Makefile
21550 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21551 include m4 directory to aclocal.
21552 * Makefile.util.def: Remove direct compilation of gnulib source files
21553 and use the new grub-core/gnulib/libgnu.a.
21554 * build-aux/config.rpath: move config.rpath from top directory to
21555 build-aux
21556 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21557 in gnulib headers
21558 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21559 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21560 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21561 header.
21562 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21563 string.
21564
e511c9f5
YB
215652010-09-20 Yves Blusseau <blusseau@zetam.org>
21566
21567 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21568 grub-core/genmod.sh and grub-core/gensyminfo.sh
21569
c2dede05
BC
215702010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21571
21572 Add a test for echo command options.
21573
21574 * tests/grub_cmd_echo.in: New test.
21575 * Makefile.util.def: Rules for new test.
21576
c55f5018
SJ
215772010-09-20 Szymon Janc <szymon@janc.net.pl>
21578
21579 Remove crc.mod and move crc command to hashsum.mod.
21580 Remove lib/crc.c - users updated to use gcrypt implementation.
21581
21582 * grub-core/commands/crc.c: Removed.
21583 * grub-core/Makefile.core.def (crc): Module removed.
21584 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21585 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21586 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21587 * grub-core/lib/crc.c: Removed.
21588 * include/grub/lib/crc.h: Removed.
21589 * Makefile.util.def (crc): Remove lib/crc.c
21590 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21591 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21592 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21593 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21594 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21595 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21596
e0337366
VS
215972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21600
742f9232
VS
216012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Split config.h for util and core.
21604
21605 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21606 (ADDR32): Likewise.
21607 (DATA32): Likewise.
21608 (BSS_START_SYMBOL): Likewise.
21609 (END_SYMBOL): Likewise.
21610 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21611 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21612 * config.h.in: New file.
21613 * configure.ac: Use config-util.h as config define file.
21614 Rename MACHINE into GRUB_MACHINE. All users updated.
21615 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21616 updated.
21617 (NESTED_FUNC_ATTR): Likewise.
21618 Substitue new variables.
21619 (COND_HAVE_ASM_USCORE): New conditional.
21620 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21621 (kernel_syms.lst): Use ASM_PREFIX.
21622 * grub-core/kern/emu/console.c: Include config-util.h.
21623 * grub-core/kern/emu/misc.c: Likewise.
21624 * grub-core/kern/emu/mm.c: Likewise.
21625 * include/grub/emu/misc.h: Likewise.
21626 * include/grub/libgcc.h: Likewise.
21627
39feb0e8
VS
216282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21631 constants usage.
21632 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21633 Fix GRUB_TERM_KEY_* constants usage.
21634 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21635
9af6dac3
VS
216362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21639 print pointer.
21640 * grub-core/bus/usb/uhci.c: Remove empty define.
21641 (grub_uhci_check_transfer): Add missing cast.
21642 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21643 print pointer.
21644 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21645 PRIuGRUB_SIZE.
21646 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21647
d6d94820
VS
216482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * grub-core/Makefile.core.def (legacycfg): Add
21651 lib/i386/pc/vesa_modes_table.c on emu.
21652
3572f2b6
BC
216532010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21654
21655 Reduce number of temporary files generated by build system.
21656
21657 * grub-core/gencmdlist.sh: Removed.
21658 * grub-core/genfslist.sh: Removed.
21659 * grub-core/genhandlerlist.sh: Removed.
21660 * grub-core/genmodsrc.sh: Removed.
21661 * grub-core/genpartmaplist.sh: Removed.
21662 * grub-core/genparttoollist.sh: Removed.
21663 * grub-core/gentermiinallist.sh: Removed.
21664 * grub-core/genvideolist.sh: Removed.
21665
21666 * grub-core/genmod.sh.in: New file.
21667 * grub-core/gensyminfo.sh.in: New file.
21668
21669 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21670 * conf/Makefile.extra-dist: Update with new files.
21671 * gentpl.py: Remove rules related to unnecessary temporary files.
21672 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21673 and und-* files.
21674 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21675 genmod.sh scripts.
21676 * grub-core/bus/usb/uhci.c: Remove empty #define.
21677 * grub-core/genmoddep.awk: Updated with new syminfo format.
21678 * util/bash-completion.d/Makefile.am: Add config.log to
21679 CLEANFILES.
21680
c836b030
YB
216812010-09-19 Yves Blusseau <blusseau@zetam.org>
21682
21683 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21684
2f4e8053
BC
216852010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21686
21687 * util/grub-mkconfig.in: Check the config script for syntax errors
21688 before saving.
21689
75831c34
CW
216902010-09-19 Colin Watson <cjwatson@ubuntu.com>
216912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21694 platforms.
21695 * util/grub-install.in: Add EFI and IEEE1275 support.
21696 * util/i386/efi/grub-install.in: Removed.
21697 * util/ieee1275/grub-install.in: Likewise.
21698
eaf41b25
VS
216992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21702 (grub_cmd_cmosclean): Likewise.
21703 (GRUB_MOD_INIT): Register command cmosclean.
21704 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21705 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21706
1a9130dd
CPE
217072010-09-18 Carles Pina i Estany <carles@pina.cat>
217082010-09-18 Aleš Nesrsta <starous@volny.cz>
217092010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 Add keyboard layouts support.
21712
21713 * Makefile.util.def (grub-mklayout): New file.
21714 (grub-kbdcomp): New script.
21715 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21716 Add keyboard_layouts.h.
21717 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21718 commands/boot.c on yeeloong.
21719 (keylayouts): New module.
21720 * grub-core/bus/usb/ohci.c
21721 * grub-core/bus/usb/uhci.c
21722 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21723 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21724 (attach_root_port): Likewise.
21725 (poll_nonroot_hub): Likewise.
21726 (grub_usb_poll_devices): Likewise.
21727 (detach_device): Close transfer.
21728 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21729 function.
21730 (grub_usb_bulk_setup_readwrite): Likewise.
21731 (grub_usb_bulk_finish_readwrite): Likewise.
21732 * grub-core/commands/keylayouts.c: New file.
21733 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21734 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21735 aliases.
21736 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21737 support scancode 2.
21738 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21739 * include/grub/keyboard_layouts.h: New file.
21740 * util/grub-mklayout.c: New file.
21741 * util/grub-kbdcomp.in: Likewise.
21742
a1d84a5e
VS
217432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Unify memory types.
21746
21747 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21748 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21749 types.
21750 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21751 (grub_upper_mem): Likewise.
21752 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21753 * include/grub/memory.h (grub_memory_type_t): New enum.
21754 All users updated.
21755
9696382e
VS
217562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * grub-core/Makefile.core.def (lsapm): New module.
21759 * grub-core/commands/i386/pc/lsapm.c: New file.
21760 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21761 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21762 Likewise.
21763 * include/grub/i386/pc/apm.h: New file.
21764 * include/multiboot.h (multiboot_apm_info): New struct.
21765
217662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 GRUB-legacy configuration file support.
21769
21770 * Makefile.util.def (grub-menulst2cfg): New util.
21771 * docs/man/grub-menulst2cfg.h2m: New file.
21772 * grub-core/Makefile.core.def (legacycfg): New module.
21773 * grub-core/commands/legacycfg.c: New file.
21774 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21775 (grub_normal_add_menu_entry): ... this.
21776 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21777 (grub_normal_set_password): ...this.
21778 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21779 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21780 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21781 * grub-core/lib/legacy_parse.c: New file.
21782 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21783 * include/grub/i386/pc/vesa_modes_table.h: New file.
21784 * include/grub/legacy_parse.h: Likewise.
21785 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21786 * util/grub-menulst2cfg.c: New file.
21787
bf8d1338
CW
217882010-09-17 Colin Watson <cjwatson@ubuntu.com>
21789
21790 * grub-core/kern/emu/hostdisk.c
21791 (convert_system_partition_to_system_disk): Initialise node.
21792
9c0bad2e
CW
217932010-09-17 Colin Watson <cjwatson@ubuntu.com>
21794
21795 * grub-core/kern/emu/hostdisk.c
21796 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21797 leak.
21798 Reported and based on patch by: Modestas Vainius.
21799
a939d135
CW
218002010-09-17 Colin Watson <cjwatson@ubuntu.com>
21801
21802 Fix DM-RAID probing with recent versions of device-mapper udev
21803 rules.
21804
21805 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21806 canonicalise device paths under /dev/mapper/.
21807 (convert_system_partition_to_system_disk): Compare the
21808 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21809 path, since device nodes under /dev/mapper/ are often symlinks.
21810
0f7ee3c9
YB
218112010-09-17 Yves Blusseau <blusseau@zetam.org>
21812
21813 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21814
10854d0d
YB
218152010-09-16 Yves Blusseau <blusseau@zetam.org>
21816
21817 * configure.ac: Avoid some annoying error messages if freetype-config
21818 program is not found.
21819
108538d8
CW
218202010-09-16 Colin Watson <cjwatson@ubuntu.com>
21821
21822 Support RAID on virtio devices, and others.
21823
21824 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21825 Rename to ...
21826 [__MINGW32__] (grub_find_device): ... this.
21827 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21828 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21829 reasonable default if dir is NULL.
21830 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21831 ...
21832 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21833 (grub_guess_root_device): Update callers.
21834 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21835
21836 * util/raid.c (grub_util_getdiskname): Remove.
21837 (grub_util_raid_getmembers): Use grub_find_device rather than
21838 grub_util_getdiskname.
21839
e5bfc130
CW
218402010-09-16 Colin Watson <cjwatson@ubuntu.com>
21841
21842 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21843 needing to be compiled with serial support.
21844 (ls): Indicate that multiple files are accepted.
21845 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21846 indicate that multiple files are accepted.
21847
be458ae2
CW
218482010-09-16 Colin Watson <cjwatson@ubuntu.com>
21849
21850 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21851 libgrub_a_init.c, and util/bash-completion.d/grub.
21852
cb731b5e
VS
218532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * util/grub-setup.c (setup): Fix incorrect container semantics.
21856
35139e8a
VS
218572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21860 misusage.
21861 Reported by: J. Nick Terry
21862
e50fca4a
VS
218632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21864
21865 Move embedding routines to partmap sources files.
21866
21867 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21868 [GRUB_UTIL]: New variable.
21869 (gpt_partition_map_iterate): Set part.parent.
21870 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21871 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21872 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21873 New function.
21874 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21875 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21876 (grub_partition_map) [GRUB_UTIL]: New field embed.
21877 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21878 (setup): Use ->embed.
21879
f00478b7
VS
218802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21883 function.
21884 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21885 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21886
2b94e3ff
YB
218872010-09-15 Yves Blusseau <blusseau@zetam.org>
21888
21889 Add function to get completions from usage.
21890
21891 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21892 completions from usage. Use LC_ALL=C to get options properly.
21893
2e04a006
VS
218942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 * grub-core/gnulib/basename-lgpl.c: Imported.
21897 * grub-core/gnulib/basename.c: Likewise.
21898 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21899 * grub-core/gnulib/dirname.c: Likewise.
21900 * grub-core/gnulib/dirname.h: Likewise.
21901 * grub-core/gnulib/stripslash.c: Likewise.
21902
5dcdf93a
VS
219032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * grub-core/gnulib/error.c: Resynced.
21906 * grub-core/gnulib/getopt.c: Likewise.
21907 * grub-core/gnulib/getopt_int.h: Likewise.
21908 * grub-core/gnulib/regex.h: Likewise.
21909 * grub-core/gnulib/regex_internal.c: Likewise.
21910 * grub-core/gnulib/regex_internal.h: Likewise.
21911
014f47b7
SJ
219122010-09-15 Szymon Janc <szymon@janc.net.pl>
21913
21914 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21915 CRC calculations and validity checks.
21916 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21917 calculations.
21918
dd521a4a
SJ
219192010-09-15 Szymon Janc <szymon@janc.net.pl>
21920
21921 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21922
79c4eeb9
VS
219232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 Fix incorrect echo options handling.
21926 Reported by: Yves Blusseau.
21927
21928 * include/grub/command.h (grub_command_flags_t): New flags
21929 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21930 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21931 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21932
ed80f7d5
VS
219332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21934
21935 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21936 users updated.
21937 (GRUB_COMMAND_FLAG_MENU): Likewise.
21938 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21939 (GRUB_COMMAND_FLAG_TITLE): Removed.
21940 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21941 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21942 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21943 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21944 (grub_command_flags_t): New enum. All users updated.
21945
5fe7620a
SG
219462010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21947
21948 Fix solaris compilation.
21949
21950 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21951 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21952 (grub-emu-list): Likewise.
21953
545b752f
VS
219542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 Remove deprecated root command.
21957
21958 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21959 updated.
21960
6c1a338c
VS
219612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * util/i386/pc/grub-setup.c: Merge this ...
21964 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21965 * util/grub-setup.c: ... into this.
21966 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21967 New struct.
21968
219692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21972 possible.
21973
d2ea4551
VS
219742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21975
21976 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21977 allocate p.
21978
3c3b5040
VS
219792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21980
21981 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21982 explicit root argument to set to prevent UUID to be interpreted as
21983 argument to set.
21984
b71c3fae
VS
219852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21988
275433e6
VS
219892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 Don't export grub_gate_a20.
21992
21993 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21994 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21995 to ...
21996 (grub_gate_a20): ... this. All users updated.
21997 * include/grub/i386/pc/init.h: Removed. All users updated.
21998
a5dbb1f1
VS
219992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 Create euro.pf2 which supports most European languages.
22002
22003 * Makefile.am (grubdata_DATA): Add euro.pf2.
22004 (euro.pf2): New target.
22005 (CLEANFILES): Add euro.pf2.
22006
62a747cb
VS
220072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * configure.ac: Disable emu-usb by default to prevent inadvertent
22010 device takeover.
22011
608e43b1
VS
220122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 Disable usbserial on grub-emu since our libusb code isn't good enough
22015 yet.
22016
22017 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22018 (usbserial_pl2303): Likewise.
22019 (usbserial_ftdi): Likewise.
22020
94564f81
VS
220212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 * include/grub/disk.h (grub_disk): Remove has_partitions.
22024 All users updated.
22025 * disk/loopback.c (grub_loopback): Remove has_partitions.
22026 All users updated.
22027 (options): Remove partitions. All users updated.
22028 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22029 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22030 actual partition table is found.
22031
3352800b
VS
220322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 Remove readability checks (too many false negatives).
22035
22036 * util/grub-install.in: Remove readability checks.
22037 * util/grub-mkconfig.in: Likewise.
22038 * util/grub.d/10_hurd.in: Likewise.
22039 * util/grub.d/10_kfreebsd.in: Likewise.
22040 * util/grub.d/10_linux.in: Likewise.
22041 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22042 way.
22043
2419f17a
VS
220442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Enable acpi shutdown on all ACPI platforms.
22047
22048 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22049 on coreboo, multiboot and EFI.
22050 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22051 (grub_acpi_halt): Likewise.
22052 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22053 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22054 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22055 * grub-core/lib/i386/halt.c (grub_halt)
22056 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22057
0575c7c3
VS
220582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22061 context.
22062
54ac3cd1
VS
220632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22064
22065 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22066 * grub-core/video/efi_uga.c: Likewise.
22067
b2a30ac5
VS
220682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Filter devaliases and never open same device twice.
22071
22072 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22073 (last_ihandle): Likewise.
22074 (ofdisk_hash_ent): New member shortest.
22075 (ofdisk_hash_add): Add canonical path too.
22076 (scan): New function.
22077 (grub_ofdisk_iterate): Iterate over hashed entries.
22078 (compute_dev_path): Don't add :0.
22079 (grub_ofdisk_open): Don't really open the disk.
22080 (grub_ofdisk_close): Avoid closing unrelated disk.
22081 (grub_ofdisk_read): Implement reopen logic.
22082 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22083 New function.
22084 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22085 New proto.
22086
fb53b340
VS
220872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Fix sparc64.
22090
22091 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22092 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22093 right address. Add sparc64_ieee1275_ldflags.
22094 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22095 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22096 to grub_host_to_target_addr
22097 (load_image): Likewise.
22098
f452b040
VS
220992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * grub-core/normal/completion.c (complete_file): Handle device
22102 containing slash.
22103 Fix based on patch by Doug Nazar.
22104
9b5b2541
VS
221052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 grub-mknetdir script.
22108
22109 * Makefile.util.def (grub-mknetdir): New module.
22110 * tests/util/grub-shell.in: Support boot=net
22111 * util/grub-mknetdir.in: New file.
22112
9d2be652
VS
221132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 videoinfo on non-vbe.
22116
22117 * grub-core/Makefile.core.def (vbeinfo): Removed.
22118 (vbetest): Removed.
22119 (videoinfo): New module.
22120 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22121 * grub-core/commands/i386/pc/vbetest.c: Removed.
22122 * grub-core/commands/videoinfo.c: New file.
22123 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22124 specification.
22125 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22126 as vbetest.
22127 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22128 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22129 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22130 mode_number. New parameter mode. All users updated.
22131 (grub_video_gop_iterate): New function.
22132 (grub_video_efi_gop): New member iterate.
22133 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22134 (grub_vbe_set_video_mode): Remove setting useless fields.
22135 (vbe2videoinfo): New function.
22136 (grub_video_vbe_iterate): Likewise.
22137 (grub_video_vbe_setup): Use vbe2videoinfo.
22138 (grub_video_vbe_print_adapter_specific_info): New function.
22139 (grub_video_vbe_adapter): New fields iterate and
22140 print_adapter_specific_info.
22141 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22142 All users updated.
22143 (grub_video_mode_info): New field mode_number.
22144 (grub_video_adapter): New fields iterate and
22145 print_adapter_specific_info.
22146
179503f5
TG
221472010-09-13 Tristan Gingold <gingold@free.fr>
221482010-09-13 Robert Millan <rmh.grub@aybabtu.com>
221492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * grub-core/commands/efi/lsefisystab.c: New file.
22152 * grub-core/commands/efi/lssal.c: Likewise.
22153 * grub-core/Makefile.core.def (lsacpi): New module.
22154 (lsefisystab): Likewise.
22155 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22156 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22157 (grub_efi_sal_system_table): New struct.
22158 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22159 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22160 (grub_efi_sal_system_table_platform_features): Likewise.
22161 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22162 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22163 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22164 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22165
cf9827de
VS
221662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 Support explicit user claim that a device is BIOS-visible.
22169
22170 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22171 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22172 * grub-core/kern/emu/hostdisk.c
22173 (convert_system_partition_to_system_disk): Support mdX.
22174 (find_system_device): New parameter add. All users updated.
22175 (grub_util_biosdisk_is_present): New function.
22176 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22177 proto.
22178
53f0eb1f
VS
221792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Search hints support.
22182
22183 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22184 All users updated.
22185
b23ffd70
YB
221862010-09-13 Yves Blusseau <blusseau@zetam.org>
22187
22188 Bash completion script for util commands
22189
22190 * Makefile.am: Add util/bash-completion.d directory
22191 * configure.ac: Likewise.
22192 * util/bash-completion.d/Makefile.am: New file.
22193 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22194
d547dc28
VS
221952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22198 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22199 Reported by: Yves Blusseau.
22200
2fc8ccb9
VS
222012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22202
22203 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22204 partition size and offset.
22205
d8a84076
VS
222062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22209
84fb3b3d
VS
222102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22211
22212 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22213
768ec2e2
VS
222142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22217 (grub_xvasprintf): Likewise.
22218
4870900f
VS
222192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22220
22221 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22222
faca6bec
VS
222232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22226 args ending with NULL.
22227
222282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22229
22230 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22231 pointer.
22232
3c70f225
SJ
222332010-09-11 Szymon Janc <szymon@janc.net.pl>
22234
22235 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22236
4df7996d
VS
222372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 Shutdown using ACPI.
22240
22241 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22242 * grub-core/commands/acpihalt.c: New file.
22243 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22244 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22245 (grub_acpi_halt): New proto.
22246 (GRUB_ACPI_SLP_EN): New const.
22247 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22248 (GRUB_ACPI_OPCODE_*): New enum.
22249 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22250
126b4c32
TG
222512010-09-11 Tristan Gingold <gingold@free.fr>
222522010-09-11 Robert Millan <rmh.grub@aybabtu.com>
222532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 * commands/lsacpi.c: New file.
22256 * grub-core/Makefile.core.def (lsacpi): New module.
22257 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22258 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22259 (grub_acpi_madt_entry_header): New struct.
22260 (grub_acpi_madt): Likewise.
22261 (grub_acpi_madt_entry_interrupt_override): Likewise.
22262 (grub_acpi_madt_entry_sapic): Likewise.
22263 (grub_acpi_madt_entry_lsapic): Likewise.
22264 (grub_acpi_madt_entry_platform_int_source): Likewise.
22265 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22266 (PRIuGRUB_UINT32_T): Likewise.
22267 (PRIxGRUB_UINT64_T): Likewise.
22268
1aa4fe88
VS
222692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Implement loading palette on ieee1275_fb.
22272
22273 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22274 (have_setcolors): Likewise.
22275 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22276 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22277 (grub_video_ieee1275_set_palette): Implement.
22278
25761e13
VS
222792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
222802010-09-11 Colin Watson <cjwatson@ubuntu.com>
22281
22282 * util/grub-install.in (grub_partition): New variable.
22283 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22284 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22285 Fixes a bug reported by Yves Blusseau.
22286
050abaea
VS
222872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 Fix emu on mipsel.
22290
22291 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22292 =grub_cpu_flush_cache on all mips and not only yeeloong.
22293 * configure.ac (COND_mips): New conditional.
22294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22295 platforms.
22296 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22297 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22298 [GRUB_LINKER_HAVE_INIT]: New function.
22299 (grub_emu_post_init): Likewise.
22300 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22301 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22302 * include/grub/cache.h (_mips): Include mips/cache.h.
22303 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22304 LVM and RAID prototypes.
22305 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22306 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22307 function.
22308
5ed7d816
CW
223092010-09-10 Colin Watson <cjwatson@ubuntu.com>
22310
22311 * util/grub-install.in: Don't try to verify core.img until after
22312 running grub-mkimage to create it.
22313
90367e04
RM
223142010-09-10 Robert Millan <rmh@gnu.org>
22315
22316 * util/grub.d/10_hurd.in: Add misc readability checks.
22317 * util/grub.d/10_kfreebsd.in: Likewise.
22318 * util/grub.d/10_linux.in: Likewise.
22319
c452fa66
CW
223202010-09-10 Colin Watson <cjwatson@ubuntu.com>
22321
22322 * util/grub-install.in: ${imgext} won't be defined here until the
22323 install branch is merged. For the meantime, only verify core.img on
22324 i386-pc and sparc64-ieee1275 platforms.
22325
c38fe9f4
RM
223262010-09-10 Robert Millan <rmh@gnu.org>
22327
22328 Solaris support in grub_find_zpool_from_dir(). Thanks
22329 Seth Goldberg for referring to getextmntent() facility.
22330
22331 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22332 `sys/mkdev.h'.
22333 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22334 `<sys/mnttab.h>'.
22335 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22336 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22337 method for finding zpool name.
22338
905f7773
CW
223392010-09-10 Colin Watson <cjwatson@ubuntu.com>
22340
22341 grub-fstest needs the host and hostfs modules while other utilities
22342 actively require those modules to be absent, so grub-fstest needs
22343 its own initialisation and finalisation code.
22344
22345 * Makefile.am (grub_fstest.pp): New target.
22346 (grub_fstest_init.lst): Likewise.
22347 (grub_fstest_init.c): Likewise.
22348 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22349
fb90b546
RM
223502010-09-10 Robert Millan <rmh@gnu.org>
22351
22352 * configure.ac: Check for `struct statfs.f_fstypename' and
22353 `struct statfs.f_mntfromname'.
22354
22355 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22356 kFreeBSD-specific code.
22357
66d4bea5
RM
223582010-09-10 Robert Millan <rmh@gnu.org>
22359
22360 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22361 on ZFS. Now non-main filesystems are supported as / too.
22362
b6a690ee
CW
223632010-09-09 Colin Watson <cjwatson@ubuntu.com>
22364
22365 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22366 and grub-core/disk/host.c to ...
22367 (grub-fstest): ... here. Having the host disk implementation
22368 present confuses grub-probe and other utility programs.
22369
22370 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22371 when writing to a file, not when writing to stdout.
22372
8901b00c 223732010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22374
22375 * tests/partmap_test.in: New test for partitions.
22376 * Makefile.util.def: Rules for new test.
22377
7bf45fdd
RM
223782010-09-09 Robert Millan <rmh@gnu.org>
22379
22380 * util/grub-probe.c (probe): Fix a pair of unhandled error
22381 conditions.
22382
4dfbc574
RM
223832010-09-09 Robert Millan <rmh@gnu.org>
22384
22385 Basic Btrfs support (detection and UUID).
22386
22387 * grub-core/fs/btrfs.c: New file.
22388 * Makefile.util.def (library): Register btrfs.c.
22389 * grub-core/Makefile.core.def: Likewise.
22390
6b8e78ae
RM
223912010-09-08 Robert Millan <rmh@gnu.org>
22392
22393 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22394 with (optional) parameters to specify device and relative path.
22395 * util/grub-install.in: Use is_path_readable_by_grub() to
22396 verify readability of a few critical files.
22397 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22398 verify readability of grub.cfg.new.
22399
27f21a8b
VS
224002010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 Split minix.mod into minix.mod and minix2.mod.
22403
22404 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22405 * grub-core/Makefile.core.def (minix2): New module.
22406 * grub-core/fs/minix.c: Use definitions instead of runtime version
22407 checking.
22408 * grub-core/fs/minix2.c: New file.
22409
c0e53ea5
YB
224102010-09-08 Yves Blusseau <blusseau@zetam.org>
22411
22412 Add new --boot-directory option to replace --root-directory
22413
22414 * util/grub-install.in: Add new --boot-directory option
22415 * util/grub-reboot.in: Likewise.
22416 * util/grub-set-default.in: Likewise.
22417
b9fe6ea2
YB
224182010-09-08 Yves Blusseau <blusseau@zetam.org>
22419
22420 * util/grub-mkconfig.in: Use new variable.
22421
d87aedff
YB
224222010-09-08 Yves Blusseau <blusseau@zetam.org>
22423
22424 * configure.ac: Define some useful variables.
22425
e55e8495
VS
224262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22429 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22430 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22431 Use terminfo and don't use cursor-on/cursor-off unless it's known
22432 to work.
22433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22434 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22435
6fa6d675
CW
224362010-09-08 Colin Watson <cjwatson@ubuntu.com>
22437
22438 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22439 starts with "(,", fill the drive containing the loaded image in
22440 between those two characters, but expect that a full partition
22441 specification including partition map names will follow.
22442
92f2aef0
RM
224432010-09-08 Robert Millan <rmh@gnu.org>
22444
22445 * configure.ac: Remove `--enable-grub-fstest' option.
22446 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22447
22448 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22449 `grub-fstest' instead of `grub-probe' for readability verification.
22450 * util/grub-probe.c (probe): Remove readability verification kludge.
22451
99fd620d
RM
224522010-09-08 Robert Millan <rmh@gnu.org>
22453
22454 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22455 initializing `GRUB_FS'.
22456
058e30ac 224572010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22458
22459 Not command (!) support to GRUB script.
22460
22461 * tests/grub_script_not.in: New test.
22462 * Makefile.util.def: Rules for new test.
22463
22464 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22465 ! command as a special case.
22466 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22467
b61d05ed 224682010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22469
058e30ac 22470 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22471 grub_free.
b61d05ed 22472
4d69c786 224732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22474
22475 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22476
aa3119c4 224772010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22478
22479 * docs/grub.texi (Shell-like scripting): Documentation for break,
22480 continue, shift and return commands.
22481
db0f7e3d
VS
224822010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 Rename CD-ROM to cd on BIOS.
22485
22486 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22487 "cd".
22488 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22489
88b87c93
VS
224902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22493 * util/grub-probe.c (main): Likewise.
22494 * util/i386/pc/grub-setup.c (main): Likewise.
22495 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22496 Reported and debugged by: alexxy
22497
294f324d
VS
224982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22501 diagnostic info.
22502
d7ee3441
JS
225032010-09-05 Jo Shields <directhex@apebox.org>
22504
22505 * util/grub.d/30_os-prober.in: Add missing classes.
22506
d7e06c1f
VS
225072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 * docs/grub.texi (Theme file format): Document new position format.
22510
fc157e53
VS
225112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22512
22513 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22514 a table. Use @code instead of @verbatim.
22515
506e9a1c
CB
225162010-09-05 Colin D Bennett <colin@gibibit.com>
22517
22518 Gfxmenu documentation.
22519
22520 * docs/grub.texi (Theme file format): New chapter.
22521
f0aff67c
SJ
225222010-09-05 Szymon Janc <szymon@janc.net.pl>
22523
22524 * grub-core/Makefile.core.def (xzio): New module.
22525 * grub-core/io/xzio.c: New file.
22526 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22527 * grub-core/lib/xzembed/xz_config.h: Likewise.
22528 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22529 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22530 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22531 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22532 * grub-core/lib/xzembed/xz_private.h: Likewise.
22533 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22534 * include/grub/file.h (grub_file_filter_id): New compression filter
22535 GRUB_FILE_FILTER_XZIO.
22536
82a85062
VS
225372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22540 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22541 size.
22542
3579415d
VS
225432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22546 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22547
5124ae6d
VS
225482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 Uncompressed checksum support.
22551
22552 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22553 (check_list): New parameter uncompress.
22554 (grub_cmd_hashsum): Handle --uncompress.
22555
9aadb3d1
VS
225562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 Reintroduce testload.
22559
22560 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22561 from here ...
22562 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22563 (GRUB_MOD_INIT): New function.
22564 (GRUB_MOD_FINI): Likewise.
22565 * grub-core/Makefile.core.def (testload): New module.
22566
a17792c3
SJ
225672010-09-05 Szymon Janc <szymon@janc.net.pl>
22568
22569 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22570 (uint8_t): New type.
22571 (uint16_t): Likewise.
22572 (uint32_t): Likewise.
22573 (uint64_t): Likewise.
22574
b81e40a3
SJ
225752010-09-05 Szymon Janc <szymon@janc.net.pl>
22576
22577 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22578
fc2ef117
VS
225792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22580
22581 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22582 Made static.
22583 (grub_gzfile_open): Removed. All users updated.
22584 (GRUB_MOD_INIT): New function.
22585 (GRUB_MOD_FINI): Likewise.
22586 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22587 (grub_file_filters_enabled): Likewise.
22588 (grub_file_open): Handle filters.
22589 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22590 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22591 * include/grub/file.h (grub_file_filter_id_t): New type.
22592 (grub_file_filter_t): Likewise.
22593 (grub_file_filters_all): New extern variable.
22594 (grub_file_filters_enabled): Likewise.
22595 (grub_file_filter_register): New inline function.
22596 (grub_file_filter_unregister): Likewise.
22597 (grub_file_filter_disable): Likewise.
22598 (grub_file_filter_disable_compression): Likewise.
22599 * include/grub/gzio.h: Removed.
22600
35ee15e0
BC
226012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22602
22603 Filename expansion support for wildcards in GRUB script.
22604
22605 * tests/grub_script_expansion.in: New test.
22606 * Makefile.util.def: Rule for new test.
22607
22608 * grub-core/commands/wildcard.c: New file, implements filename
22609 expansion support for GRUB script.
22610 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22611 * grub-core/script/argv.c: Cosmetic changes.
22612 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22613 Refactored to perform wildcard expansion on arguments.
22614 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22615 struct.
22616
22617 * tests/util/grub-shell.in: Fix quoting for read input.
22618
5f0c4aca
BC
226192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22620
22621 Support for updating environment variables with matched substrings
22622 of regexp.
22623
22624 * tests/grub_cmd_regexp.in: New test.
22625 * Makefile.util.def: Rule for new test.
22626
22627 * grub-core/commands/regexp.c: New option -s to update environment
22628 variables with regexp matches.
22629
3759a35f
SJ
226302010-09-04 Szymon Janc <szymon@janc.net.pl>
22631
22632 * include/grub/file.h (grub_file): New member not_easly_seekable.
22633 (grub_file_seekable): New inline function.
22634 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22635 easily seekable.
22636 (grub_gzio_open): Set not_easly_seekable.
22637 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22638 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22639
ed8c6dec
BC
226402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22641
22642 Support for options to appear multiple times on cmdline.
22643
22644 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22645 * grub-core/commands/extcmd.c: Support for repeatable option.
22646 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22647 repeatable option support.
22648
22649 Refactor menuentry into a regular command.
22650
22651 * grub-core/commands/menuentry.c: New file, menuentry command
22652 implementation.
22653 * grub-core/Makefile.core.def: Rule update for normal.mod.
22654 * grub-core/normal/main.c: Moved menuentry creation to
22655 grub-core/commands/menuentry.c.
22656 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22657 (grub_menu_execute_entry_real): Removed.
22658 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22659 function.
22660 (grub_script_execute_menuentry): Removed.
22661 * grub-core/script/parser.y (menuentry): Removed.
22662 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22663 * grub-core/script/yylex.l (menuentry): Removed.
22664 * include/grub/menu.h (grub_menu_init): New prototype.
22665 (grub_menu_fini): New prototype.
22666 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22667 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22668 (grub_script_execute_sourcecode): New prototype.
22669
dacd0cf0
BC
226702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22671
22672 "return" command for GRUB script functions.
22673
22674 * tests/grub_script_return.in: New test.
22675 * Makefile.util.def: Rules for new test.
22676
22677 * grub-core/script/execute.c (grub_script_return): New function.
22678 * grub-core/script/main.c: Register/unregister return commaond.
22679 * include/grub/script_sh.h (grub_script_return): New prototype.
22680
52e72f9d
BC
226812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22682
22683 "setparams" command to update positional parameters.
22684
22685 * tests/grub_script_setparams.in: New test.
22686 * Makefile.util.def: Rules for new test.
22687
22688 * grub-core/script/argv.c (grub_script_argv_make): New function.
22689 * grub-core/script/execute.c (replace_scope): New function.
22690 (grub_script_setparams): New function.
22691 * grub-core/script/lexer.c: Remove unused variables.
22692 * grub-core/script/main.c: Register/unregister setparams command.
22693 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22694 (grub_script_setparams): New prototype.
22695
25b60c91
BC
226962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22697
22698 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22699 grub_free order.
22700
37e7bf68
BC
227012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22702
22703 Support for passing block of commands as an argument to extcmds.
22704
22705 * Makefile.util.def: Rules for new test.
22706 * tests/grub_script_blockarg.in: New test.
22707 * grub-core/tests/test_blockarg.c: New file, block argument
22708 command used in the test.
22709
22710 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22711 (grub_register_extcmd_prio): New function prototype.
22712 (grub_extcmd_dispatcher): New function prototype.
22713 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22714 type.
22715 * include/grub/script_sh.h (struct grub_script): New members
22716 `children', `next_siblings' and `refcnt' for block arguments and
22717 reference counting.
22718 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22719 (grub_script_arg): New member `script' for block argument.
22720 (grub_script_argv): New member `script' for block argument.
22721 (grub_parser_param): New member `scripts' for block argument.
22722 (grub_script_mem_free): New extern function prototype.
22723 (grub_script_ref): New function prototype.
22724 (grub_script_unref): New function prototype.
22725
22726 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22727 extcmd form to support block arguments.
22728 * grub-core/script/argv.c: Block arguments support.
22729 * grub-core/script/execute.c: Likewise.
22730 * grub-core/script/lexer.c: Likewise.
22731 * grub-core/script/main.c: Likewise.
22732 * grub-core/script/script.c: Likewise.
22733 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22734 non-terminals.
22735
22736 * grub-core/commands/acpi.c: Update extcmd implementations with
22737 grub_extcmd_context_t.
22738 * grub-core/commands/cat.c: Likewise.
22739 * grub-core/commands/echo.c: Likewise.
22740 * grub-core/commands/extcmd.c: Likewise.
22741 * grub-core/commands/hashsum.c: Likewise.
22742 * grub-core/commands/hdparm.c: Likewise.
22743 * grub-core/commands/help.c: Likewise.
22744 * grub-core/commands/hexdump.c: Likewise.
22745 * grub-core/commands/i386/cpuid.c: Likewise.
22746 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22747 * grub-core/commands/i386/pc/halt.c: Likewise.
22748 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22749 * grub-core/commands/iorw.c: Likewise.
22750 * grub-core/commands/keystatus.c: Likewise.
22751 * grub-core/commands/loadenv.c: Likewise.
22752 * grub-core/commands/ls.c: Likewise.
22753 * grub-core/commands/lspci.c: Likewise.
22754 * grub-core/commands/memrw.c: Likewise.
22755 * grub-core/commands/probe.c: Likewise.
22756 * grub-core/commands/search_wrap.c: Likewise.
22757 * grub-core/commands/setpci.c: Likewise.
22758 * grub-core/commands/sleep.c: Likewise.
22759 * grub-core/disk/loopback.c: Likewise.
22760 * grub-core/hello/hello.c: Likewise.
22761 * grub-core/loader/i386/bsd.c: Likewise.
22762 * grub-core/loader/xnu.c: Likewise.
22763 * grub-core/term/gfxterm.c: Likewise.
22764 * grub-core/term/serial.c: Likewise.
22765 * grub-core/tests/lib/functional_test.c: Likewise.
22766
888d1500
BC
227672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22768
22769 Multi-line quoted strings support.
22770
22771 * grub-core/script/lexer.c (append_newline): Removed.
22772 (grub_script_lexer_yywrap): Refactored.
22773 (grub_script_lexer_init): Refactored.
22774 * grub-core/script/yylex.l (yywrap): New function.
22775 (grub_lexer_resplit): New function.
22776 (grub_lexer_unput): New function.
22777 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22778 and resplit.
22779 * tests/grub_script_echo1.in: Added few more testcases.
22780
dda060dd
VS
227812010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 * grub-core/kern/misc.c: Don't add abort alias in utils.
22784 Reported by: echoline.
22785
6556eba9
BC
227862010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22787
22788 Add missing files into "make dist" tarball for other platforms.
22789
22790 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22791 * conf/Makefile.common (dist_noinst_DATA): New variable.
22792 * conf/Makefile.extra-dist: Added missing make dist files.
22793 * grub-core/Makefile.core.def: Likewise.
22794
c8e7bf5f
VS
227952010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 Compress grub_prefix.
22798
22799 * grub-core/boot/i386/pc/lnxboot.S: Use
22800 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22801 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22802 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22803 GRUB_MACHINE_PREFIX_END. All users updated.
22804 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22805 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22806 + 0x40.
22807 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22808 * util/grub-mkimage.c (image_target_desc): Change data_end to
22809 prefix_end. All users updated.
22810
a7c00cdb
VS
228112010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22814 value.
22815 (grub_openbsd_boot): Likewise.
22816 (grub_netbsd_boot): Likewise.
22817 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22818 (grub_xnu_boot): Likewise.
22819
9f915872
VS
228202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * configure.ac: Clean LIBS variable after tests.
22823
efa1bee7
CW
228242010-09-02 Colin Watson <cjwatson@ubuntu.com>
22825
22826 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22827
61d720e5
VS
228282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22831 echo if libdevmapper will be used.
22832
ef8e0ec8
IT
228332010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22834
22835 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22836 constant for the same file.
22837
03e261d8
VS
228382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22841
c2a4eba6
CW
228422010-09-02 Colin Watson <cjwatson@ubuntu.com>
22843
22844 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22845 grub-core/*.pp.
22846
9056cbf3
CW
228472010-09-02 Colin Watson <cjwatson@ubuntu.com>
22848
22849 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22850 required by the boot protocol.
22851
22852 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22853 ebp and edi members.
22854 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22855 state.ebp and state.edi.
22856 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22857 %ebp and %edi according to grub_relocator32_ebp and
22858 grub_relocator32_edi respectively.
22859 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22860 and state.edi.
22861
529cc99a
VS
228622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Add i386-pc-pxe image target.
22865
22866 * util/grub-mkimage.c (image_target_desc): New enum value
22867 IMAGE_I386_PC_PXE.
22868 (image_targets): New target i386-pc-pxe.
22869 (generate_image): Handle i386-pc-pxe image.
22870
9a093920
VS
228712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 Fix grub_pxe_scan.
22874
22875 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22876 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22877 All users updated.
22878 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22879 (grub_pxe_pxenv): Correct type.
22880
f9cefc4e
CW
228812010-09-01 Colin Watson <cjwatson@ubuntu.com>
22882
22883 * NEWS: Document most of the important changes since 1.98.
22884
4066f57f
CW
228852010-09-01 Colin Watson <cjwatson@ubuntu.com>
22886
22887 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22888 generated manual page) a little.
22889
da2891f9
CW
228902010-09-01 Colin Watson <cjwatson@ubuntu.com>
22891
22892 * docs/grub.texi: Add myself as an author.
22893
ad717fae
VS
228942010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 * Makefile.util.def (libgrub.a): Add missing sunpc.
22897 Reported by: Seth Goldberg.
22898
eefe8abd
VS
228992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 Interrupt wrapping and code simplifications.
22902
9494ef9a
VS
22903 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22904 x86_noieee1275 which are functionaly equivalent in this case.
22905 (grub-install): Make source on each platform explicit. Enable on
22906 all noemu.
22907 * gentpl.py (x86_efi_pc): Removed group.
22908 (x86_noefi): Likewise.
22909 (i386_noefi): Likewise.
22910 (x86_noieee1275): Likewise.
22911 (i386_noieee1275): Likewise.
22912 (i386_noefi_noieee1275): Likewise.
22913 (i386_pc_qemu_coreboot): Likewise.
22914 (i386_coreboot_multiboot): Likewise.
22915 (i386_pc_coreboot_multiboot_qemu): Likewise.
22916 (x86_noefi_mips): Likewise.
22917 (noieee1275): Likewise.
22918 (ieee1275_mips): Likewise.
22919 (noemu_noieee1275): Likewise.
22920 (cmos): New group.
22921 (usb): Likewise.
22922 (videoinkernel): Likewise.
22923 (videomodules): Likewise.
eefe8abd 22924 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22925 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22926 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22927 include/grub/loader.h, include/grub/msdos_partition.h,
22928 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22929 include/grub/machine/console.h, include/grub/machine/vga.h,
22930 include/grub/machine/vbe.h, include/grub/machine/init.h,
22931 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22932 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22933 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22934 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22935 * grub-core/Makefile.core.def (kernel): Explicit the source for
22936 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22937 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22938 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22939 Use videoinkernel tag.
22940 (usb): Enable on all usb.
22941 (usbserial_common): Likewise.
22942 (usbserial_pl2303): Likewise.
22943 (usbserial_ftdi): Likewise.
22944 (uhci): Enable on all x86.
22945 (ohci): Enable on all pci.
22946 (cmostest): Enable on all CMOS.
22947 (acpi): Include commands/acpi.c on all platforms.
22948 (halt): Add relevant lib/*/halt.c.
22949 (hdparm): Enable on all pci.
22950 (lspci): Likewise.
22951 (usbtest): Enable on all usb.
22952 (ata): Enable on all pci.
22953 (ata_pthru): Likewise.
22954 (usbms): Enable on all usb.
22955 (usb_keyboard): Likewise.
22956 (font): Use tag videomodules.
22957 (bufio): Likewise.
22958 (datetime): Use tag cmos. Enable on all noemu.
22959 (mmap): Use tags common and x86.
22960 (gfxterm): Use tag videomodules.
22961 (bitmap): Likewise.
22962 (bitmap_scale): Likewise.
22963 (video_fb): Likewise.
22964 (video): Likewise.
22965 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22966 adjust padding accordingly. All users updated.
22967 (grub_ohci_transaction): Fix bad format specification.
22968 (GRUB_MOD_INIT): Add asserts for struct size.
22969 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22970 (grub_alloc_td): Likewise.
22971 (grub_free_queue): Likewise.
22972 (grub_uhci_transfer): Likewise.
22973 (grub_uhci_transaction): Fix bad format specification.
22974 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22975 (grub_usb_bulk_readwrite): Likewise.
22976 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22977 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22978 Made static.
22979 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22980 Made static.
22981 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22982 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22983 Transformed into C.
22984 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22985 Moved from here ...
22986 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22987 ... here. Transformed into C. Made static.
22988 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22989 Moved from here ...
22990 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22991 ... here. Transformed into C. Made static.
22992 * grub-core/kern/i386/pc/startup.S
22993 (grub_biosdisk_check_int13_extensions): Moved from here ...
22994 * grub-core/disk/i386/pc/biosdisk.c
22995 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22996 Made static.
22997 * grub-core/kern/i386/pc/startup.S
22998 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22999 * grub-core/disk/i386/pc/biosdisk.c
23000 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23001 Transformed into C. Made static.
23002 * grub-core/kern/i386/pc/startup.S
23003 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23004 * grub-core/disk/i386/pc/biosdisk.c
23005 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23006 Transformed into C. Made static.
23007 * grub-core/kern/i386/pc/startup.S
23008 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23009 * grub-core/disk/i386/pc/biosdisk.c
23010 (grub_biosdisk_get_diskinfo_standard): ... here.
23011 Transformed into C. Made static.
23012 * grub-core/kern/i386/pc/startup.S
23013 (grub_biosdisk_get_num_floppies): Moved from here ...
23014 * grub-core/disk/i386/pc/biosdisk.c
23015 (grub_biosdisk_get_num_floppies): ... here.
23016 Transformed into C. Made static.
23017 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23018 New function.
23019 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23020 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23021 Transformed into C. Made static.
23022 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23023 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23024 Transformed into C. Made static.
23025 * grub-core/kern/i386/ieee1275/init.c: Removed.
23026 * grub-core/kern/i386/misc.S: Likewise.
23027 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23028 Splitted from here ...
23029 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23030 Transformed into C. Made static. All users updated.
23031 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23032 Transformed into C. Made static. All users updated.
23033 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23034 Moved from here...
23035 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23036 Transformed into C. Made static. All users updated.
23037 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23038 Moved from here...
23039 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23040 Transformed into C. Made static. All users updated.
23041 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23042 Removed (replaced by C version).
23043 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23044 Moved from here...
23045 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23046 Transformed into C. Made static.
23047 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23048 Moved from here...
23049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23050 ... here. Transformed into C.
23051 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23052 Moved from here...
23053 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23054 ... here. Transformed into C.
23055 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23056 Moved from here...
23057 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23058 ... here. Transformed into C. Made static.
23059 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23060 Moved from here...
23061 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23062 ... here. Transformed into C.
21ed554b
VS
23063 * grub-core/kern/i386/pc/startup.S
23064 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23065 * grub-core/video/i386/pc/vbe.c
23066 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23067 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23068 Moved from here...
23069 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23070 ... here. Transformed into C.
23071 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23072 Moved from here...
23073 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23074 ... here. Transformed into C.
23075 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23076 Moved from here...
23077 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23078 ... here. Transformed into C.
23079 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23080 Moved from here...
23081 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23082 ... here. Transformed into C.
23083 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23084 Moved from here...
23085 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23086 ... here. Transformed into C. Made static.
23087 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23088 Moved from here...
23089 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23090 ... here. Transformed into C. Made static.
23091 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23092 Moved from here...
23093 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23094 ... here. Transformed into C. Made static.
23095 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23096 pxe_rm_entry as third argument.
23097 (grub_bios_interrupt): New function.
23098 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23099 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23100 of calling grub_stop.
23101 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23102 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23103 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23104 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23105 * grub-core/lib/i386/halt.c: Moved from here ...
23106 * grub-core/lib/i386/halt.c: ... here.
23107 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23108 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23109 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23110 grub_stop_floppy.
23111 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23112 * include/grub/i386/coreboot/init.h: Removed.
23113 * include/grub/i386/multiboot/init.h: Likewise.
23114 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23115 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23116 * include/grub/i386/pc/int.h: New file.
23117 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23118 (grub_pxe_scan): Removed.
23119 (grub_pxe_call): Update prototype.
23120 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23121 prototypes.
23122 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23123 * include/grub/i386/qemu/init.h: Removed.
23124 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23125 noreturn.
23126 (grub_halt): Likewise.
23127 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23128 (grub_reboot): Likewise.
23129 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23130 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23131 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23132
215dd471
RM
231332010-08-30 Robert Millan <rmh@gnu.org>
23134
23135 * NEWS: Document addition of ZFS support in `grub-install' and
23136 `grub-mkconfig'.
23137
ebd65b82
BC
231382010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23139
23140 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23141 dprintf output.
23142
11721d19
VS
231432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 Remove leftover embedding of font objects.
23146
23147 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23148 * util/grub-install.in (font): Removed.
23149 * util/grub-mkimage.c (generate_image): Remove font support. All users
23150 updated.
23151
37837d4e
VS
231522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 Remove leftover embedding of font objects.
23155
23156 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23157 * util/grub-install.in (font): Removed.
23158 * util/grub-mkimage.c (generate_image): Remove font support. All users
23159 updated.
23160
b4c1aae0
VS
231612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23164 Reported by: Ian Turner
b4c1aae0 23165
8920a08d
VS
231662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23169 timeout to avoid indefinite boot stalling.
23170
f21db033
VS
231712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23174 (grub_env_write_color_highlight): Likewise.
23175
9a9de209
VS
231762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 * grub-core/normal/term.c (print_more): Return to normal and not
23179 to standard state after printing "---MORE---".
23180
3dca01d7
VS
231812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23184 Mask out the bit 0x80 since it has other meaning that specifiing color.
23185
0b986c40
VS
231862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 New relocator. Allows for more kernel support and more straightforward
23189 loader writing.
23190
23191 * Makefile.am (BOOTTARGET): New variable.
23192 (QEMU32): Likewise.
23193 (linux.init.x86_64): New target.
23194 (linux.init.i386): Likewise.
23195 (multiboot.elf): Likewise.
23196 (kfreebsd.elf): Likewise.
23197 (kfreebsd.aout): Likewise.
23198 (pc-chainloader.elf): Likewise.
23199 (pc-chainloader.bin): Likewise.
23200 (ntldr.elf): Likewise.
23201 (ntldr.bin): Likewise.
23202 (multiboot2.elf): Likewise.
23203 (kfreebsd.init.x86_64): Likewise.
23204 (kfreebsd.init.i386): Likewise.
23205 (knetbsd.init.i386): Likewise.
23206 (kopenbsd.init.i386): Likewise.
23207 (knetbsd.init.x86_64): Likewise.
23208 (kopenbsd.init.x86_64): Likewise.
23209 (linux-initramfs.i386): Likewise.
23210 (linux-initramfs.x86_64): Likewise.
23211 (kfreebsd-mfsroot.i386.img): Likewise.
23212 (knetbsd.image.i386): Likewise.
23213 (kopenbsd.image.i386): Likewise.
23214 (kopenbsd.image.x86_64): Likewise.
23215 (knetbsd.miniroot-image.i386.img): Likewise.
23216 (kfreebsd-mfsroot.x86_64.img): Likewise.
23217 (knetbsd.image.x86_64): Likewise.
23218 (knetbsd.miniroot-image.x86_64.img): Likewise.
23219 (kfreebsd-mfsroot.i386.gz): Likewise.
23220 (bootcheck-kfreebsd-i386): Likewise.
23221 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23222 (bootcheck-kfreebsd-x86_64): Likewise.
23223 (knetbsd.miniroot-image.i386.gz): Likewise.
23224 (bootcheck-knetbsd-i386): Likewise.
23225 (bootcheck-kopenbsd-i386): Likewise.
23226 (bootcheck-kopenbsd-x86_64): Likewise.
23227 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23228 (bootcheck-knetbsd-x86_64): Likewise.
23229 (bootcheck-linux-i386): Likewise.
23230 (bootcheck-linux-x86_64): Likewise.
23231 (bootcheck-linux16-i386): Likewise.
23232 (bootcheck-linux16-x86_64): Likewise.
23233 (bootcheck-multiboot): Likewise.
23234 (bootcheck-multiboot2): Likewise.
23235 (bootcheck-kfreebsd-aout): Likewise.
23236 (bootcheck-pc-chainloader): Likewise.
23237 (bootcheck-ntldr): Likewise.
23238 (CLEANFILES): Add new targets.
23239 (BOOTCHECKS): New variable.
23240 (.PHONY): Add bootchecks.
23241 (SUCCESSFUL_BOOT_STRING): New variable.
23242 (BOOTCHECK_TIMEOUT): Likewise.
23243 (bootcheck): New target
23244 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23245 * configure.ac: Correct efiemu excuse.
23246 * docs/grub.texi (Supported kernels): New chapter.
23247 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23248 include/grub/mm_private.h. Simplify inclusion of
23249 include/grub/boot.h, include/grub/loader.h
23250 and include/grub/msdos_partition.h
23251 (KERNEL_HEADER_FILES) [i386_coreboot]:
23252 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23253 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23254 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23255 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23256 include/grub/machine/loader.h.
23257 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23258 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23259 extra_dist.
23260 (pci.mod): Enable on i386-multiboot.
23261 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23262 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23263 i386-qemu.
23264 (relocator.mod): Rewritten.
23265 (aout.mod): Enable on all x86.
23266 (bsd.mod): Likewise.
23267 (ntldr.mod): New module.
23268 (linux.mod): Use loader/i386/linux.c on all x86.
23269 (xnu.mod): Enable on all x86.
23270 (vga_text.mod): disable on EFI and QEMU.
23271 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23272 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23273 * grub-core/efiemu/loadcore.c: Likewise.
23274 * grub-core/efiemu/main.c: Likewise.
23275 (grub_efiemu_exit_boot_services): Removed.
23276 (grub_efiemu_finish_boot_services): Likewise.
23277 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23278 function.
23279 * grub-core/efiemu/i386/nocfgtables.c: New file.
23280 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23281 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23282 (grub_efi_finish_boot_services): Moved from here ...
23283 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23284 Fille finish memory map and related data.
23285 (finish_mmap_buf): New variable.
23286 (grub_efi_uintn_t finish_mmap_size): Likewise.
23287 (grub_efi_uintn_t finish_key): Likewise.
23288 (grub_efi_uintn_t finish_desc_size): Likewise.
23289 (grub_efi_uint32_t finish_desc_version): Likewise.
23290 (grub_efi_is_finished): Likewise.
23291 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23292 finished.
23293 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23294 (grub_elf64_phdr_iterate): Likewise.
23295 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23296 (grub_os_area_size): Likewise.
23297 (grub_machine_init): Don't reserve os area.
23298 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23299 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23300 * grub-core/kern/i386/loader.S: Removed.
23301 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23302 (grub_os_area_size): Likewise.
23303 (grub_machine_init): Don't reserve os area.
23304 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23305 Don't call grub_dl_unload_all.
23306 Don't include loader.S.
23307 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23308 Declare the memory after _end as available.
23309 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23310 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23311 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23312 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23313 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23314 * include/grub/mm_private.h (grub_mm_header): ... here.
23315 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23316 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23317 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23318 (grub_mm_region): ..here. Removed addr. Added pre_size.
23319 All users updated.
23320 * grub-core/kern/mm.c (base): Renamed to ...
23321 (grub_mm_base): ... this. Made global.
23322 (grub_real_malloc): Alloc from end of region.
23323 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23324 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23325 * grub-core/kern/powerpc/cache_flush.S: ... here.
23326 * grub-core/lib/efi/relocator.c: New file.
23327 * grub-core/lib/i386/relocator.c: Rewritten.
23328 * grub-core/lib/i386/relocator16.S: New file.
23329 * grub-core/lib/i386/relocator32.S: Likewise.
23330 * grub-core/lib/i386/relocator64.S: Likewise.
23331 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23332 * grub-core/lib/i386/relocator_common.S: New file.
23333 * grub-core/lib/ieee1275/relocator.c: Likewise.
23334 * grub-core/lib/mips/relocator.c: Rewritten.
23335 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23336 stylistic adjustments.
23337 * grub-core/lib/powerpc/relocator.c: New file.
23338 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23339 * grub-core/lib/relocator.c: Rewritten.
23340 * grub-core/lib/x86_64/relocator_asm.S: New file.
23341 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23342 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23343 (bsd_tag): New struct.
23344 (tags): New variable.
23345 (tags_last): Likewise.
23346 (netbsd_module): New struct.
23347 (netbsd_mods): New variable.
23348 (netbsd_mods_last): Likewise.
23349 (openbsd_opts): New parameter "serial".
23350 (OPENBSD_SERIAL_ARG): New definition.
23351 (netbsd_opts): New parameter "serial".
23352 (NETBSD_SERIAL_ARG): New definition.
23353 (grub_freebsd_add_meta): Reorganised into ...
23354 (grub_bsd_add_meta): ...this. All users updated.
23355 (grub_freebsd_add_mmap): Reorganised into ...
23356 (generate_e820_mmap): ...this...
23357 (grub_bsd_add_mmap): ...and this. All users updated.
23358 (grub_freebsd_list_modules): Use tags.
23359 (grub_netbsd_add_meta_module): New function.
23360 (grub_netbsd_list_modules): Likewise.
23361 (grub_freebsd_boot): Use relocator and finish EFI.
23362 (grub_openbsd_boot): Likewise.
23363 (grub_netbsd_setup_video): New function.
23364 (grub_netbsd_add_modules): Likewise.
23365 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23366 and finish EFI.
23367 (grub_bsd_unload): Unload tags.
23368 (grub_bsd_load_aout): Use relocator.
23369 (grub_bsd_elf32_size_hook): New function.
23370 (grub_bsd_elf32_hook): Use relocator.
23371 (grub_bsd_elf64_size_hook): New function.
23372 (grub_bsd_elf64_hook): Use relocator.
23373 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23374 (grub_bsd_load): Zero-out openbsd_ramdisk.
23375 (grub_bsd_load): Use relocator.
23376 (grub_cmd_openbsd): Support serial.
23377 (grub_cmd_netbsd): Support modules.
23378 (grub_cmd_freebsd_module): Use relocator.
23379 (grub_netbsd_module_load): New function.
23380 (grub_cmd_netbsd_module): Likewise.
23381 (grub_cmd_openbsd_ramdisk): Likewise.
23382 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23383 kopenbsd_ramdisk.
23384 (GRUB_MOD_FINI): Unregister new commands.
23385 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23386 (grub_freebsd_load_elfmodule_obj): Use relocator.
23387 (grub_freebsd_load_elfmodule): Likewise.
23388 (grub_freebsd_load_elf_meta): Likewise.
23389 (grub_netbsd_load_elf_meta): New function.
23390 (grub_openbsd_find_ramdisk): Likewise.
23391 * grub-core/loader/i386/bsd_helper.S: Removed.
23392 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23393 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23394 * grub-core/loader/i386/efi/linux.c: Likewise.
23395 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23396 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23397 (DEFAULT_VIDEO_MODE): Likewise.
23398 (real_mode_target): New variable.
23399 (prot_mode_target): Likewise.
23400 (initrd_mem_target): Likewise.
23401 (relocator): Likewise.
23402 (efi_mmap_buf): Likewise.
23403 (efi_mmap_size): Likewise.
23404 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23405 (free_pages): Use relocator.
23406 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23407 (grub_linux_setup_video): Return error.
23408 (grub_linux_trampoline_start): Removed.
23409 (grub_linux_trampoline_end): Likewise.
23410 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23411 andd video parameters depending on firmware.
23412 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23413 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23414 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23415 (grub_cmd_initrd): Use relocator.
23416 * grub-core/loader/i386/linux_trampoline.S: Removed.
23417 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23418 (elf_sec_entsize): Likewise.
23419 (elf_sec_shstrndx): Likewise.
23420 (elf_sections): Likewise.
23421 (grub_multiboot_load): Use relocator.
23422 (grub_multiboot_get_mbi_size): Account for sections.
23423 (grub_multiboot_make_mbi): Use relocator and support sections.
23424 (grub_multiboot_add_elfsyms): New function.
23425 (grub_multiboot_free_mbi): Free sections.
23426 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23427 (grub_linux_real_target): Likewise.
23428 (grub_linux_real_chunk): Likewise.
23429 (grub_linux16_prot_size): Likewise.
23430 (grub_linux16_boot): Use relocator.
23431 (grub_linux_unload): Unload relocator.
23432 (grub_cmd_linux): Use relocator.
23433 (grub_cmd_initrd): Likewise.
23434 * grub-core/loader/i386/pc/ntldr.c: New file.
23435 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23436 Don't try to guess CPU frequency.
23437 (grub_xnu_set_video): Stretch bitmap.
23438 (grub_xnu_boot): Use relocator.
23439 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23440 (grub_linux_unload): Free relocator.
23441 (grub_linux_load32): Use relocator.
23442 (grub_linux_load64): Likewise.
23443 (grub_cmd_initrd): Likewise.
23444 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23445 (grub_multiboot_unload): Unload relocator.
23446 (grub_cmd_multiboot): Use relocator.
23447 (grub_cmd_module): Likewise.
23448 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23449 Use relocator and support sections.
23450 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23451 (elf_sec_entsize): Likewise.
23452 (elf_sec_shstrndx): Likewise.
23453 (elf_sections): Likewise.
23454 (grub_multiboot_load): Use relocator.
23455 (grub_multiboot_get_mbi_size): Account for sections.
23456 (grub_multiboot_make_mbi): Use relocator and support sections.
23457 (grub_multiboot_add_elfsyms): New function.
23458 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23459 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23460 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23461 Prototype changed. All users updated.
23462 (grub_xnu_align_heap): Simplified.
23463 (grub_xnu_writetree_toheap): Likewise.
23464 (grub_xnu_unload): Unload relocator.
23465 (grub_cmd_xnu_kernel): Use relocator.
23466 (grub_cmd_xnu_kernel64): Likewise.
23467 (grub_xnu_register_memory): Simplified.
23468 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23469 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23470 EFI is finished.
23471 (grub_console_checkkey): Likewise.
23472 (grub_console_getkey): Likewise.
23473 (grub_console_getwh): Likewise.
23474 (grub_console_getxy): Likewise.
23475 (grub_console_gotoxy): Likewise.
23476 (grub_console_cls): Likewise.
23477 (grub_console_setcolorstate): Likewise.
23478 (grub_console_setcursor): Likewise.
23479 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23480 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23481 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23482 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23483 * grub-core/tests/boot/kernel-8086.S: Likewise.
23484 * grub-core/tests/boot/kernel-i386.S: Likewise.
23485 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23486 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23487 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23488 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23489 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23490 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23491 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23492 * grub-core/tests/boot/linux.cfg: Likewise.
23493 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23494 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23495 * grub-core/tests/boot/linux16.cfg: Likewise.
23496 * grub-core/tests/boot/multiboot.cfg: Likewise.
23497 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23498 * grub-core/tests/boot/ntldr.cfg: Likewise.
23499 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23500 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23501 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23502 New definition.
23503 * include/grub/dl.h (grub_dl_unload_all): Removed.
23504 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23505 (grub_efi_finish_boot_services): Change prototype.
23506 (grub_efi_is_finished): New variable.
23507 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23508 Changed prototype.
23509 (grub_efiemu_finish_boot_services): Removed.
23510 (grub_machine_efiemu_init_tables): New prototype.
23511 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23512 (grub_elf64_phdr_iterate): Likewise.
23513 * include/grub/i386/bsd.h: Include relocator.h.
23514 (freebsd_tag_header): New struct.
23515 (grub_openbsd_bios_mmap): Removed.
23516 (grub_unix_real_boot): Removed.
23517 (grub_freebsd_load_elfmodule32): Changed prototype.
23518 (grub_freebsd_load_elfmodule_obj64): Likewise.
23519 (grub_freebsd_load_elf_meta32): Likewise.
23520 (grub_freebsd_load_elf_meta64): Likewise.
23521 (grub_freebsd_add_meta): Removed.
23522 (grub_netbsd_load_elf_meta32): New prototype.
23523 (grub_netbsd_load_elf_meta64): Likewise.
23524 (grub_bsd_add_meta): Likewise.
23525 (grub_openbsd_ramdisk_descriptor): New struct.
23526 (grub_openbsd_find_ramdisk32): New prototype.
23527 (grub_openbsd_find_ramdisk64): Likewise.
23528 * include/grub/i386/coreboot/loader.h: Removed.
23529 * include/grub/i386/efi/loader.h: Likewise.
23530 * include/grub/i386/ieee1275/loader.h: Likewise.
23531 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23532 to grub_uint32_t.
23533 * include/grub/i386/loader.h: Removed.
23534 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23535 value.
23536 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23537 (grub_phys_addr_t): New type.
23538 (grub_vtop): New inline function.
23539 (grub_map_memory): Likewise.
23540 (grub_unmap_memory): Likewise.
23541 * include/grub/i386/multiboot/loader.h: Removed.
23542 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23543 (NETBSD_BTINFO_CONSOLE): New definition.
23544 (NETBSD_BTINFO_SYMTAB): Likewise.
23545 (NETBSD_BTINFO_MODULES): Likewise.
23546 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23547 (grub_netbsd_bootinfo): New struct.
23548 (grub_netbsd_btinfo_common): Use explicit bitsize.
23549 (grub_netbsd_btinfo_mmap_entry): Removed.
23550 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23551 (grub_netbsd_btinfo_bootdisk): New struct.
23552 (grub_netbsd_btinfo_symtab): Likewise.
23553 (grub_netbsd_btinfo_serial): Likewise.
23554 (grub_netbsd_btinfo_modules): Likewise.
23555 (grub_netbsd_btinfo_framebuf): Likewise.
23556 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23557 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23558 Likewise.
23559 (grub_openbsd_bootargs): Use explicit bitsize.
23560 (grub_openbsd_bootarg_console): New struct.
23561 (GRUB_OPENBSD_COM_MAJOR): New definition.
23562 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23563 * include/grub/i386/pc/efiemu.h: Removed.
23564 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23565 * include/grub/i386/qemu/loader.h: Removed.
23566 * include/grub/i386/relocator.h: Rewritten.
23567 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23568 * include/grub/mips/memory.h: New file.
23569 * include/grub/mips/multiboot.h: Rewritten.
23570 * include/grub/mips/relocator.h: Rewritten.
23571 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23572 (grub_vtop): New function.
23573 (grub_map_memory): Likewise.
23574 (grub_unmap_memory): Likewise.
23575 * include/grub/misc.h (ALIGN_DOWN): New definition.
23576 * include/grub/mm.h (grub_mm_check_real): New proto.
23577 (GRUB_MM_CHECK): New definition.
23578 * include/grub/mm_private.h: New file.
23579 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23580 (grub_multiboot_get_mbi_size): Removed.
23581 (grub_multiboot_make_mbi): Change prottype.
23582 (grub_multiboot_set_accepts_video): New proto.
23583 (grub_multiboot_add_elfsyms): Likewise.
23584 (grub_multiboot_payload_eip): New variable.
23585 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23586 New prototype.
23587 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23588 New definition.
23589 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23590 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23591 * include/grub/powerpc/ieee1275/loader.h: Removed.
23592 * include/grub/powerpc/memory.h: New file.
23593 * include/grub/powerpc/relocator.h: Likewise.
23594 * include/grub/relocator.h: Likewise.
23595 * include/grub/relocator_private.h: Likewise.
23596 * include/grub/sparc64/ieee1275/loader.h: Removed.
23597 * include/grub/x86_64/memory.h: New file.
23598 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23599 (grub_xnu_heap_malloc): Likewise.
23600 (grub_xnu_heap_real_start): Removed.
23601 (grub_xnu_heap_start): Likewise.
23602 (grub_xnu_relocator): New variable.
23603 (grub_xnu_heap_target_start): Likewise.
23604 * tests/util/grub-shell.in: Support non-pc.
23605 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23606
5303b85d
VS
236072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23610 on malloc error.
23611 (grub_bidi_logical_to_visual): Check that malloc succeded.
23612 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23613 puts.
23614 (grub_xputs_normal): Likewise.
23615
d768d159
VS
236162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23619 extra_dist.
23620
236212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23624
5bf84df4
VS
236252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23628
3626810e
VS
236292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23630
23631 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23632 dprintf.
23633
a7363f53
BC
236342010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23635
23636 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23637
902f75f6
VS
236382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * grub-core/normal/term.c (print_more): Fix a memory leak.
23641 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23642 (grub_xputs_normal): Likewise.
23643
3c707967
VS
236442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23647 the begining of the string
23648
2053cc07
VS
236492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23650
23651 * grub-core/script/script.c (grub_script_parse): Free parsed on
23652 failure.
23653
46422ebf
VS
236542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23657 on failure.
23658
9e0fa3f6
VS
236592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23662 return.
23663
3393cf16
VS
236642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23667 (scroll_up): Fix a memory leak.
23668
b17540cb
VS
236692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23672 errors.
23673
67140446
VS
236742010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 Handle USB pendrives exposed as floppies.
23677
23678 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23679 floppy.
23680 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23681 Check for partitions on all devices.
23682
e35e46fc
VS
236832010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23686 (readkey): Likewise.
23687
d24c6190
BC
236882010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23689
23690 Multiple variable names support to "export" command.
23691
23692 * normal/context.c (grub_cmd_export): "export" command supports
23693 multiple variable names.
23694
04ddcc6a
ST
236952010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23696
23697 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23698 --target=drive output to Mach device name.
23699
0c8b61d8
BC
237002010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23701
23702 New Automake based build system for GRUB.
23703
23704 * ABOUT-NLS: New file.
23705 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23706 in Makefile.util.def file.
23707 * Makefile.util.def: New file. Autogen build definitions file for
23708 GRUB host utils.
23709 * conf/Makefile.common: New file. Common variables for GRUB host
23710 utils and target modules.
23711 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23712 * docs/Makefile.am: New file. Automake file for docs.
23713 * gentpl.py: New file. Python script to generate Autogen
23714 template.
23715 * grub-core/Makefile.am: New file. GRUB target modules' rules
23716 that doesn't fit in Makefile.core.def file.
23717 * grub-core/Makefile.core.def: New file. Autogen build
23718 definitions file for GRUB target modules.
23719 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23720 specific setjmp.S file.
23721 * po/Makefile.am: New file.
23722
23723 * .bzrignore: New ignores.
23724 * INSTALL: New requirements, without Ruby.
23725 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23726 * autogen.sh: Updated to invoke autogen as necessary.
23727 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23728 and defines for Automake conditionals.
23729 * geninit.sh: Refactoring.
23730
23731 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23732 necessary.
23733 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23734 New prototype.
23735
23736 * include/grub/test.h: Fix functional test modules' naming.
23737 * grub-core/tests/example_functional_test.c: Fix test module name.
23738
23739 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23740 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23741 * util/grub-editenv.c: Likewise.
23742 * util/grub-fstest.c: Likewise.
23743 * util/grub-mkdevicemap.c: Likewise.
23744 * util/grub-mkfont.c: Likewise.
23745 * util/grub-mkimage.c: Likewise.
23746 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23747 * util/grub-probe.c: Likewise.
23748 * util/grub-script-check.c: Likewise.
23749 * util/i386/pc/grub-setup.c: Likewise.
23750 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23751
23752 * tests/util/grub-shell.in: Fix override directory path.
23753 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23754 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23755
23756 * util/lvm.c: Update #includes.
23757 * util/raid.c: Likewise.
23758 * util/resolve.c: Likewise.
23759 * grub-core/bus/emu/pci.c: Likewise.
23760 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23761 * grub-core/lib/posix_wrap/string.h: Likewise.
23762 * grub-core/kern/emu/main.c: Likewise.
23763
23764 * grub-core/gensymlist.sh: New file. Script for generating kernel
23765 symbols file.
23766 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23767
23768 * grub-core/gentrigtables.c: Fix unused variable warnings.
23769
23770 * Makefile.in: Removed.
23771 * conf/any-emu.rmk: Removed.
23772 * conf/common.rmk: Removed.
23773 * conf/i386-coreboot.rmk: Removed.
23774 * conf/i386-efi.rmk: Removed.
23775 * conf/i386-ieee1275.rmk: Removed.
23776 * conf/i386-multiboot.rmk: Removed.
23777 * conf/i386-pc.rmk: Removed.
23778 * conf/i386-qemu.rmk: Removed.
23779 * conf/i386.rmk: Removed.
23780 * conf/mips-yeeloong.rmk: Removed.
23781 * conf/mips.rmk: Removed.
23782 * conf/powerpc-ieee1275.rmk: Removed.
23783 * conf/sparc64-ieee1275.rmk: Removed.
23784 * conf/tests.rmk: Removed.
23785 * conf/x86-efi.rmk: Removed.
23786 * conf/x86_64-efi.rmk: Removed.
23787 * gendistlist.sh: Removed.
23788 * geninitheader.sh: Removed.
23789 * genkernsyms.sh.in: Removed.
23790 * genmk.rb: Removed.
23791 * gensymlist.sh.in: Removed.
23792 * mkinstalldirs: Removed.
23793 * boot: Moved ...
23794 * grub-core/boot: ... to here.
23795 * bus: Moved ...
23796 * grub-core/bus: ... to here.
23797 * commands: Moved ...
23798 * grub-core/commands: ... to here.
23799 * disk: Moved ...
23800 * grub-core/disk: ... to here.
23801 * efiemu: Moved ...
23802 * grub-core/efiemu: ... to here.
23803 * font: Moved ...
23804 * grub-core/font: ... to here.
23805 * fs: Moved ...
23806 * grub-core/fs: ... to here.
23807 * gencmdlist.sh: Moved ...
23808 * grub-core/gencmdlist.sh: ... to here.
23809 * genemuinit.sh: Moved ...
23810 * grub-core/genemuinit.sh: ... to here.
23811 * genemuinitheader.sh: Moved ...
23812 * grub-core/genemuinitheader.sh: ... to here.
23813 * genfslist.sh: Moved ...
23814 * grub-core/genfslist.sh: ... to here.
23815 * genhandlerlist.sh: Moved ...
23816 * grub-core/genhandlerlist.sh: ... to here.
23817 * genmoddep.awk: Moved ...
23818 * grub-core/genmoddep.awk: ... to here.
23819 * genmodsrc.sh: Moved ...
23820 * grub-core/genmodsrc.sh: ... to here.
23821 * genpartmaplist.sh: Moved ...
23822 * grub-core/genpartmaplist.sh: ... to here.
23823 * genparttoollist.sh: Moved ...
23824 * grub-core/genparttoollist.sh: ... to here.
23825 * genterminallist.sh: Moved ...
23826 * grub-core/genterminallist.sh: ... to here.
23827 * gentrigtables.c: Moved ...
23828 * grub-core/gentrigtables.c: ... to here.
23829 * genvideolist.sh: Moved ...
23830 * grub-core/genvideolist.sh: ... to here.
23831 * gettext: Moved ...
23832 * grub-core/gettext: ... to here.
23833 * gfxmenu: Moved ...
23834 * grub-core/gfxmenu: ... to here.
23835 * gnulib: Moved ...
23836 * grub-core/gnulib: ... to here.
23837 * hello: Moved ...
23838 * grub-core/hello: ... to here.
23839 * hook: Moved ...
23840 * grub-core/hook: ... to here.
23841 * io: Moved ...
23842 * grub-core/io: ... to here.
23843 * kern: Moved ...
23844 * grub-core/kern: ... to here.
23845 * lib: Moved ...
23846 * grub-core/lib: ... to here.
23847 * loader: Moved ...
23848 * grub-core/loader: ... to here.
23849 * mmap: Moved ...
23850 * grub-core/mmap: ... to here.
23851 * normal: Moved ...
23852 * grub-core/normal: ... to here.
23853 * partmap: Moved ...
23854 * grub-core/partmap: ... to here.
23855 * parttool: Moved ...
23856 * grub-core/parttool: ... to here.
23857 * script: Moved ...
23858 * grub-core/script: ... to here.
23859 * term: Moved ...
23860 * grub-core/term: ... to here
23861 * tests/example_functional_test.c: Moved ...
23862 * grub-core/tests/example_functional_test.c: ... to here.
23863 * tests/lib/functional_test.c: Moved ...
23864 * grub-core/tests/lib/functional_test.c: ... to here.
23865 * tests/lib/test.c: Moved ...
23866 * grub-core/tests/lib/test.c: ... to here.
23867 * video: Moved ...
23868 * grub-core/video: ... to here.
23869
645586e6
BC
238702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23871
23872 Replace --enable-grub-emu-modules with grub-emu-lite.
23873
23874 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23875 cache.S.
23876
23877 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23878 * kern/emu/full.c: New file. For grub-emu specific initialization.
23879 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23880 * kern/emu/main.c: Call initialization function grub_emu_init.
23881
23882 * Makefile.in: Include grub-emu-lite in install.
23883 * commands/parttool.c: Use grub_no_autoload to differentiate
23884 between grub-emu and grub-emu-lite.
23885 * include/grub/misc.h: New variable grub_no_autoload.
23886
23887 * conf/any-emu.rmk: New rules for grub-emu-lite.
23888 * configure.ac: Remove --enable-grub-emu-modules.
23889 * genmk.rb: Cleanup unnecessary rules.
23890 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23891
23892 * normal/main.c: Don't load list files on grub-emu-lite.
23893 * util/misc.c (grub_arch_sync_caches): Removed.
23894
f86a4030
CW
238952010-08-23 Colin Watson <cjwatson@ubuntu.com>
23896
23897 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23898 grub-mkimage rather than grub-mkelfimage.
23899 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23900
06776944
VS
239012010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23904 a key after CapsLock or NumLock. It's just a qemu bug.
23905
df262419
VS
239062010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23909 needed by libusb wrapper.
23910
b40ea81b
ST
239112010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23912
23913 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23914
dee50575
VS
239152010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23918 --nounzip is passed.
23919
fb1d7b79
VS
239202010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 USB hotunplugging and USB serial support.
23923
23924 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23925 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23926 (grub_uhci_transfer): Respect timeout and set *actual.
23927 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23928 non-standard length.
23929 (grub_usb_device_attach): Autoload modules.
23930 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23931 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23932 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23933 users updated.
23934 (grub_usb_add_hub): Fill nports and children.
23935 (attach_root_port): Receive hub instead of controller.
23936 All users updated. Fill hub->devices.
23937 (grub_usb_root_hub): Allocate hub->devices.
23938 (detach_device): New function.
23939 (poll_nonroot_hub): Fill children and detach devices.
23940 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23941 actual arguments. All users updated.
23942 (grub_usb_bulk_read_extended): New function.
23943 * bus/usb/serial/common.c: New file.
23944 * bus/usb/serial/ftdi.c: Likewise.
23945 * bus/usb/serial/pl2303.c: Likewise.
23946 * commands/terminal.c (handle_command): Support wildcard.
23947 * commands/usbtest.c: Output "Unknown" instead of empty string.
23948 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23949 (usbserial_common_mod_SOURCES): New variable.
23950 (usbserial_common_mod_CFLAGS): Likewise.
23951 (usbserial_common_mod_LDFLAGS): Likewise.
23952 (pkglib_MODULES): Add usbserial_pl2303.mod.
23953 (usbserial_pl2303_mod_SOURCES): New variable.
23954 (usbserial_pl2303_mod_CFLAGS): Likewise.
23955 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23956 (pkglib_MODULES): Add usbserial_ftdi.mod.
23957 (usbserial_ftdi_mod_SOURCES): New variable.
23958 (usbserial_ftdi_mod_CFLAGS): Likewise.
23959 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23960 (pkglib_MODULES): Add serial.mod.
23961 (serial_mod_SOURCES): New variable.
23962 (serial_mod_CFLAGS): Likewise.
23963 (serial_mod_LDFLAGS): Likewise.
23964 * conf/i386-pc.rmk: Likewise.
23965 * conf/mips-yeeloong.rmk: Likewise.
23966 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23967 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23968 * disk/usbms.c (first_available_slot): New variable.
23969 (grub_usbms_attach): Don't reuse free slots due to potential cache
23970 problems.
23971 * include/grub/serial.h: Moved to ..
23972 * include/grub/ns8250.h: ...this.
23973 * include/grub/serial.h: New file.
23974 * include/grub/term.h (grub_term_poll_usb): New variable.
23975 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23976 readkey. All users updated.
23977 (grub_terminfo_output_state): Pass term to put.
23978 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23979 (grub_usb_controller_dev): Add timeout and actual arguments to
23980 transfer. All users updated.
23981 (grub_usb_interface): New field detach_data.
23982 (grub_usb_device): New fields children and nports.
23983 (grub_usb_ep_type_t): New type.
23984 (grub_usb_get_ep_type): New function.
23985 (grub_usb_bulk_read_extended): Likewise.
23986 * include/grub/usbdesc.h (grub_usb_desc): New type.
23987 * include/grub/usbserial.h: New file.
23988 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23989 * kern/term.c (grub_term_poll_usb): New variable.
23990 (grub_getkey): Call grub_term_poll_usb if set.
23991 (grub_checkkey): Likewise.
23992 (grub_getkeystatus): Likewise.
23993 * term/serial.c: Moved controller-specific parts to ...
23994 * term/ns8250.c: ... here.
23995 * term/serial.c: Mostly rewritten.
23996 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23997 according to spec.
23998
21a313de
RM
239992010-08-20 Robert Millan <rmh@gnu.org>
24000
24001 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24002 a separate module and maybe other interesting combinations.
24003
24004 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24005 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24006 (kfreebsd_entry): Add generic filesystem module load routine.
24007 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24008
63c734a6
CW
240092010-08-20 Colin Watson <cjwatson@ubuntu.com>
24010
24011 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24012 "numcenter" (I misunderstood the purpose of this entry).
24013 * docs/grub.texi (sendkey): Likewise.
24014
c4d16542
CW
240152010-08-20 Colin Watson <cjwatson@ubuntu.com>
24016
24017 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24018 status flag options; simply omitting the option is equivalent and
24019 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24020 (keysym_table): Rename "num5numlock" to "numlock".
24021 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24022 can uniformly say that only the last of multiple `sendkey'
24023 invocations has any effect.
24024 * docs/grub.texi (sendkey): New section.
24025
93541d66
CW
240262010-08-19 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * commands/i386/pc/sendkey.c (options): Fix three typos.
24029
b4ece5e1
VS
240302010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 Implement sendkey support.
24033
24034 * commands/i386/pc/sendkey.c: New file.
24035 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24036 (sendkey_mod_SOURCES): New variable.
24037 (sendkey_mod_CFLAGS): Likewise.
24038 (sendkey_mod_LDFLAGS): Likewise.
24039
51f1f5af
CW
240402010-08-18 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24043 fix warnings from Autoconf.
24044
9da94e05
CW
240452010-08-18 Colin Watson <cjwatson@ubuntu.com>
24046
24047 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24048 to avoid false positives with some assemblers that output things
24049 like "someprefix_func" as part of their output.
24050
729a0f2e
RM
240512010-08-15 Robert Millan <rmh@gnu.org>
24052
24053 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24054 errors.
24055 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24056 grub_get_libzfs_handle() errors.
24057
f3710e08
RM
240582010-08-14 Robert Millan <rmh@gnu.org>
24059
24060 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24061 filesystem is not ZFS.
24062
7a3c13de
BC
240632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24064
24065 Fix for misspelled color names defaulting to black/black (bug
24066 reported by Doug Nazar)
24067
24068 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24069 status to prototype.
24070 * normal/color.c (grub_parse_color_name_pair): Return failure
24071 status.
24072 (grub_env_write_color_normal): Ignore bad color names.
24073 (grub_env_write_color_highlight): Likewise.
24074 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24075
ab8ba50d
BC
240762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24077
24078 "shift" command support to GRUB script.
24079
24080 * include/grub/script_sh.h (grub_script_shift): New prototype.
24081 * script/execute.c (grub_script_shift): New function.
24082 * script/main.c (grub_script_init): Register shift command.
24083 (grub_script_fini): Unregister shift command.
24084 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24085
24086 * tests/grub_script_shift.in: New testcase.
24087 * conf/tests.rmk: Rules for new testcase.
24088
4d61999e
BC
240892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24090
24091 "continue" command support to GRUB script.
24092
24093 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24094 (grub_script_break): Continue support.
24095 * script/main.c (grub_script_init): Register continue command.
24096 (grub_script_fini): Unregister continue command.
24097
24098 * tests/grub_script_continue.in: New testcase.
24099 * conf/tests.rmk: Rules for new testcase.
24100
4df51e00
BC
241012010-08-12 BVK Chaitanya <bvk@dbook>
24102
24103 "break" command support to GRUB script.
24104
24105 * conf/common.rmk: Rule updates to grub-script-check.
24106 * include/grub/misc.h (grub_min): New function.
24107 * include/grub/script_sh.h (grub_script_init): New prototype.
24108 (grub_script_fini): New prototype.
24109 (grub_script_break): New prototype.
24110 * script/main.c (grub_script_init): New function.
24111 (grub_script_fini): New function.
24112 * script/execute.c (grub_script_break): New function.
24113 * normal/main.c: Calls to grub_script_{init,fini}.
24114 * util/grub-script-check.c (grub_script_break): New function.
24115
24116 * tests/grub_script_break.in: New testcase.
24117 * conf/tests.rmk: Rules for new test case.
24118
f12c8420
BC
241192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24120
24121 Function parameters support to GRUB script.
24122
24123 * script/yylex.l (VARIABLE): Regular expression update.
24124 * script/function.c (grub_script_function_call): Moved ...
24125 * script/execute.c (grub_script_function_call): ... to here.
24126 (grub_script_execute_arglist_to_argv): Removed.
24127 (grub_script_arglist_to_argv): New function.
24128 * script/argv.c: New file.
24129 (grub_script_argv_free): New function.
24130 (grub_script_argv_next): Likewise.
24131 (grub_script_argv_append): Likewise.
24132 (grub_script_argv_split_append): Likewise.
24133 * include/grub/script_sh.h (grub_script_argv): New struct.
24134 (grub_script_argv_free): New function.
24135 (grub_script_argv_next): Likewise.
24136 (grub_script_argv_append): Likewise.
24137 (grub_script_argv_split_append): Likewise.
24138
24139 * conf/common.rmk (normal.mod): New source script/argv.c.
24140
24141 * tests/grub_script_echo1.in: More tests.
24142 * tests/grub_script_vars1.in: Likewise.
24143 * tests/grub_script_functions.in: New test case.
24144 * conf/tests.rmk: Rules for new testcase.
24145
8022b748
BC
241462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24147
24148 Remove grub_script_cmdblock struct.
24149
24150 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24151 * script/parser.y: Likewise.
24152 * script/execute.c: Rename cmdblock suffix to cmdlist.
24153 * script/script.c: Likewise.
24154 * util/grub-script-check.c: Likewise.
24155
79a6ba61
YB
241562010-08-11 Yves Blusseau <blusseau@zetam.org>
24157
24158 * .bzrignore: add grub-macho2img
24159
d04b9414
VS
241602010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24161
24162 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24163
f947ab49
VS
241642010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24165
24166 Remove the dump of sm712 initialisation sequence.
24167
24168 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24169 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24170 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24171 (GRUB_VGA_CR_*): Added many registers.
24172 (GRUB_VGA_SR_*): Likewise.
24173 (GRUB_VGA_GR_*): Likewise.
24174 (grub_vga_write_arx): New function.
24175 (grub_video_hw_config): New struct.
24176 (grub_vga_set_geometry): New function.
24177 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24178 GRUB_PCI_CLASS_SUBCLASS_VGA.
24179 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24180 * video/sm712.c (grub_sm712_write_reg): New function
24181 (grub_sm712_read_reg): Likewise.
24182 (grub_sm712_sr_write): Likewise.
24183 (grub_sm712_gr_write): Likewise.
24184 (grub_sm712_cr_write): Likewise.
24185 (grub_sm712_write_arx): Likewise.
24186 (grub_sm712_cr_shadow_write): Likewise.
24187 (grub_sm712_write_dda_lookup): Likewise.
24188 (grub_video_sm712_setup): Initialise the video rather then
24189 blindly replay the dump.
24190 (main) [TEST]: Add a routine to be able to compile as standalone for
24191 tests.
24192 * video/sm712_init.c (sm712_init): Removed.
24193 (sm712_sr_seq1): New array.
24194 (sm712_sr_seq2): Likewise.
24195
f0206638
VS
241962010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24197
24198 * include/grub/vga.h: Add missing grub/pci.h include.
24199
2764da3b
YB
242002010-08-10 Yves Blusseau <blusseau@zetam.org>
24201
24202 * util/grub-macho2img.c (main): fix typo
24203
cf0c775e
VS
242042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24207 (grub_vga_gr_read): Likewise.
24208 (grub_vga_cr_write): Likewise.
24209 (grub_vga_cr_read): Likewise.
24210 (grub_vga_sr_write): Likewise.
24211 (grub_vga_sr_read): Likewise.
24212 (grub_vga_palette_read): Likewise.
24213 (grub_vga_palette_write): Likewise.
24214 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24215 (grub_sm712_sr_read): New function.
24216 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24217 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24218
07f360e9
RM
242192010-08-09 Robert Millan <rmh@gnu.org>
24220
24221 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24222 out unused variables on non-ZFS build.
24223
346c2072
RM
242242010-08-08 Robert Millan <rmh@gnu.org>
24225
24226 Fix path generation for sub-filesystems in ZFS.
24227
24228 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24229 missing slash.
24230
71175420
RM
242312010-08-08 Robert Millan <rmh@gnu.org>
24232
24233 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24234
0d8286f3
RM
242352010-08-08 Robert Millan <rmh@gnu.org>
24236
24237 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24238 exist, issue a proper error message (rely on `ls' for translated
24239 strings).
24240
55dd2924
RM
242412010-08-08 Robert Millan <rmh@gnu.org>
24242
24243 Fix grub-probe invocation.
24244
24245 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24246
d3dd9e80
RM
242472010-08-04 Robert Millan <rmh@gnu.org>
24248
24249 * configure.ac: Remove checks for getfsstat() and getmntany().
24250 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24251 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24252 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24253 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24254 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24255 function.
24256 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24257 via find_mount_point_from_dir() and getfsstat() / getmntany().
24258
0de22aa9
RM
242592010-08-04 Robert Millan <rmh@gnu.org>
24260
24261 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24262 (grub_find_zpool_from_mount_point): Merge into ...
24263 (grub_find_zpool_from_dir): ... this.
24264 * kern/emu/misc.c: Likewise.
24265
24266 * kern/emu/misc.c
24267 (grub_make_system_path_relative_to_its_root): Replace
24268 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24269 with grub_find_zpool_from_dir().
24270 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24271
62858144
RM
242722010-08-04 Robert Millan <rmh@gnu.org>
24273
24274 Support OpenSolaris in ZFS device resolution.
24275
24276 * configure.ac: Check for getmntany().
24277 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24278 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24279 support.
24280
9dd6fd50
RM
242812010-08-03 Robert Millan <rmh@gnu.org>
24282
24283 Fix grub-emu build.
24284
24285 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24286 * include/grub/emu/misc.h: ... here.
24287
24288 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24289 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24290
24291 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24292 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24293 (grub_get_libzfs_handle): Move to ...
24294 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24295 (grub_get_libzfs_handle): ... here.
24296
c9f7ff97
BC
242972010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24298
24299 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24300 as command name case.
24301
a870a783
CW
243022010-08-02 Colin Watson <cjwatson@ubuntu.com>
24303
24304 * disk/raid.c (insert_array): Select unique numbers for named arrays
24305 as well, for use as keys in the disk cache.
24306
c7db243b
RM
243072010-08-01 Robert Millan <rmh@gnu.org>
24308
24309 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24310 kFreeBSD device name, except on ZFS where the filesystem label is
24311 used.
24312 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24313 `/boot/zfs/zpool.cache'.
24314 Set mountfrom kernel variable using ${kfreebsd_device}.
24315
f7abdefb
RM
243162010-08-01 Robert Millan <rmh@gnu.org>
24317
24318 Make it even harder to use uninitialized `libzfs_handle' (and
24319 make the interface a bit simpler).
24320
24321 * include/grub/util/misc.h (grub_util_init_libzfs)
24322 (libzfs_handle): Remove.
24323 (grub_get_libzfs_handle): New prototype.
24324
24325 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24326 attribute.
24327 (grub_util_init_libzfs): Remove.
24328 (grub_get_libzfs_handle): New function.
24329
24330 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24331 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24332 accessing `libzfs_handle' directly.
24333
c882acc0
RM
243342010-08-01 Robert Millan <rmh@gnu.org>
24335
24336 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24337 (grub_find_zpool_from_mount_point): New function prototypes.
24338
24339 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24340 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24341
24342 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24343 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24344 `static' attribute.
24345
24346 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24347 finding zpool from mount point into ...
24348 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24349
24350 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24351 requested path is part of a ZFS pool, use
24352 grub_find_zpool_from_mount_point() to detect its filesystem name,
24353 and generate a path with `/fsname@path' syntax.
24354
8bfe31d8
CW
243552010-08-01 Colin Watson <cjwatson@ubuntu.com>
24356
24357 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24358 (void) rather than () so that this is a proper prototype.
24359
553df63d
VS
243602010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24363
8687cf07
VS
243642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24365
24366 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24367 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24368
ea9be8ea
CW
243692010-08-01 Colin Watson <cjwatson@ubuntu.com>
24370
24371 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24372
6eea041a
CW
243732010-08-01 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24376
2cfb45df
CW
243772010-08-01 Colin Watson <cjwatson@ubuntu.com>
24378
24379 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24380 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24381 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24382 disable gfxpayload.
24383 (Shell-like scripting): Add real content.
24384 (Serial terminal): Suggest `terminal_input serial; terminal_output
24385 serial' rather than putting the two commands on separate lines,
24386 since console input will be inoperative after the first command.
24387 (menuentry): Document --class, --users, and --hotkey options.
24388 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24389 Vladimir Serbinenko).
24390
7decd202
VS
243912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
243922010-08-01 Colin Watson <cjwatson@ubuntu.com>
24393
24394 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24395
c882acc0
RM
243962010-08-01 Robert Millan <rmh@gnu.org>
24397
24398 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24399 (grub_find_zpool_from_mount_point): New function prototypes.
24400
24401 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24402 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24403
24404 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24405 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24406 `static' attribute.
24407
24408 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24409 finding zpool from mount point into ...
24410 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24411
24412 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24413 requested path is part of a ZFS pool, use
24414 grub_find_zpool_from_mount_point() to detect its filesystem name,
24415 and generate a path with `/fsname@path' syntax.
24416
deb0caa3
RM
244172010-08-01 Robert Millan <rmh@gnu.org>
24418
24419 Prevent accidental use of uninitialized libzfs_handle.
24420
24421 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24422 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24423 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24424
ce04ef47
CW
244252010-08-01 Colin Watson <cjwatson@ubuntu.com>
24426
24427 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24428 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24429
ebf53056
RM
244302010-08-01 Robert Millan <rmh@gnu.org>
24431
24432 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24433
3710bb6b
RM
244342010-07-31 Robert Millan <rmh@gnu.org>
24435
24436 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24437
8072efeb
RM
244382010-07-31 Robert Millan <rmh@gnu.org>
24439
24440 * kern/emu/misc.c: Add missing license header.
24441
3169f4c7
RM
244422010-07-31 Robert Millan <rmh@gnu.org>
24443
24444 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24445
24446 * include/grub/util/libnvpair.h: Include `<config.h>'.
24447 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24448 declaring libnvpair prototypes ourselves.
24449 * include/grub/util/libzfs.h: Include `<config.h>'.
24450 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24451 declaring libzfs prototypes ourselves.
24452
24453 (libzfs_handle): Moved to ...
24454 * include/grub/util/misc.h (libzfs_handle): ... here.
24455 Include `<grub/util/libzfs.h>'.
24456
c9a00aee
RM
244572010-07-30 Robert Millan <rmh@gnu.org>
24458
24459 * include/grub/emu/misc.h: Add missing license header.
24460
a184f9c8
RM
244612010-07-30 Robert Millan <rmh@gnu.org>
24462
24463 Enable `grub-probe -t device' resolution on ZFS.
24464
24465 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24466 * include/grub/util/libnvpair.h: New file.
24467 * include/grub/util/libzfs.h: New file.
24468
24469 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24470 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24471 `<grub/util/libnvpair.h>'.
24472 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24473
24474 (find_mount_point_from_dir): New static function.
24475 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24476 function.
24477 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24478 find_root_device_from_libzfs() before ressorting to find_root_device().
24479
24480 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24481 prototype.
24482 * util/misc.c: Include `<grub/util/libzfs.h>'.
24483 (grub_util_init_libzfs): New function.
24484 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24485 [HAVE_LIBZFS] (fini_libzfs): New static function.
24486 (grub_util_init_libzfs): New function.
24487 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24488
f7790cdd
RM
244892010-07-30 Robert Millan <rmh@gnu.org>
24490
24491 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24492 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24493 `warn_unused_result' attribute.
24494 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24495 (grub_xasprintf, grub_xvasprintf): Likewise.
24496 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24497
0806b63c
RM
244982010-07-29 Robert Millan <rmh@gnu.org>
24499
24500 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24501 (probe): Handle `PRINT_FS_LABEL'.
24502 (main): Handle `-t fs_label'.
24503
9f841f5c
RM
245042010-07-29 Robert Millan <rmh@gnu.org>
24505
24506 * configure.ac: Remove grub-mkisofs checks.
24507
46371121
VS
245082010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24509
24510 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24511 Reported by: Lennart Sorensen.
24512
245132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24514
24515 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24516 prior to terminal_input/terminal_output separation. It's been over 1.5
24517 years and those versions weren't widely deployed.
24518
a9600892
CW
245192010-07-22 Colin Watson <cjwatson@ubuntu.com>
24520
24521 * disk/raid.c (insert_array): Don't count named arrays when looking
24522 for unused array numbers.
697e053c 24523 Reported and tested by: Michael Guntsche.
a9600892 24524
c03507df
CW
245252010-07-20 Colin Watson <cjwatson@ubuntu.com>
24526
24527 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24528 implementation of this so that grub-emu links again, with a note
24529 that this should support hotplugging in the future.
24530
b26f1c11
CW
245312010-07-20 Colin Watson <cjwatson@ubuntu.com>
24532
24533 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24534
efc9d7f1
CW
245352010-07-20 Colin Watson <cjwatson@ubuntu.com>
24536
24537 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24538 handle on failure.
24539 (grub_loopback_close): Remove empty function.
24540 (grub_loopback_dev): Remove close method.
24541
dd8ff5c9
CW
245422010-07-20 Colin Watson <cjwatson@ubuntu.com>
24543
24544 Disable EFI cursor when the EFI console becomes inactive.
24545
24546 * term/efi/console.c (grub_efi_console_init): New function.
24547 (grub_efi_console_fini): New function.
24548 (grub_console_term_output): Register init and fini methods.
24549
5e3bec67
VS
245502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24553 sh script.
24554
afaec079
VS
245552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 * disk/loopback.c (grub_loopback): Replace filename with file.
24558 (delete_loopback): Handle new semantics.
24559 (grub_cmd_loopback): Likewise.
24560 (grub_loopback_iterate): Likewise.
24561 (grub_loopback_close): Likewise.
24562
a6a11f3c
VS
245632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24566 with -p "".
24567 Reported by: Tito Keitel.
24568
64a638b0
VS
245692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * docs/grub.texi (Naming convention): Document new naming convention.
24572
ab8ba957
VS
245732010-07-20 Vadim Solomin <vadic052@gmail.com>
245742010-07-20 Colin Watson <cjwatson@ubuntu.com>
24575
24576 Generate device.map in something closer to the old ordering.
24577
24578 * util/deviceiter.c (struct device): New declaration.
24579 (compare_file_names): Rename to ...
24580 (compare_devices): ... this. Sort by kernel name in preference to
24581 the stable by-id name, but keep the latter as a fallback comparison.
24582 Update header comment.
24583 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24584 of `struct device' rather than of plain file names.
24585
a29d6a4b
TF
245862010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24587
24588 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24589 on i386.
24590
39d824e8
VS
245912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24594 hardcoding size.
24595 (setv1table): Likewise.
24596
f058276b
FZ
245972010-07-20 Colin Watson <cjwatson@ubuntu.com>
24598
24599 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24600 removing the homehost if present.
24601 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24602 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24603 removing the homehost if present.
24604 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24605 if possible.
24606 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24607
24608 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24609 parameter. Set its pointer target to 0.
24610 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24611 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24612 `data_offset' value from the superblock for 1.x metadata.
24613 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24614 data on the device.
24615 (insert_array): Record the start sector of data on the device.
24616 (grub_raid_register): Pass start_sector parameters to
24617 grub_raid_list->detect and insert_array.
24618 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24619 member.
24620 (struct grub_raid): Add start_sector parameter to `detect'.
24621
24622 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24623 __attribute__ ((packed)), leaving a comment.
24624 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24625 (grub_mdraid_detect_09): ... here and ...
24626 (grub_mdraid_detect_1x): ... here.
24627
246282010-07-20 Peter Henn <peter.henn@web.de>
24629
24630 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24631 chunk size and disk size, which are already given as sector counts
24632 as distinct from the 0.90 units. Fetch the correct device number
24633 from the role table instead of using the table index.
24634
246352010-07-20 Felix Zielcke <fzielcke@z-51.de>
24636
24637 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24638 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24639 (WriteMostly1): New macro.
24640 Set array->name to NULL for metadata format 0.90. Add support for
24641 metadata 1.x. Fix some comments.
24642 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24643 few comments.
24644 * util/getroot.c (grub_util_get_grub_dev): Add support for
24645 /dev/md/name style devices.
24646
4b761da9
CW
246472010-07-20 Colin Watson <cjwatson@ubuntu.com>
24648
24649 * .bzrignore: Ignore 20_linux_xen.
24650
5771289a
CW
246512010-07-17 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * util/import_unicode.py: Remove unnecessary imports.
24654
5dab68df
AN
246552010-07-17 Aleš Nesrsta <starous@volny.cz>
24656
24657 Hotplugging and USB hub support.
24658
24659 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24660 (grub_ohci): Likewise.
24661 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24662 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24663 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24664 (GRUB_OHCI_CTRL_EDS): Likewise.
24665 (GRUB_OHCI_BULK_EDS): Likewise.
24666 (GRUB_OHCI_TDS): Likewise.
24667 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24668 (grub_ohci_ed_phys2virt): New function.
24669 (grub_ohci_virt_to_phys): Likewise.
24670 (grub_ohci_td_phys2virt): Likewise.
24671 (grub_ohci_td_virt2phys): Likewise.
24672 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24673 attachment.
24674 (grub_ohci_find_ed): New function.
24675 (grub_ohci_alloc_td): Likewise.
24676 (grub_ohci_free_td): Likewise.
24677 (grub_ohci_free_tds): Likewise.
24678 (grub_ohci_transfer): Use previously allocated memory.
24679 (grub_ohci_portstatus): Reset status changed bit.
24680 (grub_ohci_detect_dev): Supply status changed.
24681 (grub_ohci_fini_hw): Free memory.
24682 (grub_ohci_restore_hw): Reallocate memory.
24683 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24684 Reset status change.
24685 (grub_uhci_detect_dev): Supply status_change.
24686 * bus/usb/usb.c (attach_hooks): New var.
24687 (grub_usb_device_attach): New function.
24688 (grub_usb_register_attach_hook_class): Likewise.
24689 (grub_usb_unregister_attach_hook_class): Likewise.
24690 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24691 (grub_usb_add_hub): Reset connection changed bit.
24692 (attach_root_port): New function.
24693 (grub_usb_root_hub): Likewise.
24694 (poll_nonroot_hub): Likewise.
24695 (grub_usb_poll_devices): Likewise.
24696 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24697 * disk/usbms.c (grub_usbms_open): Use device hooks.
24698 (grub_usbms_iterate) :Poll devices.
24699 (grub_usbms_finddevs): Split into ...
24700 (grub_usbms_attach): ... this ...
24701 (grub_usbms_attach): ... and this.
24702 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24703 in detect_dev.
24704 (grub_usb_interface): New fields attached and detach_hook.
24705 (grub_usb_attach_hook_class): New type.
24706 (grub_usb_attach_desc): New struct.
24707 (grub_usb_register_attach_hook_class): New function.
24708 (grub_usb_unregister_attach_hook_class): Likewise.
24709 (grub_usb_poll_devices): Likewise.
24710 (grub_usb_device_attach): Likewise.
24711 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24712 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24713
3222efaf
VS
247142010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24717 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24718 delta determination style. Works with most NetBSD partitions too.
24719
139b714a
VS
247202010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24721
24722 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24723 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24724
986aad56
VS
247252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24726
24727 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24728
99be513c
AB
247292010-07-14 Anton Blanchard <anton@samba.org>
24730
24731 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24732 ET_DYN files.
24733
18075f62
GS
247342010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24735
24736 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24737
8d9a5b15
GS
247382010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24739
24740 * kern/partition.c (grub_partition_check_containment): New function to
24741 check that a partition is physically contained in a parent. Since
24742 offsets are relative (and non-negative), this reduces to checking that
24743 the partition ends before its parent.
24744 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24745 (grub_partition_iterate): Likewise.
24746 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24747 comments.
24748 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24749 partitions that start before their parent, and add debug printfs.
24750
19563c25
CW
247512010-07-13 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * Makefile.in (.SUFFIX): Spell correctly, as ...
24754 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24755 bare module name without `.mod', e.g. `test') tried to invoke a
24756 Modula-2 compiler.
24757
1a1f1e67
CW
247582010-07-13 Colin Watson <cjwatson@ubuntu.com>
24759
24760 * README: Point to the Info manual.
24761
811b0dca
JS
247622010-07-13 Jiro SEKIBA <jir@unicus.jp>
24763
24764 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24765 2nd superblock position from partition size.
24766
e4f4eafc
CW
247672010-07-10 Colin Watson <cjwatson@ubuntu.com>
24768
24769 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24770 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24771 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24772 outputs.
24773
4274c30f
VS
247742010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24775
24776 Restructure SCSI .id handling.
24777 Reported and tested by: Aleš Nesrsta.
24778
24779 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24780 (grub_atapi_dev): Changed .name to "ata". New field .id.
24781 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24782 (grub_usbms_dev): New field .id.
24783 * disk/scsi.c (grub_scsi_iterate): Generate name.
24784 (grub_scsi_open): Parse name.
24785 * include/grub/scsi.h (grub_make_scsi_id): New function.
24786 (grub_scsi_dev): Change iterate and open to number instead of naming
24787 busses. All users updated.
24788 (grub_scsi): Remove name. Add .bus.
24789
5bc24388
VS
247902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * commands/help.c (grub_cmd_help): Fix a typo.
24793
249975ba
VS
247942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24797 Reported and tested by: Colin Watson.
24798
3eaac1a1
VS
247992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24802 in this context.
24803
becce1b1
VS
248042010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24807
f7bf0918
CW
248082010-07-07 Colin Watson <cjwatson@ubuntu.com>
24809
24810 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24811 indentation.
24812
0b0f9620
CW
248132010-07-06 Colin Watson <cjwatson@ubuntu.com>
24814
24815 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24816 and disk/raid6_recover.c.
24817 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24818 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24819
1e545469
CW
248202010-07-06 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * term/gfxterm.c (repaint_schedulded): Rename to ...
24823 (repaint_scheduled): ... this. Update all callers.
24824 (repaint_was_schedulded): Rename to ...
24825 (repaint_was_scheduled): ... this. Update all callers.
24826
5357687a
CW
248272010-07-06 Colin Watson <cjwatson@ubuntu.com>
24828
24829 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24830 which we expect to be handled by upper layers.
24831
29d7e783
BC
248322010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24833
24834 * bus/usb/usbhub.c: #include time.h header.
24835
37582066
CW
248362010-07-06 Colin Watson <cjwatson@ubuntu.com>
24837
24838 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24839 entry_name also for entries without stat blocks (e.g. ".."); fixes
24840 corruption of the first entry in a directory.
24841
c8c06953
CW
248422010-07-06 Colin Watson <cjwatson@ubuntu.com>
24843
24844 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24845 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24846 doesn't work otherwise.
24847
e75056f1
CW
248482010-07-05 Colin Watson <cjwatson@ubuntu.com>
24849
24850 * docs/grub.texi (Features): Update list of supported file systems.
24851 (GNU/Linux): Update for GRUB 2.
24852 (Serial terminal): Remove mention of --disable-serial, which was a
24853 GRUB Legacy configure option. Update instructions to use
24854 `terminal_input' and `terminal_output' rather than `terminal'.
24855 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24856 configuration' and `Installing GRUB using grub-install'.
24857 (Menu entry editor): Update for GRUB 2.
24858 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24859 Document new -a, -u, and -v options.
24860 (initrd): New section.
24861 (initrd16): New section.
24862 (linux): New section.
24863 (linux16): New section.
24864 (search): The `var' argument to `--set' is optional.
24865 (GRUB only offers a rescue shell): Go into a little more detail on
24866 drive ordering.
24867
5cf69151
CW
248682010-07-05 Colin Watson <cjwatson@ubuntu.com>
24869
24870 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24871
e3f90044
CW
248722010-07-05 Colin Watson <cjwatson@ubuntu.com>
24873
24874 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24875 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24876
38d8f4f3
CW
248772010-07-05 Colin Watson <cjwatson@ubuntu.com>
24878
24879 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24880 install_prefix, in line with install_dos_part and install_bsd_part.
24881 Add new prefix variable, which is copied to install_prefix after
24882 comparing core.img in memory with the one read from disk in the
24883 no-embedding case, and use that rather than overwriting
24884 install_prefix immediately when installing to a partition.
24885 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24886 Bicakci.
24887
57ebd41e
GS
248882010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24889
24890 * configure.ac: Avoid == in test command, it's not portable.
24891 * util/grub.d/30_os-prober.in: Likewise.
24892
cb7f64b2
CW
248932010-07-04 Colin Watson <cjwatson@ubuntu.com>
24894
24895 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24896
6b654bb0
GS
248972010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24898
24899 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24900 multiple (top-level) partmaps.
24901
72a2026d
VS
249022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24905 Reported by: Tino Keitel.
72a2026d 24906
df3eb88f
VS
249072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Bidi and diacritics support.
24910
24911 * Makefile.in (widthspec.bin): New target.
24912 (widthspec.h): Likewise.
24913 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24914 * autogen.sh: Generate unidata.c.
24915 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24916 * commands/ls.c (grub_ls_list_devices): Likewise.
24917 (grub_ls_list_files): Likewise.
24918 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24919 (grub_mini_cmd_lsmod): Likewise.
24920 * commands/read.c: Likewise.
24921 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24922 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24923 * lib/arg.c (grub_arg_show_help): Likewise.
24924 * lib/crypto.c (grub_password_get): Likewise.
24925 * normal/auth.c (grub_username_get): Likewise.
24926 * normal/misc.c (grub_normal_print_device_info): Likewise.
24927 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24928 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24929 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24930 (normal/charset.c_DEPENDENCIES): New variable.
24931 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24932 (pkglib_MODULES): Remove charset.mod.
24933 (charset_mod_SOURCES): Removed.
24934 (charset_mod_CFLAGS): Likewise.
24935 (charset_mod_LDFLAGS): Likewise.
24936 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24937 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24938 and term/tparm.c.
24939 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24940 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24941 (kernel_img_HEADERS): Add terminfo.h.
24942 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24943 Fill ->font. Reverse ascii bitmaps.
24944 (grub_font_get_xheight): New function.
24945 * font/font.c (grub_font_get_string_width): Moved from here ...
24946 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24947 * font/font.c (grub_font_draw_string): Moved from here ...
24948 * gfxmenu/font.c (grub_font_draw_string): ... here.
24949 * font/font.c (grub_font_dup_glyph): New function.
24950 (grub_font_blit_glyph): Likewise.
24951 (grub_font_blit_glyph_mirror): Likewise.
24952 (blit_comb): Likewise.
24953 (grub_font_construct_dry_run): Likewise.
24954 (grub_font_get_constructed_device_width): Likewise.
24955 (grub_font_construct_glyph): Likewise.
24956 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24957 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24958 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24959 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24960 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24961 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24962 (grub_font_get_xheight): New proto.
24963 (grub_font_get_constructed_device_width): Likewise.
24964 (grub_font_construct_glyph): Likewise.
24965 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24966 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24967 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24968 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24969 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24970 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24971 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24972 (grub_console_getcharwidth): Likewise.
24973 * include/grub/misc.h (grub_xputs): New proto.
24974 (grub_puts): Inlined.
24975 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24976 (grub_normal_get_line_counter): Removed.
24977 (grub_install_newline_hook): Likewise.
24978 (grub_normal_get_char_counter): New proto.
24979 (grub_normal_reset_more): Likewise.
24980 (grub_xputs_normal): Likewise.
24981 * include/grub/powerpc/ieee1275/console.h: Removed.
24982 * include/grub/sparc64/ieee1275/console.h: Likewise.
24983 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24984 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24985 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24986 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24987 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24988 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24989 (grub_term_input): Pass reference to self. All users updated.
24990 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24991 Pass reference to self. New fields normal_color, highlight_color and
24992 data. All users updated.
24993 (grub_putchar): Removed.
24994 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24995 (grub_unicode_estimate_width): New function.
24996 (grub_term_getcharwidth): Add defaults.
24997 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24998 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24999 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25000 (grub_cls): Remove EXPORT_FUNC.
25001 (grub_setcolorstate): Inline.
25002 (grub_newline_hook): Removed.
25003 * include/grub/terminfo.h: Rewritten. All users updated.
25004 * include/grub/unicode.h: New file.
25005 * include/grub/video.h (grub_video_signed_rect): New type.
25006 * kern/emu/console.c (grub_console_highlight_color): Removed.
25007 (grub_console_normal_color): Likewise.
25008 (grub_console_standard_color): Made static.
25009 (grub_ncurses_putchar): Remove mapping.
25010 (grub_ncurses_getcharwidth): Removed.
25011 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25012 (grub_ncurses_setcolor): Removed.
25013 (grub_ncurses_getcolor): Likewise.
25014 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25015 (grub_console_putchar): ... this.
25016 (grub_console_putchar): Handle argument difference.
25017 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25018 console_init_early and console_init_lately.
25019 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25020 * kern/misc.c (grub_puts): Removed.
25021 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25022 (grub_vsnprintf_real): Remove str = NULL support.
25023 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25024 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25025 * kern/term.c (grub_putcode): Renamed to ...
25026 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25027 (grub_putchar): Removed.
25028 (grub_xputs_dumb): New function.
25029 (grub_xputs): New variable.
25030 * lib/charset.c: Move from here ...
25031 * normal/charset.c: ... to here.
25032 (grub_ucs4_to_utf8): New function.
25033 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25034 (join_types): New variable.
25035 (unpack_join): New function.
25036 (bidi_types): New variable.
25037 (unpack_bidi): New function.
25038 (get_bidi_type): Likewise.
25039 (get_join_type): Likewise.
25040 (is_mirrored): Likewise.
25041 (grub_unicode_get_comb_type): Likewise.
25042 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25043 (is_type_after): Likewise.
25044 (grub_unicode_aglomerate_comb): Likewise.
25045 (bidi_line_wrap): Likewise.
25046 (grub_bidi_line_logical_to_visual): Likewise.
25047 (grub_bidi_logical_to_visual): Likewise.
25048 (grub_unicode_mirror_code): Likewise.
25049 (grub_unicode_shape_code): Likewise.
25050 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25051 Don't use grub_putchar.
25052 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25053 (grub_normal_reader_init): Likewise.
25054 (grub_xputs_saved): New variable.
25055 (GRUB_MOD_INIT): Set grub_xputs.
25056 (GRUB_MOD_FINI): Restore grub_xputs.
25057 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25058 (menu_init): Avoid printing gfxmenu error.
25059 (show_menu): Use grub_normal_get_char_counter.
25060 * normal/menu_entry.c (update_screen): Fix out-of-array.
25061 (complete): Avoid NULL dereferencing.
25062 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25063 * normal/menu_text.c (print_spaces): Removed.
25064 (grub_print_ucs4): Likewise.
25065 (grub_print_message_indented): Use grub_print_ucs4.
25066 (print_message): Use grub_putcode.
25067 (print_entry): Hanlde diacritics.
25068 * normal/term.c (term_state): New type.
25069 (grub_more_lines): Removed.
25070 (term_states): New variable.
25071 (grub_normal_line_counter): Renamed to ..
25072 (grub_normal_char_counter): ...this. All users updated.
25073 (grub_normal_get_line_counter): Renamed to ...
25074 (grub_normal_get_char_counter): ... this.
25075 (grub_normal_reset_more): New function.
25076 (process_newline): Removed.
25077 (print_more): New function.
25078 (grub_install_newline_hook): Removed.
25079 (map_code): New function.
25080 (grub_puts_terminal): Use grub_print_ucs4.
25081 (putglyph): New function.
25082 (putcode_real): Likewise.
25083 (grub_putcode): Use putcode_real.
25084 (get_maxwidth): New function.
25085 (get_startwidth): Likewise.
25086 (print_ucs4_terminal): Likewise.
25087 (find_term_state): Likewise.
25088 (put_glyphs_terminal): Likewise.
25089 (print_backlog): Likewise.
25090 (print_ucs4_real): Likewise.
25091 (grub_print_ucs4): Likewise.
25092 (grub_xputs_normal): Likewise.
25093 * term/efi/console.c (grub_console_putchar): Output diacritics.
25094 (grub_console_getcharwidth): Removed.
25095 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25096 * term/gfxterm.c (clear_char): Free chars.
25097 (scroll_up): Avoid leaking memory.
25098 (grub_gfxterm_putchar): Support diacritics.
25099 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25100 * term/i386/pc/console.c (grub_console_term_output): Declare as
25101 GRUB_TERM_CODE_TYPE_VGA.
25102 * term/i386/pc/vga.c (grub_vga_term): Declare as
25103 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25104 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25105 GRUB_TERM_CODE_TYPE_VGA.
25106 * term/i386/vga_common.c (map_char): Removed.
25107 (grub_console_putchar): Likewise.
25108 (grub_console_getcharwidth): Likewise.
25109 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25110 (colors): Reordered to match terminfo.
25111 (grub_ofconsole_normal_color): Removed.
25112 (grub_ofconsole_writeesc): Likewise.
25113 (grub_ofconsole_highlight_color): Likewise.
25114 (grub_ofconsole_getcharwidth): Likewise.
25115 (grub_ofconsole_setcolorstate): Likewise.
25116 (grub_ofconsole_setcolor): Likewise.
25117 (grub_ofconsole_getcolor): Likewise.
25118 (grub_ofconsole_readkey): Renamed to ...
25119 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25120 key.
25121 (grub_ofconsole_checkkey): Removed.
25122 (grub_ofconsole_getkey): Likewise.
25123 (grub_ofconsole_getxy): Likewise.
25124 (grub_ofconsole_gotoxy): Likewise.
25125 (grub_ofconsole_cls): Likewise.
25126 (grub_ofconsole_refresh): Likewise.
25127 (grub_ofconsole_terminfo_input): New struct.
25128 (grub_ofconsole_terminfo_output): Likewise.
25129 (grub_ofconsole_term_input): Use terminfo.
25130 (grub_ofconsole_term_output): Likewise.
25131 (grub_console_init): Split into ...
25132 (grub_console_init_early): ...this and ...
25133 (grub_console_init_lately): ...this. Use terminfo.
25134 (grub_ofconsole_putchar): Renamed to ...
25135 (put): ... this. Remove mapping.
25136 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25137 * term/serial.c: Simplify using terminfo.
25138 (xpos): Removed.
25139 (ypos): Likewise.
25140 (keep_track): Likewise.
25141 (registered): Likewise.
25142 (input_buf): Likewise.
25143 (npending): Likewise.
25144 (serial_translate_key_sequence): Likewise.
25145 (fill_input_buf): Likewise.
25146 (grub_serial_checkkey): Likewise.
25147 (grub_serial_getkey): Likewise.
25148 (grub_serial_getxy): Likewise.
25149 (grub_serial_gotoxy): Likewise.
25150 (grub_serial_putchar): Likewise.
25151 (grub_serial_cls): Likewise.
25152 (grub_serial_setcolorstate): Likewise.
25153 (grub_serial_setcursor): Likewise.
25154 (serial_hw_init): Use serial_hw_fetch.
25155 (grub_serial_terminfo_input): New variable.
25156 (grub_serial_terminfo_output): Likewise.
25157 (grub_serial_term_input): Use terminfo.
25158 (grub_serial_term_output): Likewise.
25159 * term/terminfo.c (putstr): Use put.
25160 (grub_terminfo_all_free): New function
25161 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25162 (grub_terminfo_output_register): New function.
25163 (grub_terminfo_output_unregister): Likewise.
25164 (grub_terminfo_getxy): Likewise.
25165 (grub_terminfo_readkey): Likewise.
25166 (grub_terminfo_checkkey): Likewise.
25167 (grub_terminfo_getkey): Likewise.
25168 (grub_terminfo_input_init): Likewise.
25169 (print_terminfo): Likewise.
25170 (grub_cmd_terminfo): Handle encoding.
25171 (grub_terminfo_gotoxy): Track position.
25172 (grub_terminfo_cls): Likewise.
25173 (grub_terminfo_putchar): Likewise.
25174 (grub_terminfo_setcolorstate): Handle colors
25175 (grub_terminfo_cursor_on): This ...
25176 (grub_terminfo_cursor_off): ... and this merged into ...
25177 (grub_terminfo_setcursor): ... this.
25178 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25179 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25180 * unicode/BidiMirroring.txt: Likewise.
25181 * unicode/UnicodeData.txt: Likewise.
25182 * unicode/COPYING: Likewise.
25183 * util/grub-editenv.c (grub_putchar): Removed.
25184 (grub_xputs_real): New function.
25185 (grub_xputs): New variable.
25186 * util/grub-fstest.c (grub_putchar): Removed.
25187 (grub_xputs_real): New function.
25188 (grub_xputs): New variable.
25189 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25190 (grub_xputs_real): New function.
25191 (grub_xputs): New variable.
25192 * util/grub-probe.c (grub_putchar): Removed.
25193 (grub_xputs_real): New function.
25194 (grub_xputs): New variable.
25195 * util/grub-script-check.c (grub_putchar): Removed.
25196 (grub_xputs_real): New function.
25197 (grub_xputs): New variable.
25198 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25199 (grub_xputs_real): New function.
25200 (grub_xputs): New variable.
25201 * util/import_unicode.py: New file.
25202 * util/grub-mkfont.c (ft_errmsgs): New array.
25203 (grub_glyph_info): Make bitmap a pointer.
25204 (file_formats): New type WIDTH_SPEC.
25205 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25206 (options): Add width-spec.
25207 (help): Likewise.
25208 (add_char): Renamed to ...
25209 (add_glyph): ... this.
25210 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25211 (glyph_replace): New type.
25212 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25213 (add_char): New function.
25214 (add_subst): Likewise.
25215 (process_cursive): Likewise.
25216 (add_font): Handle GSUB.
25217 (write_font_width_spec): New function.
25218 (main): Sort glyphs.
25219 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25220 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25221 * kern/term.c (grub_cls): Moved from here...
25222 * normal/term.c (grub_cls): ... here.
25223
50f0bcda
CW
252242010-07-02 Colin Watson <cjwatson@ubuntu.com>
25225
25226 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25227 suitable for using within the format argument of printf when
25228 converting grub_size_t.
25229 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25230 "x" to convert grub_size_t arguments.
25231
40372103
VS
252322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25233
25234 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25235 too long captions.
25236 (list_get_minimal_size): Take selection box into account.
25237
942a10c7
VS
252382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25239
25240 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25241 NULL font.
25242
2bdb2892
CW
252432010-07-02 Colin Watson <cjwatson@ubuntu.com>
25244
25245 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25246 devices when iterating over /dev/disk/by-id; they will be handled
25247 later if appropriate, which they aren't always (e.g. LVM).
25248
e03ed6c1
CW
252492010-07-02 Colin Watson <cjwatson@ubuntu.com>
25250
25251 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25252 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25253 fails.
25254 (grub_halt): Likewise.
25255 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25256 reset-all fails.
25257 (grub_halt): Don't return, even if all of shut-down, power-off, and
25258 poweroff fail.
25259
47695765
CW
252602010-07-02 Colin Watson <cjwatson@ubuntu.com>
25261
25262 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25263 arguments, not three.
25264
507736c8
CW
252652010-07-02 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25268 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25269 LVM-on-RAID is handled correctly.
25270
e3c8cd37
CW
252712010-07-02 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * docs/grub.texi (Changes from GRUB Legacy): New section.
25274 (Future): Fix typo.
25275
8d4a2fec
CW
252762010-07-02 Colin Watson <cjwatson@ubuntu.com>
25277
25278 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25279 grub.d/README accidentally ends up executable for one reason or
25280 another. Ignore it.
25281
1c4827be
VS
252822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25283
25284 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25285 (gpt_partition_map_iterate): Support non-512B sectors.
25286
d9a0c941
VS
252872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25290 Tested by: Seth Goldberg.
25291
48f27e87
VS
252922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25295 Properly align mbi.
25296 Reported by: Seth Goldberg.
25297
b0c4f956
VS
252982010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 * util/grub-mkrescue.in: Avoid module duplication.
25301
105a2e8c
SF
253022010-07-01 Sean Finney <seanius@seanius.net>
25303
25304 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25305
5944958c
SF
253062010-07-01 Sean Finney <seanius@seanius.net>
25307
25308 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25309
253102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * disk/lvm.c (grub_lvm_checkvalue): New function.
25313 (grub_lvm_check_flag): Likewise.
25314
b79889ba
RM
253152010-07-01 Robert Millan <rmh@gnu.org>
25316
25317 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25318 Support 'p' as partition separator on kernel of FreeBSD (used
25319 with GPT labels).
25320 (grub_util_biosdisk_get_grub_dev): Likewise.
25321
ec1d04f1
VS
253222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25323
25324 Yeeloong firmware port.
25325
25326 * boot/mips/yeeloong/fwstart.S: New file.
25327 * bus/cs5536.c (gpiodump): New const.
25328 (set_io_space): New function.
25329 (set_iod): Likewise.
25330 (set_p2d): Likewise.
25331 (grub_cs5536_init_geode): Likewise.
25332 * commands/mips/yeeloong/lsspd.c: New file.
25333 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25334 (serial_mod_SOURCES): New variable.
25335 (serial_mod_CFLAGS): Likewise.
25336 (serial_mod_LDFLAGS): Likewise.
25337 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25338 term/terminfo.c and term/tparm.c.
25339 (pkglib_IMAGES): Add fwstart.img.
25340 (fwstart_img_SOURCES): New variable.
25341 (fwstart_img_CFLAGS): Likewise.
25342 (fwstart_img_ASFLAGS): Likewise.
25343 (fwstart_img_LDFLAGS): Likewise.
25344 (fwstart_img_FORMAT): Likewise.
25345 (pkglib_MODULES): Add lsspd.mod.
25346 (lsspd_mod_SOURCES): New variable.
25347 (lsspd_mod_CFLAGS): Likewise.
25348 (lsspd_mod_LDFLAGS): Likewise.
25349 (pkglib_MODULES): Add halt.mod.
25350 (halt_mod_SOURCES): New variable.
25351 (halt_mod_CFLAGS): Likewise.
25352 (halt_mod_LDFLAGS): Likewise.
25353 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25354 (serial_mod_SOURCES): Removed.
25355 (serial_mod_CFLAGS): Likewise.
25356 (serial_mod_LDFLAGS): Likewise.
25357 * disk/ata.c (check_device): New function.
25358 (grub_ata_device_initialize): Use check_device.
25359 (grub_ata_iterate): Recheck devices.
25360 (grub_ata_open): Likewise.
25361 (grub_atapi_iterate): Likewise.
25362 (grub_atapi_open): Likewise.
25363 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25364 (GRUB_ATA_CH1_PORT1): Likewise.
25365 (GRUB_ATA_CH0_PORT2): Likewise.
25366 (GRUB_ATA_CH1_PORT2): Likewise.
25367 * include/grub/mips/loongson.h: New file.
25368 * include/grub/mips/yeeloong/ec.h: Likewise.
25369 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25370 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25371 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25372 * include/grub/misc.h (grub_halt): Declare as noreturn.
25373 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25374 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25375 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25376 (UART_ENABLE_DTRRTS): Likewise.
25377 (UART_ENABLE_MODEM): Removed.
25378 (UART_ENABLE_OUT2): New const.
25379 * include/grub/term.h (grub_term_register_input_active): New function.
25380 (grub_term_register_output_active): Likewise.
25381 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25382 argument.
25383 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25384 (init_pci): New function.
25385 (grub_machine_init): Execute platform init when firmware. Init serial.
25386 (grub_halt): Implement.
25387 (grub_exit): Likewise.
25388 (grub_reboot): Likewise.
25389 * term/serial.c (serial_hw_init): Update macros.
25390 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25391 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25392 (image_targets): New target mipsel-yeeloong-flash.
25393 (generate_image): Support IMAGE_YEELOONG_FLASH.
25394 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25395 (grub_video_sm712_setup): Init card.
25396 (grub_video_sm712_set_palette): Removed.
25397 * video/sm712_init.c: New file.
25398
ff4a70d2
CW
253992010-06-30 Colin Watson <cjwatson@ubuntu.com>
25400
25401 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25402 PATH when running help2man and then run it on the unadorned
25403 executable names, rather than passing $(builddir)/* paths to
25404 help2man. This avoids the build directory ending up in generated
25405 manual pages.
25406
1246efeb
CW
254072010-06-29 Colin Watson <cjwatson@ubuntu.com>
25408
25409 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25410 to avoid accidents when debugging with 'sh -x'.
25411 * util/grub-mkrescue.in: Likewise.
25412 * util/grub.d/00_header.in: Likewise.
25413 * util/grub.d/10_hurd.in: Likewise.
25414 * util/grub.d/10_kfreebsd.in: Likewise.
25415 * util/grub.d/10_linux.in: Likewise.
25416 * util/grub.d/10_netbsd.in: Likewise.
25417 * util/grub.d/10_windows.in: Likewise.
25418 * util/grub.d/20_linux_xen.in: Likewise.
25419 * util/grub.d/30_os-prober.in: Likewise.
25420 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25421
1ba9b889
CW
254222010-06-29 Colin Watson <cjwatson@ubuntu.com>
25423
25424 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25425 last character in the buffer.
25426 Reported by: Vladimir Serbinenko.
25427
dccaf99d
RM
254282010-06-29 Robert Millan <rmh@gnu.org>
25429
25430 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25431 (Command-line and menu entry commands): Document `badram' command.
25432
d500ed12
RM
254332010-06-28 Robert Millan <rmh@gnu.org>
25434
25435 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25436 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25437 command using ${GRUB_BADRAM} as parameter.
25438
20bc84a6
CW
254392010-06-28 Colin Watson <cjwatson@ubuntu.com>
25440
25441 * docs/grub.texi (Device map): New section.
25442 (Themes): New section (stub).
25443 * Makefile.in (docs/grub.info): The info documentation now builds
25444 without errors. Make sure it stays that way.
25445
4045dee1
VS
254462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 Use normal parser for menu entries.
25449 Reported by: Thomas Frauendorfer
25450
25451 * include/grub/parser.h (grub_parser_execute): Don't export.
25452 * normal/menu.c (grub_menu_execute_entry_real): New function.
25453 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25454
bca58c7b
CW
254552010-06-28 Colin Watson <cjwatson@ubuntu.com>
25456
25457 * docs/grub.texi (Embedded configuration): New section (replacing
25458 old "Preset Menu" stub).
25459 (Images): New section.
25460 (configfile): Note that any menu entries defined in `file' are shown
25461 immediately.
25462
dec53e63
JT
254632010-06-28 Josh Triplett <josh@joshtriplett.org>
25464
25465 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25466
c06e40f7
CW
254672010-06-28 Colin Watson <cjwatson@ubuntu.com>
25468
25469 * util/grub-install.in: Add --debug-image= option.
25470
cb88052b
CW
254712010-06-28 Colin Watson <cjwatson@ubuntu.com>
25472
25473 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25474 possible on Linux.
25475
25476 * util/deviceiter.c (check_device): Rename to ...
25477 (check_device_readable_unique): ... this. Update all callers.
25478 Maintain and check a list of which devices (by canonicalized name)
25479 have already been seen.
25480 (clear_seen_devices): New function.
25481 (compare_file_names) [__linux__]: New function.
25482 (grub_util_iterate_devices): Clear the list of seen devices on exit
25483 and (just in case) on entry.
25484 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25485 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25486 seen-devices list, superseded by general code in check_device.
25487
bbe34652
CW
254882010-06-28 Colin Watson <cjwatson@ubuntu.com>
25489
25490 * commands/cat.c (options): New variable.
25491 (grub_cmd_cat): Parse options. If the --dos option is given, print
25492 DOS-style "\r\n" line endings as simple newlines (Debian bug
25493 #586358).
25494 (GRUB_MOD_INIT): Use extcmd.
25495 (GRUB_MOD_FINI): Likewise.
25496 * docs/grub.texi (cat): Document --dos.
25497
412e09f3
VS
254982010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 XEN with Linux grub-mkconfig support.
25501
25502 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25503 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25504 GRUB_CMDLINE_XEN_DEFAULT.
25505 * util/grub.d/20_linux_xen.in: New file.
25506
53f3ef38 255072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25508
25509 Initialise VGA video on qemu ourselves.
25510
25511 * boot/i386/qemu/boot.S: Don't call 0xc000.
25512 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25513 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25514 (kernel_img_HEADERS): Add pci.h.
25515 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25516 * configure.ac: Force unifont on qemu and yeeloong.
25517 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25518 (grub_vga_palette_write): Use correct register.
25519 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25520 Call grub_qemu_init_cirrus.
25521 * kern/i386/qemu/init.c: New file.
25522 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25523
25524 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25525
c75be4fb
PR
255262010-06-26 Pavel Roskin <proski@gnu.org>
25527
25528 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25529 13.
25530
d8034603
CW
255312010-06-26 Colin Watson <cjwatson@ubuntu.com>
25532
25533 * docs/grub.texi (Simple configuration): Explain that
25534 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25535 set to `true' to disable their respective recovery entries, not
25536 merely set.
25537
3fa06487
CW
255382010-06-26 Colin Watson <cjwatson@ubuntu.com>
25539
25540 Make the `source' command slightly faster.
25541
25542 * normal/main.c (grub_normal_execute): Don't re-read list files when
25543 nested.
25544
e9b29642
CW
255452010-06-23 Colin Watson <cjwatson@ubuntu.com>
25546
25547 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25548 field position and mask size to red fields from mode_info, not
25549 green.
25550 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25551 Remove redundant tag->common.framebuffer_type assignment.
25552 Reported by: Seth Goldberg.
25553
e726542f
CW
255542010-06-23 Colin Watson <cjwatson@ubuntu.com>
25555
25556 Sync up other versions of the Linux loader with Robert Millan's
25557 change of 2010-01-09, "Make loader output a bit more user-friendly".
25558
25559 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25560 grub_dprintf().
25561 (grub_cmd_linux): Likewise.
25562 (grub_cmd_initrd): Likewise.
25563 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25564 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25565
d6e98a17
CW
255662010-06-21 Colin Watson <cjwatson@ubuntu.com>
25567
25568 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25569 larger than MEMORY_MAP_SIZE.
25570
14d3f08e
BC
255712010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25572
25573 Fix parallel build.
25574
25575 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25576 dependency.
25577 * script/parser.y: #include grub_script.tab.h header.
25578
4f9613a3
VS
255792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25580
25581 Support >3GiB and <16MiB RAM in i386-qemu.
25582
25583 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25584 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25585 (grub_lower_mem): Removed.
25586 (grub_upper_mem): Likewise.
25587 (mem_size): Made static.
25588 (above_4g): New variable.
25589 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25590 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25591 support.
25592
05e51879
VS
255932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 Cirrus 5446 and Bochs video cards support.
25596
25597 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25598 video_bochs.mod
25599 (video_cirrus_mod_SOURCES): New variable.
25600 (video_cirrus_mod_CFLAGS): Likewise.
25601 (video_cirrus_mod_LDFLAGS): Likewise.
25602 (video_bochs_mod_SOURCES): Likewise.
25603 (video_bochs_mod_CFLAGS): Likewise.
25604 (video_bochs_mod_LDFLAGS): Likewise.
25605 * include/grub/vga.h: New file.
25606 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25607 (grub_video_fb_set_page_t): New type.
25608 (grub_video_fb_setup): New prototype.
25609 (grub_video_fb_swap_buffers): Likewise.
25610 (grub_video_fb_get_info_and_fini): Likewise.
25611 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25612 (CRTC_DATA_PORT): Likewise.
25613 (CRTC_CURSOR): Likewise.
25614 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25615 (CRTC_CURSOR_ADDR_LOW): Likewise.
25616 (CRTC_CURSOR_DISABLE): Likewise.
25617 (update_cursor): Use grub_vga_cr_write.
25618 (grub_vga_text_setcursor): Likewise.
25619 * video/bochs.c: New file.
25620 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25621 (palette): Likewise.
25622 (palette_size): Likewise.
25623 (framebuffer): New variable.
25624 (grub_video_fb_init): Use 'framebuffer'.
25625 (grub_video_fb_fini): Likewise.
25626 (grub_video_fb_get_info): Likewise.
25627 (grub_video_fb_get_palette): Likewise.
25628 (grub_video_fb_set_palette): Likewise.
25629 (grub_video_fb_set_viewport): Likewise.
25630 (grub_video_fb_get_viewport): Likewise.
25631 (grub_video_fb_map_color): Likewise.
25632 (grub_video_fb_map_rgb): Likewise.
25633 (grub_video_fb_map_rgba): Likewise.
25634 (grub_video_fb_unmap_color): Likewise.
25635 (grub_video_fb_unmap_color_int): Likewise.
25636 (grub_video_fb_fill_rect): Likewise.
25637 (grub_video_fb_blit_bitmap): Likewise.
25638 (grub_video_fb_blit_render_target): Likewise.
25639 (grub_video_fb_scroll): Likewise.
25640 (grub_video_fb_create_render_target): Likewise.
25641 (grub_video_fb_doublebuf_blit_init): Likewise.
25642 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25643 (doublebuf_pageflipping_update_screen): New function.
25644 (doublebuf_pageflipping_init): Likewise.
25645 (grub_video_fb_setup): Likewise.
25646 (grub_video_fb_swap_buffers): Likewise.
25647 (grub_video_fb_get_info_and_fini): Likewise.
25648 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25649 All users updated.
25650 (doublebuf_pageflipping_commit): Restructured into ...
25651 (doublebuf_pageflipping_set_page): ... this.
25652 (doublebuf_pageflipping_update_screen): Removed.
25653 (doublebuf_pageflipping_init): Likewise.
25654 (double_buffering_init): Likewise.
25655 (grub_video_vbe_setup): Use grub_video_fb_setup.
25656 (grub_video_vbe_swap_buffers): Removed.
25657 (grub_video_vbe_set_active_render_target): Likewise.
25658 (grub_video_vbe_get_active_render_target): Likewise.
25659 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25660 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25661 grub_video_fb_set_active_render_target and
25662 grub_video_fb_get_active_render_target.
25663 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25664 (SEQUENCER_DATA_PORT): Likewise.
25665 (MAP_MASK_REGISTER): Likewise.
25666 (CRTC_ADDR_PORT): Likewise.
25667 (CRTC_DATA_PORT): Likewise.
25668 (START_ADDR_HIGH_REGISTER): Likewise.
25669 (START_ADDR_LOW_REGISTER): Likewise.
25670 (GRAPHICS_ADDR_PORT): Likewise.
25671 (GRAPHICS_DATA_PORT): Likewise.
25672 (READ_MAP_REGISTER): Likewise.
25673 (INPUT_STATUS1_REGISTER): Likewise.
25674 (INPUT_STATUS1_VERTR_BIT): Likewise.
25675 (get_map_mask): Use grub_vga_sr_read.
25676 (set_map_mask): Use grub_vga_sr_write.
25677 (set_read_map): Use grub_vga_gr_write.
25678 (set_start_address): Use grub_vga_cr_write.
25679 * video/sm712.c (framebuffer): Remove leftover fields.
25680
4321c64a
CW
256812010-06-20 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25684 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25685 instead. Replace the gfxterm backend check with a check that
25686 ${GRUB_PREFIX}/video.lst is non-empty.
25687 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25688 again.
25689 (load_video): New generated function. Call it before loading
25690 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25691 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25692 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25693 * docs/grub.texi (Simple configuration): Document
25694 GRUB_VIDEO_BACKEND.
25695
256962010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25697
25698 Use video functions in linux and xnu loaders.
25699
25700 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25701 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25702 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25703 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25704 loader/i386/pc/linux.c.
25705 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25706 (find_line_len): Removed.
25707 (find_framebuf): Likewise.
25708 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25709 * loader/i386/efi/xnu.c: Removed.
25710 * loader/i386/pc/xnu.c: Moved from here...
25711 * loader/i386/xnu.c: ...here.
25712
25713 Enable priorities in video drivers.
25714
25715 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25716 (grub_video_adapter): New field prio.
25717 (grub_video_register): Respect prio when inserting.
25718 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25719 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25720 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25721 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25722 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25723 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25724 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25725
25726 Fix SDL driver ID.
25727
25728 * include/grub/video.h (grub_video_driver_id_t): New value
25729 GRUB_VIDEO_DRIVER_SDL.
25730 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25731
7d24e434
CW
257322010-06-17 Colin Watson <cjwatson@ubuntu.com>
25733
25734 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25735 argument to printf.
25736 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25737
c88a83f6
CW
257382010-06-17 Colin Watson <cjwatson@ubuntu.com>
25739
25740 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25741 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25742
094dfb69
CW
257432010-06-17 Colin Watson <cjwatson@ubuntu.com>
25744
25745 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25746 directly, and recommend grub-install instead.
25747 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25748
2164da6b
CW
257492010-06-17 Colin Watson <cjwatson@ubuntu.com>
25750
25751 Fix i386-pc prefix handling with nested partitions (Debian bug
25752 #585068). Note that the case where the core image is booted using
25753 multiboot and relocated from its original location still requires
25754 more work.
25755
25756 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25757 with "(,", fill the boot drive in between those two characters, but
25758 expect that a full partition specification including partition map
25759 names will follow.
25760 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25761 specified, write a prefix without the drive name but including a
25762 full partition specification.
25763
044e2e60
CW
257642010-06-16 Colin Watson <cjwatson@ubuntu.com>
25765
25766 * util/grub-mkconfig.in: Ignore non-option arguments, for
25767 compatibility with older versions (before 2010-06-12) which did the
25768 same. In particular, this makes it easier to ship an update-grub
25769 wrapper which is compatible with that used with GRUB Legacy (Debian
25770 bug #586056).
25771
5591324f
GS
257722010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25773
25774 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25775 for manual page generation.
25776
662e24d5
GS
257772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25778
25779 * po/POTFILES: Remove leftover commands/handler.c.
25780
8d70754e
CW
257812010-06-14 Colin Watson <cjwatson@ubuntu.com>
25782
25783 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25784 left this script non-functional.
25785
41160e2e
CW
257862010-06-14 Colin Watson <cjwatson@ubuntu.com>
25787
25788 * docs/man/grub-emu.h2m: New file.
25789
b5309cc1
CW
257902010-06-13 Colin Watson <cjwatson@ubuntu.com>
25791
25792 * docs/grub.texi (Commands): Document reduced command set in rescue
25793 mode.
25794 (cpuid): New section.
25795
fcb2d090
GS
257962010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25797
25798 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25799 new partition naming style.
25800 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25801
96e5c556
BC
258022010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25803
25804 Add "-o grub.iso" like cmdline options support.
25805
25806 * util/grub-install.in: Improve cmdline option parsing.
25807 * util/grub-mkconfig.in: Likewise.
25808 * util/grub-mkrescue.in: Likewise.
25809 * util/grub-reboot.in: Likewise.
25810 * util/grub-set-default.in: Likewise.
25811 * util/i386/efi/grub-install.in: Likewise.
25812 * util/ieee1275/grub-install.in: Likewise.
25813 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25814
c16be99b
CW
258152010-06-12 Colin Watson <cjwatson@ubuntu.com>
25816
25817 * .bzrignore: Ignore 41_custom.
25818
ce08a9fb
TS
258192010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25820
25821 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25822
7beac90c
CW
258232010-06-12 Colin Watson <cjwatson@ubuntu.com>
25824
25825 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25826 prototype declarations.
25827
25828 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25829 generating fs, partmap, and video lists.
25830 * include/grub/fs.h (grub_fs_register): Omit prototype if
25831 GRUB_LST_GENERATOR is defined.
25832 * include/grub/partition.h (grub_partition_map_register): Likewise.
25833 * include/grub/video.h (grub_video_register): Likewise.
25834
1c8f0f8d
JM
258352010-06-12 Javier Martín <lordhabbit@gmail.com>
25836
25837 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25838
a6085973
TS
258392010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25840
25841 * util/grub-mkrescue.in: Support --xorriso argument.
25842
25c56d29
VS
258432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25844
25845 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25846 Suggested by: Thomas Schmitt.
25847
e03e4b24
VS
258482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25849
25850 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25851 Suggested by: Thomas Schmitt.
25852
57711df6
VS
258532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25854
25855 custom.cfg support.
25856
25857 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25858 * util/grub.d/41_custom.in: New file.
25859
ee62c427
CW
258602010-06-12 Colin Watson <cjwatson@ubuntu.com>
25861
25862 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25863 been merged back into normal.
25864
283af07a
CW
258652010-06-11 Colin Watson <cjwatson@ubuntu.com>
25866
25867 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25868 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25869
56a0d956
CW
258702010-06-11 Colin Watson <cjwatson@ubuntu.com>
25871
25872 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25873 when generating manual pages.
25874 * docs/man/grub-bin2h.h2m: New file.
25875 * docs/man/grub-editenv.h2m: New file.
25876 * docs/man/grub-fstest.h2m: New file.
25877 * docs/man/grub-install.h2m: New file.
25878 * docs/man/grub-macho2img.h2m: New file.
25879 * docs/man/grub-mkconfig.h2m: New file.
25880 * docs/man/grub-mkdevicemap.h2m: New file.
25881 * docs/man/grub-mkfont.h2m: New file.
25882 * docs/man/grub-mkimage.h2m: New file.
25883 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25884 * docs/man/grub-mkrelpath.h2m: New file.
25885 * docs/man/grub-mkrescue.h2m: New file.
25886 * docs/man/grub-ofpathname.h2m: New file.
25887 * docs/man/grub-pe2elf.h2m: New file.
25888 * docs/man/grub-probe.h2m: New file.
25889 * docs/man/grub-reboot.h2m: New file.
25890 * docs/man/grub-script-check.h2m: New file.
25891 * docs/man/grub-set-default.h2m: New file.
25892 * docs/man/grub-setup.h2m: New file.
25893
3a37e322
VS
258942010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25895
25896 Use FOR_* macros instead of *_iterate whenever possible.
25897
25898 * commands/handler.c: Removed.
25899 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25900 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25901 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25902 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25903 (grub_probe_SOURCES): Remove kern/parser.c.
25904 (util/grub-script-check.c_DEPENDENCIES): Removed.
25905 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25906 and grub_script_check_init.c.
25907 (grub_script_check_init.lst): Removed.
25908 (grub_script_check_init.h): Likewise.
25909 (grub_script_check_init.c): Likewise.
25910 (pkglib_MODULES): Remove handler.mod and sh.mod.
25911 (handler_mod_SOURCES): Removed.
25912 (handler_mod_CFLAGS): Likewise.
25913 (handler_mod_LDFLAGS): Likewise.
25914 (normal_mod_SOURCES): Remove normal/handler.c.
25915 Add script/main.c, script/script.c, script/execute.c,
25916 script/function.c, script/lexer.c, grub_script.tab.c
25917 and grub_script.yy.c.
25918 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25919 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25920 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25921 (grub_setup_SOURCES): Remove kern/parser.c.
25922 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25923 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25924 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25925 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25926 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25927 (grub_setup_SOURCES): Remove kern/parser.c.
25928 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25929 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25930 * include/grub/command.h (grub_command_iterate): Removed.
25931 (FOR_COMMANDS): New macro.
25932 * include/grub/dl.h (grub_dl): New member next.
25933 (grub_dl_iterate): Removed.
25934 (grub_dl_head): New variable declaration.
25935 (FOR_DL_MODULES): New macro.
25936 * include/grub/fs.h: Include list.h.
25937 (grub_fs): Make next first element.
25938 (grub_fs_list): New variable declaration.
25939 (grub_fs_register): Make inline.
25940 (grub_fs_unregister): Likewise.
25941 (grub_fs_iterate): Removed.
25942 (FOR_FILESYSTEMS): New macro.
25943 * include/grub/handler.h: Removed.
25944 * include/grub/list.h (grub_list_hook_t): Removed.
25945 (grub_list_test_t): Likewise.
25946 (grub_list_pop): Likewise.
25947 (grub_list_iterate): Likewise.
25948 (grub_list_insert): Likewise.
25949 (FOR_LIST_ELEMENTS): New macro.
25950 * include/grub/parser.h (grub_parser_class): Removed.
25951 (grub_parser_register): Likewise.
25952 (grub_parser_unregister): Likewise.
25953 (grub_parser_get_current): Likewise.
25954 (grub_parser_set_current): Likewise.
25955 (grub_register_rescue_parser): Likewise.
25956 (grub_rescue_parse_line): New function.
25957 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25958 * include/grub/script_sh.h (grub_script_function_list): New variable
25959 declaration.
25960 (FOR_SCRIPT_FUNCTIONS): New macro.
25961 (grub_script_function_iterate): Removed.
25962 (grub_normal_parse_line): New prototype.
25963 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25964 (FOR_DISABLED_TERM_INPUTS): Likewise.
25965 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25966 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25967 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25968 element.
25969 (grub_video_register): Inline.
25970 (grub_video_unregister): Likewise.
25971 (grub_video_adapter_list): New variable declaration.
25972 (grub_video_iterate): Removed.
25973 (FOR_VIDEO_ADAPTERS): New macro.
25974 * kern/dl.c (grub_dl_list): Removed. All users updated.
25975 (grub_dl_iterate): Removed.
25976 * kern/fs.c (grub_fs_list): Make global.
25977 (grub_fs_register): Removed.
25978 (grub_fs_unregister): Likewise.
25979 (grub_fs_iterate): Likewise.
25980 * kern/handler.c: Removed.
25981 * kern/list.c (grub_list_pop): Removed.
25982 (grub_list_iterate): Likewise.
25983 (grub_list_insert): Likewise.
25984 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25985 (grub_prio_list_insert): Don't use grub_list_insert.
25986 * kern/main.c (grub_register_rescue_parser): Don't call
25987 grub_register_rescue_parser.
25988 * kern/parser.c (grub_parser_class): Removed.
25989 (grub_parser_execute): Use grub_rescue_parse_line.
25990 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25991 (grub_rescue_parser): Removed.
25992 (grub_register_rescue_parser): Likewise.
25993 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25994 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25995 (grub_auth_check_authentication): Likewise.
25996 * normal/completion.c (iterate_command): Removed.
25997 (grub_normal_do_completion): Use FOR_COMMANDS.
25998 * normal/handler.c: Removed.
25999 * normal/main.c (read_config_file): Remove parser changing.
26000 (grub_normal_execute): Don't call read_handler_list.
26001 (grub_normal_read_line_real): Statically allocate prompt.
26002 (grub_cmdline_run): Use grub_normal_parse_line.
26003 (GRUB_MOD_FINI): Don't call free_handler_list.
26004 * normal/menu_entry.c (run): Likewise.
26005 * script/function.c (grub_script_function_list): Make global.
26006 (grub_script_function_iterate): Removed.
26007 * script/main.c (grub_normal_parse_line): Make global.
26008 (grub_sh_parser): Removed.
26009 (GRUB_MOD_INIT): Likewise.
26010 (GRUB_MOD_FINI): Likewise.
26011 * tests/lib/functional_test.c (grub_functional_test): Use
26012 FOR_LIST_ELEMENTS.
26013 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26014 (grub_test_run): Use FOR_LIST_ELEMENTS.
26015 * tests/lib/unit_test.c (main): Likewise.
26016 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26017 grub_list_pop.
26018 * util/grub-fstest.c (grub_term_input_class): Removed.
26019 (grub_term_output_class): Likewise.
26020 * util/grub-probe.c: Likewise.
26021 * util/i386/pc/grub-setup.c: Likewise.
26022 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26023 * util/grub-script-check.c (main): Don't call grub_init_all and
26024 grub_fini_all.
26025 * video/video.c (grub_video_adapter_list): Make global.
26026 (grub_video_register): Removed.
26027 (grub_video_unregister): Likewise.
26028 (grub_video_iterate): Likewise.
26029
6289c3a7
VS
260302010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26033 reported by Henrique Ferreiro.
26034
91460247
RM
260352010-06-09 Robert Millan <rmh@gnu.org>
26036
26037 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26038 ones, when both are available.
26039
0ea7c4f9
GS
260402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26041
26042 Make --version uniform and avoid hard-coded program name.
26043
26044 * util/grub-mkimage.c (main): Use `program_name' instead of
26045 hard-coded string.
26046 * util/i386/pc/grub-setup.c (main): Likewise.
26047 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26048 * util/grub-install.in: Save the basename of $0 in $self, and use the
26049 latter in informational messages. Use the same format for --version
26050 as the binary programs.
26051 * util/grub-mkconfig.in: Likewise.
26052 * util/grub-mkrescue.in: Likewise.
26053 * util/grub-reboot.in: Likewise.
26054 * util/grub-set-default.in: Likewise.
26055 * util/i386/efi/grub-install.in: Likewise.
26056 * util/ieee1275/grub-install.in: Likewise.
26057 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26058
e8a6f3b6
GS
260592010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26060
26061 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26062 embedding area. Use <= instead of == when checking for non-emptiness.
26063
f4d095d7
GS
260642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26065
26066 * configure.ac: Add `.' to the directories searched for unifont.
26067
50e532ca
CW
260682010-06-08 Colin Watson <cjwatson@ubuntu.com>
26069
26070 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26071 grub_script.yy.h.
26072
d39f3dec
CW
260732010-06-08 Colin Watson <cjwatson@ubuntu.com>
26074
26075 * docs/grub.texi (History): Expand to cover GRUB 2.
26076 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26077 commands, not `terminal'.
26078 (serial): Likewise.
26079 (terminal_input): New section.
26080 (terminal_output): New section.
26081 (uppermem): New section (stub).
26082 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26083
6ef0ddb4
CW
260842010-06-08 Colin Watson <cjwatson@ubuntu.com>
26085
26086 * docs/grub.texi (Security): Menu entries are unrestricted by
26087 default, not restricted to superusers as I had previously thought.
26088 Reword to account for this.
26089
e0f4c438
CW
260902010-06-07 Colin Watson <cjwatson@ubuntu.com>
26091
26092 * kern/emu/misc.c (device_mapper_null_log): New function.
26093 (grub_device_mapper_supported): New function.
26094 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26095 prototype.
26096 * kern/emu/hostdisk.c (find_partition_start): Check whether
26097 device-mapper is supported before trying to use it.
26098 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26099
da908200
CW
261002010-06-07 Colin Watson <cjwatson@ubuntu.com>
26101
26102 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26103 (File name syntax): Likewise.
26104 (help): --all is no longer supported in GRUB 2. Be more precise
26105 about pattern matching.
26106
fb55c3ac
CW
261072010-06-07 Colin Watson <cjwatson@ubuntu.com>
26108
26109 * normal/completion.c (grub_normal_do_completion): When completing
26110 arguments to "set" and the current word contains an equals sign,
26111 skip to after the equals sign before starting completion.
26112
258c2573
CW
261132010-06-07 Colin Watson <cjwatson@ubuntu.com>
26114
26115 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26116
ee75515e
CW
261172010-06-07 Colin Watson <cjwatson@ubuntu.com>
26118
26119 * docs/grub.texi (Network): New section.
26120 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26121 `(nd)' as in GRUB Legacy.
26122 (pxe_unload): New section.
26123
a6a700aa
CW
261242010-06-07 Colin Watson <cjwatson@ubuntu.com>
26125
26126 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26127 in the rescue shell, so recommend using `set' instead. Thanks,
26128 Jordan Uggla.
26129
4003dd38
CW
261302010-06-07 Colin Watson <cjwatson@ubuntu.com>
26131
26132 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26133 (password): New section.
26134 (password_pbkdf2): New section.
26135 (search): New section.
26136 (Security): New section.
26137 (Troubleshooting): New section, currently very incomplete.
26138 (Invoking grub-mkpasswd-pbkdf2): New section.
26139 (Internals): New section, currently very incomplete.
26140
e1cbcc40
CW
261412010-06-07 Colin Watson <cjwatson@ubuntu.com>
26142
26143 * util/grub.d/00_header.in: Add some more quoting (of
26144 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26145 work again.
26146 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26147
db8fa1ad
CW
261482010-06-07 Colin Watson <cjwatson@ubuntu.com>
26149
26150 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26151 to `count', fixing variable shadowing that broke the -c option.
26152
261532010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26154
26155 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26156 in case they contain spaces.
26157
f28a9212
CW
261582010-06-04 Colin Watson <cjwatson@ubuntu.com>
26159
26160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26161 "part_" to partmap module names, in line with grub-install.
26162 Reported by: Jindřich Makovička (Debian bug #584426).
26163
9cdfe32f
CW
261642010-06-04 Colin Watson <cjwatson@ubuntu.com>
26165
26166 * util/grub-mkimage.c: Make target-related error messages slightly
26167 more helpful; -O talks about "format". Explicitly point to the use
26168 of -O if no target is specified.
26169 Reported by: Didier Raboud (Debian bug #584415).
26170
795b593a
CW
261712010-06-03 Colin Watson <cjwatson@ubuntu.com>
26172
26173 * INSTALL: Document several build requirements for optional features
26174 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26175
9d9b5833
GS
261762010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26177
26178 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26179 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26180 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26181
0819fec8
CW
261822010-06-02 Colin Watson <cjwatson@ubuntu.com>
26183
26184 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26185 Thanks to Jordan Uggla for spotting this.
26186
49396b4f
VS
261872010-06-02 Aleš Nesrsta <starous@volny.cz>
26188
26189 Finally make USB usable.
26190
26191 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26192 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26193 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26194 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26195 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26196 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26197 (GRUB_OHCI_FSMPS): Likewise.
26198 (GRUB_OHCI_PERIODIC_START): Likewise.
26199 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26200 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26201 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26202 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26203 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26204 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26205 (grub_ohci_transaction): Likewise.
26206 (grub_ohci_transfer): Improve condition detection algorithms.
26207 Handle toggle property. Program the transactions correctly.
26208 Improve error handling. Various important fixups.
26209 (grub_ohci_portstatus): Put register writes in right order.
26210 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26211 (grub_uhci_transfer): Don't show "failed" message on success.
26212 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26213 array.
26214 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26215 determine its size.
26216 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26217 before initialization is completed. Use IN direction for empty
26218 transfers. Use last_trans and compute toggle.
26219 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26220 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26221 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26222 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26223 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26224 (grub_usb_device): Increase toggle to 256.
26225 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26226 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26227 GRUB_USBMS_SUBCLASS_SFF8070.
26228 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26229 (grub_scsi_inquiry): New member page and alloc_length.
26230 (grub_scsi_request_sense): New structure.
26231 (grub_scsi_request_sense_data): Likewise.
26232 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26233 control.
26234 * disk/scsi.c (grub_scsi_request_sense): New function.
26235 (grub_scsi_test_unit_ready): Likewise.
26236 (grub_scsi_inquiry): Fill new fields.
26237 (grub_scsi_read_capacity): Likewise.
26238 (grub_scsi_read10): Add request sense at the end.
26239 (grub_scsi_read12): Likewise.
26240 (grub_scsi_write10): Likewise.
26241 (grub_scsi_write12): Likewise.
26242 (grub_scsi_open): Add Test Unit Ready.
26243 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26244 Support additional subclasses. Con't clear halt yet. Activate the
26245 proper config. Calculate LUNs correctly.
26246 (grub_usbms_transfer): Various important fixups.
26247
262482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26249
26250 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26251 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26252 (grub_ohci_fini_hw): New function.
26253 (grub_ohci_restore_hw): Likewise.
26254 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26255 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26256 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26257
262582010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 Dedicated DMA allocations.
26261
26262 * bus/pci.c (grub_memalign_dma32): New function
26263 (grub_dma_free): Likewise.
26264 (grub_dma_get_virt): Likewise.
26265 (grub_dma_get_phys): Likewise.
26266 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26267 (grub_ohci_pci_iter): Use dma32_alloc.
26268 (grub_ohci_transfer): Likewise.
26269 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26270 (grub_usb_bulk_readwrite): Likewise.
26271 * include/grub/pci.h: Add declarations.
26272
262732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26274
26275 CS5536 support.
26276
26277 * bus/cs5536.c: New file.
26278 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26279 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26280 (cs5536_mod_SOURCES): New variable.
26281 (cs5536_mod_CFLAGS): Likewise.
26282 (cs5536_mod_LDFLAGS): Likewise.
26283 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26284 machine/pci.h.
26285 (kernel_img_SOURCES): Add bus/cs5536.c.
26286 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26287 usb_keyboard.mod.
26288 (usb_mod_SOURCES): New variable.
26289 (usb_mod_CFLAGS): New variable.
26290 (usb_mod_LDFLAGS): New variable.
26291 (usbtest_mod_SOURCES): New variable.
26292 (usbtest_mod_CFLAGS): New variable.
26293 (usbtest_mod_LDFLAGS): New variable.
26294 (ohci_mod_SOURCES): New variable.
26295 (ohci_mod_CFLAGS): New variable.
26296 (ohci_mod_LDFLAGS): New variable.
26297 (usbms_mod_SOURCES): New variable.
26298 (usbms_mod_CFLAGS): New variable.
26299 (usbms_mod_LDFLAGS): New variable.
26300 (usb_keyboard_mod_SOURCES): New variable.
26301 (usb_keyboard_mod_CFLAGS): New variable.
26302 (usb_keyboard_mod_LDFLAGS): New variable.
26303 * include/grub/smbus.h: New file.
26304 * include/grub/cs5536.h: New file.
26305
0b35b2a9
CW
263062010-06-02 Colin Watson <cjwatson@ubuntu.com>
26307
26308 * util/grub.d/00_header.in: Add safety check to make sure that
26309 ${locale_dir} exists before trying to probe it.
26310
ca0afd5b
CW
263112010-06-02 Colin Watson <cjwatson@ubuntu.com>
26312
26313 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26314 per the GNU Coding Standards; this is now too obscure to be worth
26315 documenting.
26316 (QNX): Likewise.
26317 (chainloader): Remove cross-reference to `SCO UnixWare'.
26318
1c41aa78
CW
263192010-06-02 Colin Watson <cjwatson@ubuntu.com>
26320
26321 * docs/grub.texi (Chain-loading): New section.
26322 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26323 adjusted for GRUB 2.
26324 (SCO UnixWare): Likewise.
26325 (QNX): Likewise.
26326 (chainloader): Add reference to `Block list syntax'.
26327 (drivemap): New section.
26328 (parttool): New section.
26329
bb8ea0f5
CW
263302010-06-02 Colin Watson <cjwatson@ubuntu.com>
26331
26332 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26333 the grub shell'.
26334 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26335 (Installing GRUB using grub-install): Remove reference to the grub
26336 shell; mention `grub-mkimage' and `grub-setup' instead.
26337 (Invoking grub-install): Likewise.
26338 (Interface): Add reference to `Menu entry editor'.
26339 (serial): Remove `--device' option.
26340
288dd6ed
CW
263412010-06-02 Colin Watson <cjwatson@ubuntu.com>
26342
26343 * docs/grub.texi (Configuration): New section, documenting
26344 configuration file generation using grub-mkconfig. I've left a slot
26345 for documenting the full shell scripting format but have not yet
26346 started on writing that up.
26347 (Invoking grub-mkconfig): New section.
26348
34c9f0e9
CW
263492010-06-02 Colin Watson <cjwatson@ubuntu.com>
26350
26351 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26352 (GNU GRUB manual): Likewise.
26353 (General commands): Update description of `terminfo' for GRUB 2.
26354
9121567e
CW
263552010-06-02 Colin Watson <cjwatson@ubuntu.com>
26356
26357 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26358 (GRUB_MOD_INIT): Fix capitalisation.
26359 * docs/grub.texi (Command-line and menu entry commands): Document
26360 gettext and gptsync commands.
26361
ab631611
CW
263622010-06-02 Colin Watson <cjwatson@ubuntu.com>
26363
26364 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26365 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26366
bde4a9ac
CW
263672010-06-01 Colin Watson <cjwatson@ubuntu.com>
26368
26369 Add btrfs probing support, currently only in the single-device case.
26370
26371 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26372 function.
26373 (grub_guess_root_device): Call find_root_device_from_mountinfo
26374 before looking in /dev.
26375
b1d17e10
VS
263762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26379 GRUB_DISK_SIZE_UNKNOWN.
26380 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26381
dfbfe004
JS
263822010-05-31 Jiro SEKIBA <jir@unicus.jp>
26383
26384 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26385 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26386 corrupted or not synced properly.
26387
c2ffc8e9
VS
263882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26391 Reported by: Seth Goldberg.
26392
56293166
VS
263932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26396 addition of dest.
26397 Reported by: Seth Goldberg.
26398
7620e7de
VS
263992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26402 Reported by: Seth Goldberg.
26403
c837af3f
VS
264042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26405
26406 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26407 64-bit address as signed on MIPS.
26408
c7c75cf4
CW
264092010-05-28 Colin Watson <cjwatson@ubuntu.com>
26410
26411 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26412 to the empty string.
26413
fa4b8490
BC
264142010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26415
26416 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26417
26418 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26419 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26420 * kern/misc.c (__enable_execute_stack): Disable on
26421 GRUB_MACHINE_EMU.
26422
a33075b9
CW
264232010-05-28 Colin Watson <cjwatson@ubuntu.com>
26424
26425 Make grub-probe work with symbolic links under /dev/mapper as well
26426 as with real block devices. The Linux world seems to be (at best)
26427 in transition here, and GRUB shouldn't get caught in the middle.
26428
26429 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26430 /dev/mapper.
26431
d8708134
CW
264322010-05-27 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26435 input files (in which case exit zero).
26436
db2102a0
CW
264372010-05-27 Colin Watson <cjwatson@ubuntu.com>
26438
26439 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26440 return NULL for various reasons even if it has a maximum-length
26441 buffer: for example, there might be a symlink loop, or the path
26442 might exceed PATH_MAX. If this happens, return NULL.
26443
5fdba519
RM
264442010-05-27 Robert Millan <rmh@gnu.org>
26445
26446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26447 partmap module to handle cross-partmap setups.
26448 Reported by Orestes Mas. Gràcies!
26449
d1d368e4
CW
264502010-05-27 Colin Watson <cjwatson@ubuntu.com>
26451
26452 * util/grub-mkrescue.in: Initialise override_dir rather than
26453 assuming that it's unset or empty in the environment.
26454
95ac3c73
GS
264552010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26456
26457 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26458 variable index into p_index to suppress a warning with -Wshadow.
26459
7d8c0213
BC
264602010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26461
26462 * INSTALL: Added flex >= 2.5.35 requirement.
26463
db4d5813
VS
264642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26467
f24f4300
VS
264682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26469
26470 cmostest support.
26471
26472 * commands/i386/cmostest.c: New file.
26473 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26474 (cmostest_mod_SOURCES): New variable.
26475 (cmostest_mod_CFLAGS): Likewise.
26476 (cmostest_mod_LDFLAGS): Likewise.
26477 * conf/i386-pc.rmk: Likewise.
26478 * docs/grub.texi (Vendor power-on keys): New section.
26479 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26480 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26481 and GRUB_BUTTON_CMOS_ADDRESS.
26482 * util/grub.d/00_header.in: Handle powering-on by separate button.
26483
ad603f61
VS
264842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26487 Removed drawing_scrollbar argument. All users updated
26488 Fixes #29792.
26489 Reported by Jo Shields
26490
3ecb080a
VS
264912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26492
26493 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26494 buffer since gfxterm handles double repaint.
26495
5f2316c1
VS
264962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26499 * term/gfxterm.c (real_scroll): Likewise.
26500
9a25f885
VS
265012010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26504 before calling BIOS.
26505
39fbb79a
VS
265062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26507
26508 * include/grub/i18n.h: Always enable grub_gettext.
26509
228cfa97
VS
265102010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26511
26512 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26513 partition naming style.
26514
21717c8f
CW
265152010-05-21 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26518 not the first option.
26519
c0f48e65
CW
265202010-05-20 Colin Watson <cjwatson@ubuntu.com>
26521
26522 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26523
96779aec
CW
265242010-05-20 Colin Watson <cjwatson@ubuntu.com>
26525
26526 * util/misc.c: Move inclusion of <limits.h> to ...
26527 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26528
fa9d256e
GS
265292010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26530
26531 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26532 Fix merge error in NetBSD code.
26533 (find_partition_start) [__NetBSD__]: Likewise.
26534
123b7a85
BC
265352010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26536
26537 Fix grub-mkrescue usage unit testing.
26538
26539 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26540
74276c0d
CF
265412010-05-18 Christian Franke <franke@computer.org>
26542
26543 * util/grub.d/10_windows.in: Use path names instead of
26544 drive letters to prevent warning from Cygwin 1.7.
26545 Add drivemap command to menuentry if needed.
26546
c4f7b523
ST
265472010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26548
26549 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26550 gnumach and gnumach.gz.
26551
95b97950
VS
265522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26553
26554 * include/grub/i18n.h (gettext): Inline instead of using #define.
26555 (grub_gettext): Likewise.
26556 (_): Likewise.
26557
01b8d2d7
VS
265582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26561 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26562 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26563 (main): Add a slash after pkglibdirroot.
26564
654e1d1e
VS
265652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26566
26567 * util/grub-install.in: Add missing "in" keyword.
26568
26966aeb
VS
265692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26570
26571 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26572 Reported by: Seth Goldberg.
26573
75006747
VS
265742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26575
26576 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26577
74cbf5bd
CW
265782010-05-18 Colin Watson <cjwatson@ubuntu.com>
26579
26580 * configure.ac: Check for Linux device-mapper support.
26581
26582 * util/hostdisk.c (device_is_mapped): New function.
26583 (find_partition_start): New function, partly broken out from
26584 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26585 device-mapper support added.
26586 (linux_find_partition): Use find_partition_start.
26587 (convert_system_partition_to_system_disk): Add `st' argument.
26588 Support Linux /dev/mapper/* devices if device-mapper support is
26589 available; only DM-RAID devices are understood at present.
26590 (find_system_device): Add `st' argument. Pass it to
26591 convert_system_partition_to_system_disk.
26592 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26593 find_system_device and convert_system_partition_to_system_disk. Use
26594 find_partition_start.
26595
26596 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26597 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26598 * util/deviceiter.c [__linux__]: Define MINOR.
26599 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26600 * util/mkdevicemap.c (grub_putchar): New function.
26601 (grub_getkey): New function.
26602 (grub_refresh): New function.
26603 (main): Set debug=all if -v -v is used.
26604
355b51e9
CW
266052010-05-18 Colin Watson <cjwatson@ubuntu.com>
26606
26607 Fix build with non-GNU libcs.
26608
26609 * util/misc.c (canonicalize_file_name): Move to ...
26610 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26611 grub_make_system_path_relative_to_its_root.
26612
7fb5c25f
CW
266132010-05-18 Colin Watson <cjwatson@ubuntu.com>
26614
26615 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26616 we handle finding grub-mkimage. Default to finding grub-mkimage in
26617 ${bindir} with program_transform_name applied, and provide a
26618 --grub-mkimage option to override this.
26619
1d3293d6
VS
266202010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 Remove grub-mkisofs.
26623
26624 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26625 (grub_mkisofs_SOURCES): Removed.
26626 (grub_mkisofs_CFLAGS): Removed.
26627 * util/mkisofs/defaults.h: Removed.
26628 * util/mkisofs/eltorito.c: Likewise.
26629 * util/mkisofs/exclude.h: Likewise.
26630 * util/mkisofs/hash.c: Likewise.
26631 * util/mkisofs/include/: Likewise.
26632 * util/mkisofs/include/fctldefs.h: Likewise.
26633 * util/mkisofs/include/mconfig.h: Likewise.
26634 * util/mkisofs/include/prototyp.h: Likewise.
26635 * util/mkisofs/include/statdefs.h: Likewise.
26636 * util/mkisofs/iso9660.h: Likewise.
26637 * util/mkisofs/joliet.c: Likewise.
26638 * util/mkisofs/match.c: Likewise.
26639 * util/mkisofs/match.h: Likewise.
26640 * util/mkisofs/mkisofs.c: Likewise.
26641 * util/mkisofs/mkisofs.h: Likewise.
26642 * util/mkisofs/msdos_partition.h: Likewise.
26643 * util/mkisofs/multi.c: Likewise.
26644 * util/mkisofs/name.c: Likewise.
26645 * util/mkisofs/rock.c: Likewise.
26646 * util/mkisofs/tree.c: Likewise.
26647 * util/mkisofs/write.c: Likewise.
26648
5dde9afe
VS
266492010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 Unify grub-mkimage accross platforms.
26652
26653 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26654 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26655 (grub_mkelfimage_SOURCES): Removed.
26656 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26657 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26658 (bin_UTILITIES): Add grub-mkimage.
26659 (grub_mkimage_SOURCES): New variable.
26660 (kernel_img_HEADERS): Remove machine/kernel.h.
26661 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26662 (pkglib_PROGRAMS): Add kernel.img.
26663 (kernel_img_HEADERS): Add machine/kernel.h.
26664 (kernel_img_FORMAT): Removed.
26665 (bin_UTILITIES): Remove grub-mkimage.
26666 (grub_mkimage_SOURCES): Removed.
26667 (grub_mkimage_CFLAGS): Likewise.
26668 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26669 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26670 (pkglib_PROGRAMS): Add kernel.img.
26671 (bin_UTILITIES): Remove grub-mkimage.
26672 (grub_mkimage_SOURCES): Removed.
26673 (grub_mkimage_CFLAGS): Likewise.
26674 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26675 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26676 (pkglib_PROGRAMS): Add kernel.img.
26677 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26678 (pkglib_PROGRAMS): Add kernel.img.
26679 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26680 (grub_mkimage_SOURCES): Removed.
26681 (grub_mkimage_CFLAGS): Likewise.
26682 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26683 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26684 (pkglib_PROGRAMS): Add kernel.img.
26685 (bin_UTILITIES): Remove grub-mkimage.
26686 (grub_mkimage_SOURCES): Removed.
26687 (grub_mkimage_CFLAGS): Likewise.
26688 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26689 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26690 (grub_mkimage_SOURCES): Removed.
26691 (grub_mkimage_CFLAGS): Likewise.
26692 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26693 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26694 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26695 (grub_pe32_optional_header): ... this.
26696 (grub_pe64_optional_header): ... and this. All users updated.
26697 (GRUB_PE32_PE32_MAGIC): Split into ..
26698 (GRUB_PE32_PE32_MAGIC): .. this.
26699 (GRUB_PE32_PE64_MAGIC): .. and this.
26700 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26701 * include/grub/elf.h (PT_GNU_STACK): New definition.
26702 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26703 * include/grub/i386/efi/kernel.h: Likewise.
26704 * include/grub/i386/kernel.h: Likewise.
26705 * include/grub/i386/pc/kernel.h: Likewise.
26706 * include/grub/i386/qemu/boot.h: Likewise.
26707 * include/grub/mips/kernel.h: Likewise.
26708 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26709 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26710 * include/grub/powerpc/kernel.h: Likewise.
26711 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26712 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26713 * include/grub/sparc64/kernel.h: Likewise.
26714 * include/grub/x86_64/efi/kernel.h: Likewise.
26715 * include/grub/x86_64/kernel.h: Likewise.
26716 * include/grub/offsets.h: New file.
26717 * include/grub/kernel.h (grub_module_info): Split into ...
26718 (grub_module_info32): ... this.
26719 (grub_module_info64): ... and this.
26720 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26721 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26722 (grub_boot_blocklist): Moved from here ...
26723 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26724 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26725 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26726 * include/grub/types.h (grub_target_to_host16): Removed.
26727 (grub_target_to_host32): Likewise.
26728 (grub_target_to_host64): Likewise.
26729 (grub_host_to_target16): Likewise.
26730 (grub_host_to_target32): Likewise.
26731 (grub_host_to_target64): Likewise.
26732 (grub_host_to_target_addr): Likewise.
26733
26734 Support grub-mkrescue for efi, coreboot and qemu.
26735
26736 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26737 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26738 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26739 * util/grub-mkrawimage.c: Moved from here ...
26740 * util/grub-mkimage.c: ... here. All users updated.
26741 (ALIGN_ADDR): Use image_target.
26742 (TARGET_NO_FIELD): New const.
26743 (image_target_desc): New type.
26744 (image_targets): New array.
26745 (grub_target_to_host64): Use image_target.
26746 (grub_target_to_host32): Likewise.
26747 (grub_target_to_host16): Likewise.
26748 (grub_host_to_target64): Likewise.
26749 (grub_host_to_target32): Likewise.
26750 (grub_host_to_target16): Likewise.
26751 (grub_host_to_target_addr): Likewise.
26752 (generate_image): Handle multiimage.
26753 (main): Require -O parameter. All users updated.
26754 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26755 util/efi/grub-mkimage.c
26756 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26757 New option --rom-directory.
26758 Use xorriso.
26759 * util/i386/efi/grub-mkimage.c: Removed.
26760 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26761 (grub_target_to_host32): Likewise.
26762 (grub_target_to_host64): Likewise.
26763 (grub_host_to_target16): Likewise.
26764 (grub_host_to_target32): Likewise.
26765 (grub_host_to_target64): Likewise.
26766 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26767 (grub_target_to_host32): Likewise.
26768 (grub_target_to_host64): Likewise.
26769 (grub_host_to_target16): Likewise.
26770 (grub_host_to_target32): Likewise.
26771 (grub_host_to_target64): Likewise.
26772
f4fc97d0
BC
267732010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26774
26775 Source tree is reorganized for emu build.
26776
26777 * include/grub/util/console.h: Move from here...
26778 * include/grub/emu/console.h: ...to here.
26779 * include/grub/util/getroot.h: Move from here...
26780 * include/grub/emu/getroot.h: ...to here.
26781 * include/grub/util/hostdisk.h: Move from here...
26782 * include/grub/emu/hostdisk.h: ...to here.
26783 * util/console.c: Move from here...
26784 * kern/emu/console.c: ...to here.
26785 * util/getroot.c: Move from here...
26786 * kern/emu/getroot.c: ...to here.
26787 * util/grub-emu.c: Move from here...
26788 * kern/emu/main.c: ...to here.
26789 * util/hostdisk.c: Move from here...
26790 * kern/emu/hostdisk.c: ...to here.
26791 * util/hostfs.c: Move from here...
26792 * kern/emu/hostfs.c: ...to here.
26793 * util/mm.c: Move from here...
26794 * kern/emu/mm.c: ...to here.
26795 * util/pci.c: Move from here...
26796 * bus/emu/pci.c: ...to here.
26797 * util/sdl.c: Move from here...
26798 * video/emu/sdl.c: ...to here.
26799 * util/time.c: Move from here...
26800 * kern/emu/time.c: ...to here.
26801 * util/usb.c: Move from here...
26802 * bus/usb/emu/usb.c: ...to here.
26803
26804 * include/grub/emu/misc.h: New header for grub-emu functions.
26805 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26806
26807 * conf/any-emu.rmk: Rule updates for above renames.
26808 * conf/common.rmk: Likewise.
26809 * conf/i386-pc.rmk: Likewise.
26810 * conf/i386-qemu.rmk: Likewise.
26811 * conf/mips.rmk: Likewise.
26812 * conf/sparc64-ieee1275.rmk: Likewise.
26813 * conf/x86-efi.rmk: Likewise.
26814
26815 * disk/lvm.h: #include updates for above renames.
26816 * util/grub-mkrelpath.c: Likewise.
26817 * util/grub-probe.c: Likewise.
26818 * util/i386/pc/grub-setup.c: Likewise.
26819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26820 * kern/emu/console.c: Likewise.
26821 * kern/emu/getroot.c: Likewise.
26822 * kern/emu/hostdisk.c: Likewise.
26823 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26824
26825 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26826 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26827 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26828 * util/misc.c: Remove grub-emu functions.
26829
cced9145
VS
268302010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Fix gfxmenu crash.
26833 Reported by: Thorsten Grützmacher.
26834
26835 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26836 timeout hook.
26837 (circprog_set_property): Register and unregister timeout hook.
26838 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26839 (label_destroy): Free template. and unregister hook.
26840 (label_set_state): New function.
26841 (label_set_property): Handle templates and hooks.
26842 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26843 timeout hook.
26844 (progress_bar_set_property): Register and unregister timeout hook.
26845 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26846 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26847 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26848 (update_timeout_visit): Removed.
26849 (update_timeouts): New function.
26850 (redraw_timeouts): Likewise.
26851 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26852 (grub_gfxmenu_clear_timeout): Likewise.
26853 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26854 (grub_gfxmenu_timeout_notify): Likewise.
26855 (grub_gfxmenu_timeout_notifications): New external variable.
26856 (grub_gfxmenu_timeout_register): New function.
26857 (grub_gfxmenu_timeout_unregister): Likewise.
26858
c6e5caab
VS
268592010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26860
26861 Transform (broken) vga terminal into (working) vga video driver.
26862
26863 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26864 video/i386/pc/vga.c.
26865 * include/grub/video.h (grub_video_driver_id):
26866 Add GRUB_VIDEO_DRIVER_VGA.
26867 * term/i386/pc/vga.c: Renamed to ...
26868 * video/i386/pc/vga.c: ...this
26869 (DEBUG_VGA): Removed.
26870 (CHAR_WIDTH): Likewise.
26871 (CHAR_HEIGHT): Likewise.
26872 (TEXT_WIDTH): Likewise.
26873 (TEXT_HEIGHT): Likewise.
26874 (DEFAULT_FG_COLOR): Likewise.
26875 (DEFAULT_BG_COLOR): Likewise.
26876 (colored_char): Likewise.
26877 (xpos): Likewise.
26878 (ypos): Likewise.
26879 (cursor_state): Likewise.
26880 (fg_color): Likewise.
26881 (bg_color): Likewise.
26882 (text_buf): Likewise.
26883 (page): Likewise.
26884 (font): Likewise.
26885 (framebuffer): New variable.
26886 (set_read_map): Disabled.
26887 (setup): New variable.
26888 (is_target): Likewise.
26889 (grub_vga_mod_init): Likewise.
26890 (grub_vga_mod_fini): Likewise.
26891 (check_vga_mem): Likewise.
26892 (write_char): Likewise.
26893 (write_cursor): Likewise.
26894 (scroll_up): Likewise.
26895 (grub_vga_putchar): Likewise.
26896 (grub_vga_getcharwidth): Likewise.
26897 (grub_vga_getwh): Likewise.
26898 (grub_vga_getxy): Likewise.
26899 (grub_vga_gotoxy): Likewise.
26900 (grub_vga_cls): Likewise.
26901 (grub_vga_setcolorstate): Likewise.
26902 (grub_vga_setcursor): Likewise.
26903 (grub_video_vga_init): New function.
26904 (grub_video_vga_setup): Likewise.
26905 (grub_video_vga_fini): Likewise.
26906 (update_target): Likewise.
26907 (grub_video_vga_blit_bitmap): Likewise.
26908 (grub_video_vga_blit_render_target): Likewise.
26909 (grub_video_vga_set_active_render_target): Likewise.
26910 (grub_video_vga_get_active_render_target): Likewise.
26911 (grub_video_vga_swap_buffers): Likewise.
26912 (grub_video_vga_set_palette): Likewise.
26913 (grub_video_vga_get_info_and_fini): Likewise.
26914 (grub_vga_term): Removed.
26915 (grub_video_vga_adapter): New variable.
26916 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26917 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26918
2bf61a98
VS
269192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26920
26921 * video/readers/jpeg.c: Indented.
26922
09ddcd11
VS
269232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26924
26925 Various jpeg cleanups.
26926
26927 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26928 (grub_jpeg_decode_quan_table): Use sizeof.
26929 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26930
e5507505
PH
269312010-05-05 Peter Hurley <No e-mail available> (tiny change)
26932
26933 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26934 tables. Ignore non-last ac bit.
26935 (grub_jpeg_decode_quan_table): Likewise.
26936
7e720a9b
VS
269372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26940 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26941 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26942 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26943 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26944 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26945
a7fc080b
VS
269462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26947
26948 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26949 error.
26950
2bf6012d
VS
269512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26954
265d68cd
VS
269552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26956
26957 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26958 condition.
26959
269602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26961
26962 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26963 part.
26964
265d68cd 269652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26966
26967 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26968 pointers.
26969
265d68cd 269702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26971
26972 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26973
d1b61374
CF
269742010-05-01 Christian Franke <franke@computer.org>
26975
26976 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26977 Remove broken Cygwin path conversion.
26978 * util/misc.c: [__CYGWIN__] Add include and define.
26979 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26980 for Cygwin 1.7.
26981 (make_system_path_relative_to_its_root): Simplify loop, replace early
26982 return by break.
26983 [__CYGWIN__] Add conversion to win32 path.
26984 Include "/" case in trailing slash removal.
26985
3558c6e9
VS
269862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26989 Reported by: Seth Goldberg
26990
f5f3ff93
VS
269912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26992
26993 * commands/help.c (grub_cmd_help): Fix a typo.
26994 Reported by: Seth Goldberg
26995
d8b5cd40
VS
269962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26997
26998 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26999 name and add N_.
27000 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27001 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27002 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27003 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27004 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27005 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27006 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27007 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27008 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27009 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27010 * normal/context.c (GRUB_MOD_INIT): Likewise.
27011 * normal/main.c (GRUB_MOD_INIT): Likewise.
27012 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27013 * term/serial.c (GRUB_MOD_INIT): Likewise.
27014 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27015
88c14915
VS
270162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27019 extra == 0.
27020
165134bc
VS
270212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * commands/iorw.c: New file.
27024 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27025 (iorw_mod_SOURCES): New variable.
27026 (iorw_mod_CFLAGS): Likewise.
27027 (iorw_mod_LDFLAGS): Likewise.
27028
c5ac9b32
VS
270292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 Hotkey support
27032
27033 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27034 * normal/main.c (hotkey_aliases): New variable.
27035 (grub_normal_add_menu_entry): Parse "--hotkey".
27036 * normal/menu_text.c (run_menu): Handle hotkeys.
27037
ce60689c
VS
270382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * kern/i386/coreboot/init.c (grub_machine_init): Call
27041 grub_machine_mmap_init on qemu.
27042
0359d006
VS
270432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27044
27045 * boot/i386/qemu/boot.S: Add a missing .code16.
27046
7819a456
VS
270472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 Use LBIO on coreboot.
27050
27051 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27052 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27053 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27054 New declaration.
27055 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27056 grub_machine_mmap_init on coreboot.
27057 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27058 GRUB_LINUXBIOS_MEMBER_LINK.
27059 (grub_machine_mmap_iterate): Fix declaration.
27060 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27061
7210dca9
VS
270622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27063
27064 Split coreboot and multiboot ports.
27065
27066 * conf/i386-multiboot.rmk: New file.
27067 * configure.ac: Add multiboot port.
27068 * include/grub/i386/multiboot/boot.h: New file.
27069 * include/grub/i386/multiboot/console.h: Likewise.
27070 * include/grub/i386/multiboot/init.h: Likewise.
27071 * include/grub/i386/multiboot/kernel.h: Likewise.
27072 * include/grub/i386/multiboot/loader.h: Likewise.
27073 * include/grub/i386/multiboot/memory.h: Likewise.
27074 * include/grub/i386/multiboot/serial.h: Likewise.
27075 * include/grub/i386/multiboot/time.h: Likewise.
27076 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27077 * loader/multiboot.c: Likewise.
27078 * loader/multiboot_mbi2.c: Likewise.
27079 * util/grub-mkrescue.in: Generate multiboot rescue.
27080
6f8aaf68
VS
270812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27082
3080f7a7
VS
27083 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27084
270852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27086
27087 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27088
27089 * commands/terminal.c (abstract_terminal): New struct.
27090 (handle_command): New function. Based on grub_cmd_terminal_input.
27091 (grub_cmd_terminal_input): Use handle_command.
27092 (grub_cmd_terminal_output): Use handle_command.
27093
a8ebb841
BC
270942010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27095
27096 Fix comment handling.
27097
27098 * tests/grub_script_comments.in: New testcase.
27099 * conf/tests.rmk: Rules for new testcase.
27100 * script/yylex.l: Updated flex rules.
27101
bb06ba08
ST
271022010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27103
27104 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27105 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27106 if argc is 1.
bb06ba08 27107
cc9d2425
VS
271082010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27111 autogen issues.
27112
460d8402
CF
271132010-04-26 Christian Franke <franke@computer.org>
27114
27115 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27116 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27117 (grub_get_prefix): Remove function.
27118 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27119 make_system_path_relative_to_its_root ().
27120 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27121
553c01f9
CF
271222010-04-24 Christian Franke <franke@computer.org>
27123
27124 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27125 (kernel_img_LDFLAGS): Remove -static-libgcc.
27126
2aec1692
CF
271272010-04-24 Christian Franke <franke@computer.org>
27128
27129 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27130 and CHECK_END_SYMBOL if grub-emu is built.
27131 Unset TARGET_OBJ2ELF if grub-emu is built
27132 without module support.
27133
f67dc308
JS
271342010-04-24 Jiro SEKIBA <jir@unicus.jp>
27135
27136 Nilfs2 support.
27137
27138 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27139 (grub_fstest_SOURCES): Likewise.
27140 (pkglib_MODULES): Add nilfs2.mod.
27141 (nilfs2_mod_SOURCES): New variable.
27142 (nilfs2_mod_CFLAGS): Likewise.
27143 (nilfs2_mod_LDFLAGS): Likewise.
27144 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27145 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27146 * fs/nilfs2.c: New file.
27147
4ba8d354
VS
271482010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27151 is not supported.
27152
0d2c20c6
GS
271532010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27154
27155 Add grub-mkconfig support for NetBSD.
27156
27157 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27158 * util/grub-mkconfig.in: export new NetBSD specific variables.
27159 * po/POTFILES-shell: added 10_netbsd.in.
27160 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27161
bc4a2d83
BC
271622010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27163
27164 Fix emu build with grub-emu-pci and grub-emu-modules.
27165
27166 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27167 functions.
27168 * include/grub/libpciaccess.h: New file.
27169 * conf/any-emu.rmk: Update kernel headers for emu build.
27170
f48c87aa
VS
271712010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27174
18959385
VS
271752010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27178
0037de3f
VS
271792010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27180
27181 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27182 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27183 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27184 util/ieee1275/ofpath.c.
27185 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27186 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27187 * include/grub/sparc64/ieee1275/boot.h
27188 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27189 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27190 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27191 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27192 const char *.
27193 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27194 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27195 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27196 install.
27197
38e55e90
GS
271982010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27199
27200 * util/grub-mkconfig.in: Corrected two == equality tests.
27201 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27202 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27203 expect a number appended to it.
27204 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27205 expects a number appended to it.
27206
a9e6ff28
VS
272072010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27208
27209 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27210
0b830b8f
VS
272112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27212
27213 * util/hostdisk.c (make_device_name): Change to new partition naming.
27214
0973daeb
VS
272152010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27216
27217 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27218
460d8402 272192010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27220
27221 * Makefile.in: Add missing localedir setting.
27222
0b456309
CW
272232010-04-14 Colin Watson <cjwatson@ubuntu.com>
27224
27225 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27226 mistake in r2156. Noticed by Anthony Fok.
27227
27228 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27229 @localedir@.
27230 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27231
08f46d62
BC
272322010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27233
27234 Fix a spurious, uninitialized variable warning.
27235
27236 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27237 Initialize variable, shdr.
27238 (grub_freebsd_load_elfmodule): Likewise.
27239 (grub_freebsd_load_elf_meta): Likewise.
27240
8c4a72d4
BC
272412010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27242
27243 Fix for escaped dollar in double quoted strings.
27244
27245 * script/yylex.l: Updated flex rules.
27246 * conf/tests.rmk: Rule for new testcase.
27247 * tests/grub_script_dollar.in: New testcase.
27248
ce44826e
CPE
272492010-04-13 Carles Pina i Estany <carles@pina.cat>
272502010-04-13 Colin Watson <cjwatson@ubuntu.com>
27251
27252 Enclose all translated strings in grub.cfg in single quotes, and
27253 escape them appropriately (Ubuntu bug #552921).
27254
27255 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27256 * util/grub.d/10_hurd.in: Use it.
27257 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27258 * util/grub.d/10_linux.in (linux_entry): Likewise.
27259
4b0cd8f8
VS
272602010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 Fix cygwin compilation.
27263
27264 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27265 * include/grub/misc.h (__register_frame_info)
27266 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27267 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27268 * kern/misc.c (__register_frame_info)
27269 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27270 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27271
01fcf061
VS
272722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27275
5d04b11e
VS
272762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27277
27278 Unify libgcc processing.
27279
27280 * Makefile.in (kernel_img_LDFLAGS): New variable.
27281 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27282 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27283 overwriting.
27284 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27285 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27286 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27287 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27288 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27289 overwriting. Remove -lgcc and -static-libgcc
27290 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27291 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27292 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27293 (kernel_img_LDFLAGS): Append instead of overwriting.
27294 Remove -lgcc and -static-libgcc
27295 * conf/sparc64-ieee1275.rmk: Likewise.
27296 * include/grub/powerpc/libgcc.h: Move to ...
27297 * include/grub/libgcc.h: .. this.
27298 * include/grub/libgcc.h: Don't export most of the function on x86.
27299 (__bswapsi2): New export.
27300 (__bswapdi2): Likewise.
27301 * include/grub/mips/libgcc.h: Removed.
27302 * include/grub/sparc64/libgcc.h: Likewise.
27303
b7f3ac29
VS
273042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27305
27306 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27307 disk_info_msg (conflicts with gettexting into languages with cases).
27308
2c7031b1
GS
273092010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27310
27311 Add grub-probe support for NetBSD.
27312
27313 * util/getroot.c (find_root_device): Convert block device to
27314 character device on NetBSD.
27315 * util/probe.c (probe): Require character device on NetBSD.
27316 * util/hostdisk.c: NetBSD specific headers.
27317 (configure_device_driver): new function to tune device driver
27318 parameters (currently only for NetBSD floppy driver).
27319 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27320 via disklabel ioctl).
27321 (open_device): call configure_device_driver on NetBSD.
27322 (convert_system_partition_to_system_disk): NetBSD specific code.
27323 (device_is_wholedisk): Likewise.
27324 (grub_util_biosdisk_get_grub_dev): Likewise.
27325 (make_device_name): Fixed a typo in bsd_part_str.
27326 * configure.ac: check for opendisk() and getrawpartition() on
27327 NetBSD and set LIBUTIL.
27328 * Makefile.in: add LIBUTIL to LIBS.
27329
f516290c
BC
273302010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27331
27332 Documentation fix.
27333
27334 * util/grub-script-check.c: Better help message.
27335
d8dcc0df
BC
273362010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27337
27338 Fix FreeBSD build.
27339
27340 * configure.ac: Flex version check.
27341 * conf/common.rmk: Add -Wno-error to sh.mod.
27342 * script/yylex.l: Remove all #pragma.
27343
6734334a
VS
273442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27345
27346 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27347 prototype.
27348 Reported by: Seth Goldberg.
27349
daea6abd
VS
273502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27353 Rename "module" to "module2".
27354 Reported by: Seth Goldberg.
27355
f2fd9d2b
VS
273562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27357
27358 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27359 EXPORT_FUNC.
27360 Reported by: Seth Goldberg.
27361
be124579
VS
273622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27363
27364 * lib/posix_wrap/locale.h: Add missing file.
27365 Reported by: Seth Goldberg.
27366
ef5da797
VS
273672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27368
27369 grub-emu module load support.
27370
27371 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27372 NO_DYNAMIC_MODULES switched to this.
27373 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27374 (CFLAGS): Likewise.
27375 * conf/any-emu.rmk: Generate symlist.
27376 (kernel_img_HEADERS): Add util/datetime.h.
27377 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27378 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27379 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27380 kern/$(target_cpu)/cache.S.
27381 * configure.ac (grub-emu-modules): New option.
27382 * genmk.rb: Handle multiple source lists.
27383 * include/grub/sdl.h: New file.
27384 * include/grub/libusb.h: Likewise.
27385 * util/grub-emu.c (main): Hanle (host) root.
27386 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27387 GRUB_ERR_UNKNOWN_DEVICE.
27388 * util/misc.c: Move mm functions to ...
27389 * util/mm.c: ... here. All users updated.
27390
47822096
VS
273912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27392
27393 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27394 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27395 missing files.
27396 (maintainer-clean): Remove libgcrypt-grub.
27397
5d7e7445
VS
273982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27401
25f4e252
EC
274022010-04-09 EFI Coder <eficoder@hotmail.com>
27403
27404 * normal/menu_text.c (print_message): Clean up the message and show
27405 the Fn information when on EFI
27406 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27407
027de555
VS
274082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27411 All users updated.
27412 * normal/crypto.c (read_crypto_list): Likewise.
27413 * normal/dyncmd.c (read_command_list): Likewise.
27414 * normal/term.c (read_terminal_list): Likewise.
27415 * normal/main.c (read_lists): Use explicit prefix.
27416 (read_lists_hook): Use read_lists.
27417 (grub_normal_execute): Likewise.
27418
47779711
VS
274192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27420
27421 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27422 Reported by: Thomas Schmitt.
27423 Add -no-emul-boot to grub-mkisofs parameters.
27424
1118c32e
VS
274252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 * font/font.c: Indented.
27428
7d652447
BC
274292010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27430
27431 Elif support to GRUB script (by Deepak Vankadaru).
27432
27433 * tests/grub_script_if.in: New testcase.
27434 * conf/tests.rmk: Rule for new testcase.
27435 * script/parser.y: Grammar rules for elif.
27436
34bb22df
BC
274372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27438
27439 While and until loops support to GRUB script.
27440
27441 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27442 (grub_script_create_cmdwhile): New function prototype.
27443 (grub_script_execute_cmdwhile): New function prototype.
27444 * script/execute.c (grub_script_execute_cmdwhile): New function.
27445 * script/parser.y (command): New commands.
27446 (whilecmd): New grammar rule.
27447 (untilcmd): New grammar rule.
27448 * script/script.c (grub_script_create_cmdwhile): New function.
27449 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27450 function.
27451
27452 * tests/grub_script_while1.in: New testcase.
27453 * conf/tests.rmk: Rule for new testcase.
27454
e215d8e0
VS
274552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27456
27457 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27458 as *.jpg.
27459
d7c43ba1
MV
274602010-04-09 Mario Vazquez <mariovazq@gmail.com>
27461
27462 GRUB_BACKGROUND support.
27463
27464 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27465 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27466
d64795c0
VS
274672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27470 Idea by: Mario Vazquez
d64795c0
VS
27471
27472 * util/grub.d/00_header.in: Load pf2 and image modules.
27473
f267f83a
VS
274742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27475
27476 grub-mkconfig multiple terminal support.
27477
27478 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27479 * util/grub.d/00_header.in: Likewise.
27480
b7841ceb
VS
274812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27484 we use cd $(srcdir).
27485
df60998c
CW
274862010-04-08 Colin Watson <cjwatson@ubuntu.com>
27487
27488 * util/grub.d/10_linux.in: Only use the first word of
27489 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27490 spaces in GRUB_DISTRIBUTOR.
27491 * util/grub.d/10_kfreebsd.in: Likewise.
27492 * util/grub.d/10_hurd.in: Likewise.
27493
fa09c82e
BC
274942010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27495
14e18ae3 27496 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27497
27498 * tests/util/grub-shell.in: Remove -serial stdio option.
27499
daf892b3
BC
275002010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27501
27502 POSIX header file wrappers.
27503
27504 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27505 equivalents.
27506 * lib/posix_wrap/ctype.h: Likewise.
27507 * lib/posix_wrap/errno.h: Likewise.
27508 * lib/posix_wrap/langinfo.h: Likewise.
27509 * lib/posix_wrap/limits.h: Likewise.
27510 * lib/posix_wrap/localcharset.h: Likewise.
27511 * lib/posix_wrap/stdint.h: Likewise.
27512 * lib/posix_wrap/stdio.h: Likewise.
27513 * lib/posix_wrap/stdlib.h: Likewise.
27514 * lib/posix_wrap/string.h: Likewise.
27515 * lib/posix_wrap/sys/types.h: Likewise.
27516 * lib/posix_wrap/unistd.h: Likewise.
27517 * lib/posix_wrap/wchar.h: Likewise.
27518 * lib/posix_wrap/wctype.h: Likewise.
27519 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27520 (grub_script.yy.h): Likewise.
27521 * script/yylex.l: Remove POSIX emulation #defines.
27522 * Makefile.in (POSIX_CFLAGS): New variable.
27523 (GNULIB_UTIL_CFLAGS): Likewise.
27524
27525 Regexp support.
27526
27527 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27528 (regexp_mod_SOURCES): New variable.
27529 (regexp_mod_CFLAGS): Likewise.
27530 (regexp_mod_LDFLAGS): Likewise.
27531 * commands/regexp.c: New file.
27532 * gnulib/regcomp.c: New file. Imported from gnulib.
27533 * gnulib/regex.c: Likewise.
27534 * gnulib/regex_internal.c: Likewise.
27535 * gnulib/regex_internal.h: Likewise.
27536 * gnulib/regexec.c: Likewise.
27537 * gnulib/regex.h: Likewise.
27538
974ac4f7
VS
275392010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27540
27541 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27542 unsupported video mode types.
27543
2622c3ff
VS
275442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27545
27546 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27547
064cb524
VS
275482010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27551 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27552
a8c3b552
VS
275532010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27554
27555 Remove unused grub_vga_get_font.
27556
27557 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27558 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27559
187bbe3d
GS
275602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27561
27562 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27563 * include/grub/misc.h: Likewise.
27564
b9396631
GS
275652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27566
27567 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27568 for which failure is fatal.
27569
50479feb
GS
275702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27571
27572 * util/grub-install.in: Use mkdir -p to create grub directory.
27573 * util/i386/efi/grub-install.in: Likewise.
27574 * util/ieee1275/grub-install.in: Likewise.
27575
b1654fdf
GS
275762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27577
27578 * Makefile.in (LEX): new variable.
27579
bd5a6415
GS
275802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27581
27582 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27583 `=' and added double quotes on operands of this equality test.
27584
3db3a82b
VS
275852010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27586
27587 * Makefile.in (uninstall): Remove a leftover debug echo.
27588 Reported by: Grégoire Sutre
27589
38023412
VS
275902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27591
27592 MIPS multiboot2 support.
27593
27594 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27595 (multiboot2_mod_SOURCES): New variable.
27596 (multiboot2_mod_CFLAGS): Likewise.
27597 (multiboot2_mod_LDFLAGS): Likewise.
27598 (multiboot2_mod_ASFLAGS): Likewise.
27599 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27600 definition.
27601 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27602 (MULTIBOOT_MBI_REGISTER): Likewise.
27603 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27604 (MULTIBOOT_ELF32_MACHINE): Likewise.
27605 (MULTIBOOT_ELF64_MACHINE): Likewise.
27606 * include/grub/mips/multiboot.h: New file.
27607 * include/grub/video.h (grub_video_driver_id): New type
27608 GRUB_VIDEO_DRIVER_SM712.
27609 (grub_video_get_info_and_fini): Export.
27610 (grub_video_get_palette): Likewise.
27611 (grub_video_get_driver_id): Likewise.
27612 * include/multiboot2.h: Resynced with spec.
27613 * loader/i386/multiboot.c: Moved from here ...
27614 * loader/multiboot.c: ... here. All users updated.
27615 (grub_multiboot_boot): Use platform-specific macros.
27616 * loader/i386/multiboot_elfxx.c: Moved from here ...
27617 * loader/multiboot_elfxx.c: ... here. All users updated.
27618 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27619 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27620 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27621
47674667
VS
276222010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 Import gnulib argp module.
27625
27626 * gnulib/argp-ba.c: New file.
27627 * gnulib/argp-eexst.c: Likewise.
27628 * gnulib/argp-fmtstream.c: Likewise.
27629 * gnulib/argp-fmtstream.h: Likewise.
27630 * gnulib/argp-fs-xinl.c: Likewise.
27631 * gnulib/argp-help.c: Likewise.
27632 * gnulib/argp-namefrob.h: Likewise.
27633 * gnulib/argp-parse.c: Likewise.
27634 * gnulib/argp-pin.c: Likewise.
27635 * gnulib/argp-pv.c: Likewise.
27636 * gnulib/argp-pvh.c: Likewise.
27637 * gnulib/argp-version-etc.c: Likewise.
27638 * gnulib/argp-version-etc.h: Likewise.
27639 * gnulib/argp-xinl.c: Likewise.
27640 * gnulib/argp.h: Likewise.
27641
495442ed
VS
276422010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 * kern/device.c (grub_device_iterate): Clear errors after failed
27645 opening device.
27646
f9fd65df
VS
276472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27650 returned by firmware.
27651
af09641e
VS
276522010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27655 compilation on coreboot and qemu
27656
016883a5
VS
276572010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 * include/multiboot2.h: Resync with spec.
27660
f97e1f7d
VS
276612010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27662
27663 Multiboot2 tag support
27664
27665 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27666 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27667 Remove loader/multiboot_loader.c.
27668 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27669 (grub_multiboot2_real_boot): Likewise.
27670 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27671 (grub_get_multiboot_mmap_count): New proto.
27672 (grub_fill_multiboot_mmap): Likewise.
27673 (grub_multiboot_set_video_mode): Likewise.
27674 (grub_multiboot_set_console): Likewise.
27675 (grub_multiboot_load): Likewise.
27676 (grub_multiboot_load_elf): Likewise.
27677 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27678 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27679 * include/multiboot.h: Resynced with specification.
27680 * include/multiboot2.h: Resynced with specification.
27681 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27682 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27683 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27684 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27685 users updated.
27686 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27687 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27688 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27689 Removed.
27690 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27691 Moved from here...
27692 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27693 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27694 Moved from here...
27695 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27696 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27697 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27698 All users updated.
27699 * loader/i386/multiboot_mbi2.c: New file.
27700
3506b90b
VS
277012010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 Resync with gnulib.
27704
27705 * Makefile.in (GNULIB_CFLAGS): New variable.
27706 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27707 (grub_script_check_CFLAGS): New variable.
27708 * gnulib/alloca.h: Resync with gnulib.
27709 * gnulib/error.c: Likewise.
27710 * gnulib/error.h: Likewise.
27711 * gnulib/fnmatch.c: Likewise.
27712 * gnulib/fnmatch_loop.c: Likewise.
27713 * gnulib/getdelim.c: Likewise.
27714 * gnulib/getline.c: Likewise.
27715 * gnulib/getopt.c: Likewise.
27716 * gnulib/getopt1.c: Likewise.
27717 * gnulib/getopt_int.h: Likewise.
27718 * gnulib/gettext.h: Likewise.
27719 * gnulib/progname.c: Likewise.
27720 * gnulib/progname.h: Likewise.
27721
394a3120
GS
277222010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27723
27724 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27725 which is the case with --disabled-nls.
27726
27727 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27728 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27729 * util/misc.c: Likewise.
27730 * util/mkisofs/mkisofs.c: Likewise.
27731 * util/mkisofs/mkisofs.h: Likewise.
27732
969d1c78
VS
277332010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27734
27735 Simplify Apple CC support.
27736
27737 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27738 Add 0 byte at the end not to have a symbol with empty target.
27739 * mmap/i386/pc/mmap_helper.S: Likewise.
27740 * genmk.rb: Ignore errors 2030 and 2050.
27741 * kern/i386/pc/startup.S: Use LOCAL when possible.
27742
8d2977bb
BC
277432010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27744
27745 Testcase and the fix for final semicolon on cmdline.
27746
27747 * tests/grub_script_final_semicolon.in: New testcase.
27748 * conf/tests.rmk: Rules for the new testcase.
27749 * script/parser.y: Grammar fix.
27750
a7bd6915
BC
277512010-03-26 BVK Chaitanya <bvk@localhost>
27752
27753 Blank lines testcase for GRUB script.
27754
27755 * tests/grub_script_blanklines.in: New testcase.
27756 * conf/tests.rmk: Rules for the new testcase.
27757
e4ff6628
VS
277582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 Don't use __FILE__.
27761
27762 * genmk.rb: Add -DGRUB_FILE to all C targets.
27763 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27764 * include/grub/list.h: Likewise.
27765 * include/grub/misc.h: Likewise.
27766 * include/grub/mm.h: Likewise.
27767 * include/grub/test.h: Likewise.
27768 * kern/mm.c: Likewise.
27769 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27770
6a5cf6b6
VS
277712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 Sunpc partitions support.
27774
27775 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27776 (grub_fstest_SOURCES): Likewise.
27777 (pkglib_MODULES): Add part_sunpc.mod.
27778 (part_sunpc_mod_SOURCES): New variable.
27779 (part_sunpc_mod_CFLAGS): Likewise.
27780 (part_sunpc_mod_LDFLAGS): Likewise.
27781 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27782 * partmap/sunpc.c: New file.
27783
746d9045
BC
277842010-03-26 BVK Chaitanya <bvk@localhost>
27785
27786 For loop support to GRUB script.
27787
27788 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27789 (grub_script_create_cmdfor): New function prototype.
27790 (grub_script_execute_cmdfor): New function prototype.
27791 * script/execute.c (grub_script_execute_cmdfor): New function.
27792 * script/parser.y (command): New for command.
27793 (forcmd): New grammar rule.
27794 * script/script.c (grub_script_create_cmdfor): New function.
27795 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27796 function.
27797 * tests/grub_script_for1.in: New testcase.
27798 * conf/tests.rmk: Rules for new testcase.
27799
18486b18
VS
278002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 Nested partitions
27803
27804 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27805 'partition' is NULL, grub_partition_get_start already does that.
27806 * commands/loadenv.c (check_blocklists): Likewise.
27807 (write_blocklists): Likewise.
27808 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27809 (grub_fstest_SOURCES): Likewise.
27810 (pkglib_MODULES): Add part_bsd.mod.
27811 (part_bsd_mod_SOURCES): New variable.
27812 (part_bsd_mod_CFLAGS): Likewise.
27813 (part_bsd_mod_LDFLAGS): Likewise.
27814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27815 (grub_emu_SOURCES): Likewise.
27816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27817 * include/grub/bsdlabel.h: New file.
27818 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27819 'get_name'.
27820 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27821 (grub_partition_map_list): New variable.
27822 (grub_partition_map_register): Inline.
27823 (grub_partition_map_unregister): Likewise.
27824 (FOR_PARTITION_MAPS): New macro.
27825 (grub_partition_map_iterate): Removed.
27826 (grub_partition_get_start): Handle nested partitions.
27827 * include/grub/msdos_partition.h: Remove bsd-related entries.
27828 (grub_pc_partition): Remove.
27829 * kern/disk.c (grub_disk_close): Free partition data.
27830 (grub_disk_adjust_range): Handle nested partitions.
27831 * kern/partition.c (grub_partition_map_probe): New function.
27832 (grub_partition_probe): Parse name to number, handle subpartitions.
27833 (get_partmap): New function.
27834 (grub_partition_iterate): Handle subpartitions.
27835 (grub_partition_get_name): Likewise.
27836 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27837 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27838 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27839 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27840 Set 'number'.
27841 (acorn_partition_map_probe): Remove.
27842 (acorn_partition_map_get_name): Likewise.
27843 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27844 Set 'number'.
27845 Set 'index' to 0 since there can be only one partition entry per sector.
27846 (amiga_partition_map_probe): Remove.
27847 (amiga_partition_map_get_name): Likewise.
27848 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27849 Set 'number'.
27850 Set 'offset' and 'index' to real positions of partitions.
27851 (apple_partition_map_probe): Remove.
27852 (apple_partition_map_get_name): Likewise.
27853 * partmap/bsdlabel.c: New file.
27854 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27855 Set 'number'.
27856 Allocate 'data' so it can be correctly freed.
27857 Set 'index' to offset inside sector.
27858 (gpt_partition_map_probe): Remove.
27859 (gpt_partition_map_get_name): Likewise.
27860 * partmap/msdos.c (grub_partition_parse): Remove.
27861 (pc_partition_map_iterate): Don't force raw access.
27862 Set 'number'.
27863 Make 'ext_offset' a local variable.
27864 (pc_partition_map_probe): Remove.
27865 (pc_partition_map_get_name): Remove.
27866 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27867 Set 'number'.
27868 (sun_partition_map_probe): Remove.
27869 (sun_partition_map_get_name): Likewise.
27870 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27871 (grub_pcpart_type): Likewise.
27872 * util/hostdisk.c (open_device): Handle new numbering scheme.
27873 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27874 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27875 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27876 * util/grub-install.in: Insert all subpartition modules.
27877 * util/ieee1275/grub-install.in: Likewise.
27878
a3940f88
AG
278792010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27880
27881 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27882 grammar.
27883
21b99926 278842010-03-24 Colin Watson <cjwatson@ubuntu.com>
27885
27886 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27887
bed1d352
CW
278882010-03-21 Colin Watson <cjwatson@ubuntu.com>
27889
27890 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27891 match where 'make install' puts them.
27892 * util/i386/efi/grub-install.in: Likewise.
27893
c9f58427
CW
278942010-03-19 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * .bzrignore: Add gentrigtables, grub-script-check,
27897 grub_script_check_init.c, grub_script_check_init.h, and
27898 trigtables.c.
27899
f84afb27
VS
279002010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27901
27902 * kern/parser.c: Indented.
27903
ed0e3d30
VS
279042010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27907
0ea81d98
VS
279082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27911 alpha_mask_size == 0 case.
27912
0cdc2a09
BC
279132010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27914
27915 GRUB shell lexer and parser improvements.
27916
27917 * conf/any-emu.rmk: Build rule updates.
27918 * conf/common.rmk: Likewise.
27919 * conf/i386-coreboot.rmk: Likewise.
27920 * conf/i386-efi.rmk: Likewise.
27921 * conf/i386-ieee1275.rmk: Likewise.
27922 * conf/i386-pc.rmk: Likewise.
27923 * conf/powerpc-ieee1275.rmk: Likewise.
27924 * conf/x86_64-efi.rmk: Likewise.
27925
27926 * configure.ac: Configure check for flex.
27927
27928 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27929 types.
27930 (grub_lexer_param): Struct member updates.
27931 (grub_parser_param): Likewise.
27932 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27933 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27934 (grub_script_lexer_init): Prototype update.
27935 (grub_script_lexer_record_start): Likewise.
27936 (grub_script_lexer_record_stop): Likewise.
27937 (grub_script_lexer_yywrap): New function prototype.
27938 (grub_script_lexer_fini): Likewise.
27939 (grub_script_execute_argument_to_string): Removed by...
27940 (grub_script_execute_argument_to_argv): ...better version.
27941
27942 * script/execute.c (ROUND_UPTO): New macro.
27943 (grub_script_execute_cmdline): Out of memory fixes.
27944 (grub_script_execute_menuentry): Likewise.
27945 (grub_script_execute_argument_to_string): Removed. Update all
27946 users by...
27947 (grub_script_execute_argument_to_argv): ...better version.
27948 * script/function.c (grub_script_function_create): Use
27949 grub_script_execute_argument_to_argv instead of
27950 grub_script_execute_argument_to_string.
27951
27952 * script/lexer.c (check_varstate): Removed.
27953 (check_textstate): Removed.
27954 (grub_script_lexer_record_start): Likewise.
27955 (grub_script_lexer_record_stop): Likewise.
27956 (recordchar): Replaced with...
27957 (grub_script_lexer_record): ...new function.
27958 (nextchar): Removed.
27959 (grub_script_lexer_init): Rewritten.
27960 (grub_script_yylex): Rewritten.
27961 (append_newline): New function.
27962 (grub_script_lexer_yywrap): New function.
27963 (grub_script_lexer_fini): New function.
27964 (grub_script_yyerror): Sets error flag.
27965
27966 * script/yylex.l: New file.
27967 (grub_lexer_yyfree): Wrapper for flex yyffre.
27968 (grub_lexer_yyalloc): Likewise.
27969 (grub_lexer_yyrealloc): Likewise.
27970 * script/parser.y: Refactored.
27971
27972 * script/script.c (grub_script_arg_add): Out of memory fixes.
27973 (grub_script_add_arglist): Likewise.
27974 (grub_script_create_cmdline): Likewise.
27975 (grub_script_create_cmdmenu): Likewise.
27976 (grub_script_add_cmd): Likewise.
27977 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27978 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27979 unnecessary code.
27980
27981 * tests/grub_script_echo1.in: New testcase.
27982 * tests/grub_script_vars1.in: New testcase.
27983 * tests/grub_script_echo_keywords.in: New testcase.
27984
1d63a066
VS
279852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Remove some redundancy in build system.
27988
27989 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27990 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27991 (TARGET_LDFLAGS): Add -nostdlib.
27992 (TARGET_IMG_LDFLAGS): Likewise.
27993 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27994 anything since mmap isn't available.
27995 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27996 Add util/time.c.
27997 (pkglib_MODULES): Remove reboot.mod.
27998 (reboot_mod_SOURCES): Removed.
27999 (reboot_mod_CFLAGS): Likewise.
28000 (reboot_mod_LDFLAGS): Likewise.
28001 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28002 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28003 (DEFSYMFILES): Add kernel_syms.lst.
28004 (kernel_img_HEADERS): Add common headers.
28005 (symlist.c): New target.
28006 (kernel_syms.lst): Likewise.
28007 (pkglib_MODULES): Add memdisk.mod.
28008 (memdisk_mod_SOURCES): New variable.
28009 (memdisk_mod_CFLAGS): Likewise.
28010 (memdisk_mod_LDFLAGS): Likewise.
28011 (pkglib_MODULES): Add reboot.mod.
28012 (reboot_mod_SOURCES): New variable.
28013 (reboot_mod_CFLAGS): Likewise.
28014 (reboot_mod_LDFLAGS): Likewise.
28015 (pkglib_MODULES): Add date.mod.
28016 (date_mod_SOURCES): New variable.
28017 (date_mod_CFLAGS): Likewise.
28018 (date_mod_LDFLAGS): Likewise.
28019 (pkglib_MODULES): Add datehook.mod.
28020 (datehook_mod_SOURCES): New variable.
28021 (datehook_mod_CFLAGS): Likewise.
28022 (datehook_mod_LDFLAGS): Likewise.
28023 (pkglib_MODULES): Add lsmmap.mod.
28024 (lsmmap_mod_SOURCES): New variable.
28025 (lsmmap_mod_CFLAGS): Likewise.
28026 (lsmmap_mod_LDFLAGS): Likewise.
28027 (pkglib_MODULES): Add boot.mod.
28028 (boot_mod_SOURCES): New variable.
28029 (boot_mod_CFLAGS): Likewise.
28030 (boot_mod_LDFLAGS): Likewise.
28031 * conf/i386-coreboot.rmk: Removed redundant parts.
28032 * conf/i386-ieee1275.rmk: Likewise.
28033 * conf/i386-pc.rmk: Likewise.
28034 * conf/mips-yeeloong.rmk: Likewise.
28035 * conf/mips.rmk: Likewise.
28036 * conf/powerpc-ieee1275.rmk: Likewise.
28037 * conf/sparc64-ieee1275.rmk: Likewise.
28038 * conf/x86_64-efi.rmk: Likewise.
28039 * conf/i386-coreboot.rmk: Moved qemu parts ..
28040 * conf/i386-qemu.rmk: ... here
28041 * conf/i386-efi.rmk: Moved common parts to...
28042 * conf/x86-efi.rmk: ... here.
28043 * conf/i386.rmk: Added modules common to all x86 variants.
28044 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28045 * disk/memdisk.c: Remove grub/machine/kernel.h.
28046 * gensymlist.sh.in: Include symbol.h.
28047 * hook/datehook.c: Correct module name.
28048 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28049 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28050 * include/grub/i386/efi/serial.h: New file.
28051 * include/grub/x86_64/efi/serial.h: Likewise.
28052 * util/time.c: Likewise.
28053 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28054
463ac55f
CK
280552010-03-14 Colin King <colin.king@ubuntu.com>
280562010-03-14 Colin Watson <cjwatson@ubuntu.com>
28057
28058 Shrink the pre-partition-table part of boot.img by eight bytes.
28059
28060 * boot/i386/pc/boot.S (ERR): New macro.
28061 (chs_mode): Use ERR.
28062 (geometry_error): Likewise.
28063 (hd_probe_error): Remove. This is only used once, so we wrwite
28064 it inline instead.
28065 (read_error): Instead of printing read_error_string, just set up
28066 %si and fall through to ...
28067 (error_message): ... this new function, also used by ERR.
28068
08e46ede
CW
280692010-03-14 Colin Watson <cjwatson@ubuntu.com>
28070
28071 Speed up consecutive hostdisk operations on the same device.
28072
28073 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28074 (grub_util_biosdisk_open): Initialise disk->data.
28075 (struct linux_partition_cache): New structure.
28076 (linux_find_partition): Cache partition start positions; these are
28077 expensive to compute on every read and write.
28078 (open_device): Cache open file descriptor in disk->data, so that we
28079 don't have to reopen it and flush the buffer cache for consecutive
28080 operations on the same device.
28081 (grub_util_biosdisk_close): New function.
28082 (grub_util_biosdisk_dev): Set `close' member.
28083
28084 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28085 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28086 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28087 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28088 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28089
4a6d2d06
VS
280902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 Compile parts of grub-emu as modules.
28093
28094 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28095 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28096 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28097 (all-local): Add $(GRUB_EMU).
28098 (install-local): Install $(GRUB_EMU).
28099 (uninstall): Uninstall $(GRUB_EMU).
28100 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28101 * kern/dl.c: Likewise.
28102 * commands/sleep.c: Not include machine/time.h.
28103 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28104 (COMMON_CFLAGS): Likewise.
28105 (sbin_UTILITIES): Remove grub-emu.
28106 (grub_emu_SOURCES): Removed.
28107 (kernel_img_RELOCATABLE): New variable.
28108 (pkglib_PROGRAMS): Add kernel.img.
28109 (kernel_img_SOURCES): New variable
28110 (kernel_img_CFLAGS): Likewise.
28111 (kernel_img_LDFLAGS): Likewise.
28112 (TARGET_NO_STRIP): Likewise.
28113 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28114 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28115 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28116 (grub-emu): New target.
28117 (GRUB_EMU): New variable.
28118 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28119 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28120 * loader/xnu.c: Likewise.
28121 * include/grub/pci.h: Likewise.
28122 * genemuinit.sh: New file.
28123 * genemuinitheader.sh: Likewise.
28124 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28125 Support TARGET_NO_DYNAMIC_MODULES.
28126 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28127 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28128 * disk/loopback.c: Likewise.
28129 * font/font_cmd.c: Likewise.
28130 * partmap/acorn.c: Likewise.
28131 * partmap/amiga.c: Likewise.
28132 * partmap/apple.c: Likewise.
28133 * partmap/gpt.c: Likewise.
28134 * partmap/msdos.c: Likewise.
28135 * partmap/sun.c: Likewise.
28136 * parttool/msdospart.c: Likewise.
28137 * term/gfxterm.c: Likewise.
28138 * video/bitmap.c: Likewise.
28139 * video/readers/jpeg.c: Likewise.
28140 * video/readers/png.c: Likewise.
28141 * video/readers/tga.c: Likewise.
28142 * video/video.c: Likewise.
28143 * util/grub-emu.c (read_command_list): Removed.
28144 (main): Don't call util_init_nls.
28145 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28146 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28147
91fdd2ed
VS
281482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28151 date.mod, datehook.mod.
28152 (datetime_mod_SOURCES): New variable.
28153 (datetime_mod_CFLAGS): Likewise.
28154 (datetime_mod_LDFLAGS): Likewise.
28155 (date_mod_SOURCES): Likewise.
28156 (date_mod_CFLAGS): Likewise.
28157 (date_mod_LDFLAGS): Likewise.
28158 (datehook_mod_SOURCES): Likewise.
28159 (datehook_mod_CFLAGS): Likewise.
28160 (datehook_mod_LDFLAGS): Likewise.
28161 * conf/sparc64-ieee1275.rmk: Likewise.
28162 * lib/ieee1275/datetime.c: New file.
28163
873ccae6
VS
281642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28167 (ieee1275_fb_mod_SOURCES): New variable.
28168 (ieee1275_fb_mod_CFLAGS): Likewise.
28169 (ieee1275_fb_mod_LDFLAGS): Likewise.
28170 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28171 New proto.
28172 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28173 (HEAP_MAX_ADDR): Likewise.
28174 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28175 type.
28176 Correct stop condition.
28177 (grub_ieee1275_devices_iterate): New function.
28178 * video/ieee1275.c: New file.
28179
601c97c0
VS
281802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28183
28184 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28185 as scratch.
28186 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28187 SCRATCH_PAD_DISKBOOT as scratch.
28188 (bootit): Pass Openfirmware pointer in %o4.
28189 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28190 of 0x200000.
28191 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28192 with util/grub-mkrawimage.c.
28193 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28194 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28195 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28196 (grub_aout_load) [GRUB_UTIL]: Likewise.
28197 * include/grub/kernel.h (grub_modules_get_end): New proto.
28198 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28199 (SCRATCH_PAD_BOOT): New definition.
28200 (SCRATCH_PAD_DISKBOOT): Likewise.
28201 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28202 * include/grub/sparc64/ieee1275/ieee1275.h
28203 (grub_ieee1275_original_stack): New variable
28204 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28205 New definition
28206 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28207 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28208 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28209 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28210 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28211 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28212 (grub_platform_image_format_t): New type.
28213 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28214 * kern/main.c (grub_modules_get_end)
28215 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28216 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28217 (codestart): Switch stacks.
28218 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28219 variable.
28220 (grub_heap_init): Use grub_modules_get_end.
28221 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28222 stack.
28223 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28224 (main): Likewise.
28225 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28226
d68b491e
TG
282272010-03-14 Thorsten Glaser <tg@mirbsd.org>
28228
28229 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28230
4e02ed50
MK
282312010-03-08 Matt Kraai <kraai@ftbfs.org>
28232
28233 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28234 bug #559005).
28235
1f15fc1e
VS
282362010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28237
28238 * genmoddep.awk: Output all missing symbols and not only first.
28239
fce5d8ff
VS
282402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 * NEWS: Put the date of 1.98 release.
28243
d1e8a02f
VS
282442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28247 ft2build.h.
28248
696fd607
VS
282492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28250
28251 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28252 completition in the middle of string.
28253
33e2e6f3
VS
282542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28255
28256 * util/grub-mkrescue.in: Use mktemp with explicit template.
28257
b1f6d291
VS
282582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28261
2ac227c7
VS
282622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28263
28264 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28265 right pointer.
28266
8f9a632b
VS
282672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 Fix FreeBSD compilation.
28270
28271 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28272 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28273
60b03859
VS
282742010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28277
48a5a769
VS
282782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28281
3ab4bd77
VS
282822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28283
28284 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28285
d116e0d8
RM
282862010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28287
28288 Support relative image path in theme file.
28289
28290 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28291 (image_set_property): Handle theme_dir and relative path.
28292
c7ef54aa
VS
282932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * configure.ac: Alias amd64 to x86_64.
28296
fcee14ed
VS
282972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * NEWS: mention multiboot on EFI.
28300
d0780363
VS
283012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 * kern/main.c (grub_load_modules): Handle errors from init functions of
28304 embeded modules.
28305
41168ea4
VS
283062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 * normal/autofs.c (autoload_fs_module): Handle errors.
28309
b54d93ac
VS
283102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 Disable linux.mod on qemu-mips since it's not functional and leads
28313 to compilation failure.
28314
28315 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28316 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28317 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28318 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28319 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28320 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28321 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28322 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28323 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28324 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28325 Reported by: BVK Chaitanya
28326
fc8345da
JU
283272010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28328
28329 * INSTALL: Add gettext as a dependency and add qemu to a new section
28330 "Prerequisites for make-check".
28331
4760f979
CF
283322010-03-04 Christian Franke <franke@computer.org>
28333
28334 * util/grub-pe2elf.c: Add missing include "progname.h".
28335
f209b5b2
VS
283362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 * normal/crypto.c (read_crypto_list): Fix a typo.
28339 Reported by: Seth Goldberg.
28340
b4b7be98
VS
283412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28344 Reported by: Seth Goldberg.
b4b7be98 28345
c0ee0385
VS
283462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28349 ascii.bitmaps.
28350
a8efbf64
VS
283512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28352
28353 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28354 Reported by: Seth Goldberg.
a8efbf64 28355
08dcd913
VS
283562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28357
28358 * util/i386/efi/grub-install.in: Copy gettext files.
28359
c4d0b332
VS
283602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28361
28362 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28363
c6f2fe52
VS
283642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 Wait for user entry basing on presence of output rather than on errors.
28367
28368 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28369 (grub_install_newline_hook): Likewise.
28370 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28371 * normal/menu.c (show_menu): Check line_counter to determine presence
28372 of output.
28373 * normal/term.c (grub_normal_line_counter): New variable.
28374 (grub_normal_get_line_counter): New function.
28375 (grub_install_newline_hook): Likewise.
28376
5382b1e4
VS
283772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28378
28379 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28380
5519963b
VS
283812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 * configure.ac: Update version to 1.98.
28384
72b28631
VS
283852010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * util/grub.d/10_linux.in (linux_entry): Don't default to
28388 gfxpayload=keep if Linux doesn't support video handover.
28389
c140a180
VS
283902010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28391
28392 Don't compile video modules on yeeloong since video subsystem is part
28393 of kernel.
28394
28395 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28396 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28397 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28398 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28399 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28400 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28401 * include/grub/bitmap_scale.h: Likewise.
28402 * include/grub/bufio.h: Likewise.
28403 * include/grub/font.h: Likewise.
28404 * include/grub/gfxterm.h: Likewise.
28405 * include/grub/video.h: Likewise.
28406 * include/grub/vbe.h: Don't include video_fb.h.
28407 * video/i386/pc/vbe.c: Include video_fb.h.
28408 * commands/i386/pc/vbetest.c: Include video.h.
28409
a0ca21c2
CW
284102010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28411
28412 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28413 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28414 default entry if GRUB_SAVEDEFAULT=true. This allows using
28415 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28416 saving a new default on every boot.
28417
4a8a763c
VS
284182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28421 * normal/term.c (read_terminal_list): Likewise.
28422 * normal/main.c (grub_normal_init_page): Likewise.
28423 (grub_normal_read_line_real): Likewise.
28424
607ffde2
VS
284252010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28426
28427 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28428 memory leak.
28429 Reported by: Seth Goldberg.
28430
2b8fa975
CW
284312010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28432
28433 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28434 duplicate declaration of `start'.
28435
618307dd
VS
284362010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28437
28438 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28439 filename.
28440 Reported by: Georgy Buranov
28441
7dd05b96 284422010-02-20 Carles Pina i Estany <carles@pina.cat>
28443
28444 * util/grub-mkrawimage.c (usage): Change string formatting to
28445 improve gettext.
28446
d1484a42
MRA
284472010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28448
28449 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28450 backspace keys.
28451
42b1d186
VS
284522010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28453
28454 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28455 Reported by: Michael Suchanek.
28456
284572010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28458
28459 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28460 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28461
d9f31a41
VS
284622010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 Remove any reference to non-free fonts.
28465
28466 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28467 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28468 uses non-free components.
28469 * font/font.c (grub_font_get_name): Remove example name.
28470 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28471 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28472 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28473 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28474
2793c71e
GB
284752010-02-16 Georgy Buranov <gburanov@gmail.com>
28476
28477 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28478
402e3779
VS
284792010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28482 Double divisor.
28483 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28484 features.
28485 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28486
0dd1e0dd
VS
284872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28488
28489 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28490
6fa7cfce
ST
284912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28492
28493 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28494 * docs/grub.texi (Command-line and menu entry commands): Document play
28495 command.
28496
37c8483b
ST
284972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28498
28499 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28500 parse arguments as inline tempo and notes. Move code for playing notes
28501 to...
28502 (play): ... new function.
28503
14da0fb7
ST
285042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28505
28506 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28507 grub_uint16_t instead of short.
28508 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28509 disk from little endian to cpu endianness.
28510
04459e70
ST
285112010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28512
28513 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28514 GRUB_TICKS_PER_SECOND instead of 120.
28515
a0876943
VS
285162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28517
28518 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28519 escape sequence after \e.
28520
e29f95dc
VS
285212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28524 non-ASCII characters.
28525
d27859b2
VS
285262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28529 set root in single quotes to prevent \, from being unescaped.
28530
bc028f2f
VS
285312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28532
28533 Prevent unknown commands from stopping menuentry execution.
28534
28535 * script/execute.c (grub_script_execute_cmdline): Print error after
28536 unknown command.
28537
095f5f82
VS
285382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28539
28540 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28541 Reported by: Pavel Pisa.
28542
8c717950
VS
285432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28544
28545 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28546
904935c3
VS
285472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28548
28549 Merge grub_ieee1275_map_physical into grub_map and rename to
28550 grub_ieee1275_map
28551
28552 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28553 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28554 Remove.
28555 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28556 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28557 necessary.
28558 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28559
5b59a4e3
VS
285602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28563 opening and not after.
28564
69e137e8
VS
285652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28566
28567 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28568 constants.
28569
2c0fcc36
VS
285702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28573 (alloc_phys): Use ALIGN_UP instead of align_addr.
28574
8c6052ce
VS
285752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28578
17cec782
VS
285792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28582
e0128bbd
VS
285832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28584
28585 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28586 verbose dprintf.
28587
ca62070b
VS
285882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 Fix over-4GiB seek on sparc64.
28591
28592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28593 Replace pos_i and pos_lo with pos. All users updated.
28594 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28595 New constant.
28596 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28597 Likewise.
28598 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28599 and pos_lo.
28600
bdca2607
VS
286012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28602
28603 * util/grub-mkrawimage.c (main): Call set_program_name.
28604
da278c4d
VS
286052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 Properly align 64-bit targets.
28608
28609 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28610 (generate_image): Use ALIGN_ADDR.
28611
b274d734
VS
286122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28613
28614 Properly create cross-endian images.
28615
28616 * include/grub/types.h (grub_host_to_target_addr): New macro
28617 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28618
82da2062
VS
286192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28620
28621 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28622
7cae4377
VS
286232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28624
28625 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28626
28627 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28628 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28629 (grub_linux_boot): Divide by 64K when on VESA.
28630
65a533e7
VS
286312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28632
28633 Support GRUB_GFXPAYLOAD_LINUX.
28634
28635 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28636 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28637
dd01d397
VS
286382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28639
28640 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28641 to show messages instead of discarding them.
28642 Process errors after executing command and not before. Keep old method
28643 too as precaution.
28644
660960d6
VS
286452010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 * configure.ac: Check for ft2build.h.
28648
62509f04
VS
286492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28652
473df63d
VS
286532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28654
28655 * genkernsyms.sh.in: Use TARGET_CC.
28656
c98d2a13
CW
286572010-02-07 Colin Watson <cjwatson@ubuntu.com>
28658
28659 * NEWS: Update.
28660
6e14234c
VS
286612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28664 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28665 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28666
b255e9cf
YB
286672010-02-07 Yves Blusseau <blusseau@zetam.org>
28668
6e14234c 28669 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28670
98e6959d
VS
286712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28672
28673 Fix warnings in grub-emu when compiling with maximum warning options.
28674
28675 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28676 (grub_arch_modules_addr): Return 0 and not NULL.
28677 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28678 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28679 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28680 of disk to dsk to avoid shadowing.
74e4934e
VS
28681 (find_free_slot): Fix prototype.
28682 * util/getroot.c (grub_util_is_dmraid): Make static.
28683 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28684 Add missing prototype.
28685 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28686
74e31b5c
VS
286872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28688
28689 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28690 appropriately.
28691
6b2ad14b
VS
286922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28693
28694 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28695 code out.
28696
8f891adc
VS
286972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28698
28699 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28700 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28701 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28702 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28703 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28704 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28705
74b45184
VS
287062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 * include/grub/err.h (grub_err_printf): Don't export.
28709
a4bced77
VS
287102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28711
28712 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28713
007d0695
VS
287142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28717 * kern/misc.c (grub_gettext_dummy): Make static.
28718
b6c0d9c2
VS
287192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28720
28721 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28722 by non-valid ones.
28723 * kern/term.c (grub_putchar): Likewise.
28724
f51a90d0
VS
287252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28726
28727 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28728 buggy hook call and memory leak.
28729
6846cec5
VS
287302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28731
28732 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28733
468d69fe
VS
287342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28737
51906b8c
VS
287382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28741 modevar.
28742 Return grub_errno on allocation error.
28743
09706ce5
VS
287442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28747
911df80c
YB
287482010-02-06 Yves Blusseau <blusseau@zetam.org>
28749
28750 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28751 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28752
3746a6bc
VS
287532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28756 non-pxe disk.
28757 (grub_pxefs_open): Likewise.
28758
09706ce5
VS
287592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28760
28761 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28762 * util/grub.d/10_kfreebsd.in: Likewise.
28763 * util/grub.d/10_linux.in: Likewise.
28764
7cc192d9
VS
287652010-02-06 Colin D Bennett <colin@gibibit.com>
28766
28767 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28768 (gfxmenu_mod_SOURCES): New variable.
28769 (gfxmenu_mod_CFLAGS): Likewise.
28770 (gfxmenu_mod_LDFLAGS): Likewise.
28771 * include/grub/term.h (grub_term_set_current_output): Declare
28772 argument as const.
28773 * docs/gfxmenu-theme-example.txt: New file.
28774 * gfxmenu/gfxmenu.c: Likewise.
28775 * gfxmenu/gui_box.c: Likewise.
28776 * gfxmenu/gui_canvas.c: Likewise.
28777 * gfxmenu/gui_circular_progress.c: Likewise.
28778 * gfxmenu/gui_image.c: Likewise.
28779 * gfxmenu/gui_label.c: Likewise.
28780 * gfxmenu/gui_list.c: Likewise.
28781 * gfxmenu/gui_progress_bar.c: Likewise.
28782 * gfxmenu/gui_string_util.c: Likewise.
28783 * gfxmenu/gui_util.c: Likewise.
28784 * gfxmenu/icon_manager.c: Likewise.
28785 * gfxmenu/model.c: Likewise.
28786 * gfxmenu/named_colors.c: Likewise.
28787 * gfxmenu/theme_loader.c: Likewise.
28788 * gfxmenu/view.c: Likewise.
28789 * gfxmenu/widget-box.c: Likewise.
28790 * include/grub/gfxmenu_model.h: Likewise.
28791 * include/grub/gfxmenu_view.h: Likewise.
28792 * include/grub/gfxwidgets.h: Likewise.
28793 * include/grub/gui.h: Likewise.
28794 * include/grub/gui_string_util.h: Likewise.
28795 * include/grub/icon_manager.h: Likewise.
28796
287972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28798
28799 Agglomerate scrolling in gfxterm.
28800
28801 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28802 (grub_virtual_screen_setup): Initialise 'total_screen'.
28803 (write_char): Split to ...
28804 (paint_char): ... this ...
28805 (write_char): ... and this.
28806 (paint_char): Handle delayed scrolling.
28807 (draw_cursor): Likewise.
28808 (scroll_up): Split to ...
28809 (real_scroll): ... this ...
28810 (scroll_up): ... and this.
28811 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28812 characters.
28813 (grub_gfxterm_refresh): Call real_scroll.
28814
288152010-02-06 Colin D Bennett <colin@gibibit.com>
28816
28817 * include/grub/misc.h (grub_iscntrl): New inline function.
28818 (grub_isalnum): Likewise.
28819 (grub_strtol): Likewise.
28820
288212010-02-06 Colin D Bennett <colin@gibibit.com>
28822
28823 * normal/menu_text.c (get_entry_number): Move from here ...
28824 * normal/menu.c (get_entry_number): ... moved here.
28825 * include/grub/menu.h (grub_menu_get_default_entry_index):
28826 New prototype.
28827 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28828 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28829 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28830 (grub_menu_viewer_should_return): Likewise.
28831 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28832 * normal/menu_text.c (run_menu): Enable menu switching.
28833 * normal/menu_viewer.c (should_return): New variable.
28834 (menu_viewer_changed): Likewise.
28835 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28836 (grub_menu_viewer_should_return): New function.
28837 (menuviewer_write_hook): Likewise.
28838 (grub_menu_viewer_init): Likewise.
28839
288402010-02-06 Colin D Bennet <colin@gibibit.com>
288412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28842
28843 Support for gfxterm in a window.
28844
28845 * include/grub/gfxterm.h: New file.
28846 * include/grub/video.h (struct grub_video_rect): New declaration.
28847 (grub_video_rect_t): Likewise.
28848 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28849 (refcount): New variable.
28850 (render_target): Likewise.
28851 (window): Likewise.
28852 (repaint_callback): Likewise.
28853 (grub_virtual_screen_setup): Use 'render_target'.
28854 (init_window): New function.
28855 (grub_gfxterm_init_window): Likewise.
28856 (grub_gfxterm_init): Check reference counter.
28857 Use init_window.
28858 (destroy_window): New function.
28859 (grub_gfxterm_destroy_window): Likewise.
28860 (grub_gfxterm_fini): Check reference counter.
28861 Use destroy_window.
28862 (redraw_screen_rect): Restore viewport.
28863 Use 'render_target' and 'window'.
28864 Call 'repaint_callback'.
28865 (write_char): Use 'render_target'.
28866 (draw_cursor): Likewise.
28867 (scroll_up): Restore viewport.
28868 Use 'render_target' and 'window'.
28869 Call 'repaint_callback'.
28870 (grub_gfxterm_cls): Likewise.
28871 (grub_gfxterm_refresh): Use 'window'.
28872 (grub_gfxterm_set_repaint_callback): New function.
28873 (grub_gfxterm_background_image_cmd): Use 'window'.
28874 (grub_gfxterm_get_term): New function.
28875 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28876
288772010-02-06 Colin D Bennett <colin@gibibit.com>
28878
28879 Bitmap scaling support.
28880
28881 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28882 (bitmap_scale_mod_SOURCES): New variable.
28883 (bitmap_scale_mod_CFLAGS): Likewise.
28884 (bitmap_scale_mod_LDFLAGS): Likewise.
28885 * include/grub/bitmap_scale.h: New file.
28886 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28887 (background_image_cmd_options): New variable.
28888 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28889 (cmd): Rename and change type to ...
28890 (background_image_cmd_handle): ... this. All users updated.
28891 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28892 * video/bitmap_scale.c: New file.
28893
288942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 SDL support.
28897
28898 * Makefile.in (LIBSDL): New variable.
28899 (enable_grub_emu_sdl): Likewise.
28900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28901 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28902 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28903 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28904 * util/sdl.c: New file.
28905
289062010-02-06 Colin D Bennett <colin@gibibit.com>
289072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28908
28909 Double buffering support.
28910
28911 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28912 * include/grub/video.h: Update comment.
28913 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28914 New type.
28915 (grub_video_fb_doublebuf_blit_init): New prototype.
28916 * term/gfxterm.c (scroll_up): Support double buffering.
28917 (grub_gfxterm_refresh): Likewise.
28918 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28919 (grub_video_fb_doublebuf_blit_init): Likewise.
28920 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28921 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28922 'displayed_page', 'render_page' and 'update_screen'.
28923 (grub_video_vbe_fini): Free offscreen buffer.
28924 (doublebuf_pageflipping_commit): New function.
28925 (doublebuf_pageflipping_update_screen): Likewise.
28926 (doublebuf_pageflipping_init): Likewise.
28927 (double_buffering_init): Likewise.
28928 (grub_video_vbe_setup): Enable doublebuffering.
28929 (grub_video_vbe_swap_buffers): Implement.
28930 (grub_video_vbe_set_active_render_target): Handle double buffering.
28931 (grub_video_vbe_get_active_render_target): Likewise.
28932 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28933 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28934 (grub_video_vbe_enable_double_buffering): Likewise.
28935 (grub_video_vbe_swap_buffers): Use update_screen.
28936 (grub_video_set_mode): Use double buffering.
28937
289382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28939
28940 * maintainance/gentrigtables.py: Remove.
28941 * lib/trig.c: Likewise.
28942
28943 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28944
28945 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28946 `trigtables.c'.
28947 (trigtables.c): New rule.
28948 (gentrigtables): Likewise.
28949 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28950
289512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28954 integer constants.
28955
289562010-02-06 Colin D Bennet <colin@gibibit.com>
28957
28958 Trigonometry support.
28959
28960 * include/grub/trig.h: New file.
28961 * lib/trig.c: Likewise.
28962 * maintainance/gentrigtables.py: Likewise.
28963 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28964 (trig_mod_SOURCES): New variable.
28965 (trig_mod_CFLAGS): Likewise.
28966 (trig_mod_LDFLAGS): Likewise.
28967
5562834e
VS
289682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28971 disk devices.
28972
4f8528fc
VS
289732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28976 error.
28977
2b4068e9
VS
289782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * util/hostdisk.c (open_device): Don't use partition device when reading
28981 before the partition.
28982 (grub_util_biosdisk_read): Don't read from partition and before the
28983 partition in single operation.
28984 (grub_util_biosdisk_write): Don't write to partition and before the
28985 partition in single operation.
28986
399f6e4d
TL
289872010-02-03 Torsten Landschoff <torsten@debian.org>
28988
28989 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28990 last sectors.
28991
996649b0
VS
289922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28993
28994 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28995 CDROM reads.
28996 (grub_biosdisk_write): Refuse to write to CDROM.
28997
3b205d4d
VS
289982010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28999
29000 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29001
61e89d9d
VS
290022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 * font/font.c (find_glyph): Check that bmp_idx is available before
29005 using it.
29006 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29007 with (font == NULL).
29008
bf7fcba2
CS
290092010-01-28 Christian Schmitt <chris@ilovelinux.de>
29010
29011 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29012
f45d2663
BC
290132010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29014
29015 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29016 * util/grub-script-check.c (getline): Fix empty lines case.
29017
ec1444e6
RM
290182010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29019
29020 * Makefile.in (check): Exit with fail status when one of the tests
29021 fails.
29022 * tests/example_functional_test.c (example_test): Fix reversed assert.
29023 * tests/example_unit_test.c (example_test): Likewise.
29024
2e1cb9bb
CW
290252010-01-28 Colin Watson <cjwatson@ubuntu.com>
29026
29027 * util/grub.d/10_linux.in: This script does not use any of the
29028 contents of gettext.sh, only the external command `gettext', so stop
29029 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29030 the same prefix as GRUB.)
29031 * util/grub.d/10_kfreebsd.in: Likewise.
29032
63533ab0
VS
290332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29036 of the line.
29037
989e1f93
VS
290382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29041 last sectors.
29042
e709ebe2
VS
290432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29046 having a 4KiB and not 32KiB buffer size.
29047
27dea7ed
RM
290482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29049
29050 * util/hostfs.c: Include `<errno.h>'.
29051 (grub_hostfs_read): Handle errors from fseeko() and fread().
29052
67667b9c
RM
290532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29054
29055 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29056 loop when using read hooks on files whose size isn't sector-aligned.
29057
c294d9d8
RM
290582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29059
29060 Remove unused parameter.
29061
29062 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29063 (grub_iso9660_open): Remove initialization of `data->length'.
29064
af75a9f1
RM
290652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29066
29067 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29068 memleak conditions.
29069
254e2ce5 290702010-01-27 Carles Pina i Estany <carles@pina.cat>
29071
29072 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29073 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29074
b510928c 290752010-01-26 Carles Pina i Estany <carles@pina.cat>
29076
29077 * util/bin2h.c (usage): Fix warning (space after backslash).
29078
aa2f9dd2 290792010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29080
29081 * font/font.c: Include `grub/fontformat.h.
29082 Remove font file format constants.
29083 (grub_font_load): Use the new macros.
29084 * include/grub/fontformat.h: New file.
29085 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29086 (write_font_pf2): Use the new macros.
29087
94e7e712
RM
290882010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29089
29090 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29091 does.
29092
3973a59a
RM
290932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29094
29095 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29096
29097 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29098 (_start): Macroify `0x7F'.
29099
29100 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29101 (make_install_device): Use "(pxe)" as fallback prefix when booting
29102 via PXE.
29103
42e0cba3
GS
291042010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29105
29106 * configure.ac: Reset LIBS after check for libgcc symbols.
29107
847effd8
CW
291082010-01-25 Colin Watson <cjwatson@ubuntu.com>
29109
29110 * util/hostdisk.c (open_device): Add trailing newline to debug
29111 message.
29112
ea4a7e35
GS
291132010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29114
29115 * configure.ac: Check for `limits.h'.
29116 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29117
67951a53
RM
291182010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29119
29120 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29121 capitalize error strings.
29122
c273d4ce
ST
291232010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29124
29125 * util/grub.d/10_hurd.in: Add a recovery mode.
29126
69be5b74
VS
291272010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 * configure.ac: Check for libgcc symbols with -nostdlib.
29130
fc9e5810
BC
291312010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29132
29133 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29134
4b358c0a
VS
291352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29138 stack since heap may be unavailable at that point.
29139 (grub_ofconsole_gotoxy): Likewise.
29140
454fcd1c
VS
291412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29142
29143 * configure.ac: Check for _restgpr_14_x.
29144 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29145 and _savegpr_* prototypes.
29146
566863ca
RM
291472010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29148
29149 Use generic grub_reboot() for i386-efi.
29150
29151 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29152 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29153 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29154
bf86e59a
VS
291552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29156
29157 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29158 presence of "prefix" variable as it breaks when normal.mod is
29159 embedded.
29160
d645e0f8
VS
291612010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29164 stack since heap is unavailable at that point.
29165
f9ab2e25
VS
291662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29169 (grub_freebsd_bootinfo): Rewritten.
29170 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29171
01fc7054
VS
291722010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29173
29174 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29175
caab4fd6
RM
291762010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29177
29178 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29179 domain now.
29180
67eb1427
FZ
291812010-01-20 Felix Zielcke <fzielcke@z-51.de>
29182
29183 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29184 around for handling "/" to the correct fix. Fix a memory leak. Use
29185 xstrdup instead of strdup.
29186
a9ed4ff3
VS
291872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29188
29189 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29190
291912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29192
29193 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29194
29195 * font/font.c (struct grub_font): New member 'bmp_idx'.
29196 (font_init): Initialise 'bmp_idx'.
29197 (load_font_index): Fill 'bmp_idx'.
29198 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29199
48209f4f
VS
292002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29203 unnecessary calls.
29204
9f0a4bb7
VS
292052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 Move context handling out of the kernel.
29208
29209 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29210 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29211 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29212 * conf/i386-efi.rmk: Likewise.
29213 * conf/i386-ieee1275.rmk: Likewise.
29214 * conf/i386-pc.rmk: Likewise.
29215 * conf/powerpc-ieee1275.rmk: Likewise.
29216 * conf/sparc64-ieee1275.rmk: Likewise.
29217 * conf/x86_64-efi.rmk: Likewise.
29218 * include/grub/env.h: Include grub/menu.h.
29219 (grub_env_var_type): Removed.
29220 (grub_env_var): Replaced field 'type' with 'global'.
29221 (grub_env_find): New prototype.
29222 (grub_env_context_open): Remove EXPORT_FUNC.
29223 (grub_env_context_close): Likewise.
29224 (grub_env_export): Likewise.
29225 (grub_env_set_data_slot): Removed.
29226 (grub_env_get_data_slot): Likewise.
29227 (grub_env_unset_data_slot): Likewise.
29228 (grub_env_unset_menu): New prototype.
29229 (grub_env_set_menu): Likewise.
29230 (grub_env_get_menu): Likewise.
29231 * include/grub/env_private.h: New file.
29232 * include/grub/normal.h (grub_context_init): New prototype.
29233 (grub_context_fini): Likewise.
29234 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29235 * normal/context.c (grub_cmd_export): ... to here.
29236 * kern/env.c: Include env_private.h.
29237 (HASHSZ): Moved to include/grub/env_private.h.
29238 (grub_env_context): Likewise.
29239 (grub_env_sorted_var): Likewise.
29240 (current_context): Renamed from this ...
29241 (grub_current_context): ...to this. 'static' removed. All users updated.
29242 (grub_env_find): Removed 'static'.
29243 (grub_env_context_open): Moved to normal/context.c.
29244 (grub_env_context_close): Likewise.
29245 (grub_env_export): Likewise.
29246 (mangle_data_slot_name): Removed.
29247 (grub_env_set_data_slot): Likewise.
29248 (grub_env_get_data_slot): Likewise.
29249 (grub_env_unset_data_slot): Likewise.
29250 * kern/main.c (grub_set_root_dev): Don't export root.
29251 It will be done later.
29252 (grub_main): Don't export prefix.
29253 It will be done later.
29254 * normal/context.c: New file.
29255 * normal/main.c (free_menu): Use grub_env_unset_menu.
29256 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29257 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29258 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29259 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29260
8dd35b8c
VS
292612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 setpci support.
29264
29265 * commands/setpci.c: New file.
29266 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29267 (setpci_mod_SOURCES): New variable.
29268 (setpci_mod_CFLAGS): Likewise.
29269 (setpci_mod_LDFLAGS): Likewise.
29270
449193d5
VS
292712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29272
29273 Byte-addressable PCI configuration space.
29274
29275 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29276 dword address.
29277 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29278 GRUB_PCI_REG_CACHELINE.
29279 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29280 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29281 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29282 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29283 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29284 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29285 grub_pci_make_address.
29286 (lock_rom_area): Likewise.
29287 * commands/lspci.c (grub_lspci_iter): Use macroses
29288 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29289 of grub_pci_make_address.
29290 * disk/ata.c (grub_ata_pciinit): Likewise.
29291 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29292 (GRUB_PCI_REG_VENDOR): Likewise.
29293 (GRUB_PCI_REG_DEVICE): Likewise.
29294 (GRUB_PCI_REG_COMMAND): Likewise.
29295 (GRUB_PCI_REG_STATUS): Likewise.
29296 (GRUB_PCI_REG_REVISION): Likewise.
29297 (GRUB_PCI_REG_CLASS): Likewise.
29298 (GRUB_PCI_REG_CACHELINE): Likewise.
29299 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29300 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29301 (GRUB_PCI_REG_BIST): Likewise.
29302 (GRUB_PCI_REG_ADDRESSES): Likewise.
29303 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29304 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29305 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29306 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29307 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29309 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29310 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29311 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29312 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29313 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29314 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29315 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29316 (GRUB_PCI_REG_MIN_GNT): Likewise.
29317 (GRUB_PCI_REG_MAX_LAT): Likewise.
29318 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29319 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29320 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29321 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29322 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29323 space.
29324
96d73208
RM
293252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29326
29327 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29328 can be reliably determined to be supported.
29329
d4484482
RM
293302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29333 that VESA is supported.
29334 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29335 supported.
29336
00308ecf
VS
293372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29340
f66924a4
RM
293412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29342
29343 * util/misc.c (make_system_path_relative_to_its_root): Work around
29344 special-casing of "/", as previous incarnation of this routine did.
29345
cbca0ada
VS
293462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 Fix any-emu compilation.
29349
29350 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29351 * grub_bin2h_SOURCES: New variable.
29352
34a66d99
RM
293532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29354
29355 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29356
94fabf58
RM
293572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29358
29359 * util/grub.d/00_header.in: Fix handling of locale_dir.
29360
02cf98ca
VS
293612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29364 as possible unifont location (Gentoo).
29365 Reported by: Alexander Brüning
29366
327dbcd7
VS
293672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 Don't try to generate lists for kernel.img.
29370
29371 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29372 (pkglib_MODULES): Remove kernel.img.
29373 (kernel_img_EXPORTS): Removed.
29374 (kernel_img_RELOCATABLE): New variable.
29375 * conf/x86_64-efi.rmk: Likewise.
29376 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29377
ca467290
VS
293782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29379
29380 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29381 grub_xasprintf or grub_snprintf.
29382 (grub_vsprintf): Likewise.
29383 (grub_snprintf): New proto.
29384 (grub_vsnprintf): Likewise.
29385 (grub_xasprintf): Likewise.
29386 (grub_xvasprintf): Likewise.
29387 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29388 (grub_sprintf): Removed.
29389 (grub_vsnprintf): New function.
29390 (grub_snprintf): Likewise.
29391 (grub_xvasprintf): Likewise.
29392 (grub_xasprintf): Likewise.
29393 (grub_vsprintf): Renamed to ...
29394 (grub_vsnprintf_real): ...this. New argument max_len.
29395
aca655fd
BC
293962010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29397
29398 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29399 fix grub-script-check warning.
29400
7ee92c32
VS
294012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29402
29403 * include/grub/font.h (grub_font_load): Fix prototype.
29404
f80927ca
VS
294052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29408
119c50ea
VS
294092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29410
29411 * include/grub/x86_64/at_keyboard.h: New file.
29412
47d5f3c1
VS
294132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29414
29415 * loader/mips/linux.c: Include missing grub/i18n.h.
29416
55ff5266
RM
294172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29418
29419 * normal/menu.c (notify_execution_failure): Clarify error message.
29420
c893cc87
RM
294212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29424 return value (and revert all return statements). Update users.
29425
917dd370
CW
294262010-01-20 Dan Merillat <debian@dan.merillat.org>
29427
29428 * kern/device.c (grub_device_iterate): Allocate new part_ent
29429 structure based on sizeof (*p) rather than sizeof (p->next), to
29430 account for structure padding.
29431
29432 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29433 disk is NULL, which might happen for LVM physical volumes with no
29434 LVM signature.
29435
d4a4ee57
RM
294362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 * loader/mips/linux.c (grub_cmd_initrd)
29439 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29440
294412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29442
29443 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29444 (grub_video_video_init, grub_video_bitmap_init)
29445 (grub_font_manager_init, grub_term_gfxterm_init)
29446 (grub_at_keyboard_init): New extern declarations.
29447 (grub_machine_init): Initialize gfxterm and at_keyboard.
29448
29449 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29450
29451 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29452 `gfxterm.mod' into core image.
29453
29454 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29455 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29456 (kernel_img_FORMAT): Copy to ...
29457
29458 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29459 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29460 (kernel_img_FORMAT): ... here, and ...
29461
29462 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29463 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29464 (kernel_img_FORMAT): ... here.
29465
29466 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29467 and input (at_keyboard) terminals in kernel.
29468 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29469
29470 (pkglib_MODULES): Remove `pci.mod'.
29471 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29472 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29473 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29474 (at_keyboard_mod_LDFLAGS): Remove variables.
29475
294762010-01-11 Felix Zielcke <fzielcke@z-51.de>
29477
29478 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29479
294802009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * include/grub/mips/libgcc.h: Only export symbols for functions
29483 that libgcc provides.
29484
294852009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29486
29487 MIPS support.
29488
29489 * bus/bonito.c: New file.
29490 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29491 GRUB_PCI_NUM_DEVICES.
29492 * term/i386/pc/serial.c: Move to ...
29493 * term/serial.c: ... here. All users updated.
29494 * util/i386/pc/grub-mkimage.c: Move to ...
29495 * util/grub-mkrawimage.c: ... here. All users updated.
29496 * term/i386/pc/at_keyboard.c: Move to ...
29497 * term/at_keyboard.c: ... here. All users updated.
29498 * conf/mips-qemu-mips.rmk: New file.
29499 * conf/mips-yeeloong.rmk: Likewise.
29500 * conf/mips.rmk: Likewise.
29501 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29502 mipsel-qemu-mips.
29503 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29504 to port addresses.
29505 (grub_ata_pciinit): Support CS5536.
29506 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29507 * font/font_cmd.c (loadfont_command): Open file before passing it to
29508 grub_font_load.
29509 (pseudo_file_read): New function.
29510 (pseudo_file_close): Likewise.
29511 (pseudo_fs): New structure.
29512 (load_font_module): New function.
29513 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29514 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29515 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29516 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29517 * include/grub/i386/at_keyboard.h: Split into ...
29518 * include/grub/at_keyboard.h: ... this ...
29519 * include/grub/i386/at_keyboard.h: ... and this.
29520 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29521 New prototype.
29522 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29523 updated.
29524 (grub_elf64_size): Likewise.
29525 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29526 filename.
29527 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29528 * include/grub/i386/coreboot/serial.h: Rewritten.
29529 * include/grub/i386/ieee1275/serial.h: Include
29530 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29531 * include/grub/i386/pc/serial.h: Moved from here ...
29532 * include/grub/serial.h: ... to here. All users updated.
29533 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29534 (GRUB_PCI_NUM_BUS): Likewise.
29535 (GRUB_PCI_NUM_DEVICES): Likewise.
29536 (grub_pci_device_map_range): Add missing volatile keyword.
29537 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29538 * include/grub/mips/at_keyboard.h: New file.
29539 * include/grub/mips/cache.h: Likewise.
29540 * include/grub/mips/io.h: Likewise.
29541 * include/grub/mips/kernel.h: Likewise.
29542 * include/grub/mips/libgcc.h: Likewise.
29543 * include/grub/mips/pci.h: Likewise.
29544 * include/grub/mips/qemu-mips/boot.h: Likewise.
29545 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29546 * include/grub/mips/qemu-mips/loader.h: Likewise.
29547 * include/grub/mips/qemu-mips/memory.h: Likewise.
29548 * include/grub/mips/qemu-mips/serial.h: Likewise.
29549 * include/grub/mips/qemu-mips/time.h: Likewise.
29550 * include/grub/mips/relocator.h: Likewise.
29551 * include/grub/mips/time.h: Likewise.
29552 * include/grub/mips/types.h: Likewise.
29553 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29554 * include/grub/mips/yeeloong/boot.h: Likewise.
29555 * include/grub/mips/yeeloong/kernel.h: Likewise.
29556 * include/grub/mips/yeeloong/loader.h: Likewise.
29557 * include/grub/mips/yeeloong/memory.h: Likewise.
29558 * include/grub/mips/yeeloong/pci.h: Likewise.
29559 * include/grub/mips/yeeloong/serial.h: Likewise.
29560 * include/grub/mips/yeeloong/time.h: Likewise.
29561 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29562 * kern/elf.c (grub_elf32_size): New parameter. All users
29563 updated.
29564 (grub_elf64_size): Likewise.
29565 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29566 Load modules before saying "Welcome to GRUB!".
29567 Call grub_refresh after saying "Welcome to GRUB!".
29568 * kern/mips/cache.S: New file.
29569 * kern/mips/cache_flush.S: Likewise.
29570 * kern/mips/dl.c: Likewise.
29571 * kern/mips/init.c: Likewise.
29572 * kern/mips/qemu-mips/init.c: Likewise.
29573 * kern/mips/startup.S: Likewise.
29574 * kern/mips/yeeloong/init.c: Likewise.
29575 * kern/term.c (grub_putcode): Handle NULL terminal.
29576 (grub_getcharwidth): Likewise.
29577 (grub_getkey): Likewise.
29578 (grub_checkkey): Likewise.
29579 (grub_getkeystatus): Likewise.
29580 (grub_getxy): Likewise.
29581 (grub_getwh): Likewise.
29582 (grub_gotoxy): Likewise.
29583 (grub_cls): Likewise.
29584 (grub_setcolorstate): Likewise.
29585 (grub_setcolor): Likewise.
29586 (grub_getcolor): Likewise.
29587 (grub_refresh): Likewise.
29588 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29589 (write_jump): Add hatch nop.
29590 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29591 * lib/mips/setjmp.S: New file.
29592 * loader/mips/linux.c: Likewise.
29593 * term/i386/pc/at_keyboard.c: Move from here ...
29594 * term/at_keyboard.c: ... to here.
29595 * term/i386/pc/serial.c: Moved from here ...
29596 * term/serial.c: ... to here. All users updated.
29597 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29598 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29599 (serial_translate_key_sequence): Avoid deadlock.
29600 (grub_serial_getkey): Handle backspace.
29601 (grub_serial_putchar): Fix newline handling.
29602 * util/i386/pc/grub-mkimage.c: Move from here ...
29603 * util/grub-mkrawimage.c: ... to here. All users updated.
29604 (generate_image): New parameters 'font_path' and 'format'.
29605 Support embedding font.
29606 Use grub_host_to_target* instead of grub_cpu_to_le*.
29607 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29608 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29609 (options): New option "--font".
29610 (usage): Likewise.
29611 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29612 (main): Handle "--font".
29613 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29614 (grub_virtual_screen_setup): Set bg_color_display.
29615 (redraw_screen_rect): Use bg_color_display instead of incorrect
29616 bg_color.
29617 (grub_gfxterm_cls): Likewise.
29618 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29619 Support embedding config file.
29620 (add_segments): Likewise.
29621 (options): New option "--config".
29622 (main): Handle "--config".
29623 * video/sm712.c: New file.
29624
25c2b5b3
RM
296252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 Fix parallel builds.
29628
29629 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29630 font.c depend on ascii.h).
29631
296322010-01-12 Carles Pina i Estany <carles@pina.cat>
29633
29634 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29635
296362010-01-11 Carles Pina i Estany <carles@pina.cat>
29637
29638 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29639 By default: disabled.
29640 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29641 parameter.
29642
296432010-01-10 Carles Pina i Estany <carles@pina.cat>
29644
29645 * font/font.c: Update copyright years.
29646 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29647
296482010-01-10 Carles Pina i Estany <carles@pina.cat>
29649
29650 * font/font.c: Include `ascii.h'.
29651 (ASCII_BITMAP_SIZE): New macro.
29652 (ascii_font_glyph): Define.
29653 (ascii_glyph_lookup): New function.
29654 (grub_font_get_string_width): Change comment. If glyph not found, use
29655 ascii_glyph_lookup.
29656 (grub_font_get_glyph_with_fallback): If glyph not available returns
29657 ascii_glyph_lookup.
29658 * util/grub-mkfont.c (file_formats): New enum.
29659 (options): Add `ascii-bitmaps' new option.
29660 (usage): Add `asii-bitmaps' new option.
29661 (write_font_ascii_bitmap): New function.
29662 (write_font): Rename to ...
29663 (write_font_p2): ... this. Remove print_glyphs call.
29664 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29665 used. Call print_glyphs.
29666 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29667
296682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29669
29670 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29671 (grub_bin2h_SOURCES): New variable.
29672 * util/bin2h.c: New file.
29673
915fc1b8
VS
296742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 * include/multiboot.h: Resynced with spec.
29677 * include/multiboot2.h: Likewise.
29678 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29679 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29680
9444b678
RM
296812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29682
29683 * include/grub/term.h (grub_term_register_input,
29684 grub_term_register_output): Check return of terminal init()
29685 routines, and abort if errors are raised.
29686
29687 * commands/terminal.c: Update copyright year.
29688
cba98e8d
RM
296892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29690
29691 * commands/terminal.c (grub_cmd_terminal_input)
29692 (grub_cmd_terminal_output): Check return of terminal init()
29693 routines, and abort if errors are raised.
29694
6f7db5d6
VS
296952010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29696
29697 * include/grub/i386/bsd.h: Fix include pathes.
29698
262bff8d
VS
296992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 Add missing *BSD copyright headers.
29702
29703 * include/grub/aout.h: Add BSD licence.
29704 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29705 * include/grub/i386/freebsd_linker.h: ... here,
29706 * include/grub/i386/freebsd_reboot.h: ... here,
29707 * include/grub/i386/netbsd_bootinfo.h: ... here,
29708 * include/grub/i386/netbsd_reboot.h: ... here,
29709 * include/grub/i386/openbsd_bootarg.h: ... here,
29710 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29711 licence to each file.
29712
b2cab848
RM
297132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * acinclude.m4: Remove `nop' assembly instruction; it's not
29716 implemented by all architectures.
29717
2cb6be4b
RM
297182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29719
29720 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29721 ELILO. This is no longer necessary.
29722
a2eaee15
BC
297232010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29724
29725 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29726
29727 * util/grub-script-check.c: grub-script-check tool.
29728 * conf/common.rmk: Make rules for grub-script-check.
29729
88d17012
RM
297302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29731
29732 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29733 spotting it back in 2008. Shame on me for forgetting he did.
29734
29735 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29736
8040619d
RM
297372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29738
29739 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29740 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29741 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29742 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29743 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29744 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29745
a0c2a0f6
RM
297462010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * include/grub/test.h: Add license header.
29749 * tests/example_functional_test.c: Likewise.
29750 * tests/example_unit_test.c: Likewise.
29751 * tests/lib/functional_test.c: Likewise.
29752 * tests/lib/test.c: Likewise.
29753 * tests/lib/unit_test.c: Likewise.
29754
b0b13907
VS
297552010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 Use flag-based instead of hook-based video mode selection and "auto"
29758 keyword.
29759
29760 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29761 (grub_video_set_mode): Changed prototype. All users updated.
29762 (grub_video_check_mode_flag): New inline function.
29763 * video/video.c (parse_modespec): New function.
29764 (grub_video_set_mode): Parse flags and keywords.
29765
ea379330 297662010-01-17 Carles Pina i Estany <carles@pina.cat>
29767
29768 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29769 fprintf call.
29770
e15c215e
FZ
297712010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29772
29773 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29774
409ae1c9 297752010-01-16 Carles Pina i Estany <carles@pina.cat>
29776
29777 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29778 string.
29779 * util/grub-emu.c (usage): Likewise.
29780 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29781 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29782 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29783 * util/i386/pc/grub-setup.c (usage): Likewise.
29784
70a14d3d 297852010-01-16 Carles Pina i Estany <carles@pina.cat>
29786
29787 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29788 the message.
29789 (grub_util_info): Likewise.
29790 (grub_util_error): Likewise.
29791 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29792 and/or new lines in `grub_util_warna', `grub_util_info',
29793 `grub_util_error' calls.
29794 * util/getroot.c: Likewise.
29795 * util/grub-editenv.c: Likewise.
29796 * util/grub-emu.c: Likewise.
29797 * util/grub-fstest.c: Likewise.
29798 * util/grub-mkdevicemap.c: Likewise.
29799 * util/grub-mkfont.c: Likewise.
29800 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29801 * util/grub-mkrelpath.c: Likewise.
29802 * util/grub-pe2elf.c: Likewise.
29803 * util/grub-probe.c: Likewise.
29804 * util/hostdisk.c: Likewise.
29805 * util/i386/efi/grub-mkimage.c: Likewise.
29806 * util/i386/pc/grub-mkimage.c: Likewise.
29807 * util/i386/pc/grub-setup.c: Likewise.
29808 * util/ieee1275/ofpath.c: Likewise.
29809 * util/mkisofs/eltorito.c: Likewise.
29810 * util/mkisofs/rock.c: Likewise.
29811 * util/mkisofs/write.c: Likewise.
29812 * util/raid.c: Likewise.
29813 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29814 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29815
a0b766fc
VS
298162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29817
29818 Enable multiboot on non-pc.
29819
29820 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29821 multiboot.mod and multiboot2.mod to ...
29822 * conf/i386.rmk (pkglib_MODULES): ... here.
29823 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29824 Moved to ...
29825 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29826 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29827 Moved to ...
29828 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29829 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29830 Moved to ...
29831 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29832 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29833 Moved to ...
29834 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29835 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29836 relocator.mod.
29837 (ata_mod_SOURCES): Removed.
29838 (ata_mod_CFLAGS): Likewise.
29839 (ata_mod_LDFLAGS): Likewise.
29840 (relocator_mod_SOURCES): Removed.
29841 (relocator_mod_CFLAGS): Likewise.
29842 (relocator_mod_ASFLAGS): Likewise.
29843 (relocator_mod_LDFLAGS): Likewise.
29844 Include i386.mk.
29845 * include/grub/x86_64/multiboot.h: New file.
29846 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29847 Terminate EFI.
29848
884ade56
VS
298492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29850
29851 Video multiboot support.
29852
29853 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29854 New prototype.
29855 * include/multiboot.h: Resynced with multiboot specification.
29856 * include/multiboot2.h: Likewise.
29857 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29858 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29859 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29860 (HAS_VGA_TEXT): Likewise.
29861 (accepts_video): New variable.
29862 (grub_multiboot_set_accepts_video): New function.
29863 (grub_multiboot_get_mbi_size): Account for video structures.
29864 (set_video_mode): New function.
29865 (retrieve_video_parameters): Likewise.
29866 (grub_multiboot_make_mbi): Fill video fields.
29867
0d90e8a6
VS
298682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29869
29870 Video driver ids.
29871
29872 * include/grub/video.h (grub_video_driver_id): New type.
29873 (grub_video_adapter): New member 'id'. All users updated.
29874 (grub_video_get_driver_id): New proto.
29875 * video/video.c (grub_video_get_driver_id): New function.
29876
5c71db1b 298772010-01-14 Carles Pina i Estany <carles@pina.cat>
29878
29879 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29880 `var=val'.
29881
cca15b52 298822010-01-14 Carles Pina i Estany <carles@pina.cat>
29883
29884 * normal/cmdline.c (print_completion): Gettextizze.
29885
c586fbb2 298862001-01-14 Carles Pina i Estany <carles@pina.cat>
29887
29888 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29889
ba2f6848 298902010-01-14 Carles Pina i Estany <carles@pina.cat>
29891
29892 * gettext/gettext.c (grub_gettext_translate): Push and pop
29893 grub_errno.
29894 (grub_gettext_delete_list): Change comment style.
29895 * kern/err.c (grub_error): Gettextizze.
29896 (grub_fatal): Gettextizze.
29897
0a46429a
RM
298982010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29899
29900 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29901 (grub_linux16_real_boot): ... this.
29902 * kern/i386/loader.S: Likewise.
29903 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29904 (grub_linux16_boot): New function. Switches to text mode and calls
29905 grub_linux16_real_boot().
29906
29907 * loader/i386/bsd.c: Include `<grub/video.h>'.
29908 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29909 text mode before calling grub_unix_real_boot().
29910
29911 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29912 (grub_multiboot_boot): Switch to text mode before calling
29913 grub_relocator32_boot().
29914
29915 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29916 (grub_chainloader_boot): Switch to text mode before calling
29917 grub_chainloader_real_boot().
29918
d6f93a66
RM
299192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
299202010-01-05 Colin Watson <cjwatson@ubuntu.com>
29921
29922 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29923 non-empty value.
29924
299252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
299262010-01-05 Colin Watson <cjwatson@ubuntu.com>
29927
29928 * util/grub.d/00_header.in: Define a "savedefault" function for use
29929 in menu entries.
29930 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29931
299322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
299332010-01-05 Colin Watson <cjwatson@ubuntu.com>
29934
29935 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29936 saved_entry if boot_once is unset.
29937 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29938 previous saved entry (i.e. grub-reboot).
29939
299402009-12-08 Colin Watson <cjwatson@ubuntu.com>
29941
29942 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29943
299442009-12-08 Colin Watson <cjwatson@ubuntu.com>
29945
29946 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29947 `var=val'.
29948 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29949
299502009-12-08 Colin Watson <cjwatson@ubuntu.com>
29951
29952 * util/grub-reboot.in: Fix --version output.
29953 * util/grub-set-default.in: Likewise.
29954
299552009-12-08 Colin Watson <cjwatson@ubuntu.com>
29956
29957 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29958 blocks.
29959
299602009-12-08 Colin Watson <cjwatson@ubuntu.com>
29961
29962 * util/grub.d/00_header.in: Quote the value assigned to `default',
29963 in case it contains spaces.
29964
299652009-12-08 Colin Watson <cjwatson@ubuntu.com>
29966
29967 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29968 `save_default_entry' call from the macosx case to the linux case.
29969
299702009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
299712009-10-25 Colin Watson <cjwatson@ubuntu.com>
29972
29973 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29974 in `chosen' environment variable.
29975 * normal/menu_text.c (get_entry_number): Check if the variable
29976 matches the title of a menu entry.
29977 (run_menu): Pass menu to get_entry_number.
29978
29979 * util/grub-reboot.in: New file.
29980 * util/grub-set-default.in: New file.
29981 * conf/common.rmk (grub-reboot): New utility.
29982 (grub-set-default): New utility.
29983
29984 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29985 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29986 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29987 move it to `saved_entry' for the next boot. Load environment on
29988 initialisation.
29989 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29990 * util/grub.d/10_hurd.in: Likewise.
29991 * util/grub.d/10_linux.in (linux_entry): Likewise.
29992 * util/grub.d/10_windows.in: Likewise.
29993 * util/grub.d/30_os-prober.in: Likewise.
29994
29995 * util/grub-install.in: Create environment block.
29996 * util/i386/efi/grub-install.in: Likewise.
29997 * util/ieee1275/grub-install.in: Likewise.
29998 * util/sparc64/ieee1275/grub-install.in: Likewise.
29999
0934d184
BC
300002010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30001
30002 Unit testing framework for GRUB.
30003
30004 * Makefile.in: Test framework build rules for 'make check'.
30005 * conf/tests.rmk: Build rules for individual tests and framework.
30006
30007 * include/grub/test.h: Header file for whitebox tests.
30008 * tests/lib/functional_test.c: Framework support for whitebox
30009 functional tests.
30010 * tests/lib/test.c: Common whitebox testing code for unit and
30011 functional tests.
30012 * tests/lib/unit_test.c: Framework support for whitebox unit
30013 tests.
30014
30015 * tests/util/grub-shell-tester.in: Support utility for grub-script
30016 tests.
30017 * tests/util/grub-shell.in: Utility to execute grub-script
30018 commands in a Qemu instance.
30019
30020 * tests/example_functional_test.c: Example whitebox functional
30021 test.
30022 * tests/example_grub_script_test.in: Example grub-script test.
30023 * tests/example_scripted_test.in: Example scripted test.
30024 * tests/example_unit_test.c: Example whitebox unit test.
30025
9c4ffeeb
VS
300262010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30027
30028 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30029 Add loader/i386/multiboot_mbi.c.
30030 (multiboot2_mod_SOURCES): Likewise.
30031 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30032 (multiboot2_mod_SOURCES): Likewise.
30033 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30034 (grub_multiboot_make_mbi): Likewise.
30035 (grub_multiboot_free_mbi): Likewise.
30036 (grub_multiboot_init_mbi): Likewise.
30037 (grub_multiboot_add_module): Likewise.
30038 (grub_multiboot_set_bootdev): Likewise.
30039 * loader/i386/multiboot.c (mbi): Removed.
30040 (mbi_dest): Likewise.
30041 (alloc_mbi): New variable.
30042 (grub_multiboot_payload_size): Removed. All users updated.
30043 (grub_multiboot_pure_size): New variable.
30044 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30045 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30046 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30047 (grub_fill_multiboot_mmap): Likewise.
30048 (grub_multiboot_get_bootdev): Likewise.
30049 (grub_multiboot): Use multiboot_mbi functions.
30050 * loader/i386/multiboot_mbi.c: New file.
30051
17383dfe
VS
300522010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30053
30054 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30055 it would result in module crash.
30056
c1f28820
VS
300572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30060 (grub_ofconsole_getwh): Split to ...
30061 (grub_ofconsole_getwh): ... this.
30062 (grub_ofconsole_dimensions): ...and this.
30063 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30064
58655a16
RM
300652010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30066
30067 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30068
10891398
VS
300692010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30070
30071 * loader/i386/pc/multiboot2.c: Removed stalled file.
30072
0b8a223c
VS
300732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30074
30075 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30076 Reported by: Grégoire Sutre
30077
92ab12b0
RM
300782010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * util/misc.c (canonicalize_file_name): New function.
30081 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30082 instead of realpath().
30083
a788afb6
CW
300842010-01-11 Colin Watson <cjwatson@ubuntu.com>
30085
30086 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30087 and make it clearer that it's optional. Based on confusion
30088 witnessed on IRC.
30089
ffa8e3d2
VS
300902010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30093 in premature implicit newline.
30094
e9060a9d
VS
300952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30096
30097 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30098 which resulted in garbled command line at the end of screen.
30099
f0d0c0b7
RM
301002010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30103 initialization with similar approach as with other Linux loaders.
30104
0e60bae7
RM
301052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30106
30107 Fix i386-ieee1275 build.
30108
30109 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30110 and grub_term_height() for video_{width,height} initialization.
30111
301122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30113
30114 Fix grub-emu build.
30115
30116 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30117
cdb3f378
RM
301182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
301192010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 Support for multiple terminals.
30122
30123 * Makefile.in (pkglib_DATA): terminal.lst.
30124 (terminal.lst): New target.
30125 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30126 (GRUB_MOD_INIT(handler)): Likewise.
30127 (GRUB_MOD_FINI(handler)): Likewise.
30128 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30129 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30130 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30131 (grub_cmd_sleep): Use grub_term_save_pos.
30132 * commands/terminal.c: New file.
30133 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30134 commands/terminal.c and lib/charset.c.
30135 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30136 (pkglib_MODULES): Add terminal.mod.
30137 (terminal_mod_SOURCES): New variable.
30138 (terminal_mod_CFLAGS): Likewise.
30139 (terminal_mod_LDFLAGS): Likewise.
30140 * genhandlerlist.sh: Don't handle terminals.
30141 * genmk.rb: Generate terminal-*.lst.
30142 * genterminallist.sh: New file.
30143 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30144 (grub_is_valid_utf8): Likewise.
30145 (grub_utf8_to_ucs4_alloc): Likewise.
30146 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30147 (grub_menu_register_viewer): Changed argument.
30148 (grub_menu_try_text): New proto.
30149 (grub_gfxmenu_try_hook): New declaration.
30150 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30151 (grub_menu_init_page): Additional argument term.
30152 (grub_normal_init_page): Likewise.
30153 (grub_cmdline_get): Arguments simplified.
30154 (grub_utf8_to_ucs4_alloc): Removed.
30155 (grub_print_ucs4): Additional argument term.
30156 (grub_getstringwidth): Likewise.
30157 (grub_print_message_indented): Likewise.
30158 (grub_menu_text_register_instances): New proto.
30159 (grub_show_menu): Likewise.
30160 (read_terminal_list): Likewise.
30161 (grub_set_more): Likewise.
30162 * include/grub/parser.h: Include handler.h.
30163 * include/grub/reader.h: Rewritten.
30164 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30165 (GRUB_TERM_WIDTH): Changed to function.
30166 (GRUB_TERM_HEIGHT): Likewise.
30167 (GRUB_TERM_BORDER_WIDTH): Likewise.
30168 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30169 (GRUB_TERM_NUM_ENTRIES): Likewise.
30170 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30171 (GRUB_TERM_CURSOR_X): Likewise.
30172 (grub_term_input_class): Likewise.
30173 (grub_term_output_class): Likewise.
30174 (grub_term_outputs_disabled): New declaration.
30175 (grub_term_inputs_disabled): Likewise.
30176 (grub_term_outputs): Likewise.
30177 (grub_term_inputs): Likewise.
30178 (grub_term_register_input): Rewritten.
30179 (grub_term_register_output): Likewise.
30180 (grub_term_unregister_input): Likewise.
30181 (grub_term_unregister_output): Likewise.
30182 (FOR_ACTIVE_TERM_INPUTS): New macro.
30183 (FOR_DISABLED_TERM_INPUTS): Likewise.
30184 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30185 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30186 * include/grub/terminfo.h: Add oterm argument to all protypes.
30187 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30188 Use grub_rescue_run.
30189 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30190 All users updated.
30191 * kern/reader.c: Removed. All users updated.
30192 * kern/rescue_reader.c (grub_rescue_init): Removed.
30193 (grub_rescue_reader): Likewise.
30194 (grub_register_rescue_reader): Likewise.
30195 (grub_rescue_run): New function based on kern/reader.c.
30196 * kern/term.c: Adapted for multiterm.
30197 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30198 (grub_is_valid_utf8): Likewise.
30199 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30200 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30201 right terminal.
30202 * loader/i386/linux.c (grub_linux_boot): Likewise.
30203 * normal/auth.c (grub_username_get): New function.
30204 (grub_auth_check_authentication): Use grub_username_get.
30205 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30206 * normal/color.c: Adapt for multiterm.
30207 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30208 (grub_normal_init_page): Additional argument term.
30209 (read_lists): Call read_terminal_lists.
30210 (grub_enter_normal_mode): Call grub_cmdline_run.
30211 Handle grub_normal_exit_level.
30212 (grub_cmd_normal): Make reentrant.
30213 (grub_cmd_normal_exit): New function.
30214 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30215 * normal/menu.c: Adapt for multiterm.
30216 * normal/menu_entry.c: Likewise.
30217 * normal/menu_text.c: Likewise.
30218 * normal/menu_viewer.c: Removed. All users updated.
30219 * normal/term.c: New file.
30220 * util/console.c: Change order of includes to workaround a bug in
30221 ncurses headers.
30222 * term/terminfo.c: New argument oterm on all exported functions.
30223 All users updated.
30224 * util/grub-editenv.c (grub_term_input_class): Removed.
30225 (grub_term_output_class): Likewise.
30226
1a064917
RM
302272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30228
30229 Make loader output a bit more user-friendly.
30230
30231 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30232 is being loaded. Likewise for the Hurd.
30233
30234 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30235 that kernel of FreeBSD ${version} is being loaded.
30236
30237 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30238 grub_dprintf().
30239 (grub_cmd_initrd): Likewise.
30240 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30241 that Linux ${version} is being loaded. Likewise for initrd.
30242
5ce0a83a 302432010-01-09 Carles Pina i Estany <carles@pina.cat>
30244
30245 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30246
809bbfeb 302472010-01-08 Carles Pina i Estany <carles@pina.cat>
30248
30249 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30250 (GRUB_MOD_INIT): Gettextizze.
30251 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30252 (GRUB_MOD_INIT): Gettextizze.
30253 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30254 (grub_cmd_linux): Capitalise Linux.
30255 (GRUB_MOD_INIT): Gettextizze.
30256 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30257 (grub_cmd_linux): Capitalise Linux.
30258 (GRUB_MOD_INIT): Gettextizze.
30259 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30260 (grub_cmd_linux): Capitalise Linux.
30261 (GRUB_MOD_INIT): Gettextizze.
30262 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30263 (GRUB_MOD_INIT): Gettextizze.
30264 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30265 (grub_cmd_linux): Capitalise Linux.
30266 (GRUB_MOD_INIT): Gettextizze.
30267 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30268 (grub_cpu_xnu_init): Gettextizze.
30269 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30270 (GRUB_MOD_INIT): Gettextizze.
30271 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30272 (GRUB_MOD_INIT): Gettextizze.
30273 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30274 (grub_linux_load64): Capitalise Linux.
30275 (GRUB_MOD_INIT): Gettextizze.
30276 * loader/xnu.c: Include `<grub/i18n.h>'.
30277 (GRUB_MOD_INIT): Gettextizze.
30278 * po/POTFILES: Add `loader/efi/appleloader.c',
30279 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30280 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30281 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30282 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30283 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30284 and `loader/xnu.c'.
30285
b394b2ca
RM
302862010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30287
30288 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30289
302902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30291
30292 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30293 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30294 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30295
bc8b32b3
RM
302962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30297
30298 Reset Multiboot 2 support. New loader implements the draft in
30299 /branches/multiboot2 and shares as much code as possible with the
30300 production Multiboot 1 implementation.
30301
30302 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30303 * loader/multiboot2.c: Likewise.
30304 * loader/i386/multiboot_helper.S: Likewise.
30305 * include/multiboot2.h: Replace with latest version from the draft
30306 in /branches/multiboot2.
30307
30308 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30309 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30310 and `loader/multiboot2.c'.
30311 (pkglib_MODULES): Add `multiboot2.mod'.
30312 (multiboot2_mod_SOURCES): New variable.
30313 (multiboot2_mod_LDFLAGS): Likewise.
30314 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30315
30316 * conf/i386-pc.rmk: Likewise.
30317
30318 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30319 (multiboot_mod_SOURCES): Remove variable.
30320 (multiboot_mod_LDFLAGS): Likewise.
30321 (multiboot_mod_CFLAGS): Likewise.
30322
30323 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30324 `<multiboot2.h>' instead of `<multiboot.h>'.
30325 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30326 (MULTIBOOT_HEADER_MAGIC): New macros.
30327
30328 * loader/multiboot_loader.c (module_version_status): Remove variable.
30329 (find_multi_boot2_header): Remove function.
30330 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30331 logic. Always check for the Multiboot version we're compiling for.
30332 (grub_cmd_module_loader): Likewise.
30333 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30334 command instead of `multiboot'.
30335
5d2c52b8
RM
303362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30337
30338 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30339 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30340 all users.
30341
53108d92
RM
303422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
303432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30344
30345 Fix breakage introduced with previous commit.
30346
30347 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30348 commands.
30349 * normal/handler.c (read_handler_list): Revert part of previous commit
30350 affecting this file.
30351 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30352 (grub_normal_execute): ... here.
30353
e2e936b2
RM
303542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30355
30356 Merge prefix-redefinition-fix branch.
30357
30358 * normal/autofs.c (read_fs_list): Make function capable of being
30359 run multiple times, gracefuly replacing the previous data
30360 structures.
30361 * normal/dyncmd.c (read_command_list): Likewise.
30362 * normal/handler.c (read_handler_list): Likewise.
30363 * normal/main.c (read_lists): New function. Calls all the
30364 list reading functions.
30365 (grub_normal_execute): Use read_lists() instead of calling all
30366 list reading functions explicitly. Register read_lists() as a
30367 variable hook attached to ${prefix}.
30368
607a3701
VS
303692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30370
30371 Merge crypto branch.
30372
30373 * Makefile.in (pkglib_DATA): Add crypto.lst.
30374 (crypto.lst): New target.
30375 * commands/hashsum.c: New file.
30376 * commands/password.c (check_password): Use grub_crypto_memcmp.
30377 * commands/password_pbkdf2.c: New file.
30378 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30379 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30380 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30381 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30382 -I$(srcdir)/lib/libgcrypt_wrap.
30383 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30384 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30385 password_pbkdf2.mod.
30386 (crypto_mod_SOURCES): New variable.
30387 (crypto_mod_CFLAGS): Likewise.
30388 (crypto_mod_LDFLAGS): Likewise.
30389 (hashsum_mod_SOURCES): New variable.
30390 (hashsum_mod_CFLAGS): Likewise.
30391 (hashsum_mod_LDFLAGS): Likewise.
30392 (pbkdf2_mod_SOURCES): New variable.
30393 (pbkdf2_mod_CFLAGS): Likewise.
30394 (pbkdf2_mod_LDFLAGS): Likewise.
30395 (password_pbkdf2_mod_SOURCES): New variable.
30396 (password_pbkdf2_mod_CFLAGS): Likewise.
30397 (password_pbkdf2_mod_LDFLAGS): Likewise.
30398 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30399 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30400 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30401 Include conf/gcry.rmk.
30402 * include/grub/auth.h: Rewritten.
30403 * include/grub/crypto.h: New file.
30404 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30405 * include/grub/normal.h (read_crypto_list): New prototype.
30406 * lib/crypto.c: New file.
30407 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30408 * lib/pbkdf2.c: Likewise.
30409 * normal/auth.c (grub_auth_strcmp): Removed.
30410 (grub_iswordseparator): Likewise.
30411 (grub_auth_strword): Likewise.
30412 (is_authenticated): Use grub_strword.
30413 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30414 and grub_strword. Pass entered password to authentication callback.
30415 * normal/crypto.c: New file.
30416 * normal/main.c: Call read_crypto_list.
30417 * util/grub-mkpasswd-pbkdf2.c: New file.
30418 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30419
42841caa
VS
304202010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 Fix descent and ascent calculation.
30423
30424 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30425 (options): New option "asce".
30426 (usage): Likewise.
30427 (add_char): Ignore invalid glyphs for descent calculation.
30428 Calculate ascent from actual content.
30429 (print_glyphs): Use 'asce'.
30430 (write_font): Likewise. Allow ascent override.
30431 (main): Handle "asce" option.
30432
e7730de7 304332010-01-06 Carles Pina i Estany <carles@pina.cat>
30434
30435 * kern/err.c: Include `<grub/i18n.h>'.
30436 (grub_print_error): Add full stop. Gettextizze.
30437 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30438 (grub_bsd_load_elf): Capitalise ELF.
30439 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30440 (grub_cmd_freebsd_module): Likewise.
30441 (grub_cmd_freebsd_module_elf): Likewise.
30442 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30443
40e3a41f 304442010-01-06 Carles Pina i Estany <carles@pina.cat>
30445
30446 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30447 * commands/search_file.c (HELP_MESSAGE): New macro.
30448 * commands/search_label.c (HELP_MESSAGE): Likewise.
30449 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30450 * po/POTFILES: Add `commands/search_file.c',
30451 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30452 `commands/search.c'.
30453
83507e68
RM
304542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30455
30456 * config.rpath: Update from Gnulib.
30457
465c787b
YB
304582010-01-05 Yves Blusseau <blusseau@zetam.org>
30459
30460 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30461
6581dd3a
YB
304622010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30463
30464 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30465
3bff18c5
CW
304662010-01-05 Colin Watson <cjwatson@ubuntu.com>
30467
30468 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30469 arguments to fread so that we get a return value in bytes, rather
30470 than something that will normally be rounded down to 0.
30471 Adjust error handling to avoid producing garbage when size_t is not
30472 the same size as long long.
30473
a1368118
CW
304742010-01-05 Colin Watson <cjwatson@ubuntu.com>
30475
30476 * util/mkisofs/write.c (padblock_write): Check return value of
30477 fread.
30478
7c302978
RM
304792010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30480
30481 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30482 floppy images now.
30483
30484 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30485
e33ace06
RM
304862010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30487
30488 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30489 instead of manual alignment.
30490 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30491 verbose). Avoid attempts to read past end of the device
30492 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30493 but GRUB_DISK_CACHE_SIZE may exceed that).
30494
4b856776
RM
304952010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30498 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30499 it to upper layer.
30500
52c2d97f
VS
305012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30502
30503 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30504 New constant.
30505 (grub_efi_piwg_device_path): New structure
30506 (grub_efi_piwg_device_path_t): New type.
30507 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30508 (devpath_1): Transform to a structure. All users updated.
30509 (devpath_2): Likewise.
30510 (devpath_3): Likewise.
30511 (devpath_4): Likewise.
30512 (devpath_5): Likewise.
30513
98ff6a54
VS
305142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30515
30516 * loader/efi/appleloader.c: Restored. Update all users.
30517
3a73dcb6
RM
305182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30519
30520 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30521
30522 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30523 (struct boot_blocklist): Move from here ...
30524 * include/grub/i386/pc/boot.h [ASM_FILE]
30525 (struct grub_boot_blocklist): ... to here. Update all users.
30526 (setup): Only initialize `start' member of `first_block'
30527 structure. Add assert() calls to verify the other members.
30528
30529 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30530 (generate_image): Fix broken blocklist length initialization.
30531 Add assert() call to verify blocklist `segment' field.
30532
ab0eeb0c
RM
305332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * loader/efi/appleloader.c: Remove. Update all users.
30536
58bc8bd5
RM
305372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30538
30539 * boot/i386/pc/boot.S: Update copyright year.
30540 * boot/i386/pc/cdboot.S: Likewise.
30541 * boot/i386/pc/diskboot.S: Likewise.
30542 * boot/i386/pc/lnxboot.S: Likewise.
30543 * boot/i386/pc/pxeboot.S: Likewise.
30544 * bus/pci.c: Likewise.
30545 * commands/cmp.c: Likewise.
30546 * commands/help.c: Likewise.
30547 * commands/hexdump.c: Likewise.
30548 * commands/i386/pc/halt.c: Likewise.
30549 * commands/i386/pc/play.c: Likewise.
30550 * commands/i386/pc/vbeinfo.c: Likewise.
30551 * commands/ls.c: Likewise.
30552 * commands/test.c: Likewise.
30553 * disk/dmraid_nvidia.c: Likewise.
30554 * disk/i386/pc/biosdisk.c: Likewise.
30555 * disk/ieee1275/nand.c: Likewise.
30556 * disk/ieee1275/ofdisk.c: Likewise.
30557 * disk/lvm.c: Likewise.
30558 * disk/raid.c: Likewise.
30559 * disk/raid6_recover.c: Likewise.
30560 * disk/scsi.c: Likewise.
30561 * fs/affs.c: Likewise.
30562 * fs/cpio.c: Likewise.
30563 * fs/ext2.c: Likewise.
30564 * fs/hfs.c: Likewise.
30565 * fs/iso9660.c: Likewise.
30566 * fs/ntfs.c: Likewise.
30567 * fs/sfs.c: Likewise.
30568 * fs/udf.c: Likewise.
30569 * fs/ufs.c: Likewise.
30570 * fs/xfs.c: Likewise.
30571 * gencmdlist.sh: Likewise.
30572 * genmk.rb: Likewise.
30573 * include/grub/disk.h: Likewise.
30574 * include/grub/efi/api.h: Likewise.
30575 * include/grub/efi/efi.h: Likewise.
30576 * include/grub/efi/pe32.h: Likewise.
30577 * include/grub/elf.h: Likewise.
30578 * include/grub/fs.h: Likewise.
30579 * include/grub/i386/at_keyboard.h: Likewise.
30580 * include/grub/i386/pc/memory.h: Likewise.
30581 * include/grub/i386/pc/vbe.h: Likewise.
30582 * include/grub/i386/pci.h: Likewise.
30583 * include/grub/i386/tsc.h: Likewise.
30584 * include/grub/ieee1275/ieee1275.h: Likewise.
30585 * include/grub/ntfs.h: Likewise.
30586 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30587 * include/grub/sparc64/libgcc.h: Likewise.
30588 * include/grub/symbol.h: Likewise.
30589 * include/grub/types.h: Likewise.
30590 * include/multiboot2.h: Likewise.
30591 * io/gzio.c: Likewise.
30592 * kern/device.c: Likewise.
30593 * kern/disk.c: Likewise.
30594 * kern/efi/efi.c: Likewise.
30595 * kern/efi/mm.c: Likewise.
30596 * kern/elf.c: Likewise.
30597 * kern/file.c: Likewise.
30598 * kern/i386/dl.c: Likewise.
30599 * kern/i386/pc/init.c: Likewise.
30600 * kern/i386/pc/startup.S: Likewise.
30601 * kern/ieee1275/ieee1275.c: Likewise.
30602 * kern/ieee1275/init.c: Likewise.
30603 * kern/main.c: Likewise.
30604 * kern/mm.c: Likewise.
30605 * kern/powerpc/dl.c: Likewise.
30606 * kern/sparc64/dl.c: Likewise.
30607 * kern/x86_64/dl.c: Likewise.
30608 * lib/hexdump.c: Likewise.
30609 * loader/efi/appleloader.c: Likewise.
30610 * loader/i386/ieee1275/linux.c: Likewise.
30611 * loader/i386/pc/chainloader.c: Likewise.
30612 * loader/i386/pc/linux.c: Likewise.
30613 * loader/i386/pc/multiboot2.c: Likewise.
30614 * loader/ieee1275/multiboot2.c: Likewise.
30615 * loader/multiboot2.c: Likewise.
30616 * loader/multiboot_loader.c: Likewise.
30617 * loader/powerpc/ieee1275/linux.c: Likewise.
30618 * normal/completion.c: Likewise.
30619 * normal/menu_entry.c: Likewise.
30620 * partmap/apple.c: Likewise.
30621 * util/grub.d/10_hurd.in: Likewise.
30622 * util/hostfs.c: Likewise.
30623 * video/readers/png.c: Likewise.
30624
e2d70b5c
CW
306252010-01-03 Colin Watson <cjwatson@ubuntu.com>
30626
30627 * include/grub/misc.h (GNUC_PREREQ): New macro.
30628 (ATTRIBUTE_ERROR): New macro.
30629 * include/grub/list.h (grub_bad_type_cast_real): Use
30630 ATTRIBUTE_ERROR.
30631
a173283f 306322010-01-03 Carles Pina i Estany <carles@pina.cat>
30633
30634 * normal/menu_text.c (print_message): Change messages.
30635
7fa7ff74 306362010-01-03 Carles Pina i Estany <carles@pina.cat>
30637
30638 * normal/menu_entry.c (store_completion): Gettextizze.
30639
136d24f6 306402010-01-03 Carles Pina i Estany <carles@pina.cat>
30641
30642 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30643
f936862e 306442010-01-03 Carles Pina i Estany <carles@pina.cat>
30645
30646 * po/POTFILES: Sort correctly.
30647
29c44ad1 306482010-01-03 Carles Pina i Estany <carles@pina.cat>
30649
30650 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30651 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30652 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30653 full stop.
30654 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30655 summary. Gettextizze the strings.
30656 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30657 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30658 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30659 full stop.
30660 (GRUB_MOD_INIT): Remove command name from summary.
30661 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30662 summary.
30663 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30664 * term/i386/pc/serial.c (options): Add full stops.
30665 (GRUB_MOD_INIT): Remove command name from the summary.
30666
77a79592 306672010-01-03 Carles Pina i Estany <carles@pina.cat>
30668
30669 * commands/acpi.c: Gettextizze help strings and/or options. Include
30670 `grub/i18n.h' if needed.
30671 * commands/blocklist.c: Likewise.
30672 * commands/boot.c: Likewise.
30673 * commands/cat.c: Likewise.
30674 * commands/cmp.c: Likewise.
30675 * commands/configfile.c: Likewise.
30676 * commands/crc.c: Likewise.
30677 * commands/date.c: Likewise.
30678 * commands/echo.c: Likewise.
30679 * commands/efi/fixvideo.c: Likewise.
30680 * commands/efi/loadbios.c: Likewise.
30681 * commands/gptsync.c: Likewise.
30682 * commands/halt.c: Likewise.
30683 * commands/handler.c: Likewise.
30684 * commands/hdparm.c: Likewise.
30685 * commands/hexdump.c: Likewise.
30686 * commands/i386/cpuid.c: Likewise.
30687 * commands/i386/pc/drivemap.c: Likewise.
30688 * commands/i386/pc/halt.c: Likewise.
30689 * commands/i386/pc/pxecmd.c: Likewise.
30690 * commands/i386/pc/vbeinfo.c: Likewise.
30691 * commands/i386/pc/vbetest.c: Likewise.
30692 * commands/ieee1275/suspend.c: Likewise.
30693 * commands/keystatus.c: Likewise.
30694 * commands/loadenv.c: Likewise.
30695 * commands/ls.c: Likewise.
30696 * commands/lsmmap.c: Likewise.
30697 * commands/lspci.c: Likewise.
30698 * commands/memrw.c: Likewise.
30699 * commands/minicmd.c: Likewise.
30700 * commands/parttool.c: Likewise.
30701 * commands/password.c: Likewise.
30702 * commands/probe.c: Likewise.
30703 * commands/read.c: Likewise.
30704 * commands/reboot.c: Likewise.
30705 * commands/search.c: Likewise.
30706 * commands/sleep.c: Likewise.
30707 * commands/test.c: Likewise.
30708 * commands/true.c: Likewise.
30709 * commands/usbtest.c: Likewise.
30710 * commands/videotest.c: Likewise.
30711 * commands/xnu_uuid.c: Likewise.
30712 * disk/loopback.c: Likewise.
30713 * hello/hello.c: Likewise.
30714 * loader/i386/bsd.c: Likewise.
30715 * term/i386/pc/serial.c: Likewise.
30716 * po/POTFILES: Add new files.
30717
da8d5c53
CW
307182010-01-02 Colin Watson <cjwatson@ubuntu.com>
30719
30720 * term/i386/pc/at_keyboard.c
30721 (keyboard_controller_wait_untill_ready): Rename to ...
30722 (keyboard_controller_wait_until_ready): ... this. Update all users.
30723
33937904 307242010-01-01 Carles Pina i Estany <carles@pina.cat>
30725
30726 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30727 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30728 string using string width.
30729 * normal/menu_text.c (grub_print_message_indented): Use
30730 grub_print_spaces and not print_spaces.
30731 (print_timeout): Likewise.
30732 (print_spaces): Move to...
30733 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30734
3fd3b8d8
RM
307352010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 Import from Gnulib.
30738
30739 * gnulib/getdelim.c: New file.
30740 * gnulib/getline.c: Likewise.
30741
33433555
VS
307422009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30743
30744 * include/grub/list.h (grub_assert_fail): Removed.
30745 (grub_bad_type_cast_real): New function.
30746 (grub_bad_type_cast): New macro.
30747 (GRUB_AS_LIST): Use grub_bad_type_cast.
30748 (GRUB_AS_LIST_P): Likewise.
e44721e8 30749 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30750 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30751 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30752 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30753 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30754
f5a51306
VS
307552009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30756
30757 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30758 Fix syntax error.
30759
90d1e879
RM
307602009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30761
30762 * configure.ac: Check for TARGET_CFLAGS initialization before we
30763 initialize it ourselves (sigh).
30764 Move a few modifications to TARGET_CFLAGS to be unconditional
30765 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30766 eh_frame)
30767
30768 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30769 * term/i386/pc/at_keyboard.c
30770 (keyboard_controller_wait_untill_ready): Likewise.
30771 (keyboard_controller_led): Rename `led_status' paramter to avoid
30772 name conflict.
30773
465b5a81 307742009-12-28 Carles Pina i Estany <carles@pina.cat>
30775
30776 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30777 quotes.
30778
c181849b
VS
307792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30780
30781 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30782
9c8739a4
VS
307832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30784
30785 * normal/menu_text.c (grub_print_message_indented): Prevent
30786 past-the-end-of-array dereference.
30787
3e74249c
VS
307882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30791 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30792
64fd18ed 307932009-12-27 Carles Pina i Estany <carles@pina.cat>
30794
30795 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30796 * normal/main.c (grub_normal_read_line): Remove a space from the
30797 default prompt.
30798
714af9b9 307992009-12-27 Carles Pina i Estany <carles@pina.cat>
30800
30801 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30802 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30803 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30804 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30805 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30806 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30807 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30808
82f3e412 308092009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30810
30811 * video/readers/jpeg.c (cmd): Declare.
30812 (grub_cmd_jpegtest): Use `grub_command_t' type.
30813 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30814 Assign to `cmd'.
30815 (GRUB_MOD_FINI): Use `cmd' to unregister.
30816 * video/readers/png.c (cmd): Declare.
30817 (grub_cmd_pngtest): Use `grub_command_t' type.
30818 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30819 Assign to `cmd'.
30820 (GRUB_MOD_FINI): Use `cmd' to unregister.
30821 * video/readers/tga.c (cmd): Declare.
30822 (grub_cmd_tgatest): Use `grub_command_t' type.
30823 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30824 Assign to `cmd'.
30825 (GRUB_MOD_FINI): Use `cmd' to unregister.
30826
82f3e412 308272009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30828
30829 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30830 stops.
30831 * kern/corecmd.c (grub_register_core_commands): Likewise.
30832 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30833 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30834 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30835 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30836 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30837 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30838 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30839 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30840 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30841 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30842 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30843 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30844 * normal/handler.c (insert_handler): Likewise.
30845 * normal/main.c (GRUB_MOD_INIT): Likewise.
30846 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30847
fdcdbb66 308482009-12-26 Carles Pina i Estany <carles@pina.cat>
30849
30850 * commands/help.c (grub_cmd_help): Print the command name before the
30851 summary.
30852 (GRUB_MOD_INIT): Remove command name from the summary.
30853 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30854 string as summary.
fdcdbb66 30855 * lib/arg.c (find_long): Print the command name before the summary.
30856 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30857 summary.
30858 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30859 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30860 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30861 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30862 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30863 * commands/date.c (GRUB_MOD_INIT): Likewise.
30864 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30865 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30866 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30867 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30868 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30869 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30870 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30871 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30872 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30873 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30874 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30875 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30876 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30877 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30878 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30879 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30880 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30881 * commands/password.c (GRUB_MOD_INIT): Likewise.
30882 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30883 * commands/read.c (GRUB_MOD_INIT): Likewise.
30884 * commands/search.c (GRUB_MOD_INIT): Likewise.
30885 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30886 * commands/test.c (GRUB_MOD_INIT): Likewise.
30887 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30888 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30889 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30890 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30891 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30892 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30893 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30894 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30895 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30896 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30897 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30898 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30899 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30900 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30901
9c288be2
VS
309022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30903
30904 Use search command for preliminar UUID search.
30905
30906 * commands/search.c: Split into ...
30907 * commands/search_wrap.c: ...this
30908 * commands/search.c: ...and this.
30909 * commands/search_file.c: New file.
30910 * commands/search_label.c: New file.
30911 * commands/search_uuid.c: New file.
30912 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30913 Add commands/search_wrap.c, commands/search_file.c,
30914 commands/search_label.c and commands/search_uuid.c.
30915 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30916 (search_mod_SOURCES): Set to commands/search_wrap.c.
30917 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30918 search_label.mod.
30919 (search_fs_file_mod_SOURCES): New variable.
30920 (search_fs_file_mod_CFLAGS): Likewise.
30921 (search_fs_file_mod_LDFLAGS): Likewise.
30922 (search_label_mod_SOURCES): Likewise.
30923 (search_label_mod_CFLAGS): Likewise.
30924 (search_label_mod_LDFLAGS): Likewise.
30925 (search_fs_uuid_mod_SOURCES): New variable.
30926 (search_fs_uuid_mod_CFLAGS): Likewise.
30927 (search_fs_uuid_mod_LDFLAGS): Likewise.
30928 (fs_file_mod_SOURCES): Removed.
30929 (fs_file_mod_CFLAGS): Likewise.
30930 (fs_file_mod_LDFLAGS): Likewise.
30931 (fs_uuid_mod_SOURCES): Removed.
30932 (fs_uuid_mod_CFLAGS): Likewise.
30933 (fs_uuid_mod_LDFLAGS): Likewise.
30934 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30935 Set to util/grub-install.in.
30936 * disk/fs_file.c: Removed.
30937 * disk/fs_uuid.c: Likewise.
30938 * include/grub/search.h: New file.
30939 * util/grub-install.in: Handle sparc64.
30940 Create and use load.cfg.
30941 * util/sparc64/ieee1275/grub-install.in: Removed.
30942
db943399
VS
309432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30944
30945 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30946 Ignore return status if CF is cleared.
30947 (grub_biosdisk_get_diskinfo_standard): Likewise.
30948
3fdae612
RM
309492009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 * term/i386/pc/at_keyboard.c
30952 (keyboard_controller_wait_untill_ready): New function.
30953 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30954 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30955 for keyboard polling, rather than duplicate the same loop. This
30956 saves a few bytes in code size.
30957
7ebaa2b4
VS
309582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30959
30960 Support for (pxe[:server[:gateway]]) syntax and
30961 use environment variable for PXE.
30962
30963 * commands/i386/pc/pxecmd.c (options): Removed.
30964 (print_ip): Removed.
30965 (grub_cmd_pxe): Removed
30966 (grub_cmd_pxe_unload): New function.
30967 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30968 (grub_pxe_your_ip): Made static.
30969 (grub_pxe_default_server_ip): Likewise.
30970 (grub_pxe_default_gateway_ip): Likewise.
30971 (grub_pxe_blksize): Likewise.
30972 (parse_ip): New function.
30973 (grub_pxe_open): Support server and gateway specification.
30974 (grub_pxe_close): Free disk->data.
30975 (grub_pxefs_open): Use disk->data.
30976 (grub_pxefs_read): Likewise.
30977 (grub_env_write_readonly): New function.
30978 (set_mac_env): Likewise.
30979 (set_env_limn_ro): Likewise.
30980 (parse_dhcp_vendor): Likewise.
30981 (grub_pxe_detect): Set the environment variables.
30982 (set_ip_env): New function.
30983 (write_ip_env): Likewise.
30984 (grub_env_write_pxe_default_server): Likewise.
30985 (grub_env_write_pxe_default_gateway): Likewise.
30986 (grub_env_write_pxe_blocksize): Likewise.
30987 (GRUB_MOD_INIT(pxe)): Set environment variables.
30988 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30989 (grub_pxe_mac_addr_t): ... this. All users updated.
30990 (grub_pxe_your_ip): Removed.
30991 (grub_pxe_server_ip): Likewise.
30992 (grub_pxe_gateway_ip): Likewise.
30993 (grub_pxe_blksize): Likewise.
30994
ec5f98ab 309952009-12-25 Carles Pina i Estany <carles@pina.cat>
30996
30997 * commands/help.c: Include `<grub/i18n.h>'.
30998 (grub_cmd_help): Gettextizze.
30999 (GRUB_MOD_INIT): Likewise.
31000 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31001 (GRUB_MOD_INIT): Gettextizze.
31002 * commands/search.c: Include `<grub/i18n.h>'.
31003 (options): Gettextizze.
31004 (GRUB_MOD_INIT): Gettextizze.
31005 * lib/arg.c: Include `<grub/i18n.h>'.
31006 (help_options): Gettextizze.
31007 (find_long): Likewise.
31008 (grub_arg_show_help): Likewise.
31009 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31010 (read_command_list): Gettextizze.
31011 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31012 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31013
22815526
RM
310142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31015
31016 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31017 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31018 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31019 (led_status): New variable.
31020 (keyboard_controller_led): New function.
31021 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31022 update led status for caps lock, num lock and scroll lock.
31023
0ad46fd7
FZ
310242009-12-25 Felix Zielcke <fzielcke@z-51.de>
31025
31026 * util/hostdisk.c (open_device): Fix a comment.
31027
d0e158c2
RM
310282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31029
31030 * util/grub-install.in (host_os): New variable.
31031 * util/i386/efi/grub-install.in (host_os): Likewise.
31032
401c0ad6
RM
310332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * util/mkisofs/write.c (padblock_write): Abort when given an
31036 excedingly large embed image, instead of silently truncating it.
31037
d14d3370
RM
310382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31039
31040 * include/multiboot.h: Indentation fixes.
31041
eeed10b4
RM
310422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31043
31044 * include/multiboot.h (struct multiboot_aout_symbol_table)
31045 (struct multiboot_elf_section_header_table): New structure
31046 declarations (stolen from GRUB Legacy).
31047 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31048 table information.
31049
31050 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31051 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31052 type aliases.
31053
681c70ab
RM
310542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * include/multiboot.h: Make comments src2texi-friendly.
31057
e4d47d8d
RM
310582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31059
31060 For consistency with [multiboot]/docs/boot.S.
31061
31062 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31063 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31064 (MULTIBOOT_MAGIC2): Rename from this ...
31065 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31066
a0b70bda
RM
310672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31068
31069 * include/multiboot.h: Remove `<grub/types.h>'.
31070 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31071 types. Update all users.
31072
61ba42be 310732009-12-25 Carles Pina i Estany <carles@pina.cat>
31074
31075 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31076 `couldn't' and `can not' by `cannot'.
31077 * commands/i386/pc/drivemap.c: Likewise.
31078 * disk/ata.c: Likewise.
31079 * disk/ieee1275/nand.c: Likewise.
31080 * fs/affs.c: Likewise.
31081 * fs/fat.c: Likewise.
31082 * fs/hfs.c: Likewise.
31083 * fs/hfsplus.c: Likewise.
31084 * fs/iso9660.c: Likewise.
31085 * fs/jfs.c: Likewise.
31086 * fs/minix.c: Likewise.
31087 * fs/reiserfs.c: Likewise.
31088 * fs/sfs.c: Likewise.
31089 * fs/udf.c: Likewise.
31090 * fs/ufs.c: Likewise.
31091 * fs/xfs.c: Likewise.
31092 * loader/powerpc/ieee1275/linux.c: Likewise.
31093 * loader/sparc64/ieee1275/linux.c: Likewise.
31094 * util/grub-probe.c: Likewise.
31095 * util/misc.c: Likewise.
31096
7fd0baee 310972009-12-24 Carles Pina i Estany <carles@pina.cat>
31098
31099 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31100 grub_errno calls.
31101 * commands/acpi.c: Likewise.
31102 * commands/blocklist.c: Likewise.
31103 * commands/efi/loadbios.c: Likewise.
31104 * commands/i386/pc/drivemap.c: Likewise.
31105 * commands/loadenv.c: Likewise.
31106 * commands/memrw.c: Likewise.
31107 * commands/password.c: Likewise.
31108 * commands/videotest.c: Likewise.
31109 * disk/ata.c: Likewise.
31110 * disk/ata_pthru.c: Likewise.
31111 * disk/dmraid_nvidia.c: Likewise.
31112 * disk/ieee1275/nand.c: Likewise.
31113 * disk/ieee1275/ofdisk.c: Likewise.
31114 * disk/loopback.c: Likewise.
31115 * disk/lvm.c: Likewise.
31116 * disk/mdraid_linux.c: Likewise.
31117 * disk/raid.c: Likewise.
31118 * disk/raid6_recover.c: Likewise.
31119 * disk/scsi.c: Likewise.
31120 * efiemu/main.c: Likewise.
31121 * efiemu/mm.c: Likewise.
31122 * efiemu/pnvram.c: Likewise.
31123 * efiemu/symbols.c: Likewise.
31124 * font/font.c: Likewise.
31125 * fs/cpio.c: Likewise.
31126 * fs/hfsplus.c: Likewise.
31127 * fs/iso9660.c: Likewise.
31128 * fs/jfs.c: Likewise.
31129 * fs/minix.c: Likewise.
31130 * fs/ntfs.c: Likewise.
31131 * fs/ntfscomp.c: Likewise.
31132 * fs/reiserfs.c: Likewise.
31133 * fs/ufs.c: Likewise.
31134 * fs/xfs.c: Likewise.
31135 * gettext/gettext.c: Likewise.
31136 * include/grub/auth.h: Likewise.
31137 * kern/elf.c: Likewise.
31138 * kern/file.c: Likewise.
31139 * kern/ieee1275/init.c: Likewise.
31140 * kern/ieee1275/mmap.c: Likewise.
31141 * kern/ieee1275/openfw.c: Likewise.
31142 * kern/powerpc/dl.c: Likewise.
31143 * kern/sparc64/dl.c: Likewise.
31144 * lib/arg.c: Likewise.
31145 * loader/i386/bsd.c: Likewise.
31146 * loader/i386/bsdXX.c: Likewise.
31147 * loader/i386/efi/linux.c: Likewise.
31148 * loader/i386/efi/xnu.c: Likewise.
31149 * loader/i386/ieee1275/linux.c: Likewise.
31150 * loader/i386/linux.c: Likewise.
31151 * loader/i386/multiboot.c: Likewise.
31152 * loader/i386/pc/linux.c: Likewise.
31153 * loader/i386/pc/multiboot2.c: Likewise.
31154 * loader/i386/xnu.c: Likewise.
31155 * loader/ieee1275/multiboot2.c: Likewise.
31156 * loader/macho.c: Likewise.
31157 * loader/machoXX.c: Likewise.
31158 * loader/multiboot2.c: Likewise.
31159 * loader/multiboot_loader.c: Likewise.
31160 * loader/powerpc/ieee1275/linux.c: Likewise.
31161 * loader/sparc64/ieee1275/linux.c: Likewise.
31162 * loader/xnu.c: Likewise.
31163 * loader/xnu_resume.c: Likewise.
31164 * mmap/i386/pc/mmap.c: Likewise.
31165 * normal/menu_viewer.c: Likewise.
31166 * partmap/acorn.c: Likewise.
31167 * partmap/amiga.c: Likewise.
31168 * partmap/apple.c: Likewise.
31169 * script/lexer.c: Likewise.
31170 * term/gfxterm.c: Likewise.
31171 * term/i386/pc/serial.c: Likewise.
31172 * term/i386/pc/vga.c: Likewise.
31173 * term/ieee1275/ofconsole.c: Likewise.
31174 * term/terminfo.c: Likewise.
31175 * video/bitmap.c: Likewise.
31176 * video/efi_gop.c: Likewise.
31177 * video/efi_uga.c: Likewise.
31178 * video/fb/video_fb.c: Likewise.
31179 * video/i386/pc/vbe.c: Likewise.
31180 * video/readers/tga.c: Likewise.
31181 * video/video.c: Likewise.
31182
0ad46fd7 311832009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31184
31185 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31186 * commands/lspci.c: Likewise.
31187 * commands/probe.c: Likewise.
31188 * commands/xnu_uuid.c: Likewise.
31189 * conf/i386-coreboot.rmk: Likewise.
31190 * conf/i386-efi.rmk: Likewise.
31191 * conf/i386-ieee1275.rmk: Likewise.
31192 * conf/i386-pc.rmk: Likewise.
31193 * conf/powerpc-ieee1275.rmk: Likewise.
31194 * conf/sparc64-ieee1275.rmk: Likewise.
31195 * conf/x86_64-efi.rmk: Likewise.
31196 * fs/i386/pc/pxe.c: Likewise.
31197 * gettext/gettext.c: Likewise.
31198 * include/grub/efi/graphics_output.h: Likewise.
31199 * include/grub/i386/pc/memory.h: Likewise.
31200 * kern/env.c: Likewise.
31201 * kern/i386/qemu/startup.S: Likewise.
31202 * lib/i386/pc/biosnum.c: Likewise.
31203 * lib/i386/relocator.c: Likewise.
31204 * lib/i386/relocator_asm.S: Likewise.
31205 * lib/relocator.c: Likewise.
31206 * loader/i386/bsd.c: Likewise.
31207 * loader/i386/multiboot.c: Likewise.
31208 * loader/i386/pc/chainloader.c: Likewise.
31209 * loader/i386/xnu.c: Likewise.
31210 * loader/xnu.c: Likewise.
31211 * normal/main.c: Likewise.
31212 * normal/menu_text.c: Likewise.
31213 * util/getroot.c: Likewise.
31214 * util/grub-mkconfig_lib.in: Likewise.
31215 * util/grub.d/00_header.in: Likewise.
31216 * util/i386/pc/grub-mkimage.c: Likewise.
31217 * util/mkisofs/eltorito.c: Likewise.
31218 * util/mkisofs/exclude.h: Likewise.
31219 * util/mkisofs/hash.c: Likewise.
31220 * util/mkisofs/iso9660.h: Likewise.
31221 * util/mkisofs/joliet.c: Likewise.
31222 * util/mkisofs/mkisofs.c: Likewise.
31223 * util/mkisofs/mkisofs.h: Likewise.
31224 * util/mkisofs/multi.c: Likewise.
31225 * util/mkisofs/name.c: Likewise.
31226 * util/mkisofs/rock.c: Likewise.
31227 * util/mkisofs/tree.c: Likewise.
31228 * util/mkisofs/write.c: Likewise.
31229 * video/efi_gop.c: Likewise.
31230
009ec743
VS
312312009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31234 size counting.
31235
0ad46fd7 312362009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31237
31238 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31239 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31240
d3d30ea0
VS
312412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31242
31243 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31244 (GRUB_MOD_INIT(memrw)): Update help line.
31245
a34f5c70
VS
312462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31247
31248 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31249 Use grub_extcmd_t. All users updated.
31250 (options): New variable.
31251 (grub_cmd_read): Restructure for readability. Support "-v" option.
31252 (grub_cmd_write): Restructure for readability.
31253
0ad46fd7 312542009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31255
31256 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31257
0ad46fd7 312582009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31259
31260 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31261 with the actual contents of the correspondending make variable.
31262 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31263 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31264 specifying `*.lst' and `efiemu??.o'
31265
0ad46fd7 312662009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31267
31268 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31269 after function name.
31270 Noticed by Rene Engelhard <rene@debian.org>.
31271
dc77a799
VS
312722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31273
31274 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31275 (options): New variable.
31276 (iospace): Likewise.
31277 (grub_lspci_iter): List IO spaces if "-i" was given.
31278 (grub_cmd_lspci): Parse options.
31279 (GRUB_MOD_INIT(lspci)): Use extcmd.
31280 (GRUB_MOD_FINI(lspci)): Likewise.
31281
0ad46fd7 312822009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31283
31284 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31285 `function' keyword.
31286 Patch by Tony Mancill <tmancill@debian.org>.
31287
b5d5993b
VS
312882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31289
31290 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31291 (grub_uhci_portstatus): Likewise.
31292 (grub_uhci_portstatus): Add necessary delay.
11d18281 31293 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31294
941903f2 312952009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31296
941903f2 31297 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31298 (GRUB_MOD_INIT): Likewise.
31299 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31300 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31301 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31302 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31303 (enable_rom_area): Likewise.
31304 (GRUB_MOD_INIT): Likewise.
31305 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31306 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31307 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31308 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31309 * commands/hexdump.c (options): Likewise.
31310 * commands/i386/cpuid.c (options): Likewise.
31311 (GRUB_MOD_INIT): Likewise.
31312 * commands/i386/pc/drivemap.c (options): Likewise.
31313 (GRUB_MOD_INIT): Likewise.
31314 * commands/i386/pc/halt (options): Likewise.
31315 (GRUB_MOD_INIT): Likewise.
31316 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31317 * commands/i386/pc/pxecmd.c (options): Likewise.
31318 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31319 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31320 * commands/keystatus.c (options): Likewise.
31321 (GRUB_MOD_INIT): Likewise.
31322 * commands/loadenv.c (options): Likewise.
31323 * commands/ls.c (options): Likewise.
31324 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31325 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31326 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31327 * commands/parttool.c (helpmsg): Likewise.
31328 * commands/probe.c (options): Likewise.
31329 * commands/read.c (GRUB_MOD_INIT): Likewise.
31330 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31331 * commands/search.c (options): Likewise.
31332 * commands/sleep.c (options): Likewise.
31333 * commands/test.c (GRUB_MOD_INIT): Likewise.
31334 * commands/true.c (GRUB_MOD_INIT): Likewise.
31335 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31336 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31337 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31338 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31339 `$(XGETTEXT)'.
98a50553 31340 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31341
0ad46fd7 313422009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31343
ef3c2c3a 31344 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31345 instead of specifying them explicit.
31346
7922f68b
RM
313472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31348
31349 * NEWS: Add grub-probe support for GNU/Hurd.
31350
537ce47f
RM
313512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31352
31353 * NEWS: gettext was added after 1.97.
31354
9b214e3a
RM
313552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31356
31357 * util/mkisofs/msdos_partition.h: New file (based on
31358 include/grub/msdos_partition.h).
31359 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31360 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31361 (ld_options, main): Recognize --protective-msdos-label.
31362 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31363 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31364 (padblock_write): If `use_protective_msdos_label' is set, patch a
31365 protective DOS-style label in the output image.
31366
31367 * util/grub-mkrescue.in: Use --protective-msdos-label.
31368
e9309813
RM
313692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31370
31371 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31372 boot.
31373
0ae56929
RM
313742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31375
31376 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31377 variables.
31378 (ld_options, main): Recognize `--embedded-boot'.
31379 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31380 declarations.
31381 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31382 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31383 (padblock_write): Likewise. Rewrite to support embedded boot image.
31384
31385 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31386 for BIOS-based disk boot instead of only ElTorito.
31387
b15937b1
RM
313882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31389
31390 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31391 build (not needed for bootstrap).
31392
52cc3ce0
RM
313932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31396 from i386-pc build (not needed for bootstrap).
31397 Rewrite a pair of strings.
31398
36f5ff04
RM
313992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31400
31401 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31402
973c6c85 314032009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31404
31405 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31406
05d21547
AB
314072009-12-21 Andreas Born <futur.andy@googlemail.com>
31408
31409 * kern/env.c (grub_env_context_open): Mark exported variable for
31410 reexport.
31411
0175d51f
AB
314122009-12-21 Andreas Born <futur.andy@googlemail.com>
31413
31414 * kern/env.c (grub_env_export): Create nonexistent variables before
31415 exporting.
31416
7f39d92f 314172009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31418
7f39d92f 31419 * include/grub/auth.h: Include `<grub/i18n.h>'.
31420 (GRUB_GET_PASSWORD): Gettextizze string.
31421 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31422 menu_text.c.
31423 (grub_utf8_to_ucs4_alloc): Fix indentation.
31424 (grub_print_ucs4): Likewise.
31425 (grub_getstringwidth): Likewise.
31426 (print_message_indented): New declaration.
31427 * normal/auth.c: Include `<grub/i18n.h>'.
31428 (grub_auth_check_authentication): Gettexttize string.
31429 * normal/cmdline.c: Include `<grub/i18n.h>'.
31430 (grub_cmdline_get): Gettextizze.
31431 * normal/color.c: Include `<grub/i18n.h>'.
31432 (grub_parse_color_name_pair): Gettexttize strings.
31433 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31434 string (use `print_message_indented').
31435 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31436 `include/grub/normal.h'.
31437 (print_message_indented): Renamed to ...
31438 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31439 used in normal/main.c).
31440 (print_message): Use `grub_print_message_indented' instead of
31441 `print_message_indented'.
31442 (print_timeout): Likewise.
31443 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31444 (grub_normal_print_device_info): Gettexttize strings.
31445 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31446
3041d898
VS
314472009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31448
31449 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31450 of arguments. Return number of tokens and not arguments. All users
31451 updated.
31452
de15bf8e
VS
314532009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31454
31455 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31456 non-MSDOS paritions.
31457
e0a6ca52
VS
314582009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31459
31460 * include/grub/types.h (UNUSED): Removed since it conflicts with
31461 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31462 Reported by Grégoire Sutre.
31463
b99518d1 314642009-12-19 Carles Pina i Estany <carles@pina.cat>
31465
31466 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31467 (grub_print_ucs4_alloc): Likewise.
31468 (grub_getstringwidth): Likewise.
31469 * normal/main.c (grub_normal_init_page): Gettextize version string.
31470 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31471 (getstringwidth): Renamed to ...
31472 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31473 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31474 (grub_print_ucs4): Remove `static' qualifer (now used in
31475 normal/main.c).
31476 * po/POTFILES: Add normal/main.c.
31477
bfd5e52b 314782009-12-19 Carles Pina i Estany <carles@pina.cat>
31479
31480 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31481 (print_message_indented): Add `margin_left' and `margin_right'
31482 parameters.
31483 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31484 strings.
31485 (print_timeout): Use `print_message_indented' to print the message.
31486 Deletes `second_stage' parameter.
31487 (run_menu): Update `print_timeout' calls.
31488
5a1ad2b9
VS
314892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31490
31491 Fix console palette on OpenFirmware.
31492
31493 * term/ieee1275/ofconsole.c (MAX): Removed.
31494 (colors): Redone based on VGA palette.
31495 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31496 colors are supported.
31497 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31498
b045f00a
VS
314992009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31500
31501 Fix potential EfiEmu double prepare.
31502
31503 * efiemu/main.c (prepared): New variable
31504 (grub_efiemu_unload): Set prepare to '0'.
31505 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31506
31507 set_virtual_address_map support.
31508
31509 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31510 prototype.
31511 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31512 prototype.
31513 (grub_efiemu_crc32): Likewise.
31514 (grub_efiemu_crc64): Likewise.
31515 (grub_efiemu_set_virtual_address_map): Likewise.
31516 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31517 New definition.
31518 (grub_autoefi_set_virtual_address_map): Likewise.
31519 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31520 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31521 Restructure flow to accomodate it.
31522 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31523 (grub_efiemu_crc): Recompute CRC32.
31524 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31525 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31526 * efiemu/symbols.c (relocated_handle): New variable.
31527 (grub_efiemu_free_syms): Free relocated_handle.
31528 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31529 (grub_efiemu_write_sym_markers): New function.
31530 (grub_efiemu_set_virtual_address_map): Likewise.
31531
31532 Newer XNU parameters.
31533
31534 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31535 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31536 (grub_xnu_fill_devicetree): New prototype.
31537 (grub_xnu_heap_real_start): New variable.
31538 * loader/xnu.c (get_name_ptr): New function.
31539 (grub_xnu_load_driver): Fill namelen and name.
31540
31541 64-bit xnu support.
31542
31543 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31544 and 'loader/macho64.c'.
31545 * conf/i386-pc.rmk: Likewise.
31546 * conf/x86_64-efi.rmk: Likewise.
31547 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31548 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31549 * include/grub/macho.h (grub_macho_segment64): New structure.
31550 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31551 (grub_macho_size32): ... to this.
31552 (grub_macho32_get_entry_point): Renamed from ...
31553 (grub_macho_get_entry_point32): ... to this.
31554 (grub_macho_contains_macho64): New prototype.
31555 (grub_macho_size64): Likewise.
31556 (grub_macho_get_entry_point64): Likewise.
31557 (grub_macho32_load): Renamed from ...
31558 (grub_macho_load32): ... to this.
31559 (grub_macho32_filesize): Renamed from ...
31560 (grub_macho_filesize32): ... to this.
31561 (grub_macho32_readfile): Renamed from ...
31562 (grub_macho_readfile32): ... to this.
31563 (grub_macho_filesize64): New prototype.
31564 (grub_macho_readfile64): Likewise.
31565 (grub_macho_parse32): Likewise.
31566 (grub_macho_parse64): Likewise.
31567 * loader/macho.c: Split into ...
31568 * loader/machoXX.c: ... and this. Replace 32 with XX.
31569 * loader/macho32.c: New file.
31570 * loader/macho64.c: Likewise.
31571 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31572 (grub_cmd_xnu_kernel): Make 32-bit only.
31573 (grub_cmd_xnu_kernel64): New function.
31574 (grub_xnu_load_driver): Support Mach-O 64.
31575 (grub_cmd_xnu_mkext): Likewise.
31576 * util/grub.d/30_os-prober.in (osx_entry): New function.
31577 Generate entries for 64-bit boot too.
31578
31579 Eliminate ad-hoc tree format in XNU and EfiEmu.
31580
31581 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31582 * efiemu/pnvram.c: Rewritten to use environment variables.
31583 All users updated.
31584
31585 Inline utf16_to_utf8.
31586
31587 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31588 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31589 All users updated.
31590 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31591
31592 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31593 * commands/usbtest.c (grub_usb_get_string): ... move here.
31594 (usb_print_str): Fix error handling.
31595 * include/grub/usb.h (grub_usb_get_string): Remove.
31596
31597 UTF-8 to UTF-16 transformation.
31598
31599 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31600 (charset_mod_SOURCES): New variable.
31601 (charset_mod_CFLAGS): Likewise.
31602 (charset_mod_LDFLAGS): Likewise.
31603 * include/grub/utf.h: New file.
31604 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31605
31606 Support for device properties.
31607
31608 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31609 (grub_xnu_devprop_device_header): Likewise.
31610 (grub_xnu_devprop_device_descriptor): Likewise.
31611 (grub_xnu_devprop_add_device): New prototype.
31612 (grub_xnu_devprop_remove_device): Likewise.
31613 (grub_xnu_devprop_remove_property): Likewise.
31614 (grub_xnu_devprop_add_property_utf8): Likewise.
31615 (grub_xnu_devprop_add_property_utf16): Likewise.
31616 (grub_cpu_xnu_init): Likewise.
31617 (grub_cpu_xnu_fini): Likewise.
31618 (grub_cpu_xnu_unload): Likewise.
31619 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31620 (property_descriptor): Likewise.
31621 (devices): New variable.
31622 (grub_xnu_devprop_remove_property): New function.
31623 (grub_xnu_devprop_add_device): Likewise.
31624 (grub_xnu_devprop_remove_device): Likewise.
31625 (grub_xnu_devprop_add_property): Likewise.
31626 (grub_xnu_devprop_add_property_utf8): Likewise.
31627 (grub_xnu_devprop_add_property_utf16): Likewise.
31628 (hextoval): Likewise.
31629 (grub_cpu_xnu_fill_devprop): Likewise.
31630 (grub_cmd_devprop_load): Likewise.
31631 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31632 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31633 (cmd_devprop_load): New variable.
31634 (grub_cpu_xnu_init): New function.
31635 (grub_cpu_xnu_fini): Likewise.
31636 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31637 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31638 (grub_cmd_xnu_devtree): Likewise.
31639 (hextoval): New function.
31640 (unescape): Likewise.
31641 (grub_xnu_fill_devicetree): Likewise.
31642
31643 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31644 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31645
0945f181
VS
316462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31647
31648 Workaround for broken ATI VBE.
31649
31650 * video/i386/pc/vbe.c (last_set_mode): New variable.
31651 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31652 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31653 (grub_video_vbe_setup): Don't check for reserved flag.
31654
0ad46fd7 316552009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31656
31657 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31658 the `find' command.
31659
c179ebe4
VS
316602009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31661
31662 UUID support for HFS.
31663
31664 * fs/hfs.c (grub_hfs_uuid): New function.
31665 (grub_hfs_fs): New value .uuid.
31666 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31667
0ad46fd7 316682009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31669
31670 Fix a segfault with parsing unknown long options.
31671
31672 * util/grub-mkrelpath.c (options): Zero terminate it.
31673
c4a3e41a
CPE
316742009-12-13 Carles Pina i Estany <carles@pina.cat>
31675
31676 * include/grub/misc.h (grub_puts): New declaration.
31677 (grub_puts_): Likewise.
a22008a6 31678 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31679 (grub_puts_): Likewise.
31680
2e8a7602
RM
316812009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31682
31683 * util/grub-probe.c (probe): Improve error message.
31684
b50b77b9
RM
316852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31686
31687 * loader/i386/multiboot_elfxx.c
31688 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31689 initialization.
31690
316912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31692
31693 Relocator framework
31694
31695 * loader/i386/xnu_helper.S: Removed. All users updated.
31696 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31697 (relocator_mod_SOURCES): New variable.
31698 (relocator_mod_CFLAGS): Likewise.
31699 (relocator_mod_LDFLAGS): Likewise.
31700 (relocator_mod_ASFLAGS): Likewise.
31701 * conf/x86_64.rmk: Likewise.
31702 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31703 (grub_multiboot_payload_entry_offset): Likewise.
31704 (grub_multiboot_forward_relocator): Likewise.
31705 (grub_multiboot_forward_relocator_end): Likewise.
31706 (grub_multiboot_backward_relocator): Likewise.
31707 (grub_multiboot_backward_relocator_end): Likewise.
31708 (grub_multiboot_payload_eip): New variable.
31709 (grub_multiboot_payload_orig): Likewise.
31710 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31711 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31712 * include/grub/i386/memory.h
31713 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31714 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31715 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31716 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31717 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31718 * include/grub/i386/relocator.h: New file.
31719 * include/grub/x86_64/relocator.h: Likewise.
31720 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31721 (XNU_RELOCATOR): New macro.
31722 (grub_xnu_launcher_start): Remove.
31723 (grub_xnu_launcher_end): Likewise.
31724 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31725 (grub_xnu_heap_real_start): Remove.
31726 (grub_xnu_heap_start): Change to void *. All users updated.
31727 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31728 * lib/i386/relocator.c: New file.
31729 * lib/i386/relocator_asm.S: Likewise.
31730 * lib/i386/relocator_backward.S: Likewise.
31731 * lib/mips/relocator.c: Likewise.
31732 * lib/mips/relocator_asm.S: Likewise.
31733 * lib/relocator.c: Likewise.
31734 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31735 (entry): Removed.
31736 (playground): Likewise.
31737 (grub_multiboot_payload_orig): New variable.
31738 (grub_multiboot_payload_dest): Likewise.
31739 (grub_multiboot_payload_size): Likewise.
31740 (grub_multiboot_payload_eip): Likewise.
31741 (grub_multiboot_payload_esp): Likewise.
31742 (grub_multiboot_boot): Use grub_relocator32_boot.
31743 (grub_multiboot_unload): Free relocators.
31744 (grub_multiboot): Setup stack. Use relocators.
31745 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31746 (grub_multiboot_load_elfXX): Use relocators.
31747 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31748 (grub_multiboot_payload_size): Likewise.
31749 (grub_multiboot_payload_dest): Likewise.
31750 (grub_multiboot_payload_entry_offset): Likewise.
31751 (grub_multiboot_forward_relocator): Likewise.
31752 (grub_multiboot_backward_relocator): Likewise.
31753 (grub_multiboot_real_boot): Likewise.
31754 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31755 (grub_xnu_entry_point): Likewise.
31756 (grub_xnu_arg1): Likewise.
31757 (grub_xnu_stack): Likewise.
31758 (grub_xnu_launch): Removed.
31759 (grub_xnu_boot_resume): New function.
31760 (grub_xnu_boot): Use relocators.
31761 * loader/i386/xnu_helper.S: Removed.
31762 * loader/xnu.c (grub_xnu_heap_start): New variable.
31763 (grub_xnu_heap_size): Likewise.
31764 (grub_xnu_heap_malloc): Use relocators.
31765 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31766
29eb90c6
VS
317672009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31768
31769 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31770 anything.
31771
31027430
CPE
317722009-12-13 Carles Pina i Estany <carles@pina.cat>
31773
31774 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31775 GRUB_ERR_NONE before calling grub_env_set.
31776
dc0c71d9
RM
317772009-12-12 Robert Millan <rmh@aybabtu.com>
31778
31779 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31780 * genmk.rb (video): New variable.
31781 (CLEANFILES, VIDEOFILES): Add #{video}.
31782 (#{video}): New target rule.
31783 * genvideolist.sh: New file.
31784 * Makefile.in (pkglib_DATA): Add video.lst.
31785 (video.lst): New target rule.
31786 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31787 `video.lst'.
31788 * util/grub.d/30_os-prober.in: Replace `vbe' with
31789 ${GRUB_VIDEO_BACKEND}.
31790
2a4bfcf0
RM
317912009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31792
31793 * THANKS: Add David Miller.
31794
2a3aa4d5
RM
317952009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31796
31797 libpciaccess support.
31798
31799 * Makefile.in (LIBPCIACCESS): New variable.
31800 (enable_grub_emu_pci): Likewise.
31801 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31802 util/pci.c and commands/lspci.c.
31803 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31804 * configure.ac (grub-emu-pci): New option.
31805 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31806 (grub_pci_device_unmap_range): Likewise.
31807 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31808 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31809 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31810 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31811 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31812 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31813 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31814 * include/grub/pciutils.h: New file.
31815 * util/pci.c: Likewise.
31816
0ad46fd7 318172009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31818
31819 * util/misc.c: Don't include <errno.h> twice.
31820
0ad46fd7 318212009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31822
31823 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31824 name in an error message.
31825 (grub_biosdisk_rw): Likewise.
31826
2e59983c
VS
318272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31828
31829 Eliminate NTFS 4Gib barrier.
31830
31831 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31832 (read_run_data): Likewise.
31833 (grub_ntfs_read_run_list): Likewise.
31834 (grub_ntfs_read_block): Likewise.
31835 (grub_ntfs_iterate_dir): Likewise.
31836 (read_mft): Likewise.
31837 (read_data): Likewise.
31838 Use COM_LOG_LEN.
31839 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31840 to avoid 64-bit division
31841 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31842 (grub_ntfs_rlst): Use grub_disk_addr_t.
31843
71ee178a
VS
318442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31845
31846 Eliminate grub-fstest 4Gib barrier.
31847
31848 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31849 (read_file): Fix error reporting.
31850
2520d4b8
VS
318512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31852
31853 Eliminate hexdump 4Gib barrier.
31854
31855 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31856 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31857
e1f27065
VS
318582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31859
31860 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31861 Fixes amarsh bug.
31862
1a0f7f45
RM
318632009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31864
31865 Remove miscellaneous files in distclean target.
31866
31867 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31868
c631d9fb
CW
318692009-12-09 Colin Watson <cjwatson@ubuntu.com>
31870
31871 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31872 if they're already set. This resolves the conflict between my
31873 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31874 fixing the --grub-probe option again.
31875 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31876 change on 2009-10-06, so that we now once again source
31877 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31878
7c7b6106
RM
318792009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31880
31881 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31882 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31883 `util/devicemap.c'.
31884
e3069ec1
CPE
318852009-12-08 Carles Pina i Estany <carles@pina.cat>
31886
31887 * include/grub/misc.h (grub_printf_): New declaration.
31888 * kern/misc.c (grub_printf_): New definition.
31889 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31890 instead of `grub_printf' and `_'.
31891 * normal/menu_entry.c (store_completion): Likewise.
31892 (run): Likewise.
31893 (grub_menu_entry_run): Likewise.
31894 * normal/menu_text.c (grub_wait_after_message): Likewise.
31895 (notify_booting): Likewise.
31896 (notify_fallback): Likewise.
31897 (notify_execution_failure): Likewise.
31898
d6ceebf1
CW
318992009-12-07 Colin Watson <cjwatson@ubuntu.com>
31900
31901 * configure.ac: Check for vasprintf.
31902 * util/misc.c (asprintf): Move allocation from here ...
31903 (vasprintf): ... to here. New function.
31904 (xasprintf): New function.
31905 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31906 prototypes.
31907 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31908 * util/grub-mkfont.c (write_font): Likewise.
31909 * util/grub-probe.c (probe): Likewise.
31910 * util/hostdisk.c (make_device_name): Likewise.
31911
de6daa8b
DM
319122009-12-06 David S. Miller <davem@sunset.davemloft.net>
31913
31914 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31915 anything even prefixed with 'cdrom' as a cdrom.
31916
0ad46fd7 319172009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31918
31919 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31920 mount points.
31921
98d3dc02
CPE
319222009-12-05 Carles Pina i Estany <carles@pina.cat>
31923
31924 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31925 grub_gettext_msg_list.
31926 (grub_gettext_gettranslation_from_position): Return const char *
31927 and not char *.
a2c1332b 31928 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31929 returns from the list if existing there.
31930 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31931 (grub_gettext_delete_list): Delete the list.
31932 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31933 lang environment variable is changed.
31934 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31935
b283f108
VS
319362009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31937
31938 Rename kernel.mod to kernel.img.
31939
31940 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31941 (kernel_mod_EXPORTS): Rename to ...
31942 (kernel_img_EXPORTS): ... this.
31943 (kernel_mod_SOURCES): Rename to ...
31944 (kernel_img_SOURCES): ... this.
31945 (kernel_mod_HEADERS): Rename to ...
31946 (kernel_img_HEADERS): ... this. All users updated.
31947 (kernel_mod_CFLAGS): Rename to ...
31948 (kernel_img_CFLAGS): ... this.
31949 (kernel_mod_ASFLAGS): Rename to ...
31950 (kernel_img_ASFLAGS): ... this.
31951 (kernel_mod_LDFLAGS): Rename to ...
31952 (kernel_img_LDFLAGS): ... this.
31953 * conf/x86_64-efi.rmk: Likewise.
31954 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31955 (read_kernel_image): ... this. All users updated.
31956 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31957
69055f8a
CPE
319582009-12-05 Carles Pina i Estany <carles@pina.cat>
31959
31960 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31961 (print_spaces): New function.
31962 (grub_print_ucs4): New function.
31963 (getstringwidth): New function.
31964 (print_message_indented): New function.
31965 (print_message): Gettexttize strings using print_message_indented.
31966 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31967 width.
31968 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31969 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31970 Gettextize.
31971 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31972 string.
31973 (run): Likewise.
31974 (grub_menu_entry_run): Likewise.
31975 * PO/POTFILES: Add normal/menu_entry.c.
31976
f616f51c
VS
319772009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31978
31979 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31980
57bbe3be
CPE
319812009-12-05 Carles Pina i Estany <carles@pina.cat>
31982
31983 * util/grub-install.in: Install gettext .mo files.
31984 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31985
013d67a1
CPE
319862009-12-05 Carles Pina i Estany <carles@pina.cat>
31987
31988 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31989 grub_dprintf.
31990
fb954db0
RM
319912009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31992
31993 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31994 non-firmware-dependant one in realmode.S takes precedence.
31995
6b8474f8
RM
319962009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31997
31998 * commands/halt.c: Replace misc arch-specific headers with
31999 `<grub/misc.h>'.
32000 * commands/reboot.c: Likewise.
32001 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32002 `<grub/misc.h>'.
32003 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32004 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32005 (kernel_img_SOURCES): ... to here.
32006
32007 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32008 * include/grub/i386/pc/init.h: Likewise.
32009 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32010 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32011
32012 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32013
32014 * include/grub/i386/halt.h: Remove.
32015 * include/grub/i386/reboot.h: Likewise.
32016
32017 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32018
4b2e6ca2
DM
320192009-12-03 David S. Miller <davem@sunset.davemloft.net>
32020
32021 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32022 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32023 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32024 "progname.h"
32025 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32026 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32027 (usage): Add missing comma in printf.
32028
5239348f
RM
320292009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 Use the same reboot approach on i386 coreboot and qemu as we do on
32032 BIOS.
32033
32034 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32035 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32036 * kern/i386/reboot.c: Remove.
32037 * include/grub/i386/reboot.h (grub_reboot): Export function.
32038 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32039 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32040 0xf000:0xfff0 instead of 0xffff:0x0000.
32041 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32042 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32043
ef34cbd4
RM
320442009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32045
32046 Fix $srcdir != $objdir build.
32047
32048 * Makefile.in (po/%.po): Rewrite as ...
32049 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32050
dc9837ea
ST
320512009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32052
32053 Fix GNU/Hurd grub-install crash.
32054 * util/grub-probe.c (probe): Try to access `path' only when it is not
32055 NULL.
32056
2f857f98
VS
320572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32058
32059 Correct module naming.
32060
32061 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32062 (GRUB_MOD_INIT(efi_uga)): ... to this
32063 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32064 (GRUB_MOD_FINI(efi_uga)): ... to this
32065 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32066 (GRUB_MOD_INIT(efi_gop)): ... to this
32067 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32068 (GRUB_MOD_FINI(efi_gop)): ... to this
32069
c5448046
RM
320702009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32073 translatable.
32074 (usage): Translate `arg' strings using gettext().
32075 Thanks to Jordi Mallach for the suggestion.
32076
c85184ad
VS
320772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32078
32079 GOP support. Based on patch from Bean
32080 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32081
32082 * video/efi_gop.c: New file.
32083 * include/grub/efi/graphics_output.h: Likewise.
32084 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32085 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32086 variables.
32087 * conf/x86_64-efi.rmk: Likewise.
32088
8a4c48d8
VS
320892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32090
32091 Rename efi_fb to efi_uga.
32092
32093 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32094 'efi_uga.mod'.
32095 (efi_fb_mod_SOURCES): Rename this ...
32096 (efi_uga_mod_SOURCES): ... to this.
32097 (efi_fb_mod_CFLAGS): Rename this ...
32098 (efi_uga_mod_CFLAGS): ... to this.
32099 (efi_fb_mod_LDFLAGS): Rename this ...
32100 (efi_uga_mod_LDFLAGS): ... to this.
32101 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32102 'efi_uga.mod'.
32103 (efi_fb_mod_SOURCES): Rename this ...
32104 (efi_uga_mod_SOURCES): ... to this.
32105 (efi_fb_mod_CFLAGS): Rename this ...
32106 (efi_uga_mod_CFLAGS): ... to this.
32107 (efi_fb_mod_LDFLAGS): Rename this ...
32108 (efi_uga_mod_LDFLAGS): ... to this.
32109 * video/efi_fb.c: Move this ...
32110 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32111
fb6c1a7b
RM
321122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * po/README: New file. Explain our PO file workflow.
32115
3bc7896c
RM
321162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32117
32118 * po/ChangeLog: Remove. Move relevant entries back to ...
32119 * ChangeLog: ... here.
32120 * po/ca.po: Remove (now handled by TLP).
32121 * po/id.po: Likewise.
32122 * po/zh_CN.po: Likewise.
32123 * Makefile.in (LINGUAS): Initialize in a way that supports
32124 empty set.
32125
9ed4841d
RM
321262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32127
32128 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32129 reliing on po/LINGUAS.
32130 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32131 (po/%.po): ... this.
32132
0ad46fd7 321332009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32134
32135 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32136 (main): Use `program_name' instead of nonexistent `progname'.
32137
e30dd392
FZ
321382009-11-26 Felix Zielcke <fzielcke@z-51.de>
32139
32140 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32141 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32142
7656de4f
RM
321432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32144
32145 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32146 commit.
32147 * conf/i386-efi.rmk: Likewise.
32148 * conf/i386-ieee1275.rmk: Likewise.
32149 * conf/powerpc-ieee1275.rmk: Likewise.
32150 * conf/sparc64-ieee1275.rmk: Likewise.
32151 * conf/x86_64-efi.rmk: Likewise.
32152
db77c4d4
FZ
321532009-11-26 Felix Zielcke <fzielcke@z-51.de>
32154
32155 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32156
a755bb04
FZ
321572009-11-26 Felix Zielcke <fzielcke@z-51.de>
32158
32159 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32160
8a4c07fd
RM
321612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32162
32163 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32164 (grub_mkdevicemap_SOURCES): New variable.
32165 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32166 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32167 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32168 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32169 (grub_mkdevicemap_SOURCES): Remove.
32170 * conf/i386-efi.rmk: Likewise.
32171 * conf/i386-ieee1275.rmk: Likewise.
32172 * conf/i386-pc.rmk: Likewise.
32173 * conf/powerpc-ieee1275.rmk: Likewise.
32174 * conf/sparc64-ieee1275.rmk: Likewise.
32175 * conf/x86_64-efi.rmk: Likewise.
32176 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32177 (usage): Fix strings to use `program_name'.
32178 (main): Initialize gettext.
32179 * util/grub-editenv.c: Likewise.
32180 * util/grub-emu.c: Likewise.
32181 * util/grub-fstest.c: Likewise.
32182 * util/grub-mkdevicemap.c: Likewise.
32183 * util/grub-mkfont.c: Likewise.
32184 * util/grub-mkrelpath.c: Likewise.
32185 * util/grub-pe2elf.c: Likewise.
32186 * util/grub-probe.c: Likewise.
32187 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32188 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32189 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32190
32191 * util/misc.c: Include `"progname.h"'.
32192 (progname): Remove variable.
32193 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32194
6f61ed55
FZ
321952009-11-25 Felix Zielcke <fzielcke@z-51.de>
32196
32197 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32198 printf and print a newline after the menuentry header line.
32199 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32200
f022876b
FZ
322012009-11-25 Felix Zielcke <fzielcke@z-51.de>
32202
32203 autoconf >= 2.60 support $(localedir).
32204
32205 * INSTALL: Note that autoconf 2.60 is required.
32206 * configure.ac (AC_PREREQ): Bump to 2.60.
32207 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32208 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32209
6717926e
YB
322102009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32211
32212 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32213 aclocal is run.
32214
08806a54
RM
322152009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32216
32217 * normal/main.c (grub_normal_read_line): Fix off-by-one
32218 buffer overflow.
32219
13b33fba
RM
322202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32221
32222 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32223 "parser.grub" in grub_command_execute() call.
32224
4a8572e9
CPE
322252009-11-24 Carles Pina i Estany <carles@pina.cat>
32226
32227 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32228 * conf/i386-efi.rmk: Likewise.
32229 * conf/i386-ieee1275.rmk: Likewise.
32230 * conf/i386-pc.rmk: Likewise.
32231 * conf/powerpc-ieee1275.rmk: Likewise.
32232 * conf/sparc64-ieee1275.rmk: Likewise.
32233 * conf/x86_64-efi.rmk: Likewise.
32234 * gettext/gettex.c: Include <grub/i18n.h>.
32235 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32236 here ...
32237 * include/grub/i18n.h: ... to here
32238 * include/grub/i18n.h: ... to here.
32239 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32240 (grub_gettext_dummy): Move above user.
4a8572e9 32241
bee48093
FZ
322422009-11-24 Felix Zielcke <fzielcke@z-51.de>
32243
32244 * util/Makefile.in (install-local): Convert a `for' into a normal
32245 shell expansion.
32246
a031e91c
RM
322472009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32248
32249 * autogen.sh: Add automake call.
32250 * config.guess: Remove.
32251 * config.sub: Likewise.
32252 * install-sh: Likewise.
32253
26bec39d
FZ
322542009-11-24 Felix Zielcke <fzielcke@z-51.de>
32255
32256 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32257
8e2532fd
FZ
322582009-11-24 Felix Zielcke <fzielcke@z-51.de>
32259
32260 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32261 function to a normal shell `for'.
32262
fefa1b7d
FZ
322632009-11-24 Felix Zielcke <fzielcke@z-51.de>
32264
32265 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32266
4501250b
FZ
322672009-11-24 Felix Zielcke <fzielcke@z-51.de>
32268
32269 * util/grub-mkrelpath.c: New file.
32270 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32271 (grub_mkrelpath_SOURCES): New variable.
32272 * include/grub/util/misc.h: New function prototype.
32273 * util/misc.c (make_system_path_relative_to_its_root): New function.
32274
32275 * util/grub-mkconfig_lib.in (bindir): New variable.
32276 (grub_mkrelpath): Likewise.
32277 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32278
32279 * util/probe.c (probe): Make the file path relative to its root.
32280 Change a info message to use the GRUB path. Enable again the
32281 check if we can read the file with GRUB facilities.
32282
32283 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32284 to its root.
32285
11d9778b
FZ
322862009-11-24 Felix Zielcke <fzielcke@z-51.de>
32287
32288 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32289 platform.
32290
4465287d
FZ
322912009-11-24 Felix Zielcke <fzielcke@z-51.de>
32292
32293 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32294 strncmp().
32295
62b47f22
FZ
322962009-11-24 Felix Zielcke <fzielcke@z-51.de>
32297
32298 * util/getroot.c (grub_util_is_dmraid): New function.
32299 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32300 devices as normal ones, not as LVM.
32301
1eafb9b9 323022009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32303
32304 * conf/common.rmk: Add grub-gettext_lib target and updates
32305 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32306 LDFLAGS.
32307 * gettext/gettext.c: New file. (Reads mo files).
32308 * include/grub/file.h (grub_file_pread): New prototype.
32309 * include/grub/i18n.h (_): New prototype.
32310 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32311 prototypes.
32312 * kern/misc.c (grub_gettext_dummy): New function.
32313 * normal/menu_text.c: Include <grub/i18n.h>.
32314 * normal/menu_text.c (print_timeout): Gettexttize string.
32315 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32316 * po/POTFILES: Add `normal/menu_text.c'.
32317 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32318 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32319 gettext module and defines locale_dir and lang in grub.cfg.
32320 * NEWS: Add gettext support.
32321
0fdb2568
RM
323222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32323
32324 * util/hostdisk.c: Include `<grub/i18n.h>'.
32325 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32326 (make_device_name): Rewrite using asprintf.
32327 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32328 (find_system_device): If a device is not found, generate one just
32329 by reusing the OS path name.
32330 (read_device_map): Make it permissible for device.map not to exist.
32331
f515aa62
RM
323322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32333
32334 * script/sh/execute.c: Move from here ...
32335 * script/execute.c: ... to here. Update all users.
32336 * script/sh/function.c: Move from here ...
32337 * script/function.c: ... to here. Update all users.
32338 * script/sh/lexer.c: Move from here ...
32339 * script/lexer.c: ... to here. Update all users.
32340 * script/sh/main.c: Move from here ...
32341 * script/main.c: ... to here. Update all users.
32342 * script/sh/parser.y: Move from here ...
32343 * script/parser.y: ... to here. Update all users.
32344 * script/sh/script.c: Move from here ...
32345 * script/script.c: ... to here. Update all users.
32346
f84b481b
RM
323472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32348
32349 * configure.ac: Detect all `emu' platforms. Define
32350 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32351 --enable-grub-emu logic. Disable include/grub/machine
32352 symlink on `emu' platforms.
32353
32354 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32355 * gensymlist.sh.in: Likewise.
32356
32357 * include/grub/i386/coreboot/machine.h: Remove file.
32358 * include/grub/i386/efi/machine.h: Likewise.
32359 * include/grub/i386/ieee1275/machine.h: Likewise.
32360 * include/grub/i386/pc/machine.h: Likewise.
32361 * include/grub/i386/qemu/machine.h: Likewise.
32362 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32363 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32364 * include/grub/x86_64/efi/machine.h: Likewise.
32365
32366 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32367 * commands/halt.c: Likewise.
32368 * commands/reboot.c: Likewise.
32369 * include/grub/autoefi.h: Likewise.
32370 * include/grub/i386/at_keyboard.h: Likewise.
32371 * include/grub/i386/kernel.h: Likewise.
32372 * include/grub/i386/loader.h: Likewise.
32373 * include/grub/i386/pc/memory.h: Likewise.
32374 * kern/dl.c: Likewise.
32375 * kern/i386/coreboot/init.c: Likewise.
32376 * loader/i386/bsd.c: Likewise.
32377 * loader/i386/linux.c: Likewise.
32378 * loader/multiboot_loader.c: Likewise.
32379 * term/i386/pc/serial.c: Likewise.
32380 * term/usb_keyboard.c: Likewise.
32381
32382 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32383 `<grub/machine/machine.h>'
32384 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32385 * util/misc.c: Remove `<grub/machine/machine.h>' and
32386 `<grub/machine/time.h>'.
32387
32388 * Makefile.in (enable_grub_emu): Remove variable.
32389 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32390
32391 * conf/any-emu.rmk: New file.
32392 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32393 (grub_emu_init.c): Move from here ...
32394 * conf/any-emu.rmk: ... to here.
32395
32396 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32397 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32398 * conf/any-emu.rmk: ... to here.
32399
4efeab03
RM
324002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32401
32402 * include/grub/parser.h (grub_parser_register): Document need
32403 of `name' parameter.
32404 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32405 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32406 "sh" to "grub".
32407
ea1dd8bf
RM
324082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32409
32410 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32411 `$(XGETTEXT)'.
32412 * include/grub/i18n.h (N_): New macro.
32413 * util/mkisofs/mkisofs.h: Likewise.
32414 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32415 around N_().
32416 (usage): Use gettext() to translate help strings when printing them.
32417
0c140626
RM
324182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32419
32420 Based on patch from Bean
32421 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32422
32423 * video/efi_fb.c: New file.
32424 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32425 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32426 variables.
32427 * conf/x86_64-efi.rmk: Likewise.
32428
87d58298
RM
324292009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32430
32431 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32432 * util/i386/pc/grub-setup.c: Likewise.
32433
994cc3a3
ST
324342009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32435
32436 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32437 <hurd/fs.h>
32438 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32439 file_get_storage_info to implement grub_guess_root_device.
32440
26a61d6a
FZ
324412009-11-21 Felix Zielcke <fzielcke@z-51.de>
32442
32443 * Makefile.in (target): Use make's builtin $(shell) function
32444 instead of calling directly $(SHELL) to create the locale directories,
32445 inside the $(foreach) function.
32446
74ff1dd5
FZ
324472009-11-21 Felix Zielcke <fzielcke@z-51.de>
32448
32449 * util/grub-mkrescue.in: Print an error and usage if output option
32450 has not been given.
32451
0b787d0e
FZ
324522009-11-21 Felix Zielcke <fzielcke@z-51.de>
32453
32454 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32455 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32456 root and /boot are on different devices.
32457
1164b270
RM
324582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 Fix build for srcdir != objdir.
32461
32462 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32463 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32464 $(srcdir).
32465 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32466 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32467 reference for input.
32468
13774a2f
RM
324692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32472 or hardlinking it). Remove -J option, Joliet is not compatible with
32473 multiple source directories.
32474
efda854e
RM
324752009-11-21 Carles Pina i Estany <carles@pina.cat>
324762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32479 (process_input_dir): New function. Process an arbitrary input
32480 directory.
32481 Misc adjustments to support both "override mode" and system-wide mode.
32482
6c09890c
FZ
324832009-11-20 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * configure.ac (UNIFONT_BDF): Rename to ...
32486 (FONT_SOURCE): ... this. Update all users.
32487
a797824f
FZ
324882009-11-20 Felix Zielcke <fzielcke@z-51.de>
32489
32490 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32491 to the list of unifont files to look for.
32492
cd4f42b0
RM
324932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32494
32495 Patch from Joe Auricchio <jauricchio@gmail.com>
32496 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32497 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32498 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32499
393c783d
FZ
325002009-11-19 Felix Zielcke <fzielcke@z-51.de>
32501
32502 * Makefile.in (install-local): Add a missing backslash.
32503
b2f1e327
FZ
325042009-11-19 Felix Zielcke <fzielcke@z-51.de>
32505
32506 * include/grub/x86_64/io.h: New file.
32507
f577f7a0
RM
325082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32511 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32512 Include `"progname.h"'.
32513 (main): Initialize gettext.
32514 * util/i386/pc/grub-setup.c: Gettexttize.
32515 * util/i386/pc/grub-mkimage.c: Likewise.
32516
32517 * Makefile.in (po/*.po): Redefine as ...
32518 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32519
3bc7896c
RM
32520 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32521
c37943b6
RM
325222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32523
32524 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32525 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32526 (program_name): Remove.
32527 (main): Initialize gettext support.
6323f705
RM
32528 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32529 Include `<libintl.h>'.
32530 (_): New macro.
c37943b6
RM
32531
32532 * util/mkisofs/eltorito.c: Gettexttize.
32533 * util/mkisofs/joliet.c: Likewise.
32534 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32535 * util/mkisofs/multi.c: Likewise.
32536 * util/mkisofs/rock.c: Likewise.
32537 * util/mkisofs/tree.c: Likewise.
32538 * util/mkisofs/write.c: Likewise.
32539
3bc7896c
RM
32540 * po/POTFILES: Update with new files.
32541
5ce77c6e
RM
325422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32543
32544 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32545 * util/mkisofs/iso9660.h: Likewise.
32546 * util/mkisofs/joliet.c: Likewise.
32547 * util/mkisofs/mkisofs.c: Likewise.
32548 * util/mkisofs/mkisofs.h: Likewise.
32549 * util/mkisofs/rock.c: Likewise.
32550 * util/mkisofs/tree.c: Likewise.
32551 * util/mkisofs/write.c: Likewise.
32552
32553 * util/mkisofs/eltorito.c (rcsid): Remove.
32554 * util/mkisofs/hash.c: Likewise.
32555 * util/mkisofs/joliet.c: Likewise.
32556 * util/mkisofs/name.c: Likewise.
32557 * util/mkisofs/rock.c: Likewise.
32558 * util/mkisofs/tree.c: Likewise.
32559 * util/mkisofs/write.c: Likewise.
32560
1dabbc77
RM
325612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32564 instead of static allocation.
32565 * util/mkisofs/match.h: Likewise.
32566
633877cb
RM
325672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32568
3bc7896c
RM
32569 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32570 and `util/grub.d/10_linux.in'.
633877cb
RM
32571 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32572 translatable Shell files.
32573
af1c0c85
RM
325742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32575
32576 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32577
769ae37b
RM
325782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32579
32580 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32581 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32582 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32583 Add gettext initialization.
32584 (kfreebsd_entry): Make menuentry output translatable.
32585
325862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32587
32588 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32589 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32590 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32591 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32592 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32593 * po/LINGUAS: New file.
769ae37b
RM
32594
325952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32596
32597 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32598 other things).
32599 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32600 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32601 bindtextdomain() calls for gettext initialization.
32602
326032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32604
32605 * gnulib/progname.c: New file (imported from Gnulib).
32606 * gnulib/progname.h: Likewise.
32607 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32608 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32609 (usage): Replace `progname' with `program_name'.
32610 (main): Use set_program_name() for program name initialization.
32611
326122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32613
32614 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32615 from here ...
32616 * Makefile.in (CPPFLAGS): ... to here.
32617
326182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32619
32620 * aclocal.m4: Move from here ...
32621 * acinclude.m4: ... to here.
32622 * autogen.sh: Add call to `aclocal'.
32623 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32624
326252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32628 (LINGUAS): New variable.
32629 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32630 (install-local): Install MO files.
32631 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32632 * include/grub/i18n.h: New file.
3bc7896c
RM
32633 * po/POTFILES: New file.
32634 * po/ca.po: New file.
769ae37b
RM
32635 * util/grub.d/10_linux.in (bindir): New variable.
32636 Add gettext initialization.
32637 (linux_entry): Make menuentry output translatable.
32638 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32639 (usage): Make --help output translatable.
32640 (main): Initialize gettext.
32641
02c0a6ad
RM
326422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32643
32644 * import_gcry.py: New file (written by Vladimir with minor
32645 adjustments).
32646 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32647 ciphers.
32648 * INSTALL: Document that Python is required for bootstrap.
32649
326502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 Import ciphers from libgcrypt 1.4.4.
32653
32654 * lib/libgcrypt/cipher/ChangeLog
32655 * lib/libgcrypt/cipher/ac.c
32656 * lib/libgcrypt/cipher/arcfour.c
32657 * lib/libgcrypt/cipher/bithelp.h
32658 * lib/libgcrypt/cipher/blowfish.c
32659 * lib/libgcrypt/cipher/camellia-glue.c
32660 * lib/libgcrypt/cipher/camellia.c
32661 * lib/libgcrypt/cipher/camellia.h
32662 * lib/libgcrypt/cipher/cast5.c
32663 * lib/libgcrypt/cipher/cipher.c
32664 * lib/libgcrypt/cipher/crc.c
32665 * lib/libgcrypt/cipher/des.c
32666 * lib/libgcrypt/cipher/dsa.c
32667 * lib/libgcrypt/cipher/ecc.c
32668 * lib/libgcrypt/cipher/elgamal.c
32669 * lib/libgcrypt/cipher/hash-common.c
32670 * lib/libgcrypt/cipher/hash-common.h
32671 * lib/libgcrypt/cipher/hmac-tests.c
32672 * lib/libgcrypt/cipher/md.c
32673 * lib/libgcrypt/cipher/md4.c
32674 * lib/libgcrypt/cipher/md5.c
32675 * lib/libgcrypt/cipher/primegen.c
32676 * lib/libgcrypt/cipher/pubkey.c
32677 * lib/libgcrypt/cipher/rfc2268.c
32678 * lib/libgcrypt/cipher/rijndael-tables.h
32679 * lib/libgcrypt/cipher/rijndael.c
32680 * lib/libgcrypt/cipher/rmd.h
32681 * lib/libgcrypt/cipher/rmd160.c
32682 * lib/libgcrypt/cipher/rsa.c
32683 * lib/libgcrypt/cipher/seed.c
32684 * lib/libgcrypt/cipher/serpent.c
32685 * lib/libgcrypt/cipher/sha1.c
32686 * lib/libgcrypt/cipher/sha256.c
32687 * lib/libgcrypt/cipher/sha512.c
32688 * lib/libgcrypt/cipher/tiger.c
32689 * lib/libgcrypt/cipher/twofish.c
32690 * lib/libgcrypt/cipher/whirlpool.c
32691
af2f93ac
RM
326922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 Fix build for systems without error().
32695
32696 * gnulib/error.c: New file (imported from Gnulib).
32697 * gnulib/error.h: Likewise.
32698 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32699 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32700 (this variable is now used by error()).
32701
73fb3dd5
FZ
327022009-11-16 Felix Zielcke <fzielcke@z-51.de>
32703
814f5e96
FZ
32704 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32705 instead of relying that char is signed.
73fb3dd5 32706
a691ca33
VS
327072009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32708
32709 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32710 blocksize different from specified.
32711 (grub_pxefs_read): Likewise.
32712
2af8f0f4
FZ
327132009-11-16 Felix Zielcke <fzielcke@z-51.de>
32714
32715 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32716
32717 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32718 (grub_ata_readwrite): Likewise. Update 2 format strings.
32719 (grub_atapi_read): Likewise.
32720
32721 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32722 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32723 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32724 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32725 (ata_mod_LDFLAGS): Move from here ...
32726 * conf/i386.rmk: ... to here ...
32727 * conf/x86_64-efi.rmk: ... and here.
32728 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32729 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32730
83bdecaf
RM
327312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32732
32733 Relicense multiboot.h, with RMS' blessing.
32734
32735 * include/multiboot.h: Change to X11 license.
32736
fd6fd3d7
RM
327372009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32738
32739 Support --version in grub-mkisofs.
32740
32741 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32742 (OPTION_VERSION): New macro.
32743 (ld_options): Recognize --version.
32744 (usage): Move `program_name' from here ...
32745 (program_name): ... to here. Add `static' qualifier.
32746 (main): Recognize `OPTION_VERSION'.
32747
16a88c49
FZ
327482009-11-15 Felix Zielcke <fzielcke@z-51.de>
32749
32750 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32751 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32752
a4158476
RM
327532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32754
32755 Fix help2man generation for mkisofs.
32756
32757 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32758 (usage): Send output to stdout (rather than stderr).
32759
fc2208b0
RM
327602009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32761
32762 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32763 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32764 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32765 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32766 (bin_SCRIPTS): Add `grub-mkfloppy'.
32767 (grub_mkfloppy_SOURCES): New variable.
32768
32769 * util/grub-mkrescue.in: New file.
32770 * util/i386/pc/grub-mkfloppy.in: New file.
32771
32772 * util/i386/coreboot/grub-mkrescue.in: Remove.
32773 * util/i386/pc/grub-mkrescue.in: Remove.
32774
8d0edf4a
RM
327752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32776
32777 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32778 from here ...
32779 * include/multiboot.h (struct multiboot_header): ... to here. Update
32780 all users.
32781 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32782 from here ...
32783 * include/multiboot.h (struct multiboot_info): ... to here. Update
32784 all users.
32785 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32786 from here ...
32787 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32788 Update all users.
32789 * include/grub/multiboot.h (struct grub_mod_list): Move
32790 from here ...
32791 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32792 Update all users.
32793
a73f5969
RM
327942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * include/multiboot2.h (multiboot_word): Rename from this ...
32797 (multiboot2_word): ... to this. Update all users.
32798 (multiboot_header): Rename from this ...
32799 (multiboot2_header): ... to this. Update all users.
32800 (multiboot_tag_header): Rename from this ...
32801 (multiboot2_tag_header): ... to this. Update all users.
32802 (multiboot_tag_start): Rename from this ...
32803 (multiboot2_tag_start): ... to this. Update all users.
32804 (multiboot_tag_name): Rename from this ...
32805 (multiboot2_tag_name): ... to this. Update all users.
32806 (multiboot_tag_module): Rename from this ...
32807 (multiboot2_tag_module): ... to this. Update all users.
32808 (multiboot_tag_memory): Rename from this ...
32809 (multiboot2_tag_memory): ... to this. Update all users.
32810 (multiboot_tag_unused): Rename from this ...
32811 (multiboot2_tag_unused): ... to this. Update all users.
32812 (multiboot_tag_end): Rename from this ...
32813 (multiboot2_tag_end): ... to this. Update all users.
32814
1c8927f0
RM
328152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32818 this platform we should support Multiboot1 first.
32819
32820 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32821 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32822 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32823
6e1e0d89
RM
328242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32825
32826 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32827 of write calls (converting them to fwrite() if they aren't already).
32828 (get_torito_desc): Likewise.
32829 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32830
7f2b34d8
RM
328312009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32832
32833 * util/i386/pc/grub-install.in: Move from here ...
32834 * util/grub-install.in: ... to here. Update all users.
32835
c0ef3311
CW
328362009-11-11 Colin Watson <cjwatson@ubuntu.com>
32837
32838 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32839
e1f240ff
RM
328402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 Support for El Torito without floppy emulation.
32843
32844 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32845 (init_boot_catalog): Improve error handling.
32846 (get_torito_desc): Don't use floppy emulation unless requested by
32847 user. Patch boot information table when requested via
32848 `-boot-info-table'.
32849 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32850 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32851 (use_boot_info_table): New variables.
32852 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32853 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32854 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32855 `--eltorito-emul-floppy'.
32856 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32857 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32858 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32859 (use_boot_info_table, get_731): New prototypes.
32860 * util/mkisofs/write.c (get_731): New function.
32861
af7d4de5
FZ
328622009-11-11 Felix Zielcke <fzielcke@z-51.de>
32863
32864 Fix the generation of the man page.
32865
32866 * util/pc/i386/grub-install.in: Source
32867 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32868
2c55dbc0
RM
328692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 Large file support for grub-mkisofs.
32872
32873 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32874 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32875 (session_start): Upgrade type to `uint64_t'. Update all users.
32876 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32877 (struct directory_entry): Upgrade type of `starting_block' and
32878 `size' to `uint64_t'. Update all users.
32879 (struct deferred): Remove unused structure.
32880 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32881 Update all users.
32882 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32883 file is larger than `UINT32_MAX'.
32884 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32885 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32886 return value.
32887 (struct deferred_write): Upgrade type of `extent' and `size' to
32888 `uint64_t'. Update all users.
32889 (last_extent_written): Upgrade type to `uint64_t'. Update all
32890 users.
32891 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32892 Update all users. Upgrade type of `remain' to `int64_t' and
32893 `use' to `size_t'. Use error() to handle fread() errors.
32894 (write_files): Rely on write_one_file() rather than calling
32895 xfwrite() directly.
32896
6a9cead5
FZ
328972009-11-09 Felix Zielcke <fzielcke@z-51.de>
32898
32899 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32900
4825d790
RM
329012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32902
32903 * util/mkisofs/fnmatch.c: Remove.
32904 * util/mkisofs/getopt1.c: Likewise.
32905 * util/mkisofs/getopt.c: Likewise.
32906 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32907 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32908 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32909 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32910 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32911
32912 * configure.ac: Detect `mingw32msvc' host_os.
32913 Check for lstat(), getuid() and getgid().
32914
32915 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32916 instances of `u_char' with `uint8_t'.
32917
32918 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32919 [!HAVE_GETUID] (getuid): New function (stub).
32920 [!HAVE_GETGID] (getgid): Likewise.
32921 [!HAVE_LSTAT] (lstat): Likewise.
32922 [!S_IROTH] (S_IROTH): New macro (dummy).
32923 [!S_IRGRP] (S_IRGRP): Likewise.
32924
84b860d8
RM
329252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32926
32927 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32928 conditional expression).
32929
66e9b712
RM
329302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32931
32932 Import from Gnulib.
32933
32934 * gnulib/fnmatch.c: New file.
32935 * gnulib/fnmatch.h: Likewise.
32936 * gnulib/fnmatch_loop.c: Likewise.
32937 * gnulib/getopt.c: Likewise.
32938 * gnulib/getopt.h: Likewise.
32939 * gnulib/getopt1.c: Likewise.
32940 * gnulib/getopt_int.h: Likewise.
32941 * gnulib/gettext.h: Likewise.
32942
34f4a5b0
RM
329432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32946 * normal/handler.c (read_handler_list): Likewise.
32947
ac451143
RM
329482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 Misc cleanup.
32951
32952 * kern/command.c (grub_register_command_prio): Use
32953 grub_zalloc() instead of explicitly zeroing data.
32954 * kern/list.c: Include `<grub/mm.h>'.
32955 (grub_named_list_find): Replace `0' with `NULL'.
32956 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32957 (fs_module_list): Change type to `grub_named_list_t'. Update all
32958 users.
32959 * normal/dyncmd.c (read_command_list): Add space between function
32960 call and parenthesis.
32961 * normal/handler.c (read_handler_list): Likewise.
32962
4089b167
RM
329632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32964
32965 * normal/auth.c (punishment_delay): Moved from here ...
32966 (grub_auth_strcmp): ... to here (inside function).
32967
325f5037
RM
329682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * include/grub/list.h (struct grub_named_list): Remove `const'
32971 qualifier from `name'.
32972 (struct grub_prio_list): Likewise.
32973
7aea29a3
RM
329742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32975
32976 * normal/auth.c: Include `<grub/time.h>'.
32977 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32978
3fd6f044
RM
329792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32980
32981 * normal/auth.c (punishment_delay): New variable.
32982 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32983 (grub_auth_check_authentication): Punish failed login attempts with
32984 an incremental (2^N) delay.
32985
a4cd68e4
RM
329862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32989 path with $(srcdir).
32990
7ad12f43
VS
329912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32992
32993 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32994
c1129f03
RM
329952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32996
32997 * util/i386/coreboot/grub-mkrescue.in: New file.
32998 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32999 variables.
33000
33001 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33002 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33003 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33004 requirements.
33005 * util/mkisofs/defaults.h: New file.
33006 * util/mkisofs/eltorito.c: Likewise.
33007 * util/mkisofs/exclude.h: Likewise.
33008 * util/mkisofs/fnmatch.c: Likewise.
33009 * util/mkisofs/getopt.c: Likewise.
33010 * util/mkisofs/getopt1.c: Likewise.
33011 * util/mkisofs/hash.c: Likewise.
33012 * util/mkisofs/include/fctldefs.h: Likewise.
33013 * util/mkisofs/include/mconfig.h: Likewise.
33014 * util/mkisofs/include/prototyp.h: Likewise.
33015 * util/mkisofs/include/statdefs.h: Likewise.
33016 * util/mkisofs/iso9660.h: Likewise.
33017 * util/mkisofs/joliet.c: Likewise.
33018 * util/mkisofs/match.c: Likewise.
33019 * util/mkisofs/match.h: Likewise.
33020 * util/mkisofs/mkisofs.c: Likewise.
33021 * util/mkisofs/mkisofs.h: Likewise.
33022 * util/mkisofs/multi.c: Likewise.
33023 * util/mkisofs/name.c: Likewise.
33024 * util/mkisofs/rock.c: Likewise.
33025 * util/mkisofs/tree.c: Likewise.
33026 * util/mkisofs/write.c: Likewise.
33027
ec8bb77d
VS
330282009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33029
33030 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33031 being insecure.
33032
3716b12c
RM
330332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33036 `grub-mkimage' (and use $0 when possible).
33037
b97b7b91
RM
330382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33041 error message for excessively large memory map.
33042
04114812
RM
330432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33044
33045 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33046 executable bit.
33047
e4eb2373
RM
330482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33051 message for coreboot users.
33052
c926e1d5 330532009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33054
33055 Fix build with GNU gold.
33056
33057 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33058 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33059 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33060 link addresses.
33061 * aclocal.m4: Likewise.
33062
86e5b1db 330632009-11-04 Felix Zielcke <fzielcke@z-51.de>
33064
33065 * configure.ac (AC_PREREQ): Bump to 2.59d.
33066 * INSTALL: Make it more clear when Autoconf and Ruby are
33067 needed and when to run `./autogen.sh'.
33068
246cd78f 330692009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33070
33071 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33072 OSes.
33073
4f9dfb37 330742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33075
33076 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33077
b82bd5e1 330782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33079
33080 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33081 giving it to GNU Mach.
33082
ff1a9bca 330832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33084
33085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33086 GNU partition number to get internal GRUB partition number.
33087
61697d9c 330882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33089
33090 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33091 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33092
a50569e1 330932009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33094
33095 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33096 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33097 case.
33098
5b153867 330992009-11-01 Felix Zielcke <fzielcke@z-51.de>
33100
33101 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33102
d9e2cd70 331032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33104
33105 Fix build problem.
33106
33107 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33108 `-isystem=$(srcdir)/include'.
33109
805111a4 331102009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33111
33112 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33113 checked (grub-install doesn't currently rely on it).
33114
fa6e945f 331152009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33116
33117 Revert SVN r2660.
33118
33119 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33120 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33121 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33122 * conf/i386-ieee1275.rmk: Likewise.
33123 * conf/i386-pc.rmk: Likewise.
33124 * conf/powerpc-ieee1275.rmk: Likewise.
33125 * conf/sparc64-ieee1275.rmk: Likewise.
33126 * conf/x86_64-efi.rmk: Likewise.
33127
cee15086 331282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33129
33130 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33131
95b9239e 331322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33133
33134 * include/grub/misc.h: Stop checking for APPLE_CC.
33135
2ed19dfd 331362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33139 doesn't cause an infinite call loop.
33140
fdcdde19 331412009-10-28 Felix Zielcke <fzielcke@z-51.de>
33142
33143 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33144 strings.
33145
cefabfe1 331462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33149 variable.
33150 * Makefile.in: Likewise.
33151
ed96ab6d 331522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33155
0579b753 331562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33157
33158 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33159
478df409 331602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33161
33162 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33163
083d1679 331642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33165
33166 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33167 from here ...
33168 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33169
5947ae32 331702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33171
33172 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33173 in $(MAKEINFO) invocation. This makes it clear in output that
33174 errors are being ignored.
33175
94180ff6 331762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33179 from here ...
33180 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33181 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33182 * conf/i386-ieee1275.rmk: Likewise.
33183 * conf/i386-pc.rmk: Likewise.
33184 * conf/powerpc-ieee1275.rmk: Likewise.
33185 * conf/sparc64-ieee1275.rmk: Likewise.
33186 * conf/x86_64-efi.rmk: Likewise.
33187
9031b03a 331882009-10-26 Colin Watson <cjwatson@ubuntu.com>
33189
33190 * util/grub-editenv.c (main): If only a command is given, use
33191 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33192 (usage): FILENAME is now optional and has a default.
33193
e4f6809b 331942009-10-26 Colin Watson <cjwatson@ubuntu.com>
33195
33196 Improve grub-mkconfig performance when there are several menu
33197 entries on a single filesystem.
33198
33199 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33200 prepare_grub_to_access_device.
33201 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33202 * util/grub.d/30_os-prober.in: Likewise.
33203
67937d4d 332042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33205
33206 * util/grub.d/10_freebsd.in: Remove.
33207 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33208 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33209
ee3756cc 332102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33211
5c35048e 33212 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33213
4dea1c6f 332142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33215
33216 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33217 grub_util_error() call.
33218
042484d7 332192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33220
33221 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33222 `reserved_first_sector' member.
33223 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33224 `reserved_first_sector' to 1.
33225 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33226 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33227 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33228 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33229 filesystems which begin at first sector.
33230 (options): New option --skip-fs-probe.
33231 (main): Handle --skip-fs-probe and pass it to setup().
33232
d64448a7 332332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33234
33235 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33236 (memset): Fix function prototype.
33237
508d42ec 332382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
332392009-10-25 Vasily Averin <vvs@parallels.com>
33240
33241 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33242 `dirent.direntlen == 0'.
33243
b240e30c 332442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33245
33246 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33247 `cpio'.
33248 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33249
346e7fbe 332502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33251
33252 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33253 `__trampoline_setup' and `__ucmpdi2'.
33254 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33255 that libgcc provides.
33256
cdb308b0 332572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33258
33259 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33260 * include/grub/sparc64/libgcc.h (memset): Likewise.
33261 * include/grub/misc.h (memset, memcmp): New function prototypes.
33262
fb26abc2 332632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33264
33265 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33266 `cpio'.
33267 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33268
f6693890 332692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33270
33271 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33272 * docs/grub.cfg: Compensate for recent change in multiboot
33273 loader (since 2009-08-14 it won't pass filename to payload).
33274 * util/grub.d/10_hurd.in: Likewise.
33275
0933cdc0 332762009-10-21 Felix Zielcke <fzielcke@z-51.de>
33277
33278 * config.guess: Update to latest version from config git
33279 repository.
33280 * config.sub: Likewise.
33281
3b2fe8c2 332822009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33283
33284 Fix build on sparc64.
33285
33286 * configure.ac: Perform checks for libgcc symbols before
33287 adding `-nostdlib' to LDFLAGS.
33288
46695a62 332892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33290
33291 Let user specify OpenBSD root device.
33292
33293 * loader/i386/bsd.c (openbsd_root): New variable.
33294 (openbsd_opts): New option 'root'.
33295 (OPENBSD_ROOT_ARG): New macro.
33296 (grub_openbsd_boot): Use 'openbsd_root'.
33297 (grub_cmd_openbsd): Fill 'openbsd_root'.
33298
d2b6b7fc 332992009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33300
33301 * NEWS: Misc adjustments.
33302
421bd7ac 333032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33304
33305 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33306
f1d29d87 333072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33308
33309 * configure.ac: Bump version to 1.97.
33310
6f3cd880 333112009-10-16 Colin Watson <cjwatson@ubuntu.com>
33312
33313 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33314 -mno-3dnow on x86 architectures. Some toolchains enable these
33315 features by default, but they rely on registers that aren't enabled
33316 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33317
035f7122 333182009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33319
33320 Make entry text a bit more readable.
33321
33322 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33323
44998e58 333242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33325
33326 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33327
cd2851b3 333282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33329
33330 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33331 operations.
33332
c6f3b249 333332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33334
33335 * configure.ac: Add missing dollar.
33336
6b5886ba 333372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33338
33339 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33340
33341 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33342 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33343 exports.
33344 * include/grub/sparc64/libgcc.h: Likewise. Use
33345 preprocessor conditionals.
33346
e9d66f6d 333472009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33348
33349 * conf/common.rmk (grub-dumpbios): Remove rule.
33350 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33351 * util/grub-dumpbios.in: Remove file.
33352
9155bc17 333532009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33354
33355 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33356 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33357
33358 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33359 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33360 users.
33361
33362 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33363 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33364 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33365 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33366 users.
33367
bf7f7a18 333682009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33369
33370 * term/tparm.c: Switch to GPLv3.
33371
86564c26 333722009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * include/grub/i386/cpuid.h: Add header protection.
33375
5c936493 333762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33377
33378 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33379
33380 * include/grub/i386/cpuid.h: New file.
33381 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33382 (has_longmode): Rename to ...
33383 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33384 `static' attribute.
33385 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33386 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33387 on a CPU that doesn't implement AMD64 instruction set.
33388
186e7cf2 333892009-10-06 Colin Watson <cjwatson@ubuntu.com>
33390
33391 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33392 that version.texi is rebuilt on version number changes.
33393
83b65c4a 333942009-10-06 Colin Watson <cjwatson@ubuntu.com>
33395
33396 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33397 Fixes bug #27602.
33398
d244281c 333992009-10-06 Colin Watson <cjwatson@ubuntu.com>
33400
33401 * util/i386/pc/grub-install.in: Source
33402 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33403 that the --grub-probe option will work.
33404 * util/sparc64/ieee1275/grub-install.in: Likewise.
33405
da25306d 334062009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33407
33408 * configure.ac: Bump version to 1.97~beta4.
33409
e8ee83c0 334102009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33411
33412 Resync grub-mkdevicemap in x86_64-efi.
33413
33414 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33415 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33416 `util/devicemap.c'.
33417
50dcabcf 334182009-10-01 Colin Watson <cjwatson@ubuntu.com>
33419
33420 * util/grub-editenv.c (create_envblk_file): Write new block with a
33421 .new suffix and then rename it into place, to ensure atomic
33422 creation.
33423
0e51c3a7 334242009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33425
33426 Do not automatically install headers.
33427
33428 * Makefile.in (include_DATA): Remove. Update all users.
33429
31299a95 334302009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33433 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33434
33435 * util/osdetect.lua: Remove.
33436 * script/lua/lauxlib.c: Likewise.
33437 * script/lua/ldebug.c: Likewise.
33438 * script/lua/grub_main.c: Likewise.
33439 * script/lua/lauxlib.h: Likewise.
33440 * script/lua/ldebug.h: Likewise.
33441 * script/lua/ltablib.c: Likewise.
33442 * script/lua/liolib.c: Likewise.
33443 * script/lua/lstrlib.c: Likewise.
33444 * script/lua/lualib.h: Likewise.
33445 * script/lua/ldo.c: Likewise.
33446 * script/lua/ldump.c: Likewise.
33447 * script/lua/ldo.h: Likewise.
33448 * script/lua/loslib.c: Likewise.
33449 * script/lua/lundump.c: Likewise.
33450 * script/lua/grub_lib.c: Likewise.
33451 * script/lua/ldblib.c: Likewise.
33452 * script/lua/lundump.h: Likewise.
33453 * script/lua/lmem.c: Likewise.
33454 * script/lua/grub_lib.h: Likewise.
33455 * script/lua/lmathlib.c: Likewise.
33456 * script/lua/lstate.c: Likewise.
33457 * script/lua/ltm.c: Likewise.
33458 * script/lua/lvm.c: Likewise.
33459 * script/lua/lmem.h: Likewise.
33460 * script/lua/lstate.h: Likewise.
33461 * script/lua/ltm.h: Likewise.
33462 * script/lua/ltable.c: Likewise.
33463 * script/lua/lvm.h: Likewise.
33464 * script/lua/llex.c: Likewise.
33465 * script/lua/lgc.c: Likewise.
33466 * script/lua/grub_lua.h: Likewise.
33467 * script/lua/loadlib.c: Likewise.
33468 * script/lua/lfunc.c: Likewise.
33469 * script/lua/lopcodes.c: Likewise.
33470 * script/lua/lparser.c: Likewise.
33471 * script/lua/ltable.h: Likewise.
33472 * script/lua/llex.h: Likewise.
33473 * script/lua/lgc.h: Likewise.
33474 * script/lua/lfunc.h: Likewise.
33475 * script/lua/lbaselib.c: Likewise.
33476 * script/lua/lopcodes.h: Likewise.
33477 * script/lua/lparser.h: Likewise.
33478 * script/lua/lzio.c: Likewise.
33479 * script/lua/linit.c: Likewise.
33480 * script/lua/lobject.c: Likewise.
33481 * script/lua/llimits.h: Likewise.
33482 * script/lua/lstring.c: Likewise.
33483 * script/lua/lzio.h: Likewise.
33484 * script/lua/lapi.c: Likewise.
33485 * script/lua/lcode.c: Likewise.
33486 * script/lua/lua.h: Likewise.
33487 * script/lua/lobject.h: Likewise.
33488 * script/lua/lstring.h: Likewise.
33489 * script/lua/lapi.h: Likewise.
33490 * script/lua/lcode.h: Likewise.
33491 * script/lua/luaconf.h: Likewise.
33492
cb8a2c38 334932009-09-26 Colin Watson <cjwatson@ubuntu.com>
33494
33495 * docs/grub.texi (Command-line and menu entry commands): Document
33496 date and echo commands.
33497
6b9b6276 334982009-09-24 Pavel Roskin <proski@gnu.org>
33499
33500 * include/grub/kernel.h (struct grub_module_header): Remove
33501 `grub_module_header_types'. Make `type' unsigned. Make `size'
33502 32-bit on all platforms.
33503 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33504 8-bit field. Use grub_host_to_target32() for `size'.
33505 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33506 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33507 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33508
4e5a02a7 335092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33510
33511 Fix "lost keypress" bug in at_keyboard.
33512
33513 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33514 Checks for readyness of input buffer (without flushing it).
33515 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33516 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33517
c6dcedf6 335182009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33519
33520 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33521 size check within GRUB_MACHINE_PCBIOS section.
33522
74c958b1 335232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33524
33525 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33526 return value.
33527 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33528 KEYBOARD_ISREADY check.
33529 (grub_at_keyboard_checkkey): Rename to ...
33530 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33531 Remove gratuitous cast.
33532
ff420223 335332009-09-23 Colin Watson <cjwatson@ubuntu.com>
33534
33535 * configure.ac: Call AC_PROG_MKDIR_P.
33536 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33537 version.texi in $(builddir) rather than $(srcdir).
33538 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33539 to makeinfo's @include search path.
33540
d96875df 335412009-09-23 Felix Zielcke <fzielcke@z-51.de>
33542
33543 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33544
9b3f8365 335452009-09-23 Felix Zielcke <fzielcke@z-51.de>
33546
33547 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33548 for `*.dpkg-new'.
33549
c44c90db 335502009-09-21 Colin Watson <cjwatson@ubuntu.com>
33551
33552 Build info documentation. Some code borrowed from Automake.
33553
33554 * configure.ac: Check for makeinfo.
33555 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33556 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33557 docs/version.texi.
33558 (MOSTLYCLEANFILES): Add vti.tmp.
33559 (docs/version.texi, docs/stamp-vti): Update automatically.
33560 (docs/grub.info): Build info documentation. Use --force and ignore
33561 errors for now.
33562 (all-local): Add $(INFOS).
33563 (install-local): Install info files.
33564 (uninstall): Uninstall info files.
33565 * docs/version.texi: Remove from revision control. This file is
33566 automatically generated on build now.
33567 * gendistlist.sh: Add `*.info'.
33568
e0b37bb5 335692009-09-21 Felix Zielcke <fzielcke@z-51.de>
33570
33571 * kern/term.c: Fix indentation.
33572
5a78865b 335732009-09-21 Felix Zielcke <fzielcke@z-51.de>
33574
33575 * util/hostdisk.c: Fix a comment.
33576
dace7e8a 335772009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33578
33579 Fix regression introduced in r2539.
33580
33581 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33582 to 0xA1.
33583
a83d079b 335842009-09-19 Colin Watson <cjwatson@ubuntu.com>
33585
33586 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33587 os-prober. Under normal operation, it does not print anything to
33588 stderr; if it does, we need to debug it, and throwing away stderr
33589 makes that excessively difficult.
a83d079b 33590
be94a509 335912009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33592
33593 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33594
63f745e8 335952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33596
33597 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33598 AC_LANG_PROGRAM from autoconf.
33599 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33600 prototypes (fixes warning).
33601
33602 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33603 `--disable-werror' was used.
33604
bbb2a70f 336052009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33606
33607 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33608 uninitialized `lastaddr'.
33609
77c24f1d 336102009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33611
0f0b8c87 33612 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33613
07197f23 336142009-09-14 Colin Watson <cjwatson@ubuntu.com>
33615
33616 * commands/test.c (get_fileinfo): Return immediately if
33617 grub_fs_probe fails.
33618
dabf1798 336192009-09-14 José Martínez <xosemp@gmail.com>
33620
33621 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33622
d52109a7 336232009-09-14 Colin Watson <cjwatson@ubuntu.com>
33624
33625 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33626 output.
33627
56532179 336282009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33629
33630 * configure.ac: Remove --enable-grub-pe2elf. Only build
33631 grub-pe2elf when needed by the build system itself.
33632 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33633
8ef070f5 336342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33635
33636 * configure.ac: Bump version to 1.97~beta3.
33637 * docs/version.texi: Likewise.
33638
61229557 336392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33640
33641 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33642 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33643 from here ...
33644 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33645 (grub_linux_setup_video): ... to here (with some adjustments).
33646
5c9f8d84 336472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33648
33649 Fix memory corruption issue (spotted by Colin Watson).
33650
33651 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33652 causing returned size to be stored in an incorrect memory location.
33653 Fix use of uninitialized value when storing the returned size.
33654
e8f5d6e9 336552009-09-12 Yves Blusseau <blusseau@zetam.org>
33656
33657 Change clean rules to properly remove files
33658
33659 * genmk.rb: add new clean rules
33660 * Makefile.in (clean): add the new targets
33661 (mostlyclean): likewise
33662
cda2a409 336632009-09-11 Colin Watson <cjwatson@ubuntu.com>
33664
33665 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33666 to grub_uint64_t.
33667 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33668 non-resident files.
33669
86695375 336702009-09-11 Colin Watson <cjwatson@ubuntu.com>
33671
33672 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33673 part of bug #27349.
33674
8aa1541a 336752009-09-10 Felix Zielcke <fzielcke@z-51.de>
33676
33677 * util/grub-mkconfig.in: Make the created config mode 400 and
33678 print a warning if it fails.
33679
48d9bb0a 336802009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33681
33682 * util/grub.d/40_custom.in: Ask user to type custom entries below
33683 comment, rather than below 'exec tail' line.
33684
3b0521be 336852009-09-10 Colin Watson <cjwatson@ubuntu.com>
33686
33687 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33688 visible in grub.cfg.
33689
50051d55 336902009-09-10 Colin Watson <cjwatson@ubuntu.com>
33691
33692 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33693 file.
33694
c0d34387 336952009-09-10 Felix Zielcke <fzielcke@z-51.de>
33696
33697 * docs/grub.cfg: Add an example menu entry for memtest86+.
33698
80a608f3 336992009-09-09 Felix Zielcke <fzielcke@z-51.de>
33700
a2094832 33701 * config.guess: Update to latest version from config git.
80a608f3 33702 * config.sub: Likewise.
33703
99423078 337042009-09-08 Colin Watson <cjwatson@ubuntu.com>
33705
33706 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33707 unknown-command case. Fixes bug #27320.
33708
44454e4c 337092009-09-08 Felix Zielcke <fzielcke@z-51.de>
33710
33711 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33712 `help' if the command exists.
33713
e30d87ad 337142009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33715
33716 * INSTALL: Require GCC 4.1.3 or later.
33717
9a86f1ec 337182009-09-06 Yves Blusseau <blusseau@zetam.org>
33719
33720 * Makefile.in (RMKFILES): add i386-qemu.rmk
33721 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33722 $(srcdir)/stamp-h.in
33723
7f26d466 337242009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 * util/grub-probe.c (probe): Comment out buggy codepath, which
33727 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33728 should be re-enabled after 1.97.
33729
3a613259 337302009-09-05 Felix Zielcke <fzielcke@z-51.de>
33731
33732 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33733 find searches for.
33734
197f76c7 337352009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33736
33737 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33738 unnecessary calls to grub_error.
33739
70ba68ce 337402009-09-04 Colin Watson <cjwatson@ubuntu.com>
33741
33742 * NEWS: Mention `keystatus' and Unicode fonts.
33743
4ff0d7a4 337442009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33745
33746 * configure.ac: Bump version to 1.97~beta2.
33747 * docs/version.texi: Likewise.
33748
77c55a87 337492009-09-03 Colin Watson <cjwatson@ubuntu.com>
33750
33751 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33752 containing unwind information in some cases where it previously did
33753 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33754 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33755 discussion.
33756
f79572cd 337572009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33758
33759 Embedding loadenv module into grub-emu
33760
33761 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33762 commands/loadenv.c
33763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33767 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33769
93a81088 337702009-09-03 Magnus Granberg <zorry@ume.nu>
33771
33772 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33773 include -fPIE in the default specs.
33774 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33775 to TARGET_CFLAGS.
33776
160034b2 337772009-09-03 Felix Zielcke <fzielcke@z-51.de>
33778
33779 * INSTALL: Note that GNU Bison 2.3 or later is required.
33780
087c07c4 337812009-09-03 Colin Watson <cjwatson@ubuntu.com>
33782
33783 * kern/i386/pc/startup.S: Fix typo.
33784
cbf978c0 337852009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33786
33787 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33788 according to GCS.
33789
337902009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33791
33792 * docs/grub.texi (Naming convention): Describe one-based partition
33793 numbering.
33794 (Device syntax): Likewise.
33795 (File name syntax): Likewise.
33796 (Block list syntax): Likewise.
33797 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33798 menu.lst.
33799 (File name syntax): Likewise.
33800 (Command-line and menu entry commands): Document acpi, blocklist,
33801 crc, export, insmod, keystatus, ls, set, and unset commands.
33802
f3e8cdfd 338032009-09-02 Colin Watson <cjwatson@ubuntu.com>
33804
33805 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33806 to avoid implying that only one of --shift, --ctrl, or --alt may be
33807 used.
33808
c0bc232b 338092009-09-02 Colin Watson <cjwatson@ubuntu.com>
33810
33811 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33812 rather than comparing against S_IFREG, which will almost never work.
33813
aa0f752d 338142009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33815
33816 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33817 (write_blocklists): Likewise.
33818
ecb3166a 338192009-09-01 Colin Watson <cjwatson@ubuntu.com>
33820
33821 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33822 argument to grub_printf.
33823
c403a125 338242009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33825
33826 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33827 non GNU test.
31aba781 33828
b5e7312c 338292009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33830
33831 * kern/file.c (grub_file_read): Spelling fix
33832
fe00f472 338332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33834
33835 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33836 loading of headers in some cases.
33837
cc55302e 338382009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33839
33840 * configure.ac: Bump version to 1.97~beta1.
33841 * docs/version.texi: Likewise.
33842
5c90cdd2 338432009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33844
33845 * include/grub/i386/xnu.h: Add license header.
33846 include grub/err.h explicitly.
33847
c90edae4 338482009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33849
33850 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33851 to `ufs' in the vfs.root.mountfrom kernel parameter.
33852
d8888b5c 338532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33854
33855 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33856
33857 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33858 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33859
33860 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33861 `ARRAY_SIZE' macro.
33862
6f07b921 338632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33864
33865 * kern/file.c (grub_file_read): Check offset.
33866 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33867 * fs/jfs.c (grub_jfs_read_file): Likewise.
33868 * fs/ntfs.c (grub_ntfs_read): Likewise.
33869 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33870 * fs/minix.c (grub_minix_read_file): Correct offset check.
33871 * fs/ufs.c (grub_ufs_read_file): Likewise.
33872
b4f34077 338732009-08-28 Colin Watson <cjwatson@ubuntu.com>
33874
33875 * term/i386/pc/console.c (bios_data_area): Cast
33876 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33877
e7c69859 338782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 1-bit optimised blitters.
33881
33882 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33883 prototype.
33884 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33885 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33886 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33887 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33888 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33889 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33890 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33891 function.
33892 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33893 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33894 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33895 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33896 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33897 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33898 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33899 when possible.
33900 * video/video.c (grub_video_get_blit_format): Return
33901 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33902
a57da43f 339032009-08-28 Colin Watson <cjwatson@ubuntu.com>
33904
33905 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33906 the first argument to grub_printf.
33907
4cbe67e5 339082009-08-28 Colin Watson <cjwatson@ubuntu.com>
339092009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33910
33911 Add `getkeystatus' terminal method. Add a new `keystatus' command
33912 to query it.
33913
33914 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33915 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33916 modifier key bitmasks.
33917 (struct grub_term_input): Add `getkeystatus' member.
33918 (grub_getkeystatus): Add prototype.
33919 * kern/term.c (grub_getkeystatus): New function.
33920
33921 * include/grub/i386/pc/memory.h
33922 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33923 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33924 Data Area layout.
33925 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33926 (grub_console_term_input): Set `getkeystatus' member.
33927 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33928 constants.
33929 (grub_usb_keyboard_getreport): Likewise.
33930 (grub_usb_keyboard_checkkey): Likewise.
33931 (grub_usb_keyboard_getkeystatus): New function.
33932 (grub_usb_keyboard_term): Set `getkeystatus' member.
33933
33934 * commands/keystatus.c: New file.
33935 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33936 (keystatus_mod_SOURCES): New variable.
33937 (keystatus_mod_CFLAGS): Likewise.
33938 (keystatus_mod_LDFLAGS): Likewise.
33939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33940 commands/keystatus.c.
33941 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33942 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33943 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33947
6e2a9085 339482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33949
33950 Split befs.mod and afs.mod into *_be.mod and *.mod
33951
33952 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33953 (grub_fstest_SOURCES): Likewise.
33954 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33955 (afs_be_mod_SOURCES): New variable.
33956 (afs_be_mod_CFLAGS): Likewise.
33957 (afs_be_mod_LDFLAGS): Likewise.
33958 (befs_be_mod_SOURCES): Likewise.
33959 (befs_be_mod_CFLAGS): Likewise.
33960 (befs_be_mod_LDFLAGS): Likewise.
33961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33964 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33965 (grub_emu_SOURCES): Likewise.
33966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33968 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33969 * fs/afs_be.c: New file.
33970 * fs/befs_be.c: New file.
33971 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33972 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33973 (U16): Replaced with ...
33974 (grub_afs_to_cpu16): ...this. All users updated.
33975 (U32): Replaced with ...
33976 (grub_afs_to_cpu32): ...this. All users updated.
33977 (U64): Replaced with ...
33978 (grub_afs_to_cpu64): ...this. All users updated.
33979 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33980 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33981 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33982 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33983 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33984 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33985 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33986 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33987 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33988 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33989 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33990
32a71655 339912009-08-26 Bean <bean123ch@gmail.com>
33992
33993 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33994 64-bit number.
33995 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33996 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33997 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33998
552bf6c5 339992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34000
34001 NetBSD memory map support.
34002
34003 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34004 (grub_netbsd_btinfo_mmap_header): New structure.
34005 (grub_netbsd_btinfo_mmap_entry): Likewise.
34006 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34007
1ae2078c 340082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34009
34010 Enable bsd.mod on coreboot.
34011
34012 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34013 (bsd_mod_SOURCES): New variable.
34014 (bsd_mod_CFLAGS): Likewise.
34015 (bsd_mod_LDFLAGS): Likewise.
34016 (bsd_mod_ASFLAGS): Likewise.
34017 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34018 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34019
beefc598 340202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34021
34022 Cleanup NetBSD root support.
34023
34024 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34025 grub_bsd_get_device.
34026 Fix typo.
34027
3b76e68b 340282009-08-25 Felix Zielcke <fzielcke@z-51.de>
34029
34030 * util/grub.d/00_header.in: Move check for the video backend of
34031 gfxterm from here ...
34032 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34033 a suitable video backend.
34034
aea664ea 340352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34036
34037 Fix breakage in grub-setup.
34038
34039 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34040 "msdos_partition_map".
34041
ff747d50 340422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34043
34044 Fix breakage in normal/auth.c.
34045
34046 * normal/auth.c (grub_iswordseparator): New function.
34047
e7e1f93f 340482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34049
34050 Authentication support.
34051
34052 * commands/password.c: New file.
34053 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34054 (password_mod_SOURCES): New variable.
34055 (password_mod_CFLAGS): Likewise.
34056 (password_mod_LDFLAGS): Likewise.
34057 (normal_mod_SOURCES): Add normal/auth.c.
34058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34059 normal/auth.c.
34060 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34062 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34065 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34066 * include/grub/auth.h: New file.
34067 * include/grub/err.h (grub_err_t): New enum value
34068 GRUB_ERR_ACCESS_DENIED.
34069 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34070 'users'.
34071 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34072 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34073 users updated.
34074 * normal/auth.c: New file.
34075 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34076 (grub_cmdline_run): Don't allow to go to command line without
34077 authentication.
34078 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34079 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34080 menuentry without superuser rights.
34081 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34082 user isn't a superuser.
34083
70f1161d 340842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34085
34086 Save space by inlining misc.c functions.
34087
34088 * kern/misc.c (grub_iswordseparator): Made static.
34089 * kern/misc.c (grub_strcat): Moved from here ...
34090 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34091 * kern/misc.c (grub_strncat): Moved from here ...
34092 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34093 * kern/misc.c (grub_strcasecmp): Moved from here ...
34094 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34095 * kern/misc.c (grub_strncasecmp): Moved from here ...
34096 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34097 * kern/misc.c (grub_isalpha): Moved from here ...
34098 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34099 * kern/misc.c (grub_isdigit): Moved from here ...
34100 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34101 * kern/misc.c (grub_isgraph): Moved from here ...
34102 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34103 * kern/misc.c (grub_tolower): Moved from here ...
34104 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34105
48e40bff 341062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34107
34108 * script/sh/function.c (grub_script_function_find): Cut error message
34109 not to flood terminal.
34110 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34111 limit.
34112 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34113
c385bfc3 341142009-08-24 Colin Watson <cjwatson@ubuntu.com>
34115
34116 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34117 `report' grub_uint8_t *.
34118 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34119 Use a 50-millisecond timeout rather than just repeating
34120 grub_usb_keyboard_getreport 50 times.
34121 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34122
2d21e3e8 341232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34124
34125 Rename *_partition_map to part_*
34126
34127 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34128 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34129 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34130 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34131 All users updated.
34132 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34133 All users updated.
34134 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34135 * util/grub-probe.c (probe_partmap): Don't transform partition name
34136 to get module name.
34137
dd103c4e 341382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34139
34140 Fix OpenBSD and NetBSD support.
34141
34142 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34143 memory address conflict.
34144 (OPENBSD_MMAP_ACPI): New definition.
34145 (OPENBSD_MMAP_NVS): Likewise.
34146 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34147 and OPENBSD_MMAP_NVS.
34148 Add memory map terminator
34149 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34150 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34151
16c84d74 341522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34153
34154 Let user specify NetBSD root device.
34155
34156 * loader/i386/bsd.c (netbsd_root): New variable.
34157 (netbsd_opts): New option 'root'.
34158 (NETBSD_ROOT_ARG): New macro.
34159 (grub_netbsd_boot): Use 'netbsd_root'.
34160 (grub_bsd_unload): Free 'netbsd_root'.
34161 (grub_cmd_netbsd): Fill 'netbsd_root'.
34162
adb29902 341632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34164
34165 Support for 64-bit NetBSD.
34166
34167 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34168 point when booting non-FreeBSD.
34169
f5ae9f74 341702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34171
34172 Support --no-smp and --no-acpi for NetBSD.
34173
34174 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34175 (NETBSD_AB_NOACPI): Likewise.
34176 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34177 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34178
de74f136 341792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34180
34181 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34182 errors.
34183 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34184 errors. Call grub_error when needed.
34185
e9a925da 341862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34187
34188 * commands/search.c (search_fs): Try searching without autoload first.
34189 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34190 filesystem module explicitly for faster booting.
34191
5174302b 341922009-08-23 Colin Watson <cjwatson@ubuntu.com>
34193
34194 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34195
c8c80635 341962009-08-23 Colin Watson <cjwatson@ubuntu.com>
34197
34198 * util/grub.d/30_os-prober.in: Disable os-prober if
34199 `GRUB_DISABLE_OS_PROBER' was set to true.
34200
71acf5e5 342012009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34202
34203 * partmap/pc.c: Rename to ...
34204 * partmap/msdos.c: ... this. Update all users.
34205 (grub_pc_partition_map): Rename to ...
34206 (grub_msdos_partition_map): ... this. Update all users.
34207
34208 * parttool/pcpart.c: Rename to ...
34209 * parttool/msdospart.c: ... this. Update all users.
34210
34211 * include/grub/pc_partition.h: Rename to ...
34212 * include/grub/msdos_partition.h: ... this. Update all users.
34213 (grub_pc_partition_bsd_entry): Rename to ...
34214 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34215 (grub_pc_partition_disk_label): Rename to ...
34216 (grub_msdos_partition_disk_label): ... this. Update all users.
34217 (grub_pc_partition_entry): Rename to ...
34218 (grub_msdos_partition_entry): ... this. Update all users.
34219 (grub_pc_partition_mbr): Rename to ...
34220 (grub_msdos_partition_mbr): ... this. Update all users.
34221 (grub_pc_partition): Rename to ...
34222 (grub_msdos_partition): ... this. Update all users.
34223 (grub_pc_partition_is_empty): Rename to ...
34224 (grub_msdos_partition_is_empty): ... this. Update all users.
34225 (grub_pc_partition_is_extended): Rename to ...
34226 (grub_msdos_partition_is_extended): ... this. Update all users.
34227 (grub_pc_partition_is_bsd): Rename to ...
34228 (grub_msdos_partition_is_bsd): ... this. Update all users.
34229
34230 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34231 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34232 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34233 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34234 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34235 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34236 (gpt_mod_LDFLAGS): Rename to ...
34237 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34238 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34239 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34240 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34241 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34242 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34243 (part_gpt_mod_LDFLAGS): ... this.
34244 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34245 `pcpart.mod' to `msdospart.mod'.
34246 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34247 to ...
34248 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34249 (msdospart_mod_LDFLAGS): ... this.
34250
c11fded5 342512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34252
34253 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34254 (openbsd_opts): Likewise.
34255 (netbsd_opts): Likewise.
34256 (freebsd_flags): Added 0 terminator.
34257 (openbsd_flags): Likewise.
34258 (netbsd_flags): Likewise.
34259 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34260 (grub_cmd_freebsd): Transformed into extended command.
34261 (grub_cmd_openbsd): Likewise.
34262 (grub_cmd_netbsd): Likewise.
34263 (cmd_freebsd): Changed type to grub_extcmd_t.
34264 (cmd_openbsd): Likewise.
34265 (cmd_netbsd): Likewise.
34266 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34267 grub_cmd_openbsd as extended commands.
34268 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34269 cmd_netbsd and cmd_openbsd
34270
11d1c769 342712009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34272
34273 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34274
7a9094e5 342752009-08-21 Pavel Roskin <proski@gnu.org>
34276
5496c37e 34277 * Makefile.in (install-local): When checking if a file is in the
34278 build directory, use "test -e" to detect symlinks.
34279
7a9094e5 34280 * Makefile.in (install-local): Remove all files in
34281 $(DESTDIR)$(pkglibdir) before installing new files there.
34282
e53cea11 342832009-08-18 Felix Zielcke <fzielcke@z-51.de>
34284
34285 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34286 grub-mkelfimage.
34287
9aced544 342882009-08-18 Felix Zielcke <fzielcke@z-51.de>
34289
34290 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34291 explicitly specified by the user.
34292
b7da6bab 342932009-08-18 Pavel Roskin <proski@gnu.org>
34294
34295 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34296 grub_uint8_t pointer for data.
34297 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34298 Likewise.
34299 * video/fb/fbutil.c: Remove unnecessary casts.
34300
19f1b335 343012009-08-17 Michal Suchanek <hramrach@centrum.cz>
34302
34303 VBE cleanup.
34304
34305 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34306 (grub_vbe_set_video_mode): Save active mode info
34307 only after setting the mode.
34308 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34309 second argument.
34310
2f467aa9 343112009-08-17 Michal Suchanek <hramrach@centrum.cz>
34312
34313 Rename variables for clarity.
34314
34315 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34316 (active_vbe_mode_info): ... this. All users updated.
34317 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34318 All users updated.
34319 (initial_mode): Rename to ...
34320 (initial_vbe_mode): ... this. All users updated.
34321 (mode_in_use): Rename to ..
34322 (vbe_mode_in_use): ... this. All users updated.
34323 (mode_list): Rename to ..
34324 (vbe_mode_list): ... this. All users updated.
34325 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34326 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34327 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34328 'mode_list_size' to 'vbe_mode_list_size'.
34329 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34330 'best_mode_info' to 'best_vbe_mode_info' and
34331 'best_mode' to 'best_vbe_mode'
34332
6025fcd7 343332009-08-17 Michal Suchanek <hramrach@centrum.cz>
34334
34335 Remove duplicate grub_video_fb_get_video_ptr.
34336
34337 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34338 (grub_video_fb_get_video_ptr): ... this.
34339 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34340 * video/fb/fbutil.c: Add comment about addressing.
34341 (get_data_ptr): Rename to ...
34342 (grub_video_fb_get_video_ptr): ... this. All users updated.
34343 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34344
cc8c6faf 343452009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34346
34347 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34348 grub_dprintf() that was just added.
34349
08aa61f0 343502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34351
34352 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34353 (DEFAULT_VIDEO_MODE): Remove macros.
34354 (grub_linux_boot): Remove assumption that Linux has FB support,
34355 and use "text" as default video mode.
34356
7cef4f75 343572009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34358
34359 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34360 grub_dprintf.
34361 * fs/fat.c (grub_fat_read_data): Likewise.
34362
e1f39873 343632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34364
34365 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34366 payload.
34367 (grub_module): Likewise.
34368
c166d79e 343692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34370
34371 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34372 mbi->cmdline but free playground.
34373
c60cee8e 343742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34375
34376 Handle group offset on UFS1.
34377
34378 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34379 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34380
c0d8b5d4 343812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34382
34383 Split ufs.mod into ufs1.mod and ufs2.mod.
34384
34385 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34386 (grub_fstest_SOURCES): Likewise.
34387 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34388 (ufs_mod_SOURCES): Remove.
34389 (ufs_mod_CFLAGS): Likewise.
34390 (ufs_mod_LDFLAGS): Likewise.
34391 (ufs1_mod_SOURCES): New variable.
34392 (ufs1_mod_CFLAGS): Likewise.
34393 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34394 (ufs2_mod_SOURCES): New variable.
34395 (ufs2_mod_CFLAGS): Likewise.
34396 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34398 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34399 Likewise.
34400 (grub_emu_SOURCES): Likewise.
34401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34403 (grub_setup_SOURCES): Likewise.
34404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34405 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34406 (grub_setup_SOURCES): Likewise.
34407 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34408 Likewise.
34409 * fs/ufs2.c: New file.
34410 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34411
d3539132 344122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34413
34414 Framebuffer split.
34415
34416 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34417 subsystem at the end.
34418 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34419 (video_fb_mod_SOURCES): New variable.
34420 (video_fb_mod_CFLAGS): Likewise.
34421 (video_fb_mod_LDFLAGS): Likewise.
34422 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34423 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34424 * video/i386/pc/vbeblit.c: Moved from here ...
34425 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34426 * video/i386/pc/vbefill.c: Moved from here ...
34427 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34428 * video/i386/pc/vbeutil.c: Moved from here ...
34429 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34430 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34431 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34432 * include/grub/i386/pc/vbefill.h: Moved from here ...
34433 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34434 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34435 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34436 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34437 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34438 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34439 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34440 (grub_video_adapter): Added 'get_info_and_fini'.
34441 (grub_video_get_info_and_fini): New prototype.
34442 (grub_video_set_mode): make modestring const char *.
34443 * loader/i386/linux.c (grub_linux_setup_video): Use
34444 grub_video_get_info_and_fini.
34445 (grub_linux_boot): Move modesetting just before booting.
34446 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34447 grub_video_get_info_and_fini.
34448 * video/i386/pc/vbe.c: Moved framebuffer part ...
34449 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34450 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34451 grub_video_fbstd_colors and grub_video_fb_set_palette.
34452 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34453 grub_video_fb_init.
34454 (grub_video_vbe_fini): Use grub_video_fb_fini.
34455 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34456 render_target and use grub_video_fb_set_active_render_target and
34457 grub_video_fb_set_palette.
34458 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34459 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34460 (grub_video_vbe_adapter): Use framebuffer.
34461 * video/video.c (grub_video_get_info_and_fini): New function.
34462 (grub_video_set_mode): Make modestring const char *.
34463 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34464 values are already initialised.
34465
d404ee56 344662009-08-14 Pavel Roskin <proski@gnu.org>
34467
34468 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34469 ABS and APPLE_CC.
34470 * boot/i386/pc/diskboot.S: Likewise.
34471 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34472 sectors allow compilation on MacOSX.
34473 * conf/i386-pc.rmk: Enable unconditional compilation of
34474 lnxboot.img.
34475
9a10df16 344762009-08-13 Colin Watson <cjwatson@ubuntu.com>
34477
34478 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34479 * util/grub.d/00_header.in: Enter interruptible sleep if
34480 GRUB_HIDDEN_TIMEOUT is set.
34481
be3c9ca7 344822009-08-13 Yves Blusseau <blusseau@zetam.org>
34483
34484 * include/grub/symbol.h: Add the LOCAL macro.
34485 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34486 starting with "L_".
34487
1f9e557e 344882009-08-13 Pavel Roskin <proski@gnu.org>
34489
9ca62843 34490 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34491 any modern compilers we support.
34492
1f9e557e 34493 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34494 Use local labels starting with "L_" so that Apple assembler
34495 knows they are local.
34496
81623db6 344972009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34500 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34501 (bsd_kernel_types): ... this enum.
34502
34503 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34504 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34505 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34506
34507 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34508 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34509 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34510 messages.
34511
f5d35e7a 345122009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 * util/grub-dumpdevtree: Moved from here ...
34515 * util/i386/efi/grub-dumpdevtree: ... to here.
34516 (hexify): New function. Converts a string to its hex version.
34517 Generate hex versions of "efi" and "device-properties" by calling
34518 hexify() on the ASCII strings rather than by hardcoding numbers.
34519
d1e1d527 345202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34521
34522 * fs/jfs.c: Update copyright year.
34523
1ebbe064 345242009-08-08 Felix Zielcke <fzielcke@z-51.de>
34525
34526 * util/grub.d/00_header.in: Fix a comment.
34527 * util/grub.d/10_linux.in: Likewise.
34528 * util/grub.d/10_windows.in: Likewise.
34529 * util/grub.d/10_hurd.in: Likewise.
34530
a78c8d24 345312009-08-08 Felix Zielcke <fzielcke@z-51.de>
34532
34533 * util/grub-mkconfig.in: Allow the user to specify the used font
34534 with GRUB_FONT.
34535
29a6b9e8 345362009-08-08 Pavel Roskin <proski@gnu.org>
34537
b5f16cc4 34538 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34539 available, xfs.mod needs it now.
34540
2f5cb827 34541 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34542 the "g" modifier in sed when the intention is to strip something
34543 once. This fixes comparison of kernels with multiple dashes.
34544
29a6b9e8 34545 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34546 on it. Add missing space before closing bracket. Fix
34547 misleading formatting.
34548
892a3d98 345492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34550
34551 * docs/grub.texi: Major overhaul. Remove all sections that are
34552 specific to GRUB Legacy, or mostly composed of Legacy-specific
34553 information.
34554
ed94253f 345552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34556
34557 * docs/version.texi: New file. Provides version information for
34558 grub.texi.
34559
126d6628 345602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34561
34562 * docs/grub.texi: Update CVS information to SVN.
34563 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34564
998b5aa9 345652009-08-07 Felix Zielcke <fzielcke@z-51.de>
34566
34567 * util/grub-mkconfig.in: Remove a wrong `fi'.
34568
818e094a 345692009-08-07 Felix Zielcke <fzielcke@z-51.de>
34570
34571 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34572 (grub_jfs_uuid): New function.
34573 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34574
b969c52f 345752009-08-07 Felix Zielcke <fzielcke@z-51.de>
34576
34577 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34578 of it to ...
34579 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34580 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34581
7a4894cc 345822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34583
34584 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34585 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34586 Update all users.
34587
34588 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34589 not just "vmlinu[zx]".
34590 Moved from here ...
34591 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34592 all users.
34593
34594 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34595 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34596 all users.
34597
4e2171f8 345982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34599
34600 * util/grub.d/10_freebsd.in: Use an absolute device path for
34601 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34602
6dcfcb32 346032009-08-06 Felix Zielcke <fzielcke@z-51.de>
34604
34605 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34606 handling of multiple abstraction modules.
34607
f56a8756 346082009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34609
34610 Fix a bug resulting in black screen when loading Linux using a
34611 packed video mode.
34612
34613 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34614 function.
34615
34616 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34617 (grub_vbe_bios_getset_dac_palette_width): New function.
34618 (grub_vbe_bios_get_dac_palette_width)
34619 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34620 grub_vbe_bios_getset_dac_palette_width()).
34621
34622 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34623 check for return status.
34624 (grub_vbe_get_video_mode_info): When getting information for a packed
34625 mode (<= 8 bpp), obtain DAC palette width using
34626 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34627 {red,green,blue}_mark_size.
34628
222671b2 346292009-08-04 Felix Zielcke <fzielcke@z-51.de>
34630
ecb1a6d9 34631 * commands/search.c (options): Fix help output to match actual code.
222671b2 34632
f84114f5 346332009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34634
34635 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34636 of homegrown code.
34637
bd288a20 346382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34639
34640 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34641 on XFS or ReiserFS.
34642
8aab5e25 346432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34644
34645 Support Apple partition map with sector size different from 512 bytes.
34646
34647 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34648 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34649 and 'apart.partmap_size'.
34650
6ad6258a 346512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
346522009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34653
34654 Fix cpuid command.
34655
34656 * commands/i386/cpuid.c (options): New variable.
34657 (grub_cmd_cpuid): Return real error.
34658 (GRUB_MOD_INIT(cpuid)): Declare options.
34659
67459bc6 346602009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34661
34662 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34663 valid.
34664
fbc6ab54 346652009-07-31 Bean <bean123ch@gmail.com>
34666
34667 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34668 log2_inode.
34669 (grub_fshelp_node): Move inode field to the end.
34670 (grub_xfs_data): Remove inode field.
34671 (grub_xfs_inode_block): Calculate inode size using sblock.
34672 (grub_xfs_inode_offset): Likewise.
34673 (grub_xfs_read_inode): Calculate inode size using sblock.
34674 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34675 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34676 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34677 to match inode size.
34678 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34679 not accessible when data is null.
34680 (grub_xfs_open): Likewise.
34681
f45d6cfc 346822009-07-31 Bean <bean123ch@gmail.com>
34683
34684 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34685 Don't change pv->disk if it's already set.
34686
34687 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34688 (grub_raid_register): ... here.
34689 (grub_raid_rescan): Removed.
34690
34691 * include/grub/raid.h (grub_raid_rescan): Removed.
34692
34693 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34694 (fstest): Replace grub_raid_rescan with module fini function followed
34695 by init function.
34696
34697 * util/grub-probe.c: Add include file <grub/raid.h>.
34698 (probe_raid_level): New function.
34699 (probe): Detect abstraction by walking the disk device, support two
34700 level of abstraction (LVM on RAID) when detecting partition map.
34701
24443b5a 347022009-07-31 Pavel Roskin <proski@gnu.org>
34703
34704 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34705 to grub_zalloc(), it was erroneous.
34706 Reported by Bean <bean123ch@gmail.com>
34707
a275d9e7 347082009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34709
34710 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34711 embedding zone, not only the first one.
a275d9e7 34712
56c5a47f 347132009-07-29 Joe Auricchio <jauricchio@gmail.com>
34714
34715 * term/gfxterm.c (clear_char): New function.
34716 (grub_virtual_screen_setup): Use clear_char.
34717 (scroll_up): Likewise.
34718 (grub_virtual_screen_cls): Likewise.
34719
67bb323a 347202009-07-29 Felix Zielcke <fzielcke@z-51.de>
34721
34722 * util/deviceiter.c (get_acceleraid_disk_name): New static
34723 function.
34724 (grub_util_iterate_devices): Handle Accelraid devices.
34725 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34726
388a7c75 347272009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34730 separator for the suggested gfxpayload string (';' collides with the
34731 parser and needs escaping).
34732
3bb7abcf 347332009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34734
34735 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34736 Clear direction flag before jumping to OS.
34737 (grub_multiboot2_real_boot): Likewise.
34738
2ddd36d7 347392009-07-28 Felix Zielcke <fzielcke@z-51.de>
34740
34741 * util/i386/pc/grub-install: Fix parsing of --disk-module
34742 option.
34743
c521b62b 347442009-07-28 Felix Zielcke <fzielcke@z-51.de>
34745
34746 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34747 when embedding.
34748
880e0a0c 347492009-07-26 Felix Zielcke <fzielcke@z-51.de>
34750
34751 * util/grub-mkconfig.in (package_version): New variable.
34752 Use it do display the version.
34753
2366e356 347542009-07-25 Felix Zielcke <fzielcke@z-51.de>
34755
34756 * kern/file.c (grub_file_open): Revert to previous check with
34757 grub_errno.
34758
7ad8c80e 347592009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34760
34761 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34762 from help line. It's out of sync with code.
34763
72b9658b 347642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34765
34766 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34767 entries on failed boot.
34768
77435277 347692009-07-25 Felix Zielcke <fzielcke@z-51.de>
34770
34771 * kern/file.c (grub_file_open): Fix an error check.
34772
fcaa8b21 347732009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34774
35d16c74 34775 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34776 partition map couldn't be identified.
fcaa8b21 34777
48904cd1 347782009-07-23 Pavel Roskin <proski@gnu.org>
34779
ef3c317f 34780 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34781 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34782 case of little endian words becomes just an optimization.
34783 Respect const modifier.
ad8ea1f4 34784 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34785
48904cd1 34786 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34787 to avoid loss of upper bits if align is unsigned and shorter
34788 than addr.
34789
260c9a89 347902009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34791
34792 UUID support for UFS
34793
34794 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34795 (grub_ufs_uuid): New function.
34796 (grub_ufs_fs): add .uuid
34797
f76ce889 347982009-07-21 Pavel Roskin <proski@gnu.org>
34799
34800 * kern/dl.c (grub_dl_check_header): Make static.
34801
6a6cbcaf 348022009-07-21 Felix Zielcke <fzielcke@z-51.de>
34803
34804 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34805 add drivemap for Vista. It breaks Windows 7.
34806
cffcddb2 348072009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34808
34809 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34810 128 bytes
34811
1ef44b80 348122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34813
34814 Add BFS support
34815
34816 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34817 (grub_fstest_SOURCES): Likewise.
34818 (pkglib_MODULES): Add befs.mod.
34819 (befs_mod_SOURCES): New variable.
34820 (befs_mod_CFLAGS): Likewise.
34821 (befs_mod_LDFLAGS): Likewise.
34822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34823 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34825 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34826 (grub_setup_SOURCES): Likewise.
34827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34829 (grub_setup_SOURCES): Likewise.
34830 * fs/befs.c: New file.
34831 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34832 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34833 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34834 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34835 (B_KEY_INDEX_ALIGN): New declaration.
34836 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34837 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34838 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34839 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34840 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34841 (grub_afs_mount) [MODE_BFS]: Likewise.
34842 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34843 (grub_afs_fs): Use GRUB_AFS_FSNAME
34844 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34845 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34846 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34847 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34848
4f253044 348492009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34850
34851 * util/getroot.c (find_root_device): Add support for MacOSX.
34852 * util/hostdisk.c: Likewise.
34853
57a55913 348542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34855
34856 * font/font.c (find_glyph): Check whether a font is present to avoid
34857 segmentation fault.
75421ca9 34858
348592009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34860
34861 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34862
e98cd0c2 348632009-07-20 Pavel Roskin <proski@gnu.org>
34864
34865 * configure.ac: Trim excessively wordy excuses.
34866
1d2d169a 348672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34868
34869 Add symlink, mtime and label support to AtheFS.
34870
34871 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34872 (grub_afs_iterate_dir): Handle symlinks.
34873 (grub_afs_open): Use grub_afs_read_symlink.
34874 (grub_afs_dir): Likewise.
34875 Pass mtime.
34876 (grub_afs_label): New function.
34877 (grub_afs_fs): Add grub_afs_label.
34878 (grub_afs_read_symlink): New function.
34879
186f3189 348802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34881
34882 Fix AtheFS support.
34883
34884 * fs/afs.c: Fix comments style.
34885 (grub_afs_blockrun): Declare as packed.
34886 (grub_afs_datastream): Likewise.
34887 (grub_afs_bnode): Likewise.
34888 (grub_afs_btree): Likewise.
34889 (grub_afs_sblock): Likewise.
34890 Declare `name' as char.
34891 (grub_afs_inode): Declare as packed.
34892 Change void *vnode to grub_uint32_t unused.
34893 (grub_afs_iterate_dir): Check that key_size is positive.
34894 (grub_afs_mount): Don't read superblock twice.
75421ca9 34895 (grub_afs_dir): Don't free node in case of error,
186f3189 34896 grub_fshelp_find_file already handles this.
34897 (grub_afs_open): Likewise.
34898
5680109e 348992009-07-19 Pavel Roskin <proski@gnu.org>
34900
34901 * Makefile.in: Remove LIBLZO and enable_lzo.
34902 * conf/i386-pc.rmk: Remove lzo support.
34903 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34904 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34905 support.
34906 * kern/i386/pc/lzo1x.S: Remove.
34907 * kern/i386/pc/startup.S: Remove lzo support.
34908 * util/i386/pc/grub-mkimage.c: Likewise.
34909
ac70fa32 349102009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34911
34912 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34913 * fs/xfs.c (grub_xfs_dir): Likewise.
34914 * fs/afs.c (grub_afs_dir): Likewise.
34915 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34916 (grub_iso9660_open): Likewise.
34917 * fs/jfs.c (grub_jfs_open): Likewise.
34918 * fs/ext2.c (grub_ext2_dir): Likewise.
34919 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34920 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34921
eab58da2 349222009-07-16 Pavel Roskin <proski@gnu.org>
34923
d2838156 34924 * configure.ac: Never add "-c" to CFLAGS.
34925
55c70904 34926 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34927
43e6200c 34928 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34929 grub_cv_cc_efiemu should be used.
34930
ce7a733d 34931 * configure.ac: Typo fixes.
34932
eab58da2 34933 * kern/mm.c (grub_zalloc): New function.
34934 (grub_debug_zalloc): Likewise.
34935 * include/grub/mm.h: Declare grub_zalloc() and
34936 grub_debug_zalloc().
34937 * util/misc.c (grub_zalloc): New function.
34938 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34939 instead of grub_malloc(), remove unneeded initializations.
34940 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34941 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34942 * commands/parttool.c (grub_cmd_parttool): Likewise.
34943 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34944 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34945 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34946 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34947 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34948 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34949 (grub_cmd_efiemu_pnvram): Likewise.
34950 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34951 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34952 (grub_iso9660_iterate_dir): Likewise.
34953 * fs/jfs.c (grub_jfs_opendir): Likewise.
34954 * fs/ntfs.c (list_file): Likewise.
34955 (grub_ntfs_mount): Likewise.
34956 * kern/disk.c (grub_disk_open): Likewise.
34957 * kern/dl.c (grub_dl_load_core): Likewise.
34958 * kern/elf.c (grub_elf_file): Likewise.
34959 * kern/env.c (grub_env_context_open): Likewise.
34960 (grub_env_set): Likewise.
34961 (grub_env_set_data_slot): Likewise.
34962 * kern/file.c (grub_file_open): Likewise.
34963 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34964 * loader/i386/multiboot.c (grub_module): Likewise.
34965 * loader/xnu.c (grub_xnu_create_key): Likewise.
34966 (grub_xnu_create_value): Likewise.
34967 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34968 (read_config_file): Likewise.
34969 * normal/menu_entry.c (make_screen): Likewise.
34970 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34971 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34972 * script/sh/script.c (grub_script_parse): Likewise.
34973 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34974 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34975 * video/readers/png.c (grub_png_output_byte): Likewise.
34976 (grub_video_reader_png): Likewise.
34977
830afef7 349782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34979
34980 Enable all targets that can be built by default
34981
830afef7 34982 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34983 grub-mkfont and grub-fstest if they can be built
34984
ee293aee 349852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34986
34987 Fix hang and segmentation fault in grub-emu-usb
34988
34989 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34990 * util/usb.c (grub_libusb_devices): likewise
34991 (grub_libusb_init): rename to ...
34992 (GRUB_MOD_INIT (libusb)):...this
34993 (grub_libusb_fini): rename to ..
34994 (GRUB_MOD_FINI (libusb)):...this
34995 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34996 * include/grub/disk.h (grub_raid_init): removed, it's useless
34997 (grub_raid_fini): likewise
34998 (grub_lvm_init): likewise
34999 (grub_lvm_fini): likewise
35000 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35001 by grub_init_all
35002
94414221 350032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35004
35005 Fix libusb
35006
35007 * Makefile.in (LIBUSB): new macro
35008 * genmk.rb (Utility/print_tail): new method
35009 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35010 (top level): call util.print_tail at the end.
35011
59ade63d 350122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35013
35014 Make FreeBSD accept zpool.cache
35015
35016 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35017 type is /boot/zfs/zpool.cache
35018
a58da8c7 350192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35020
35021 Fix 64-bit efiemu
35022
35023 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35024 correct wrong typedef
35025 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35026
20591577 350272009-07-15 Pavel Roskin <proski@gnu.org>
35028
560ca572 35029 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35030 * kern/disk.c (struct grub_disk_cache): Likewise.
35031
e8e8e4fd 35032 * commands/probe.c (options): Typo fix.
35033
fde24e10 35034 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35035 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35036 accordingly.
35037 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35038
379c54c1 35039 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35040 the end of "Error" to make the message more readable.
35041
7bd8f5bf 35042 * boot/i386/pc/boot.S (kernel_segment): Remove.
35043 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35044 for destination.
35045
40b132c5 35046 * boot/i386/pc/boot.S (boot_version): Remove.
35047 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35048 Remove.
35049
20591577 35050 * include/grub/i386/pc/boot.h: Sort all offsets.
35051 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35052 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35053 * boot/i386/pc/boot.S: Assert location of every offset listed in
35054 include/grub/i386/pc/boot.h.
35055
2df32b2c 350562009-07-13 Pavel Roskin <proski@gnu.org>
35057
44b5d879 35058 * include/grub/i386/coreboot/machine.h: Rename
35059 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35060 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35061 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35062
17dc3751 35063 * kern/dl.c: Force native word size to suppress warnings when
35064 compiling grub-emu.
35065
2df32b2c 35066 * kern/device.c (grub_device_iterate): Change struct part_ent to
35067 hold the name, not a pointer to it. Use one grub_malloc() per
35068 partition, not two. Free partition_name if grub_malloc() fails.
35069 Set ents to NULL only before grub_partition_iterate() is called.
35070
75c59f59 350712009-07-11 Bean <bean123ch@gmail.com>
35072
35073 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35074 childname.
35075
0ae1bf88 350762009-07-10 Bean <bean123ch@gmail.com>
350772009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35078
35079 * kern/ieee1275/openfw.c (grub_children_iterate)
35080 (grub_devalias_iterate): Fix size evaluation for property or path
35081 strings, which was broken since r2132.
35082
8279cade 350832009-07-07 Pavel Roskin <proski@gnu.org>
35084
7d8a52d3 35085 * commands/search.c (search_file): Merge into ...
35086 (search_fs): ... this. Accept search type as argument.
35087 (grub_cmd_search): Pass search type to search_fs().
35088
25f9a05a 35089 * include/grub/util/console.h: New file.
35090 * util/console.c: Use it instead of grub/machine/console.h.
35091 * util/grub-emu.c: Likewise.
35092
8279cade 35093 * lib/arg.c (find_long_option): Remove.
35094 (find_long): Add `len' argument, make `s' const char *.
35095 (grub_arg_parse): Parse long options in place, not in a
35096 temporary buffer.
35097
4a11b60f 350982009-07-06 Pavel Roskin <proski@gnu.org>
35099
99f68041 35100 * commands/search.c (search_fs): Fix potential NULL pointer
35101 dereference.
35102
4a11b60f 35103 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35104 function pointer.
35105
e110f4de 351062009-07-06 Daniel Mierswa <impulze@impulze.org>
35107
35108 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35109 comparison.
35110
46eeb6a2 351112009-07-05 Pavel Roskin <proski@gnu.org>
35112
bab74958 35113 * include/grub/i386/linux.h (struct linux_kernel_params):
35114 Restore padding3, it's still needed.
35115
46eeb6a2 35116 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35117 FreeBSD.
35118 * util/osdetect.lua: Likewise.
35119
b4a1dc79 351202009-07-05 Bean <bean123ch@gmail.com>
35121
35122 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35123
35124 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35125 (grub_lua_getenv): Likewise.
35126 (grub_lua_setenv): Likewise.
35127 (save_errno): New function.
35128 (push_result): Likewise.
35129 (grub_lua_enum_device): Likewise.
35130 (grub_lua_enum_file): Likewise.
35131 (grub_lua_file_open): Likewise.
35132 (grub_lua_file_close): Likewise.
35133 (grub_lua_file_seek): Likewise.
35134 (grub_lua_file_read): Likewise.
35135 (grub_lua_file_getline): Likewise.
35136 (grub_lua_file_getsize): Likewise.
35137 (grub_lua_file_getpos): Likewise.
35138 (grub_lua_file_eof): Likewise.
35139 (grub_lua_file_exist): Likewise.
35140 (grub_lua_add_menu): Likewise.
35141
35142 * script/lua/grub_lua.h (isupper): New inline function.
35143 (islower): Likewise.
35144 (ispunct): Likewise.
35145 (isxdigit): Likewise.
35146 (strcspn): Change to normal function.
35147 (strpbkr): New function declaration.
35148 (memchr): Likewise.
35149
35150 * script/lua/grub_main.c (scan_str): New function.
35151 (strcspn): Likewise.
35152 (strpbrk): Likewise.
35153 (memchr): Likewise.
35154
35155 * script/lua/linit.c (lualibs): Enable the string library.
35156
35157 * util/osdetect.lua: New file.
35158
2da92295 351592009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35160
35161 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35162 `capabilities' member.
35163
b2582ec9 351642009-07-02 Pavel Roskin <proski@gnu.org>
35165
35166 * genparttoollist.sh: Add missing newline at the end.
35167
32622956 351682009-07-01 Pavel Roskin <proski@gnu.org>
35169
87a7339e 35170 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35171
d23af54e 35172 * util/hostdisk.c (open_device): Remove `const' from
35173 `sysctl_size', as sysctlbyname() can change it (in this case it
35174 doesn't actually happen).
35175
c94b18a9 35176 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35177 using signed long int constants.
35178
c6cd3ef0 35179 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35180 constant to avoid a warning on FreeBSD.
35181
0df63420 35182 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35183 where it's needed.
35184
999577f1 35185 * Makefile.in: Install include/grub/machine symlink.
35186
6f41557f 35187 * Makefile.in: When installing symlinks, use "cp -fR", which
35188 works on FreeBSD and MacOSX.
35189 From Yves Blusseau <cl7m42e02@sneakemail.com>
35190
c8d22988 35191 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35192 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35193
1b96e952 35194 * util/misc.c: Move grub_reboot() and grub_halt() ...
35195 * util/grub-emu.c: ... here. Make main_env static.
35196 * include/grub/util/misc.h: Remove main_env.
35197
2ef0084d 35198 * kern/mm.c: Use correct format to print size_t.
35199
32622956 35200 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35201 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35202 * kern/powerpc/dl.c: Likewise.
35203 * kern/sparc64/dl.c: Likewise.
35204 * kern/x86_64/dl.c: Likewise.
35205
3f7f0cd0 352062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35207
35208 Fix grub-emu build on sparc64-ieee1275.
35209
75421ca9 35210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35212
211d06b5 352132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35214
35215 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35216 (grub_reboot, grub_halt): New functions.
35217
35218 * util/i386/pc/misc.c: Delete. Update all users.
35219 * util/sparc64/ieee1275/misc.c: Likewise.
35220 * util/powerpc/ieee1275/misc.c: Likewise.
35221
aaf53e3c 352222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35223
35224 * conf/i386.rmk (setjmp_mod_SOURCES)
35225 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35226 * conf/common.rmk (setjmp_mod_SOURCES)
35227 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35228 to use $(target_cpu).
35229 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35231 * conf/powerpc-ieee1275.rmk: Likewise.
35232 * conf/sparc64-ieee1275.rmk: Likewise.
35233
35234 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35235 $(target_cpu) for kern/$(target_cpu)/dl.c.
35236 * conf/i386-efi.rmk: Likewise.
35237 * conf/i386-ieee1275.rmk: Likewise.
35238 * conf/x86_64-efi.rmk: Likewise.
35239 * conf/i386-coreboot.rmk: Likewise.
35240 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35241 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35242 kern/$(target_cpu)/cache.S.
35243 * conf/sparc64-ieee1275.rmk: Likewise.
35244
a337130b 352452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35246
35247 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35248 type to `grub_uint8_t', and adjust `padding9' accordingly.
35249
c6fe4d53 352502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35251
b09db61d 35252 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35253
c6fe4d53 35254 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35255 assembly in final jump, using register constraints.
35256
b09db61d 35257 (grub_linux_boot): For text mode, initialize `have_vga' using
35258 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35259
35260 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35261 right before the final jump.
35262
35263 Set `video_mode' to 0x3.
35264
35265 Document initialization of `video_page', `video_mode' and
35266 `video_ega_bx'.
35267
28333ad0 352682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35269
35270 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35271 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35272 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35273
02164e1b 352742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 Fix build on Debian / sparc.
35277
35278 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35279
18b6c557 352802009-06-28 Pavel Roskin <proski@gnu.org>
35281
85f2aab6 35282 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35283 fix a warning.
35284
18b6c557 35285 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35286
ad760f81 352872009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35288
35289 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35290 `err'.
35291
87a4623b 352922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 Revert r2338.
35295
35296 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35297 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35298 grub_errno / grub_errmsg appropriately.
87a4623b 35299 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35300
8231fb77 353012009-06-27 Pavel Roskin <proski@gnu.org>
353022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35303
35304 * include/grub/dl.h: Include grub/elf.h.
35305 (struct grub_dl): Add symtab field.
35306 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35307 GRUB_MODULES_MACHINE_READONLY.
35308 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35309 of the header for read-only modules.
35310 (grub_dl_unload): Free mod->symtab for read-only modules.
35311 * kern/i386/dl.c: Use mod->symtab.
35312 * kern/powerpc/dl.c: Likewise.
35313 * kern/sparc64/dl.c: Likewise.
35314 * kern/x86_64/dl.c: Likewise.
35315
35316 * conf/i386-qemu.rmk: New file.
35317 * kern/i386/qemu/startup.S: Likewise.
35318 * kern/i386/qemu/mmap.c: Likewise.
35319 * boot/i386/qemu/boot.S: Likewise.
35320 * include/grub/i386/qemu/time.h: Likewise.
35321 * include/grub/i386/qemu/serial.h: Likewise.
35322 * include/grub/i386/qemu/kernel.h: Likewise.
35323 * include/grub/i386/qemu/console.h: Likewise.
35324 * include/grub/i386/qemu/boot.h: Likewise.
35325 * include/grub/i386/qemu/init.h: Likewise.
35326 * include/grub/i386/qemu/machine.h: Likewise.
35327 * include/grub/i386/qemu/loader.h: Likewise.
35328 * include/grub/i386/qemu/memory.h: Likewise.
35329
35330 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35331 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35332 [qemu] (pkglib_IMAGES): Add `boot.img'.
35333 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35334 [qemu] (boot_img_FORMAT): New variables.
35335 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35336 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35337 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35338 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35339 [qemu] (kernel_img_FORMAT): New variables.
35340
35341 * configure.ac: Recognise `i386-qemu'.
35342
35343 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35344 (for no compression).
35345 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35346 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35347 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35348 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35349 ifdefs).
35350
97fe384e 353512009-06-27 Pavel Roskin <proski@gnu.org>
35352
35353 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35354 read.
35355 * efiemu/prepare32.c: Likewise.
35356 * efiemu/prepare64.c: Likewise.
35357
c402ab17 353582009-06-26 Pavel Roskin <proski@gnu.org>
35359
35360 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35361 * include/grub/elf.h: Define symbols without "32" or "64" based
35362 on GRUB_TARGET_WORDSIZE.
35363 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35364 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35365 ELF definitions.
35366 * efiemu/loadcore64.c: Likewise.
35367 * loader/i386/bsd32.c: Likewise.
35368 * loader/i386/bsd64.c: Likewise.
35369 * kern/dl.c: Remove own ELF definitions.
35370 * util/i386/efi/grub-mkimage.c: Likewise.
35371
9bbdfd4d 353722009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35373
35374 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35375 segment 0x0 unconditionally, because the reference generated by
35376 GAS is an absolute address.
35377
a42ce6e9 353782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35379
35380 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35381 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35382
c952cf92 353832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35384
35385 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35386 indexes. Check for -f explicitly.
cc3752ad 35387 (search_file): Improve error message.
35388 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35389
132a0a59 353902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35391
35392 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35393 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35394
387a140c 353952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35396
35397 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35398 * conf/i386-ieee1275.rmk: Likewise.
35399 * conf/i386-coreboot.rmk: Likewise.
35400
35401 * kern/i386/pc/startup.S (grub_stop): Remove function.
35402 * kern/i386/ieee1275/startup.S: Likewise.
35403 * kern/i386/coreboot/startup.S: Likewise.
35404 * kern/i386/misc.S (grub_stop): New function.
35405
41da9665 354062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35407
35408 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35409 * kern/i386/realmode.S (real_to_prot): ... to here.
35410
bf337234 354112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35412
35413 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35414 with `kernel.img'.
35415 (kernel_elf_SOURCES): Rename to ...
35416 (kernel_img_SOURCES): ... this.
35417 (kernel_elf_HEADERS): Rename to ...
35418 (kernel_img_HEADERS): ... this. Update all users.
35419 (kernel_elf_ASFLAGS): Rename to ...
35420 (kernel_img_ASFLAGS): ... this.
35421 (kernel_elf_CFLAGS): Rename to ...
35422 (kernel_img_CFLAGS): ... this.
35423 (kernel_elf_LDFLAGS): Rename to ...
35424 (kernel_img_LDFLAGS): ... this.
35425 * conf/i386-coreboot.rmk: Likewise.
35426 * conf/powerpc-ieee1275.rmk: Likewise.
35427
35428 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35429 with "kernel.img".
35430
f52196ff 354312009-06-21 Pavel Roskin <proski@gnu.org>
35432
c3cee413 35433 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35434 to match nested functions.
35435 * loader/sparc64/ieee1275/linux.c: Likewise.
35436
f52196ff 35437 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35438
58750afc 354392009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35440
35441 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35442 all i386 platforms.
35443
15355c7d 354442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35445
35446 Fix asm file handling on ELF, and remove workarounds.
35447
35448 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35449 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35450 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35451 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35452
3f3ec72b 354532009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35454
35455 Load BSD ELF modules
35456
35457 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35458 and loader/i386/bsd64.c
35459 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35460 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35461 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35462 (grub_freebsd_load_elfmodule32): New declaration
35463 (grub_freebsd_load_elfmoduleobj64): Likewise
35464 (grub_freebsd_load_elf_meta32): Likewise
35465 (grub_freebsd_load_elf_meta64): Likewise
35466 (grub_freebsd_add_meta): Likewise
35467 (grub_freebsd_add_meta_module): Likewise
35468 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35469 (grub_freebsd_add_meta_module): Likewise and move module-specific
35470 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35471 (grub_cmd_freebsd): Add elf-kernel specific parts
35472 based on grub_freebsd_add_meta_module
35473 (grub_cmd_freebsd_module): Add type parsing moved from
35474 grub_freebsd_add_meta_module
35475 (grub_cmd_freebsd_module_elf): New function
35476 (cmd_freebsd_module_elf): New variable
35477 (GRUB_MOD_INIT): Register freebsd_module_elf
35478 * loader/i386/bsd32.c: New file
35479 * loader/i386/bsd64.c: Likewise
35480 * loader/i386/bsdXX.c: Likewise
35481 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35482 (grub_elf64_load): Likewise
35483 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35484 All users updated
35485 (grub_elf64_load_hook_t): Likewise
35486
0db15301 354872009-06-21 Colin Watson <cjwatson@ubuntu.com>
35488
35489 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35490 variable.
35491 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35492 don't write a menu entry for recovery mode.
35493
546796c1 354942009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35495
35496 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35497 after it's no longer needed.
35498
cd7310d5 354992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35500
35501 * include/grub/i386/loader.h (grub_linux_prot_size)
35502 (grub_linux_tmp_addr, grub_linux_real_addr)
35503 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35504 GRUB_MACHINE_PCBIOS.
35505 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35506 common grub_util_info() call to ...
35507 (generate_image): ... here.
35508 Fix use of uninitialized memory, comparison of signed with
35509 unsigned integers and memory leak.
35510 Remove bogus module address message.
35511
ab32d3b5 355122009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35513
35514 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35515 grub_raid_register
35516 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35517
024ef597 355182009-06-19 Pavel Roskin <proski@gnu.org>
35519
35520 * configure.ac: Remove stray AC_MSG_CHECKING.
35521
3ac72b51 355222009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35523
35524 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35525
e14cd814 355262009-06-18 Pavel Roskin <proski@gnu.org>
35527
35528 * conf/common.rmk: Add fs_file.mod.
35529 * disk/fs_file.c: New file.
35530 * include/grub/disk.h (enum grub_disk_dev_id): Add
35531 GRUB_DISK_DEVICE_FILE_ID.
35532
26586d98 355332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35534
35535 Fix build with Apple's toolchain. Part 2
35536
35537 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35538 a fake start
35539
26de2bcd 355402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35541
35542 Fix build with Apple's toolchain. Part 1
35543
35544 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35545 for long calls
35546 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35547 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35548 Apple's toolchain
35549
09b3490b 355502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35551
35552 Fix warnings
35553
35554 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35555 (decomp_block): initialize ch
35556 use grub_memcpy instead of memcpy
35557
c22a006a 355582009-06-17 Pavel Roskin <proski@gnu.org>
35559
d3638678 35560 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35561 version, use declarations needed to use vga_text as the startup
35562 console.
35563
c22a006a 35564 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35565 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35566 the kernel.
35567 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35568 and grub_at_keyboard_fini(), it's done on module load and
35569 unload.
35570
05b129e0 355712009-06-17 Felix Zielcke <fzielcke@z-51.de>
35572
35573 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35574 file can't be found.
35575 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35576
cf24ed9e 355772009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35578
35579 Fix newline handling
35580
35581 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35582 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35583 (grub_script_yylex): don't segfault on unterminated script
35584 newline terminates command and variable
35585
74aa8e4b 355862009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35587
35588 avoid double grub_adjust_range call. Bug reported by David Simner
35589
35590 * kern/disk.c (grub_disk_write): change to raw disk access before
35591 calling disk_read
35592
1bd265f3 355932009-06-17 Colin Watson <cjwatson@ubuntu.com>
35594
35595 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35596 spaces, for the benefit of help2man.
35597 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35598
a2d08c06 355992009-06-16 Pavel Roskin <proski@gnu.org>
35600
35601 * kern/i386/halt.c: Include grub/machine/init.h.
35602 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35603
b97bcb19 356042009-06-16 Felix Zielcke <fzielcke@z-51.de>
35605
35606 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35607 drivemap menuentry.
35608
0644f96c 356092009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35610
35611 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35612 `echo' command.
35613
3ef17a2e 356142009-06-16 Pavel Roskin <proski@gnu.org>
35615
35616 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35617 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35618 save %dx, we only need %dl and we never change it.
35619 * boot/i386/pc/cdboot.S: Don't set the root drive.
35620 * boot/i386/pc/pxeboot.S: Likewise.
35621 * include/grub/i386/pc/boot.h: Remove
35622 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35623 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35624 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35625 * kern/i386/pc/init.c (make_install_device): Remove references
35626 to grub_root_drive.
35627 * kern/i386/pc/startup.S: Likewise.
35628 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35629
693fe637 356302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35631
35632 xnu_uuid command
35633
35634 * commands/xnu_uuid.c: new file
35635 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35636 (xnu_uuid_mod_SOURCES): new variable
35637 (xnu_uuid_mod_CFLAGS): likewise
35638 (xnu_uuid_mod_LDFLAGS): likewise
35639 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35640 * conf/i386-ieee1275.rmk: likewise
35641 * conf/i386-pc.rmk: likewise
35642 * conf/powerpc-ieee1275.rmk: likewise
35643 * conf/sparc64-ieee1275.rmk: likewise
35644 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35645
c9da87d0 356462009-06-16 Pavel Roskin <proski@gnu.org>
35647
35648 * configure.ac: Avoid '==' in test command, it's not portable.
35649
9c6f4596 356502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35651
35652 Probe command
35653
35654 * commands/probe.c: new file
35655 * conf/common.rmk (pkglib_MODULES): add probe.mod
35656 (probe_mod_SOURCES): new variable
35657 (probe_mod_CFLAGS): likewise
35658 (probe_mod_LDFLAGS): likewise
35659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35660 * conf/i386-ieee1275.rmk: likewise
35661 * conf/i386-pc.rmk: likewise
35662 * conf/powerpc-ieee1275.rmk: likewise
35663 * conf/sparc64-ieee1275.rmk: likewise
35664
70b7f9fd 356652009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35666
35667 Fix handling of string like \"hello\" and "a
35668 b"
35669
35670 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35671 (grub_script_yylex): fix parsing of quoting, escaping and newline
35672
71c79a6b 356732009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35674
dd74360c 35675 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35676 handling
dd74360c 35677
0644f96c 356782009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35679
35680 * util/grub-mkconfig.in: Fix parsing of --output option.
35681
e40893c3 356822009-06-12 Pavel Roskin <proski@gnu.org>
35683
35684 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35685 genmk.rb don't need to be generated or installed.
35686
3a1acfe2 356872009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35688
35689 * commands/i386/pc/drivemap_int13h.S: add more comments
35690
3a4575d4 356912009-06-11 Pavel Roskin <proski@gnu.org>
35692
0658e928 35693 * Makefile.in (uninstall): Uninstall manuals.
35694
ca0388f0 35695 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35696 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35697 and update-grub_lib in two places.
35698 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35699
e3b27c39 35700 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35701 a compiler warning.
35702
3a4575d4 35703 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35704 `entry_lo' to fix variable shadowing.
35705
af1f4f55 357062009-06-11 Christian Franke <franke@computer.org>
35707
35708 * kern/misc.c (__enable_execute_stack): Add missing return type
35709 to prevent gcc warning.
35710
5225e649 357112009-06-11 Felix Zielcke <fzielcke@z-51.de>
35712
35713 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35714
7d83bd47 357152009-06-11 Pavel Roskin <proski@gnu.org>
35716
c1cb63ba 35717 * Makefile.in: Don't rely on any scripts being executable.
35718 Always use $(SHELL) to run shell scripts.
35719
7d83bd47 35720 * configure.ac: Always define ___main if using -nostdlib. This
35721 fixes tests on Cygwin.
35722
948f48e7 357232009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35724
35725 UDF fix
35726
7d83bd47 35727 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35728 is in bytes and not in blocks
7d83bd47 35729
8ada9bc1 357302009-06-11 Pavel Roskin <proski@gnu.org>
35731
35732 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35733 warning.
35734
25ad2323 357352009-06-11 Felix Zielcke <fzielcke@z-51.de>
35736
35737 * util/grub.d/30_os-prober.in: Fix a comment. Source
35738 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35739 to set the root device. Place drivemap command in the generated
35740 chain entry.
35741
e65acb0c 357422009-06-11 Pavel Roskin <proski@gnu.org>
35743
35744 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35745 have long been resolved.
35746
f285fe2d 357472009-06-11 Colin Watson <cjwatson@ubuntu.com>
35748
bd47b0b5 35749 * util/grub.d/10_linux.in: Capitalise "Linux".
35750
f285fe2d 35751 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35752
a0c62e4e 357532009-06-11 Pavel Roskin <proski@gnu.org>
35754
b6783cb2 35755 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35756 fix a gcc warning and ensure that the function won't ever exit.
35757
dde032e8 35758 * kern/i386/ieee1275/init.c: Add missing prototype for
35759 grub_stop_floppy().
35760
22cd079d 35761 * loader/ieee1275/multiboot2.c [__i386__]: Include
35762 grub/cpu/multiboot.h.
35763
a0c62e4e 35764 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35765 casts to short - they are not portable and cause warnings. Fix
35766 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35767
63963d17 357682009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35769
35770 Drivemap fixes
35771
35772 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35773 new function
35774 (grub_get_root_biosnumber_saved): new variable
35775 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35776 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35777 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35778 %dx after the call if necessary
35779 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35780 (boot_mod_SOURCES): remove
35781 (boot_mod_CFLAGS): remove
35782 (boot_mod_LDFLAGS): remove
35783 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35784 (boot_mod_SOURCES): new variable
35785 (boot_mod_CFLAGS): likewise
35786 (boot_mod_LDFLAGS): likewise
35787 * conf/i386-efi.rmk: likewise
35788 * conf/i386-ieee1275.rmk: likewise
35789 * conf/i386-pc.rmk: likewise
35790 * conf/powerpc-ieee1275.rmk: likewise
35791 * conf/sparc64-ieee1275.rmk: likewise
35792 * conf/x86_64-efi.rmk: likewise
35793 * include/grub/i386/pc/biosnum.h: new file
35794 * lib/i386/pc/biosnum.c: likewise
35795 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35796 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35797 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35798
33abf7ae 357992009-06-10 Pavel Roskin <proski@gnu.org>
35800
5ac35b35 35801 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35802 Use separate variables. Read only the file size at the end, but
35803 not the checksum that we don't use.
35804
5c5215d5 35805 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35806 Adjust all callers.
35807
27d5fef7 35808 * kern/ieee1275/openfw.c: Remove libc includes.
35809 * kern/ieee1275/cmain.c: Likewise.
35810 * include/grub/ieee1275/ieee1275.h: Likewise.
35811
33abf7ae 35812 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35813 compiler warnings.
35814
19d50c2b 358152009-06-10 Felix Zielcke <fzielcke@z-51.de>
35816
35817 * Makefile.in: Remove all trailing whitespace.
35818 * conf/i386-pc.rmk: Likewise.
35819 * conf/powerpc-ieee1275.rmk: Likewise.
35820 * conf/sparc64-ieee1275.rmk: Likewise.
35821 * docs/grub.texi: Likewise.
35822 * docs/texinfo.tex: Likewise.
35823 * disk/fs_uuid.c: Likewise.
35824 * disk/lvm.c: Likewise.
35825 * disk/scsi.c: Likewise.
35826 * disk/ata.c: Likewise.
35827 * disk/ieee1275/ofdisk.c: Likewise.
35828 * disk/i386/pc/biosdisk.c: Likewise.
35829 * disk/host.c: Likewise.
35830 * disk/raid.c: Likewise.
35831 * disk/efi/efidisk.c: Likewise.
35832 * disk/usbms.c: Likewise.
35833 * disk/memdisk.c: Likewise.
35834 * disk/loopback.c: Likewise.
35835 * kern/powerpc/dl.c: Likewise.
35836 * kern/device.c: Likewise.
35837 * kern/dl.c: Likewise.
35838 * kern/sparc64/dl.c: Likewise.
35839 * kern/ieee1275/ieee1275.c: Likewise.
35840 * kern/term.c: Likewise.
35841 * kern/fs.c: Likewise.
35842 * kern/i386/dl.c: Likewise.
35843 * kern/i386/pc/startup.S: Likewise.
35844 * kern/i386/pc/init.c: Likewise.
35845 * kern/i386/pc/mmap.c: Likewise.
35846 * kern/i386/pc/lzo1x.S: Likewise.
35847 * kern/i386/ieee1275/init.c: Likewise.
35848 * kern/i386/realmode.S: Likewise.
35849 * kern/i386/tsc.c: Likewise.
35850 * kern/partition.c: Likewise.
35851 * kern/corecmd.c: Likewise.
35852 * kern/file.c: Likewise.
35853 * kern/efi/efi.c: Likewise.
35854 * kern/efi/init.c: Likewise.
35855 * kern/efi/mm.c: Likewise.
35856 * kern/main.c: Likewise.
35857 * kern/err.c: Likewise.
35858 * kern/env.c: Likewise.
35859 * kern/disk.c: Likewise.
35860 * kern/generic/millisleep.c: Likewise.
35861 * kern/generic/rtc_get_time_ms.c: Likewise.
35862 * kern/misc.c: Likewise.
35863 * kern/parser.c: Likewise.
35864 * genmk.rb: Likewise.
35865 * configure.ac: Likewise.
35866 * boot/i386/pc/diskboot.S: Likewise.
35867 * boot/i386/pc/pxeboot.S: Likewise.
35868 * boot/i386/pc/boot.S: Likewise.
35869 * boot/i386/pc/lnxboot.S: Likewise.
35870 * boot/i386/pc/cdboot.S: Likewise.
35871 * parttool/pcpart.c: Likewise.
35872 * video/readers/tga.c: Likewise.
35873 * video/video.c: Likewise.
35874 * video/bitmap.c: Likewise.
35875 * lib/envblk.c: Likewise.
35876 * lib/i386/setjmp.S: Likewise.
35877 * fs/xfs.c: Likewise.
35878 * fs/afs.c: Likewise.
35879 * fs/fat.c: Likewise.
35880 * fs/ntfs.c: Likewise.
35881 * fs/udf.c: Likewise.
35882 * fs/affs.c: Likewise.
35883 * fs/iso9660.c: Likewise.
35884 * fs/hfs.c: Likewise.
35885 * fs/fshelp.c: Likewise.
35886 * fs/ext2.c: Likewise.
35887 * fs/jfs.c: Likewise.
35888 * fs/reiserfs.c: Likewise.
35889 * fs/hfsplus.c: Likewise.
35890 * fs/minix.c: Likewise.
35891 * fs/cpio.c: Likewise.
35892 * fs/sfs.c: Likewise.
35893 * fs/ufs.c: Likewise.
35894 * efiemu/prepare.c: Likewise.
35895 * efiemu/loadcore_common.c: Likewise.
35896 * efiemu/runtime/efiemu.sh: Likewise.
35897 * efiemu/runtime/efiemu.S: Likewise.
35898 * efiemu/runtime/efiemu.c: Likewise.
35899 * efiemu/pnvram.c: Likewise.
35900 * efiemu/main.c: Likewise.
35901 * efiemu/i386/pc/cfgtables.c: Likewise.
35902 * efiemu/i386/loadcore64.c: Likewise.
35903 * efiemu/i386/loadcore32.c: Likewise.
35904 * efiemu/loadcore.c: Likewise.
35905 * efiemu/symbols.c: Likewise.
35906 * efiemu/mm.c: Likewise.
35907 * include/grub/autoefi.h: Likewise.
35908 * include/grub/datetime.h: Likewise.
35909 * include/grub/term.h: Likewise.
35910 * include/grub/hfs.h: Likewise.
35911 * include/grub/lvm.h: Likewise.
35912 * include/grub/i386/tsc.h: Likewise.
35913 * include/grub/i386/linux.h: Likewise.
35914 * include/grub/i386/xnu.h: Likewise.
35915 * include/grub/i386/efiemu.h: Likewise.
35916 * include/grub/i386/pc/biosdisk.h: Likewise.
35917 * include/grub/i386/pc/memory.h: Likewise.
35918 * include/grub/i386/pc/vbe.h: Likewise.
35919 * include/grub/parttool.h: Likewise.
35920 * include/grub/video.h: Likewise.
35921 * include/grub/memory.h: Likewise.
35922 * include/grub/fs.h: Likewise.
35923 * include/grub/partition.h: Likewise.
35924 * include/grub/xnu.h: Likewise.
35925 * include/grub/efi/api.h: Likewise.
35926 * include/grub/efi/pe32.h: Likewise.
35927 * include/grub/efi/memory.h: Likewise.
35928 * include/grub/multiboot.h: Likewise.
35929 * include/grub/usbdesc.h: Likewise.
35930 * include/grub/multiboot2.h: Likewise.
35931 * include/grub/acpi.h: Likewise.
35932 * include/grub/efiemu/efiemu.h: Likewise.
35933 * include/grub/disk.h: Likewise.
35934 * include/grub/ieee1275/ieee1275.h: Likewise.
35935 * include/grub/net.h: Likewise.
35936 * include/grub/machoload.h: Likewise.
35937 * include/grub/macho.h: Likewise.
35938 * include/multiboot.h: Likewise.
35939 * genmoddep.awk: Likewise.
35940 * normal/main.c: Likewise.
35941 * normal/menu_entry.c: Likewise.
35942 * normal/menu_viewer.c: Likewise.
35943 * normal/completion.c: Likewise.
35944 * normal/cmdline.c: Likewise.
35945 * normal/misc.c: Likewise.
35946 * normal/datetime.c: Likewise.
35947 * bus/usb/usbtrans.c: Likewise.
35948 * bus/usb/ohci.c: Likewise.
35949 * bus/usb/uhci.c: Likewise.
35950 * bus/usb/usb.c: Likewise.
35951 * mmap/efi/mmap.c: Likewise.
35952 * mmap/i386/pc/mmap_helper.S: Likewise.
35953 * mmap/i386/pc/mmap.c: Likewise.
35954 * mmap/i386/mmap.c: Likewise.
35955 * mmap/i386/uppermem.c: Likewise.
35956 * mmap/mmap.c: Likewise.
35957 * commands/acpi.c: Likewise.
35958 * commands/echo.c: Likewise.
35959 * commands/blocklist.c: Likewise.
35960 * commands/loadenv.c: Likewise.
35961 * commands/usbtest.c: Likewise.
35962 * commands/boot.c: Likewise.
35963 * commands/parttool.c: Likewise.
35964 * commands/search.c: Likewise.
35965 * commands/cat.c: Likewise.
35966 * commands/i386/pc/play.c: Likewise.
35967 * commands/i386/pc/drivemap.c: Likewise.
35968 * commands/i386/pc/vbeinfo.c: Likewise.
35969 * commands/i386/pc/acpi.c: Likewise.
35970 * commands/i386/pc/vbetest.c: Likewise.
35971 * commands/ls.c: Likewise.
35972 * commands/cmp.c: Likewise.
35973 * commands/test.c: Likewise.
35974 * commands/efi/acpi.c: Likewise.
35975 * commands/gptsync.c: Likewise.
35976 * commands/help.c: Likewise.
35977 * partmap/amiga.c: Likewise.
35978 * partmap/apple.c: Likewise.
35979 * partmap/acorn.c: Likewise.
35980 * partmap/pc.c: Likewise.
35981 * partmap/sun.c: Likewise.
35982 * partmap/gpt.c: Likewise.
35983 * script/sh/lexer.c: Likewise.
35984 * script/sh/function.c: Likewise.
35985 * font/font.c: Likewise.
35986 * font/font_cmd.c: Likewise.
35987 * loader/powerpc/ieee1275/linux.c: Likewise.
35988 * loader/efi/chainloader.c: Likewise.
35989 * loader/multiboot_loader.c: Likewise.
35990 * loader/macho.c: Likewise.
35991 * loader/i386/multiboot.c: Likewise.
35992 * loader/i386/linux.c: Likewise.
35993 * loader/i386/pc/linux.c: Likewise.
35994 * loader/i386/pc/multiboot2.c: Likewise.
35995 * loader/i386/pc/chainloader.c: Likewise.
35996 * loader/i386/pc/xnu.c: Likewise.
35997 * loader/i386/bsd_trampoline.S: Likewise.
35998 * loader/i386/efi/linux.c: Likewise.
35999 * loader/i386/multiboot_elfxx.c: Likewise.
36000 * loader/i386/bsd_helper.S: Likewise.
36001 * loader/i386/bsd.c: Likewise.
36002 * loader/i386/linux_trampoline.S: Likewise.
36003 * loader/i386/xnu_helper.S: Likewise.
36004 * loader/i386/xnu.c: Likewise.
36005 * loader/i386/bsd_pagetable.c: Likewise.
36006 * loader/i386/multiboot_helper.S: Likewise.
36007 * loader/xnu.c: Likewise.
36008 * loader/xnu_resume.c: Likewise.
36009 * io/gzio.c: Likewise.
36010 * term/efi/console.c: Likewise.
36011 * term/terminfo.c: Likewise.
36012 * term/ieee1275/ofconsole.c: Likewise.
36013 * term/i386/pc/serial.c: Likewise.
36014 * term/i386/pc/vesafb.c: Likewise.
36015 * term/i386/pc/vga.c: Likewise.
36016 * term/usb_keyboard.c: Likewise.
36017 * term/gfxterm.c: Likewise.
36018 * aclocal.m4: Likewise.
36019 * util/lvm.c: Likewise.
36020 * util/grub.d/30_os-prober.in: Likewise.
36021 * util/grub.d/10_hurd.in: Likewise.
36022 * util/console.c: Likewise.
36023 * util/grub-macho2img.c: Likewise.
36024 * util/grub-probe.c: Likewise.
36025 * util/hostfs.c: Likewise.
36026 * util/i386/pc/grub-mkimage.c: Likewise.
36027 * util/i386/pc/grub-setup.c: Likewise.
36028 * util/i386/efi/grub-mkimage.c: Likewise.
36029 * util/grub-mkconfig.in: Likewise.
36030 * util/raid.c: Likewise.
36031 * util/resolve.c: Likewise.
36032 * util/grub-mkdevicemap.c: Likewise.
36033 * util/grub-emu.c: Likewise.
36034 * util/getroot.c: Likewise.
36035 * util/hostdisk.c: Likewise.
36036 * util/usb.c: Likewise.
36037 * util/grub-editenv.c: Likewise.
36038 * util/misc.c: Likewise.
36039
d2d49665 360402009-06-10 Felix Zielcke <fzielcke@z-51.de>
36041
36042 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36043 `genparttoollist.sh'.
36044 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36045 Add `*.sh' to the list find searches for and change `mdate.sh'
36046 to `mdate-sh'.
36047
fe052e37 360482009-06-10 Pavel Roskin <proski@gnu.org>
36049
2763ac18 36050 * include/grub/multiboot2.h: Provide compatibility defines for
36051 multiboot2.h.
36052 * include/multiboot2.h: Include stdint.h only if needed, using
36053 angle brackets.
36054 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36055 grub/multiboot2.h.
36056 * loader/ieee1275/multiboot2.c: Likewise.
36057 * loader/multiboot2.c: Likewise.
36058 * loader/multiboot_loader.c: Likewise.
36059
437e6adc 36060 * configure.ac: Use -nostdlib when probing for the target. It
36061 should not be required to have libc for the target.
36062
06a6836c 36063 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36064 they fail without libc headers for the target.
36065 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36066 exports.
36067 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36068 preprocessor conditionals.
36069
fe052e37 36070 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36071 build system doesn't need to be aware of the tar.c internals.
36072
afd22553 360732009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36074
afd22553 36075 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36076
6b787c4f 360772009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36078
36079 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36080 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36081
360822009-06-09 Felix Zielcke <fzielcke@z-51.de>
36083
36084 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36085 aren't available if ata.mod gets used.
6b787c4f 36086
473d1e45 360872009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36088
473d1e45 36089 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36090 initialising controller.
473d1e45 36091 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36092
255a27d4 360932009-06-08 Felix Zielcke <fzielcke@z-51.de>
36094
36095 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36096 to choose between ata and biosdisk module on i386-pc.
36097
473d1e45 360982009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36099
d55842d8 36100 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36101 Subclass and Programming Interface fields in terms of the 3 byte
36102 Class Code register.
36103 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36104
fa5db0b1 36105 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36106 interface is OHCI. Add grub_dprintf for symmetry with
36107 bus/usb/uhci.c.
36108 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36109 interface is UHCI. Add interf variable for programming
36110 interface. Print interface with class/subclass.
36111
c0947beb 36112 * bus/usb/ohci.c: Set interf with correct field.
36113
69da8877 36114 * bus/usb/uhci.c: Remove unneeded doubled lines.
36115 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36116 Remove whitespace inside comment.
36117
9e172e30 361182009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36119
36120 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36121 as fallback an equivalent option without depth.
36122
de65ee2b 361232009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36124
36125 Not fail if unable to retrieve C/H/S on LBA disks
36126
473d1e45 36127 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36128 if unable to retrieve C/H/S on LBA disks
36129
b57ea2c9 361302009-06-08 Pavel Roskin <proski@gnu.org>
36131
36132 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36133 about aliasing.
36134
af361263 361352009-06-08 Felix Zielcke <fzielcke@z-51.de>
36136
36137 * Makefile.in (uninstall): Remove all $lib_DATA files.
36138
4c9ec6b3 361392009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36140
36141 Bugfix: install on partitionless device
36142
36143 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36144 is a whole disk
36145
e76fc924 361462009-06-08 Felix Zielcke <fzielcke@z-51.de>
36147
36148 * Makefile.in (uninstall): Remove all $include_DATA files.
36149
ba5a0d05 361502009-06-08 Felix Zielcke <fzielcke@z-51.de>
36151
36152 * commands/true.c: New file. Implement the true and false commands.
36153 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36154 (true_mod_SOURCES): New variable.
36155 (true_mod_CFLAGS): Likewise.
36156 (true_mod_LDFLAGS): Likewise.
36157
c8048e32 361582009-06-05 Colin D Bennett <colin@gibibit.com>
36159
36160 Optimized font character lookup using binary search instead of linear
36161 search. Fonts now are required to have the character index ordered by
36162 code point.
36163
36164 * font/font.c (load_font_index): Verify that fonts have ordered
36165 character indices.
36166 (find_glyph): Use binary search instead of linear search to find a
36167 character in a font.
36168
408305be 361692009-06-05 Michael Scherer <misc@mandriva.org>
36170
36171 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36172 uses case sensitive btree.
36173 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36174 only for case insensitive filesystems.
36175
8ee1e0d9 361762009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36179 * conf/common.rmk (search_mod_CFLAGS): likewise
36180
a9966eb1 361812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36182
473d1e45 36183 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36184 compensate a compiler bug
36185
9e7100fb 361862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36187
473d1e45 36188 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36189 instead of '\b'
473d1e45 36190
ede21d71 361912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36192
36193 Definitions for creating asm symbols with Apple's CC
36194
36195 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36196 [APPLE_CC] (VARIABLE): likewise
36197
9dbf7653 361982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36199
36200 Disable lnxboot.img when compiled
36201 with Apple's CC
36202
36203 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36204 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36205 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36206 [! APPLE_CC] (CODE_LENG): skip
36207 [! APPLE_CC] (setup_sects): likewise
36208 [! APPLE_CC]: skip filling
473d1e45 36209
e93cdc3d 362102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36211
36212 Address in trampolines based on 32-bit registers when compiled
36213 with Apple's CC
36214
473d1e45 36215 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36216 for addresses
36217 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36218
6c688477 362192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36220
36221 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36222
36223 * kern/misc.c [APPLE_CC] (memcpy): new function
36224 [APPLE_CC] (memmove): likewise
36225 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36226 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36227 (memset): likewise
36228 (abort): likewise
36229 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36230 APPLE_CC are defined
36231 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36232 (grub_assert_fail): make prototype conditional
36233
e37ffc5c 362342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36235
36236 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36237
473d1e45 36238 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36239 grub-macho2img
e37ffc5c 36240 (CLEANFILES): add grub-macho2img
36241 (grub_macho2img_SOURCES): new variable
36242 * kern/i386/pc/startup.S (bss_start): new variable
36243 (bss_end): likewise
36244 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36245 * util/grub-macho2img.c: new file
36246
cf00df31 362472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36248
36249 Use objconv when compiling with Apple's CC
36250
36251 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36252 (efiemu64.o): likewise
36253 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36254 when compiling with Apple's CC
36255 (efiemu64_s.o): likewise
36256 * configure.ac: check for objconv when compiling with Apple's CC
36257 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36258
d119a20c 362592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36260
36261 Define segment as well as section when compiling with
36262 Apple's CC
36263
36264 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36265 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36266 (efiemu_convert_pointer): likewise
36267 (efiemu_set_virtual_address_map): likewise
36268 (efiemu_convert_pointer): likewise
36269 (efiemu_getcrc32): likewise
36270 (init_crc32_table): likewise
36271 (reflect): likewise
36272 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36273 (GRUB_MOD_DEP): likewise
473d1e45 36274
c8600122 362752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36276
36277 Allow a compilation without -mcmodel=large
36278
36279 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36280 when compiled without -mcmodel=large
473d1e45 36281 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36282 without -mcmodel=large
473d1e45 36283 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36284 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36285
e8df1d4e 362862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36287
36288 Remove nested functions in efiemu core
36289
36290 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36291
cc6c3ac1 362922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36293
36294 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36295
36296 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36297 temporary storage
473d1e45 36298 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36299 using Apple's CC
cc6c3ac1 36300 (grub_cpu_is_tsc_supported): likewise
36301 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36302
3e325901 363032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36304
36305 Absolute addressing through constant with Apple's cc
36306
36307 * kern/i386/pc/startup.S: Define necessary constants
36308 and address through it when using ABS with Apple's CC
36309 * boot/i386/pc/diskboot.S: likewise
36310 * boot/i386/pc/boot.S: likewise
36311 * boot/i386/pc/lnxboot.S: likewise
36312 * boot/i386/pc/cdboot.S: likewise
36313 * mmap/i386/pc/mmap_helper.S: likewise
36314 * commands/i386/pc/drivemap_int13h.S: likewise
36315
2b167a72 363162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36317
36318 Check if compiler is apple cc
36319
36320 * Makefile.in (ASFLAGS): new variable
36321 (TARGET_ASFLAGS): likewise
36322 (TARGET_MODULE_FORMAT): likewise
36323 (TARGET_APPLE_CC): likewise
36324 (OBJCONV): likewise
36325 (TARGET_IMG_CFLAGS): likewise
36326 (TARGET_CPPFLAGS): add includedir
36327 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36328 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36329 Check for linker script only if compiler isn't Apple's CC
36330 (TARGET_MODULE_FORMAT): set
36331 (TARGET_APPLE_CC): likewise
36332 (TARGET_ASFLAGS): likewise
36333 (ASFLAGS): likewise
36334 Check for objcopy only if compiler isn't Apple's CC
36335 Check for BSS symbol only if compiler isn't Apple's CC
36336 * genmk.rb: adapt nm options if we use Apple's utils
36337 * aclocal.m4 (grub_apple_cc): new test
36338 (grub_apple_target_cc): likewise
473d1e45 36339
fb14123e 363402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36341
36342 Simplify sed expressions and improve awk
36343
36344 * Makefile.in (install-local): simplify sed expression
36345 * gencmdlist.sh: likewise
36346 * genmoddep.awk: avoid adding module as a dependency of itself
36347
5b889789 363482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36349
36350 Add missing start symbols
36351
36352 * boot/i386/pc/boot.S: add start
fb14123e 36353 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36354
fd2bf2e3 363552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36356
36357 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36358
36359 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36360 (relocate_addresses): consider both r_addend and value at offset
36361 (make_mods_section): zerofill modinfo and header
36362 (convert_elf): write prefix here
473d1e45 36363
5389763d 363642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36365
36366 Use .asciz instead of .string
36367
36368 * i386/pc/diskboot.S: use .asciz instead of .string
36369 * i386/pc/boot.S: likewise
36370 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36371 (GRUB_MOD_NAME): likewise
473d1e45 36372
3eb5ed4e 363732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36374
36375 gfxpayload support
36376
36377 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36378 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36379 (grub_video_setup): remove
36380 (grub_video_set_mode): new prototype
36381 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36382 (vid_mode): remove
36383 (linux_vesafb_res): compile only on PCBIOS
36384 (grub_linux_boot): support gfxpayload
36385 * loader/i386/pc/xnu.c (video_hook): new function
36386 (grub_xnu_set_video): support gfxpayload
36387 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36388 (DEFAULT_VIDEO_HEIGHT): likewise
36389 (DEFAULT_VIDEO_FLAGS): likewise
36390 (DEFAULT_VIDEO_MODE): new definition
36391 (video_hook): new function
36392 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36393 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36394 loading xnu
36395 * video/video.c (grub_video_setup): removed
473d1e45 36396 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36397 grub_video_setup
36398
4b0e1143 363992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36400
36401 Avoid calling biosdisk in drivemap
36402
36403 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36404 (revparse_biosdisk): likewise
36405 (list_mappings): derive name from id directly
36406 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36407
fda6cb98 364082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36409
36410 Script fixes
36411
36412 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36413 (grub_lexer_param): add tokenonhold
36414 (grub_script_create_cmdline): remove cmdline. All callers updated
36415 (grub_script_function_create): make functionname
36416 grub_script_arg. All callers updated
36417 (grub_script_execute_argument_to_string): new prototype
36418 * kern/parser.c (state_transitions): reorder
36419 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36420 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36421 make global
36422 (grub_script_execute_cmdline): use new format
36423 * script/sh/function.c (grub_script_function_create): make functionname
36424 grub_script_arg. All callers updated
473d1e45 36425 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36426 (grub_script_yylex): remove
36427 (grub_script_yylex2): renamed to ...
36428 (grub_script_yylex): ...renamed
36429 parse the expressions like a${b}c
36430 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36431 (GRUB_PARSER_TOKEN_VAR): remove
36432 (GRUB_PARSER_TOKEN_NAME): likewise
36433 ("if"): declare as typeless
36434 ("while"): likewise
36435 ("function"): likewise
36436 ("else"): likewise
36437 ("then"): likewise
36438 ("fi"): likewise
36439 (text): remove
36440 (argument): likewise
36441 (script): accept empty scripts and make exit on error
36442 (arguments): use GRUB_PARSER_TOKEN_ARG
36443 (function): likewise
36444 (command): move error handling to script
36445 (menuentry): move grub_script_lexer_ref before
473d1e45 36446 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36447 argument. All callers updated
36448
f4448a07 364492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36450
36451 Prevent GRUB from probing floppies during boot.
36452
36453 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36454 * commands/search.c (options): Add --no-floppy.
36455 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36456 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36457 --no-floppy when searching for UUIDs.
36458
2bf5885a 364592009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36460
36461 Simplify the code duplication in commands/search.c.
36462
36463 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36464 (search_fs): ... this. Update all users.
36465
f6fd460a 364662009-06-03 Felix Zielcke <fzielcke@z-51.de>
36467
36468 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36469
cbb3c83e 364702009-05-28 Pavel Roskin <proski@gnu.org>
36471
57788cfd 36472 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36473 Remove the original symlink explicitly.
36474
cbb3c83e 36475 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36476 just one slash. That's how grub_fshelp_find_file() does it.
36477
cd0d5e30 364782009-05-26 Pavel Roskin <proski@gnu.org>
36479
f0f8bbe2 36480 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36481 to `str'.
36482
cd0d5e30 36483 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36484 possibly unused.
36485
8c2cab51 364862009-05-25 Christian Franke <franke@computer.org>
36487
36488 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36489 register.
36490 (grub_atapi_identify): Add wait after drive select.
36491 (grub_ata_identify): Do more strict status register check before
36492 calling grub_atapi_identify (). Suppress error message if status
36493 register is 0x00 after command failure. Add status register
36494 check after PIO read to avoid bogus identify due to stuck DRQ.
36495 Thanks to Pavel Roskin for testing.
36496 (grub_device_initialize): Remove unsafe status register check.
36497 Thanks to 'phcoder' for problem report and patch.
36498 Prevent sign extension in debug message.
36499
230c0ad6 365002009-05-23 Colin D Bennett <colin@gibibit.com>
36501
36502 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36503 definition file, and functions defined in `normal/menu.c' have had
36504 their prototypes moved to `include/grub/menu.h' for consistency.
36505
36506 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36507 from normal.h.
36508 (grub_menu_get_entry): Likewise.
36509 (grub_menu_get_timeout): Likewise.
36510 (grub_menu_set_timeout): Likewise.
36511 (grub_menu_execute_entry): Likewise.
36512 (grub_menu_execute_with_fallback): Likewise.
36513 (grub_menu_entry_run): Likewise.
36514
36515 * include/grub/normal.h: Re-ordered and grouped function
36516 prototypes by file that the function is defined in.
36517 (grub_menu_execute_callback): Removed; moved to menu.h.
36518 (grub_menu_get_entry): Likewise.
36519 (grub_menu_get_timeout): Likewise.
36520 (grub_menu_set_timeout): Likewise.
36521 (grub_menu_execute_entry): Likewise.
36522 (grub_menu_execute_with_fallback): Likewise.
36523 (grub_menu_entry_run): Likewise.
36524 (grub_menu_addentry): Renamed from this ...
36525 (grub_normal_add_menu_entry): ... to this.
36526
36527 * normal/main.c (grub_menu_addentry): Renamed from this ...
36528 (grub_normal_add_menu_entry): ... to this.
36529
36530 * script/sh/execute.c (grub_script_execute_menuentry): Update
36531 reference to renamed grub_menu_addentry function.
36532
861f03a5 365332009-05-23 Felix Zielcke <fzielcke@z-51.de>
36534
36535 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36536
96b1619a 365372009-05-22 Pavel Roskin <proski@gnu.org>
36538
bf6a5fb2 36539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36540 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36541 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36542 compiling for the i386 targets, but not for the utilities.
36543
96b1619a 36544 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36545 to grub_uint8_t.
36546 (grub_root_drive): Likewise.
36547 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36548 remove alignment.
36549 (grub_root_drive): Change size to byte.
36550 (grub_start_addr): Remove.
36551 (grub_end_addr): Likewise.
36552 (grub_apm_bios_info): Likewise.
36553
b729776b 365542009-05-21 Felix Zielcke <fzielcke@z-51.de>
36555
36556 * normal/i386: Remove.
36557 * normal/powerpc: Likewise.
36558 * normal/sparc64: Likewise.
36559 * normal/x86_64: Likewise.
36560
0a15ce80 365612009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36564 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36565 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36566
33db9015 365672009-05-18 Colin D Bennett <colin@gibibit.com>
36568
d6da58e6 36569 Display error messages when parsing a Lua statement fails.
36570 Previously, executing a syntactically invalid statement like
36571 ")foo" or "bar;" would silently fail.
33db9015 36572
36573 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36574 (grub_lua_parse_line): Improved reporting of Lua parser and
36575 execution errors.
33db9015 36576
46422c89 365772009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36578
36579 Remove -Werror which causes build to fail on some systems
36580
36581 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36582 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36583 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36584
22f53a96 365852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36586
36587 trampoline for linux on 64-bit platform
36588
18f547ad 36589 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36590 loader/i386/efi/linux_trampoline.S
36591 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36592 declaration
d6da58e6 36593 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36594 here
22f53a96 36595 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36596 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36597 trampoline
22f53a96 36598 (jumpvector): removed
36599 (grub_linux_trampoline_start): new declaration
36600 (grub_linux_trampoline_end): likewise
36601 (grub_linux_boot): use trampoline when on 64-bit platform
36602 * loader/i386/linux.c: likewise
36603
cb5a0f40 366042009-05-16 Pavel Roskin <proski@gnu.org>
36605
36606 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36607 const to avoid a warning.
36608 (grub_lua_setenv): Likewise.
36609 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36610 lmsg to fix a warning.
36611
334f2c28 366122009-05-16 Felix Zielcke <fzielcke@z-51.de>
36613
36614 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36615 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36616 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36617 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36618 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36619 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36620 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36621 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36622
59e5d3ec 366232009-05-16 Felix Zielcke <fzielcke@z-51.de>
36624
36625 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36626
9d87a1ba 366272009-05-16 Bean <bean123ch@gmail.com>
36628
36629 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36630 (lua_mod_SOURCES): New variable.
36631 (lua_mod_CFLAGS): Likewise.
36632 (lua_mod_LDFLAGS): Likewise.
36633
36634 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36635 (setjmp_mod_SOURCES): New variable.
36636 (setjmp_mod_CFLAGS): Likewise.
36637 (setjmp_LDFLAGS): Likewise.
36638
36639 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36640 (setjmp_mod_SOURCES): New variable.
36641 (setjmp_mod_CFLAGS): Likewise.
36642 (setjmp_LDFLAGS): Likewise.
36643
36644 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36645 (setjmp_mod_SOURCES): New variable.
36646 (setjmp_mod_CFLAGS): Likewise.
36647 (setjmp_LDFLAGS): Likewise.
36648
36649 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36650 (setjmp_mod_SOURCES): New variable.
36651 (setjmp_mod_CFLAGS): Likewise.
36652 (setjmp_LDFLAGS): Likewise.
36653
36654 * normal/i386/setjmp.S: Moved from here ...
36655 * lib/i386/setjmp.S: ... Moved here
36656 * normal/x86_64/setjmp.S: Moved from here ...
36657 * lib/x86_64/setjmp.S: ... Moved here
36658 * normal/powerpc/setjmp.S: Moved from here ...
36659 * lib/powerpc/setjmp.S: ... Moved here
36660 * normal/sparc64/setjmp.S: Moved from here ...
36661 * lib/sparc64/setjmp.S: ... Moved here
36662
36663 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36664 returns_twice in mingw.
36665
36666 * script/lua/grub_lib.c: New file.
36667 * script/lua/grub_lib.h: Likewise.
36668 * script/lua/grub_lua.h: Likewise.
36669 * script/lua/grub_main.c: Likewise.
36670 * script/lua/lapi.c: Likewise.
36671 * script/lua/lapi.h: Likewise.
36672 * script/lua/lauxlib.c: Likewise.
36673 * script/lua/lauxlib.h: Likewise.
36674 * script/lua/lbaselib.c: Likewise.
36675 * script/lua/lcode.c: Likewise.
36676 * script/lua/lcode.h: Likewise.
36677 * script/lua/ldblib.c: Likewise.
36678 * script/lua/ldebug.c: Likewise.
36679 * script/lua/ldebug.h: Likewise.
36680 * script/lua/ldo.c: Likewise.
36681 * script/lua/ldo.h: Likewise.
36682 * script/lua/ldump.c: Likewise.
36683 * script/lua/lfunc.c: Likewise.
36684 * script/lua/lfunc.h: Likewise.
36685 * script/lua/lgc.c: Likewise.
36686 * script/lua/lgc.h: Likewise.
36687 * script/lua/linit.c: Likewise.
36688 * script/lua/liolib.c: Likewise.
36689 * script/lua/llex.c: Likewise.
36690 * script/lua/llex.h: Likewise.
36691 * script/lua/llimits.h: Likewise.
36692 * script/lua/lmathlib.c: Likewise.
36693 * script/lua/lmem.c: Likewise.
36694 * script/lua/lmem.h: Likewise.
36695 * script/lua/loadlib.c: Likewise.
36696 * script/lua/lobject.c: Likewise.
36697 * script/lua/lobject.h: Likewise.
36698 * script/lua/lopcodes.c: Likewise.
36699 * script/lua/lopcodes.h: Likewise.
36700 * script/lua/loslib.c: Likewise.
36701 * script/lua/lparser.c: Likewise.
36702 * script/lua/lparser.h: Likewise.
36703 * script/lua/lstate.c: Likewise.
36704 * script/lua/lstate.h: Likewise.
36705 * script/lua/lstring.c: Likewise.
36706 * script/lua/lstring.h: Likewise.
36707 * script/lua/lstrlib.c: Likewise.
36708 * script/lua/ltable.c: Likewise.
36709 * script/lua/ltable.h: Likewise.
36710 * script/lua/ltablib.c: Likewise.
36711 * script/lua/ltm.c: Likewise.
36712 * script/lua/ltm.h: Likewise.
36713 * script/lua/lua.h: Likewise.
36714 * script/lua/luaconf.h: Likewise.
36715 * script/lua/lualib.h: Likewise.
36716 * script/lua/lundump.c: Likewise.
36717 * script/lua/lundump.h: Likewise.
36718 * script/lua/lvm.c: Likewise.
36719 * script/lua/lvm.h: Likewise.
36720 * script/lua/lzio.c: Likewise.
36721 * script/lua/lzio.h: Likewise.
36722
5e898c9d 367232009-05-16 Bean <bean123ch@gmail.com>
36724
36725 * include/grub/kernel.h (grub_module_header_types): Add type
36726 OBJ_TYPE_CONFIG.
36727
36728 * kern/main.c (grub_load_config): New function.
36729 (grub_main): Call grub_load_config to read boot config.
36730
36731 * grub-mkimage (generate_image): New parameter config_path.
36732 (options): New option --config.
36733 (main): Parse --config option, and pass it to generate_image.
36734
cf353a47 367352009-05-14 Christian Franke <franke@computer.org>
36736
36737 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36738 This fixes build on Cygwin.
36739
3834887f 367402009-05-14 Pavel Roskin <proski@gnu.org>
36741
36742 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36743 jump. This saves two bytes, so the typical case of 2 swapped
36744 drives would fit 32 bytes.
36745
8090fc01 367462009-05-13 Pavel Roskin <proski@gnu.org>
36747
ac963883 36748 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36749 grub_uint32_t to avoid a warning.
36750
8090fc01 36751 * loader/i386/linux.c (allocate_pages): When assigning
36752 real_mode_mem, cast through grub_size_t to fix a warning. The
36753 code already makes sure that the value would fit a pointer.
36754 (grub_linux_setup_video): Cast render_target->data to
36755 grub_size_t to fix a warning.
36756
18f547ad 367572009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36758
36759 * commands/i386/pc/drivemap.c: New file - implement drivemap
36760 command.
36761 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36762 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36763
6f6a8b28 367642009-05-13 Pavel Roskin <proski@gnu.org>
36765
36766 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36767 embedding_area_exists.
36768
15fbf4c4 367692009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36770
36771 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36772 it easier to understand / work with.
59978c8a 36773 Improve warning messages for cases where there's no embedding area,
36774 or when it is too small (or core.img too large).
15fbf4c4 36775
238e871f 367762009-05-13 Pavel Roskin <proski@gnu.org>
36777
0ab3a9a4 36778 * loader/i386/pc/multiboot2.c: Add necessary includes for
36779 grub_multiboot2_real_boot().
36780
a2c8c5f8 36781 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36782 PX record is always little-endian. We only need the lower 2
36783 bytes of the mode.
36784
faec96af 36785 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36786 facilitate code reuse.
36787 (grub_cpio_mount): Use "struct head", not a char buffer. This
36788 fixes a warning reported by gcc 4.4.
36789
238e871f 36790 * kernel/disk.c (grub_disk_read): Use void pointer for the
36791 buffer.
36792 (grub_disk_write): Use const void pointer for the buffer.
36793 Adjust all callers. Remove unnecessary casts.
36794
901d2f0c 367952009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36796
36797 * util/i386/pc/grub-install.in: Update copyright year.
36798
18f547ad 367992009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36800
36801 gptsync
36802
36803 * commands/gptsync.c: new file
36804 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36805 (gptsync_mod_SOURCES): new variable
36806 (gptsync_mod_CFLAGS): likewise
36807 (gptsync_mod_LDFLAGS): likewise
18f547ad 36808 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36809 new definition
36810 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36811 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36812 * conf/i386-ieee1275.rmk: likewise
36813 * conf/i386-pc.rmk: likewise
36814 * conf/powerpc-ieee1275.rmk: likewise
36815
b4ba690a 368162009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36817
36818 Fixed grub-emu
36819
36820 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36821 (grub_dl_ref): likewise
36822
317e1a44 368232009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36824
36825 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36826 split in two functions (one for msdos and one for gpt).
36827
041b8094 368282009-05-08 Pavel Roskin <proski@gnu.org>
36829
752473c2 36830 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36831 not modified.
36832
041b8094 36833 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36834 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36835 Initialize them with -1. Add sanity check for bad1. Eliminate
36836 nerr variable.
36837
172800ce 368382009-05-08 David S. Miller <davem@davemloft.net>
36839
36840 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36841
29aa5e81 368422009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36843
36844 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36845 existence.
29aa5e81 36846
96613b62 368472009-05-05 Felix Zielcke <fzielcke@z-51.de>
36848
36849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36850 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36851
eef73c8a 368522009-05-05 David S. Miller <davem@davemloft.net>
36853
36854 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36855
119494b5 368562009-05-05 Pavel Roskin <proski@gnu.org>
36857
36858 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36859 of grub_dl_ref() and grub_dl_unref().
36860 * commands/parttool.c: Remove preprocessor conditionals around
36861 grub_dl_ref() and grub_dl_unref().
36862 * fs/affs.c: Likewise.
36863 * fs/afs.c: Likewise.
36864 * fs/cpio.c: Likewise.
36865 * fs/ext2.c: Likewise.
36866 * fs/fat.c: Likewise.
36867 * fs/hfs.c: Likewise.
36868 * fs/hfsplus.c: Likewise.
36869 * fs/iso9660.c: Likewise.
36870 * fs/jfs.c: Likewise.
36871 * fs/minix.c: Likewise.
36872 * fs/ntfs.c: Likewise.
36873 * fs/reiserfs.c: Likewise.
36874 * fs/sfs.c: Likewise.
36875 * fs/udf.c: Likewise.
36876 * fs/ufs.c: Likewise.
36877 * fs/xfs.c: Likewise.
36878 * include/grub/dl.h: Likewise.
36879 * loader/xnu.c: Likewise.
36880
de5fd76e 368812009-05-04 Pavel Roskin <proski@gnu.org>
36882
36883 * commands/acpi.c: Remove unused variable my_mod.
36884 * partmap/amiga.c: Likewise.
36885 * partmap/apple.c: Likewise.
36886 * partmap/gpt.c: Likewise.
36887 * partmap/pc.c: Likewise.
36888 * partmap/sun.c: Likewise.
36889 * term/gfxterm.c: Likewise.
36890 * term/i386/pc/vesafb.c: Likewise.
36891 * term/i386/pc/vga.c: Likewise.
36892
983598ad 368932009-05-04 David S. Miller <davem@davemloft.net>
36894
36895 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36896 pointer args to grub_ieee1275_get_property().
36897
8aadec43 36898 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36899
9554b15e 36900 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36901 devices, and do not traverse down under controller nodes.
36902
67e23c90 36903 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36904 (grub_ofdisk_open): Use it to un-escape "," characters.
36905 * kern/disk.c (find_part_sep): New.
36906 (grub_disk_open): Use it to find the first non-escaped ','
36907 character in the disk name.
36908 * util/ieee1275/devicemap.c (escape_of_path): New.
36909 (grub_util_emit_devicemap_entry): Use it.
36910 * util/sparc64/ieee1275/grub-install.in: Update script to
36911 strip partition specifiers properly by not triggering on
36912 '\' escaped ',' characters.
36913
74bfdd2f 369142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36915
36916 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36917 to 0x300.
36918 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36919 resolutions.
36920 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36921 on documentation from Wikipedia).
36922
4241d2b1 369232009-05-04 Pavel Roskin <proski@gnu.org>
36924
36925 * disk/ata.c: Spelling fixes.
36926 * disk/raid.c: Likewise.
36927 * disk/usbms.c: Likewise.
36928 * disk/dmraid_nvidia.c: Likewise.
36929 * kern/ieee1275/openfw.c: Likewise.
36930 * kern/ieee1275/init.c: Likewise.
36931 * kern/ieee1275/cmain.c: Likewise.
36932 * boot/i386/pc/cdboot.S: Likewise.
36933 * video/readers/png.c: Likewise.
36934 * video/i386/pc/vbe.c: Likewise.
36935 * fs/udf.c: Likewise.
36936 * fs/hfs.c: Likewise.
36937 * fs/reiserfs.c: Likewise.
36938 * efiemu/runtime/efiemu.c: Likewise.
36939 * efiemu/main.c: Likewise.
36940 * efiemu/mm.c: Likewise.
36941 * include/grub/elf.h: Likewise.
36942 * include/grub/xnu.h: Likewise.
36943 * include/grub/usbdesc.h: Likewise.
36944 * include/grub/usb.h: Likewise.
36945 * include/grub/script_sh.h: Likewise.
36946 * include/grub/lib/LzmaEnc.h: Likewise.
36947 * include/grub/efiemu/efiemu.h: Likewise.
36948 * include/grub/command.h: Likewise.
36949 * normal/menu.c: Likewise.
36950 * normal/main.c: Likewise.
36951 * normal/datetime.c: Likewise.
36952 * bus/usb/uhci.c: Likewise.
36953 * mmap/i386/uppermem.c: Likewise.
36954 * mmap/mmap.c: Likewise.
36955 * commands/acpi.c: Likewise.
36956 * commands/test.c: Likewise.
36957 * partmap/apple.c: Likewise.
36958 * font/font.c: Likewise.
36959 * loader/sparc64/ieee1275/linux.c: Likewise.
36960 * loader/macho.c: Likewise.
36961 * loader/i386/bsd_trampoline.S: Likewise.
36962 * loader/i386/bsd.c: Likewise.
36963 * loader/xnu.c: Likewise.
36964 * term/i386/pc/vesafb.c: Likewise.
36965 * term/usb_keyboard.c: Likewise.
36966 * util/resolve.c: Likewise.
36967 * util/getroot.c: Likewise.
36968
0cfc0083 369692009-05-04 Felix Zielcke <fzielcke@z-51.de>
36970
36971 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36972
7c1d00cd 369732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36974
36975 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36976 build error.
36977
b01f0548 369782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36979
36980 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36981 parameter only available on BIOS.
36982
ecc3eb22 369832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36984
36985 Removed wrong semicolon in declaration
36986
36987 * grub/misc.h (grub_dprintf): remove semicolon
36988
112972a9 369892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36990
36991 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36992 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36993 is done by grub_cmd_linux() now).
36994 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36995 restore video to text mode.
36996 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36997 indicates lack of "vga=" parameter. "vga=0" is mapped to
36998 `GRUB_LINUX_VID_MODE_NORMAL'.
36999
afd5c115 370002009-05-04 Felix Zielcke <fzielcke@z-51.de>
37001
37002 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37003 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37004 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37005 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37006 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37007 `grub_script.tab.c'.
37008
37009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37014
faa517ce 37015 * Makefile.in: Remove duplicated 2008 in Copyright line.
37016
ae0c0bdc 370172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37018
473d1e45 37019 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37020 unconditionally.
37021 * include/grub/util/misc.h (grub_util_warn): New declaration.
37022
37023 * util/i386/pc/grub-install.in: Understand --force and pass it down
37024 to grub-setup.
37025
37026 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37027 down to setup().
37028 (setup): Improve error messages and add warnings when requested to
37029 install in odd layouts. Refuse to install using blocklists unless
37030 --force was set.
37031
18f547ad 370322009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37033
37034 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37035
6d260daa 370362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37037
37038 Updated copyright year
37039
37040 * fs/hfsplus.c: updated copyright year
18f547ad 37041
69f853f8 370422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37043
37044 HFS+ UUID
37045
18f547ad 37046 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37047 in the space previously used by unused3
37048 (grub_hfsplus_uuid): new function
37049 (grub_hfsplus_fs): added uuid field
37050
4c402e73 370512009-05-03 Pavel Roskin <proski@gnu.org>
37052
37053 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37054 suppress warnings. It's no longer needed.
37055 * disk/host.c: Likewise.
37056 * disk/ata_pthru.c: Likewise.
37057 * disk/loopback.c: Likewise.
37058 * hook/datehook.c: Likewise.
37059 * parttool/pcpart.c: Likewise.
37060 * fs/i386/pc/pxe.c: Likewise.
37061 * fs/ntfscomp.c: Likewise.
37062 * efiemu/main.c: Likewise.
37063 * mmap/mmap.c: Likewise.
37064 * commands/crc.c: Likewise.
37065 * commands/hexdump.c: Likewise.
37066 * commands/hdparm.c: Likewise.
37067 * commands/acpi.c: Likewise.
37068 * commands/echo.c: Likewise.
37069 * commands/minicmd.c: Likewise.
37070 * commands/blocklist.c: Likewise.
37071 * commands/memrw.c: Likewise.
37072 * commands/loadenv.c: Likewise.
37073 * commands/usbtest.c: Likewise.
37074 * commands/lsmmap.c: Likewise.
37075 * commands/boot.c: Likewise.
37076 * commands/parttool.c: Likewise.
37077 * commands/configfile.c: Likewise.
37078 * commands/search.c: Likewise.
37079 * commands/ieee1275/suspend.c: Likewise.
37080 * commands/cat.c: Likewise.
37081 * commands/i386/pc/pxecmd.c: Likewise.
37082 * commands/i386/pc/play.c: Likewise.
37083 * commands/i386/pc/halt.c: Likewise.
37084 * commands/i386/pc/vbeinfo.c: Likewise.
37085 * commands/i386/pc/vbetest.c: Likewise.
37086 * commands/lspci.c: Likewise.
37087 * commands/date.c: Likewise.
37088 * commands/handler.c: Likewise.
37089 * commands/ls.c: Likewise.
37090 * commands/test.c: Likewise.
37091 * commands/cmp.c: Likewise.
37092 * commands/efi/loadbios.c: Likewise.
37093 * commands/efi/fixvideo.c: Likewise.
37094 * commands/halt.c: Likewise.
37095 * commands/help.c: Likewise.
37096 * commands/reboot.c: Likewise.
37097 * hello/hello.c: Likewise.
37098 * script/sh/main.c: Likewise.
37099 * loader/xnu.c: Likewise.
37100 * term/terminfo.c: Likewise.
37101 * term/i386/pc/serial.c: Likewise.
37102 * term/usb_keyboard.c: Likewise.
37103
515b5079 371042009-05-03 David S. Miller <davem@davemloft.net>
37105
37106 * normal/menu.c: Include grub/parser.h
37107
dfc31a22 371082009-05-03 Pavel Roskin <proski@gnu.org>
37109
2fee74f1 37110 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37111 not char*.
37112 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37113 Suggested by Javier Martín <lordhabbit@gmail.com>
37114
dfc31a22 37115 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37116 efiemu??.o doesn't exist.
37117 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37118 copying.
37119
18f547ad 371202009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37121
37122 FreeBSD 64-bit support
37123
18f547ad 37124 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37125 and loader/i386/bsd_trampoline.S
37126 (bsd_mod_ASFLAGS): new variable
37127 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37128 (FREEBSD_MODTYPE_KERNEL64): likewise
37129 (grub_bsd64_trampoline_start): likewise
37130 (grub_bsd64_trampoline_end): likewise
37131 (grub_bsd64_trampoline_selfjump): likewise
37132 (grub_bsd64_trampoline_gdt): likewise
37133 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37134 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37135 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37136 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37137 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37138 of "attrib" member
37139 * loader/i386/bsd_pagetable.c: new file
37140 * loader/i386/bsd_trampoline.S: likewise
37141 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37142 (ALIGN_VAR): likewise
37143 (entry_hi): new variable
37144 (kern_end_mdofs): likewise
37145 (is_64bit): likewise
37146 (grub_freebsd_add_meta): use ALIGN_VAR
37147 (grub_e820_mmap): new declaration
37148 (grub_freebsd_add_mmap): new function
37149 (grub_freebsd_add_meta_module): support 64 bit kernels
37150 (grub_freebsd_list_modules): use ALIGN_VAR
37151 (gdt_descriptor): new declaration
37152 (grub_freebsd_boot): support 64 bit kernels
37153 (grub_bsd_elf64_hook): new function
37154 (grub_bsd_load_elf): support elf64
37155
038c5720 371562009-05-03 Bean <bean123ch@gmail.com>
37157
37158 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37159 after we get the result of if statement.
37160
fc45fb58 371612009-05-03 Bean <bean123ch@gmail.com>
37162
37163 * Makefile.in (enable_efiemu): New variable.
37164
37165 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37166 set.
37167 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37168 path.
37169 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37170 path, add -mno-red-zone option.
37171 (efiemu64_s.o): Likewise.
37172 (efiemu64.o): Use macro $^ for source file.
37173
37174 * configure.ac (--enable-efiemu): New option.
37175
bbee0f2b 371762009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37177
37178 xnu support
37179
37180 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37181 (pkglib_MODULES): add xnu.mod
37182 (xnu_mod_SOURCES): new variable
37183 (xnu_mod_CFLAGS): likewise
37184 (xnu_mod_LDFLAGS): likewise
37185 (xnu_mod_ASFLAGS): likewise
37186 * conf/i386-pc.rmk: likewise
37187 * conf/x86_64-efi.rmk: likewise
7dd4a573 37188 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37189 new declaration
37190 * include/grub/i386/macho.h: new file
37191 * include/grub/i386/xnu.h: likewise
37192 * include/grub/macho.h: likewise
37193 * include/grub/machoload.h: likewise
37194 * include/grub/x86_64/macho.h: likewise
37195 * include/grub/x86_64/xnu.h: likewise
37196 * include/grub/xnu.h: likewise
37197 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37198 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37199 * loader/i386/efi/xnu.c: new file
37200 * loader/i386/pc/xnu.c: likewise
37201 * loader/i386/xnu.c: likewise
37202 * loader/i386/xnu_helper.S: likewise
37203 * loader/macho.c: likewise
37204 * loader/xnu.c: likewise
37205 * loader/xnu_resume.c: likewise
37206 * util/grub-dumpdevtree: likewise
37207 * include/grub/i386/pit.h: include grub/err.h
37208 (grub_pit_wait): export
37209 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37210
5caf964d 372112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37212
37213 Efiemu
7dd4a573 37214
5caf964d 37215 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37216 _linux_efi, linux_efi.
37217 new files in grub-emu
5caf964d 37218 new targets efiemu32.o and efiemu64.o
37219 * loader/linux_normal_efiemu.c: likewise
37220 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37221 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37222 files to copy
37223 * include/grub/autoefi.h: new file
7dd4a573 37224 * include/grub/i386/efiemu.h: likewise
5caf964d 37225 * include/grub/i386/pc/efiemu.h: likewise
37226 * include/grub/efi/api.h: add LL suffix when necessary
37227 new definitions relating to tables
37228 * include/grub/efiemu/efiemu.h: new file
37229 * include/grub/efiemu/runtime.h: likewise
37230 * efiemu/prepare.c: likewise
37231 * efiemu/loadcore_common.c: likewise
37232 * efiemu/loadcore64.c: likewise
37233 * efiemu/runtime/efiemu.sh: likewise
37234 * efiemu/runtime/efiemu.S: likewise
37235 * efiemu/runtime/efiemu.c: likewise
37236 * efiemu/runtime/config.h: likewise
37237 * efiemu/prepare32.c: likewise
37238 * efiemu/main.c: likewise
37239 * efiemu/modules/pnvram.c: likewise
37240 * efiemu/modules/i386: likewise
37241 * efiemu/modules/i386/pc: likewise
37242 * efiemu/modules/acpi.c: likewise
37243 * efiemu/i386/pc/cfgtables.c: likewise
37244 * efiemu/i386/loadcore64.c: likewise
37245 * efiemu/i386/loadcore32.c: likewise
37246 * efiemu/prepare64.c: likewise
37247 * efiemu/loadcore.c: likewise
37248 * efiemu/symbols.c: likewise
37249 * efiemu/mm.c: likewise
37250 * efiemu/loadcore32.c: likewise
7dd4a573 37251
372522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37253
37254 ACPI spoofing
37255
37256 * commands/acpi.c: new file
37257 * commands/i386/pc/acpi.c: likewise
37258 * commands/efi/acpi.c: likewise
37259 * include/grub/acpi.h: likewise
37260 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37261 (acpi_mod_SOURCES): new variable
37262 (acpi_mod_CFLAGS): likewise
37263 (acpi_mod_LDFLAGS): likewise
37264 * conf/i386-efi.rmk: likewise
37265 * conf/x86_64-efi.rmk: likewise
37266
7dd4a573 372672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37268
37269 Missing part from mmap patch
37270
37271 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37272 (grub_mmap_unregister)
37273 (grub_mmap_free_and_unregister): use grub_mmap_register
37274
7dd4a573 372752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37276
37277 Mmap services
37278
37279 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37280 * loader/i386/linux.c (find_mmap_size): likewise
37281 (allocate_pages): likewise
37282 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37283 (grub_fill_multiboot_mmap): likewise
37284 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37285 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37286 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37287 (OPENBSD_MMAP_RESERVED): likewise
37288 * include/grub/i386/pc/memory.h: include grub/memory.h
37289 (grub_lower_mem): removed
37290 (grub_upper_mem): likewise
37291 (GRUB_MACHINE_MEMORY_ACPI): new definition
37292 (GRUB_MACHINE_MEMORY_NVS): likewise
37293 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37294 (GRUB_MACHINE_MEMORY_HOLE): likewise
37295 (grub_machine_mmap_register): likewise
37296 (grub_machine_mmap_unregister): likewise
37297 (grub_machine_get_upper): likewise
37298 (grub_machine_get_lower): likewise
37299 (grub_machine_get_post64): likewise
37300 * include/grub/i386/efi/memory.h: new file
37301 * include/grub/x86_64/efi/memory.h: likewise
37302 * include/grub/efi/memory.h: likewise
37303 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37304 (mmap_mod_SOURCES): new variable
37305 (mmap_mod_LDFLAGS): likewise
37306 (mmap_mod_ASFLAGS): likewise
37307 * conf/i386-coreboot.rmk: likewise
37308 * conf/i386-ieee1275.rmk: likewise
37309 * conf/i386-efi.rmk: likewise
37310 * conf/x86_64-efi.rmk: likewise
37311 * include/grub/types.h (UINT_TO_PTR): new macro
37312 (PTR_TO_UINT32): likewise
37313 (PTR_TO_UINT64): likewise
37314 * include/grub/memory.h: new file
37315 * mmap/i386/pc/mmap.c: likewise
37316 * mmap/i386/pc/mmap_helper.S: likewise
37317 * mmap/i386/uppermem.c: likewise
37318 * mmap/mmap.c: likewise
37319 * mmap/efi/mmap.c: likewise
7dd4a573 37320 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37321 grub_upper_mem
37322 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37323 (grub_upper_mem): likewise
37324 (grub_machine_init): don't use grub_upper_mem,
37325 make grub_lower_mem local
37326 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37327 grub_mmap_iterate and grub_mmap_get_upper
37328 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37329
d558e6b5 373302009-05-02 Bean <bean123ch@gmail.com>
37331
37332 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37333 script/sh/parser.y.
37334 (pkglib_MODULES): Add normal.mod and sh.mod.
37335 (normal_SOURCES): New variable.
37336 (normal_mod_CFLAGS): Likewise.
37337 (normal_mod_LDFLAGS): Likewise.
37338 (sh_mod_SOURCES): Likewise.
37339 (sh_mod_CFLAGS): Likewise.
37340 (sh_mod_LDFLAGS): Likewise.
37341
37342 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37343 script/sh/lexer.c_DEPENDENCIES.
37344 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37345 kern/rescue_reader.c and kern/rescue_parser.c.
37346 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37347 (grub_emu_SOURCES): Change source files.
37348 (pkglib_MODULES): Remove normal.mod.
37349 (normal_SOURCES): Removed.
37350 (normal_mod_CFLAGS): Likewise.
37351 (normal_mod_LDFLAGS): Likewise.
37352 * conf/i386-coreboot.rmk: Likewise.
37353 * conf/i386-efi.rmk: Likewise.
37354 * conf/i386-ieee1276.rmk: Likewise.
37355 * conf/powerpc-ieee1275.rmk: Likewise.
37356 * conf/sparc64-ieee1275.rmk: Likewise.
37357 * conf/x86_64-efi.rmk: Likewise.
37358
37359 * include/grub/command.h (grub_command_execute): New inline function.
37360
37361 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37362
37363 * include/grub/normal.h: Remove <grub/setjmp.h>.
37364 (grub_fs_module_list): Moved to normal/autofs.c.
37365 (grub_exit_env): Removed.
37366 (grub_command_execute): Likewise.
37367 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37368 parameter script.
37369 (read_command_list): New function declaration.
37370 (read_fs_list): Likewise.
37371
37372 * include/parser.h: Include <grub/reader.h>.
37373 (grub_parser_split_cmdline): Change type of getline parameter.
37374 (grub_parser): New structure.
37375 (grub_parser_class): New variable.
37376 (grub_parser_execute): New function declaration.
37377 (grub_register_rescue_parser): Likewise.
37378 (grub_parser_register): New inline function.
37379 (grub_parser_unregister): Likewise.
37380 (grub_parser_get_current): Likewise.
37381 (grub_parser_set_current): Likewise.
37382
37383 * include/grub/reader.h: New file.
37384 * kern/reader.c: Likewise.
37385 * kern/rescue_parser.c: Likewise.
37386 * kern/rescue_reader.c: Likewise.
37387 * normal/autofs.c: Likewise.
37388 * normal/dyncmd.c: Likewise.
37389
37390 * include/grub/rescue.h: Removed.
37391 * normal/command.h: Likewise.
37392
37393 * include/grub/script.h: Moved to ...
37394 * include/grub/script_sh.h: ... Moved here.
37395 * normal/execute.c: Moved to ...
37396 * script/sh/execute.c: ... Moved here.
37397 * normal/function.c: Moved to ...
37398 * script/sh/function.c: ... Moved here.
37399 * normal/lexer.c: Moved to ...
37400 * script/sh/lexer.c: ... Moved here.
37401 * normal/parser.y: Moved to ...
37402 * script/sh/parser.y: ... Moved here.
37403 * normal/script.c: Moved to ...
37404 * script/sh/script.c: ... Moved here.
37405
37406 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37407 <grub/reader.h>.
37408 (grub_exit_env): Removed.
37409 (fs_module_list): Moved to normal/autofs.c.
37410 (grub_file_getline): Don't handle comment here.
37411 (free_menu): Skip removed field entry->commands.
37412 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37413 script parameter.
37414 (read_config_file): Removed nested parameter, change getline function.
37415 (grub_enter_normal_mode): Removed.
37416 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37417 (read_command_list): Likewise.
37418 (autoload_fs_module): Moved to normal/autofs.c.
37419 (read_fs_list): Likewise.
37420 (reader_nested): New variable.
37421 (grub_normal_execute): Run parser.sh to switch to sh parser.
37422 (grub_cmd_rescue): Removed.
37423 (cmd_normal): Removed.
37424 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37425 rescue command.
37426 (grub_cmdline_run): New function.
37427 (grub_normal_reader_init): Likewise.
37428 (grub_normal_read_line): Likewise.
37429 (grub_env_write_pager): Likewise.
37430 (cmdline): New variable.
37431 (grub_normal_reader): Likewise.
37432 (GRUB_MOD_INIT): Register normal reader and set as current, register
37433 pager hook, register normal command with grub_register_command_prio,
37434 so that it won't show up in command.lst.
37435 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37436 grub_fs_autoload_hook.
37437
37438 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37439 (grub_menu_execute_entry): Replace grub_script_execute with
37440 grub_parser_execute, change parameter to grub_command_execute.
37441
37442 * normal/menu_text.c: Remove <grub/script.h>.
37443
37444 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37445 and <grub/parser.h>.
37446 (run): Change editor_getline to use new parser interface. Change
37447 parameter to grub_command_execute.
37448
37449 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37450 <grub/reader.h> and <grub/parser.h>.
37451 (grub_load_normal_mode): Execute normal command.
37452 (grub_main): Call grub_register_core_commands,
37453 grub_register_rescue_parser and grub_register_rescue_reader, use
37454 grub_reader_loop to enter input loop.
37455
7dd4a573 37456 * kern/parser.c (grub_parser_split_cmdline): Change type of
37457 getline parameter.
d558e6b5 37458 (grub_parser_class): New variable.
37459 (grub_parser_execute): New function.
37460
37461 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37462 * loader/multiboot2.c: Likewise.
37463 * loader/sparc64/ieee1275/linux.c: Likewise.
37464
37465 * util/grub-emu.c (read_command_list): New dummy function.
37466
18db813d 374672009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37468
37469 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37470 count to 16 for CCISS and IDA.
37471
6c67de15 374722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37473
37474 * normal/menu_text.c (grub_wait_after_message): Print a newline
37475 after waiting for user input.
37476
37477 * loader/i386/linux.c: Include `<grub/normal.h>'.
37478 (grub_cmd_linux): Improve the error message about `ask' mode, by
37479 waiting for user input so it's not missed (we can do this, since
37480 user requested interaction).
37481
d9dc87b0 374822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37483
37484 Added missing lst to grub-mkrescue
37485
37486 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37487 and ${input_dir}/parttool.lst
37488
ac8a2baa 374892009-04-30 David S. Miller <davem@davemloft.net>
37490
ad22a610 37491 * util/hostdisk.c (device_is_wholedisk): New function.
37492 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37493 zero only if device_is_wholedisk() returns true.
37494
6966215d 37495 * util/hostdisk.c (convert_system_partition_to_system_disk):
37496 Handle virtual disk devices named /dev/vdiskX as found on sparc
37497 and powerpc.
37498
ac8a2baa 37499 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37500 lettered partition specifier is found, convert to numbered.
37501
979b4fb4 375022009-04-29 David S. Miller <davem@davemloft.net>
37503
e2bf39b2 37504 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37505 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37506
3c64e104 37507 * normal/command.c: Add missing newline at end of file.
37508
979b4fb4 37509 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37510 warnings.
37511 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37512 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37513 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37514 ihandles have a 32-bit type but need to be stored in a "void *".
37515
136d9f82 375162009-04-28 Pavel Roskin <proski@gnu.org>
37517
9459c306 37518 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37519 not disk. Adjust all dependencies.
2e08a26a 37520 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37521 grub_disk_close().
37522
136d9f82 37523 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37524 parent's partition, don't copy it by reference, as it gets freed
37525 on close.
37526
7dd4a573 375272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37528
37529 Preboot hooks support
37530
37531 * commands/boot.c (struct grub_preboot_t): new declaration
37532 (preboots_head): new variable
37533 (preboots_tail): likewise
37534 (grub_loader_register_preboot_hook): new function
37535 (grub_loader_unregister_preboot_hook): likewise
37536 (grub_loader_set): launch preboot hooks
37537 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37538 (grub_loader_register_preboot_hook): new declaration
37539 (grub_loader_unregister_preboot_hook): likewise
37540
5af922b5 375412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37542
37543 Warning fix
37544
7dd4a573 37545 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37546 calling grub_dprintf
37547
a5562c30 375482009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37549
37550 Bug and warning fixes
37551
7dd4a573 37552 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37553 declaration
37554 * commands/test.c (test_parse): fixed bug with file tests and corrected
37555 declaration of find_file
37556
4006f85c 375572009-04-26 Pavel Roskin <proski@gnu.org>
37558
37559 * Makefile.in: Don't install empty manual pages if help2man is
37560 missing. Use help2man option for output, not shell redirection.
37561
5c77c3de 375622009-04-26 David S. Miller <davem@davemloft.net>
37563
37564 * util/grub-mkdevicemap.c (make_device_map): Add missing
37565 NESTED_FUNC_ATTR to process_device().
37566
033b10a8 375672009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37568
37569 Test command
37570
37571 * commands/test.c: rewritten to use bash-like test
37572
e4343593 375732009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37574
37575 Parttool autoloading and improvements
37576
7dd4a573 37577 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37578 (parttool.lst): new target
37579 * genmk.rb: generate parttool-*
37580 (CLEANFILES): add #{parttool}
37581 (PARTTOOLFILES): new variable
37582 * genparttoollist.sh: new file
7dd4a573 37583 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37584 (grub_pcpart_type): likewise
37585 * commands/parttool.c (helpmsg): new variable
37586 (grub_cmd_parttool): output help if not enough arguments are supplied
37587 autoload modules
37588 (GRUB_MOD_INIT(parttool)): use helpmsg
37589
0d312500 375902009-04-24 David S. Miller <davem@davemloft.net>
37591
7dd4a573 37592 Avoiding opening same device multiple times in device iterator.
0d312500 37593
37594 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37595 and use it to build a list of partitions in iterate_disk() and
0d312500 37596 iterate_partition().
37597
ac20caff 37598 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37599 on disk->data.
37600
0dcf7495 37601 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37602 grub_devalias_iterate() result instead of unconditional 0.
37603 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37604 Also, capture hook return value, either directly or via
37605 grub_children_iterate(), and propagate to caller.
37606 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37607 grub_children_iterate): Return value is now 'int' instead of
37608 'grub_err_t'.
37609 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37610 like a proper iterator, stopping when hooks return non-zero.
37611 (grub_devalias_iterate): Likewise.
37612
c8c08833 376132009-04-23 David S. Miller <davem@davemloft.net>
37614
37615 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37616
f01005a8 376172009-04-22 David S. Miller <davem@davemloft.net>
37618
37619 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37620 is larger than address_cells, use that value for address_cells too.
37621
4e8269da 37622 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37623 IEEE1275_MAX_PATH_LEN): Define.
37624 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37625 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37626 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37627 'devtype'. Explicitly NULL terminate devalias expansion.
37628
a1447506 37629 * util/sparc64/ieee1275/misc.c: New file.
37630 * util/sparc64/ieee1275/grub-setup.c: New file.
37631 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37632 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37633 * util/sparc64/ieee1275/grub-install.in: New file.
37634 * util/ieee1275/ofpath.c: New file.
37635 * util/ieee1275/devicemap.c: New file.
37636 * util/devicemap.c: New file.
37637 * util/deviceiter.c: New file.
37638 * kern/sparc64/ieee1275/init.c: New file.
37639 * include/grub/util/ofpath.h: New file.
37640 * include/grub/util/deviceiter.h: New file.
37641 * util/grub-mkdevicemap.c: Include deviceiter.h.
37642 Implement using grub_util_emit_devicemap_entry and
37643 grub_util_iterate_devices.
37644 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37645 util/devicemap.c into grub-mkdevicemap
37646 * conf/i386-efi.rmk: Likewise.
37647 * conf/i386-ieee1275.rmk: Likewise.
37648 * conf/i386-pc.rmk: Likewise.
37649 * conf/powerpc-ieee1275.rmk: Likewise.
37650 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37651 images and installation utilities. Build kernel as image
37652 instead of as elf binary. Use common rules as much as possible.
37653
7dd4a573 376542009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37655
37656 Correct GPT definition
37657
7dd4a573 37658 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37659 of "attrib" member
37660
c6c5219f 376612009-04-19 Felix Zielcke <fzielcke@z-51.de>
37662
37663 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37664
0552ff9f 376652009-04-19 David S. Miller <davem@davemloft.net>
37666
37667 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37668 (grub_rescue_cmd_linux): Rename to...
37669 (grub_cmd_linux): and fix prototype.
37670 (grub_rescue_cmd_initrd): Rename to...
37671 (grub_cmd_initrd): and fix prototype.
37672 (cmd_linux, cmd_initrd): New.
37673 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37674 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37675
d1a282fc 376762009-04-17 Pavel Roskin <proski@gnu.org>
37677
07c5039f 37678 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37679 format.
37680 (grub_ohci_transfer): Likewise.
37681
b012002d 37682 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37683
1bc09c35 37684 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37685 return without a value. Fix inconsistent indentation.
37686
e0ff9126 37687 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37688 match struct grub_fs.
37689
d1a282fc 37690 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37691 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37692 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37693 * commands/lspci.c (grub_lspci_iter): Likewise.
37694
a96df3f2 376952009-04-16 Bean <bean123ch@gmail.com>
37696
37697 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37698 value.
37699
41bb0fe9 377002009-04-15 Pavel Roskin <proski@gnu.org>
37701
37702 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37703 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37704 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37705 definitions.
37706
596c6970 377072009-04-15 Felix Zielcke <fzielcke@z-51.de>
37708
37709 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37710 that no multiple data or metadata areas are supported and `Unknown
596c6970 37711 metadata header'.
37712
7dd4a573 377132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37714
37715 Move loader out of the kernel
37716
37717 * kern/loader.c: moved to ...
37718 * commands/boot.c: ... moved here
37719 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37720 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37721 * include/grub/kernel.h (grub_machine_fini): export
37722 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37723 (grub_loader_set): likewise
37724 (grub_loader_unset): likewise
37725 (grub_loader_boot): likewise
37726 * conf/common.rmk: new module boot.mod
37727 (pkglib_MODULES): add boot.mod
37728 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37729 (grub_emu_SOURCES): likewise
37730 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37731 (grub_emu_SOURCES): likewise
37732 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37733 (grub_emu_SOURCES): likewise
37734 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37735 (grub_emu_SOURCES): likewise
37736 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37737 (grub_emu_SOURCES): likewise
7dd4a573 37738 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37739 (grub_emu_SOURCES): likewise
0d5d5653 37740 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37741 (grub_emu_SOURCES): likewise
0d5d5653 37742
7dd4a573 377432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37744
37745 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37746
5999d619 37747 * kern/misc.c (grub_itoa): Removed function
37748 (grub_ltoa): likewise
37749 (grub_vsprintf): use grub_lltoa
37750
7dd4a573 377512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37752
37753 Restore grub-emu
37754
37755 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37756 * conf/i386-coreboot.rmk: likewise
37757 * conf/i386-ieee1275.rmk: likewise
37758 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37759
20318222 377602009-04-15 Felix Zielcke <fzielcke@z-51.de>
37761
37762 * INSTALL: Add that `./autogen.sh' needs to be run before
37763 `./configure.'.
37764
d05f0df3 377652009-04-14 Bean <bean123ch@gmail.com>
37766
37767 * Makefile.in (pkglib_DATA): Add handler.lst.
37768 (handler.lst): New rule.
37769
37770 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37771 * conf/i386-coreboot.rmk: Likewise.
37772 * conf/i386-ieee1275.rmk: Likewise.
37773 * conf/i386-efi.rmk: Likewise.
37774 * conf/x86_64-efi.rmk: Likewise.
37775 * conf/powerpc-ieee1275.rmk: Likewise.
37776 * conf/sparc64-ieee1275.rmk: Likewise.
37777
37778 * genhandlerlist.sh: New file.
37779
37780 * genmk.rb: Add rules to generate handler.lst.
37781
37782 * include/grub/normal.h (grub_file_getline): New function definition.
37783 (read_handler_list): Likewise.
37784 (free_handler_list): Likewise.
37785
37786 * include/grub/term.h (grub_term_register_input): Add name parameter
37787 for auto generation of handler.lst.
37788 (grub_term_register_output): Likewise.
37789
37790 * normal/handler.c: New file.
37791
37792 * normal/main.c (get_line): Renamed to grub_file_getline.
37793 (read_config_file): Use the newly renamed grub_file_getline.
37794 (read_command_list): Likewise.
37795 (read_fs_list): Likewise.
37796 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37797 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37798
37799 * term/efi/console.c (grub_console_init): Add name parameter for auto
37800 generation of handler.lst.
37801 * term/gfxterm.c: Likewise.
37802 * term/i386/pc/at_keyboard.c: Likewise.
37803 * term/i386/pc/console.c: Likewise.
37804 * term/i386/pc/serial.c: Likewise.
37805 * term/i386/pc/vesafb.c: Likewise.
37806 * term/i386/pc/vga.c: Likewise.
37807 * term/i386/pc/vga_text.c: Likewise.
37808 * term/ieee1275/ofconsole.c: Likewise.
37809 * term/usb_keyboard.c: Likewise.
37810
33c846be 378112009-04-14 Bean <bean123ch@gmail.com>
37812
37813 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37814 properly with null character.
37815
4484e01e 378162009-04-14 Felix Zielcke <fzielcke@z-51.de>
37817
37818 * configure: Remove.
37819 * config.h.in: Likewise.
f93d668e 37820 * stamp-h.in: Likewise.
4484e01e 37821 * DISTLIST: Likewise.
37822 * conf/common.mk: Likewise.
37823 * conf/i386-coreboot.mk: Likewise.
37824 * conf/i386-efi.mk: Likewise.
37825 * conf/i386-ieee1275.mk: Likewise.
37826 * conf/i386.mk: Likewise.
37827 * conf/i386-pc.mk: Likewise.
37828 * conf/powerpc-ieee1275.mk: Likewise.
37829 * conf/sparc64-ieee1275.mk: Likewise.
37830 * conf/x86_64-efi.mk: Likewise.
37831
37832 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37833 develop on GRUB.
37834
7dd4a573 378352009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37836 David S. Miller <davem@davemloft.net>
37837
37838 * util/hostdisk.c (make_device_name): Fix buffer length
37839 calculations.
37840
e25b5a8c 378412009-04-14 Felix Zielcke <fzielcke@z-51.de>
37842
37843 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37844 <sys/param.h> and <sys/sysctl.h>.
37845 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37846 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37847 opening the device and reset them afterwards.
37848
1f1f580c 378492009-04-13 Pavel Roskin <proski@gnu.org>
37850
37851 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37852 Reported by John Stanley <jpsinthemix@verizon.net>
37853
7ebc2d6b 378542009-04-13 Robert Millan <rmh@aybabtu.com>
37855
37856 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37857 that name for menuentries when appropriate.
7ebc2d6b 37858
d8ba3667 378592009-04-13 Felix Zielcke <fzielcke@z-51.de>
37860
37861 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37862
cba416eb 378632009-04-13 Robert Millan <rmh@aybabtu.com>
37864
37865 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37866 to Linux, simply abort telling the user it's no longer supported.
37867
a547a745 378682009-04-13 Felix Zielcke <fzielcke@z-51.de>
37869
37870 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37871 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37872 `freebsd_loadenv' only when devices.hints exist.
37873
232a769c 378742009-04-13 Pavel Roskin <proski@gnu.org>
37875
37876 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37877
c3012039 378782009-04-13 Felix Zielcke <fzielcke@z-51.de>
37879
37880 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37881 partition number.
37882 (grub_drive): Likewise.
37883
234022fe 378842009-04-13 David S. Miller <davem@davemloft.net>
37885
37886 * kern/sparc64/ieee1275/ieee1275.c: New file.
37887 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37888 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37889 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37890 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37891 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37892 grub_ieee1275_alloc_physmem): Declare new exported functions.
37893
d8e1836c 37894 * include/grub/sparc64/ieee1275/loader.h: New file.
37895 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37896 * include/grub/sparc64/kernel.h: Likewise.
37897 * loader/sparc64/ieee1275/linux.c: Likewise.
37898
96bd81ec 37899 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37900 (grub_fstest_SOURCES): Likewise.
37901
6a4737e5 37902 * util/hostdisk.c (make_device_name): Do not make any assumptions
37903 about the length of drive names.
37904
1d7a72fd 37905 * kern/dl.c (grub_dl_load_file): Close file immediately when
37906 we are done using it.
37907
56bc2471 379082009-04-12 David S. Miller <davem@davemloft.net>
37909
37910 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37911 values. Noticed by Pavel Roskin.
37912
df38d0bb 37913 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37914 target compiler.
7dd4a573 37915
e382e93a 37916 * genmk.rb: Add more flexible image type specification, also
37917 pass --strip-unneeded to objcopy.
37918 * conf/i386-pc.rmk: Use *_FORMAT.
37919 * conf/i386-pc.mk: Rebuilt.
37920
f5dbbca9 37921 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37922 (OFDISK_HASH_SZ): Define.
37923 (ofdisk_hash): New hash table.
37924 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37925 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37926 instead of device phandle which is not unique.
37927
91c88b12 37928 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37929 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37930 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37931 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37932 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37933 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37934 GRUB_KERNEL_MACHINE_DATA_END): Define.
37935 (grub_kernel_image_size, grub_total_module_size): Declare.
37936
5b5d4aa5 379372009-04-12 Pavel Roskin <proski@gnu.org>
37938
7dd4a573 37939 * configure.ac: Change the logic when we check for target tools.
37940 Do it when the target is specified and it's different from the
37941 specified value of the host.
5b5d4aa5 37942
c91e1793 379432009-04-11 Felix Zielcke <fzielcke@z-51.de>
37944
37945 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37946 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37947 GNU/kFreeBSD. Check if a device is a character device. Use
37948 DIOCGMEDIASIZE to get the size.
37949 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37950 support for GNU/kFreeBSD.
37951 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37952 is a character device instead of a block device. Add support for
37953 FreeBSD device names.
37954
37955 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37956 is a character device instead of a block device.
37957
37958 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37959 is a character device instead of a block device.
37960
b1ac8644 379612009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37962
37963 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37964 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37965 FreeBSD. Check if a device is a character device. Use
37966 DIOCGMEDIASIZE to get the size.
37967 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37968 support for FreeBSD.
37969 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37970 is a character device instead of a block device. Add support for
37971 FreeBSD device names.
37972
37973 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37974 a character device instead of a block device.
37975 (grub_util_check_char_device): New function.
37976
37977 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37978 a character device instead of a block device.
37979
37980 * include/grub/util/getroot.h (grub_util_check_char_device): New
37981 prototype.
37982
a3f7515a 379832009-04-11 David S. Miller <davem@davemloft.net>
37984
37985 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37986 static libgcc.
37987 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37988 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37989 function, if present.
37990 (__bswapdi2): Likewise.
37991
0d44993d 37992 * include/grub/sparc64/ieee1275/boot.h: New file.
37993 * boot/sparc64/ieee1275/boot.S: Likewise.
37994 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37995
ed3d2bc2 37996 * kern/misc.c (grub_ltoa): New function.
37997 (grub_vsprintf): Use it to format 'long' integers.
37998
d3bfb59c 379992009-04-10 David S. Miller <davem@davemloft.net>
38000
38001 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38002 slots are of type grub_ieee1275_cell_t.
38003 (grub_nand_read): Likewise.
38004 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38005 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38006 macros are used to compare values in arg/ret block of the call.
38007 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38008 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38009 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38010 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38011 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38012 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38013 grub_ieee1275_close, grub_ieee1275_set_property,
38014 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38015 grub_ieee1275_cell_t.
38016 * kern/ieee1275/openfw.c (grub_map): Likewise.
38017 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38018 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38019
450e2238 38020 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38021 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38022 (grub_devalias_iterate): Likewise.
38023
7dd4a573 380242009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38025
38026 UFS improvements
38027
38028 * fs/ufs.c (INODE_NBLOCKS): new definition
38029 (struct grub_ufs_dirent): added fields for non-BSD dirents
38030 (grub_ufs_get_file_block): fixed double indirect handling
38031 (grub_ufs_lookup_symlink): use more robust way to determine whether
38032 symlink is inline
38033 (grub_ufs_find_file): support for non-BSD dirents
38034 (grub_ufs_dir): support for non-BSD dirents
38035
e7e6862a 380362009-04-10 Bean <bean123ch@gnail.com>
38037
38038 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38039 attribute, otherwise the size would be wrong for i386 platform.
38040
38041 * include/grub/pci.h (grub_pci_read_word): New inline function.
38042 (grub_pci_read_byte): Likewise.
38043 (grub_pci_write): Likewise.
38044 (grub_pci_write_word): Likewise.
38045 (grub_pci_write_byte): Likewise.
38046
38047 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38048
38049 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38050 (find_framebuf): Scan pci to locate the frame buffer address.
38051
38052 * commands/efi/fixvideo.c: New file.
38053
38054 * commands/efi/loadbios.c: Likewise.
38055
38056 * commands/memrw.c: Likewise.
38057
38058 * util/grub-dumpbios.in: Likewise.
38059
38060 * conf/common.rmk (grub-dumpbios): New utility.
38061 (pkglib_MODULES): New module memrw.mod.
38062 (memrw_mod_SOURCE): New macro.
38063 (memrw_mod_CFLAGS): Likewise.
38064 (memrw_mod_LDFLAGS): Likewise.
38065
7dd4a573 38066 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38067 fixvideo.mod.
38068 (loadbios_mod_SOURCE): New macro.
38069 (loadbios_mod_CFLAGS): Likewise.
38070 (loadbios_mod_LDFLAGS): Likewise.
38071 (fixvideo_mod_SOURCE): Likewise.
38072 (fixvideo_mod_CFLAGS): Likewise.
38073 (fixvideo_mod_LDFLAGS): Likewise.
38074
7dd4a573 38075 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38076 fixvideo.mod.
38077 (loadbios_mod_SOURCE): New macro.
38078 (loadbios_mod_CFLAGS): Likewise.
38079 (loadbios_mod_LDFLAGS): Likewise.
38080 (fixvideo_mod_SOURCE): Likewise.
38081 (fixvideo_mod_CFLAGS): Likewise.
38082 (fixvideo_mod_LDFLAGS): Likewise.
38083
af63ada2 380842009-04-08 Felix Zielcke <fzielcke@z-51.de>
38085
38086 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38087
c2cdde70 380882009-04-07 David S. Miller <davem@davemloft.net>
38089
38090 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38091 support for R_SPARC_OLO10 relocations. Fix compile warning for
38092 R_SPARC_WDISP30 case.
ea3f72cf 38093 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38094
761319cf 380952009-04-06 Pavel Roskin <proski@gnu.org>
38096
1007d1f5 38097 * include/grub/misc.h (ARRAY_SIZE): New macro.
38098 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38099 New macro.
38100 * loader/i386/linux.c (allocate_pages): Use free_pages().
38101 (grub_linux_unload): Don't use free_pages().
38102 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38103 wrong index. Treat all other modes as text modes.
38104 (grub_cmd_linux): Initialize vid_mode unconditionally to
38105 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38106
761319cf 38107 * commands/help.c (print_command_help): Use cmd->prio, not
38108 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38109
ea761d40 381102009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38111
ea761d40 38112 Parttool
38113
38114 * parttool/pcpart.c: new file
38115 * commands/parttool.c: likewise
38116 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38117 (parttool_mod_SOURCES): new variable
38118 (parttool_mod_CFLAGS): likewise
38119 (parttool_mod_LDFLAGS): likewise
38120 (pcpart_mod_SOURCES): likewise
38121 (pcpart_mod_CFLAGS): likewise
38122 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38124 and parttool/pcpart.c
38125 * conf/i386-efi.rmk: likewise
38126 * conf/i386-ieee1275.rmk: likewise
38127 * conf/i386-pc.rmk: likewise
38128 * conf/powerpc-ieee1275.rmk: likewise
38129 * conf/sparc64-ieee1275.rmk: likewise
38130 * conf/x86_64-ieee1275.rmk: likewise
38131
05aaebfb 381322009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38133
38134 Support for mtime and further expandability of dir command
38135
38136 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38137 * include/grub/datetime.h: ... moved here and added
05aaebfb 38138 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38139 * include/grub/fs.h: new syntax for dir and mtime functions in
38140 struct grub_fs
05aaebfb 38141 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38142 and GRUB_FSHELP_FLAGS_MASK
38143 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38144 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38145 (grub_ext2_mtime): new function
38146 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38147 (grub_hfsplus_mtime): new function
38148 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38149 (GRUB_UFS_ATTR_FILE): likewise
38150 (GRUB_UFS_ATTR_LNK): likewise
38151 (struct grub_ufs_sblock): new fields mtime
38152 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38153 all users updated
38154 (grub_ufs_dir): mtime support
38155 (grub_ufs_mtime): new function
38156 * fs/affs.c (grub_affs_dir): use new dir syntax
38157 * fs/afs.c (grub_afs_dir): likewise
38158 * fs/cpio.c (grub_cpio_dir): likewise
38159 * fs/fat.c (grub_fat_find_dir): likewise
38160 * fs/hfs.c (grub_hfs_dir): likewise
38161 * fs/iso9660.c (grub_iso9660_dir): likewise
38162 * fs/jfs.c (grub_jfs_dir): likewise
38163 * fs/minix.c (grub_minix_dir): likewise
38164 * fs/ntfs.c (grub_ntfs_dir): likewise
38165 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38166 * fs/sfs.c (grub_sfs_dir): likewise
38167 * fs/xfs.c (grub_xfs_dir): likewise
38168 * util/hostfs.c (grub_hostfs_dir): likewise
38169 * lib/datetime.c: moved to ...
38170 * normal/datetime.c: ... moved here
38171 (grub_unixtime2datetime): new function
38172 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38173 * normal/completion.c (iterate_dir): use new dir syntax
38174 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38175 last modification time of a volume
7dd4a573 38176 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38177 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38179 (normal_mod_SOURCES): likewise
38180 (datetime_mod_SOURCES): Removed lib/datetime.c
38181 * conf/i386-efi.rmk: likewise
7dd4a573 38182 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38183 * conf/i386-pc.rmk: likewise
38184 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38185 * conf/sparc64-ieee1275.rmk: likewise
38186 * conf/x86_64-efi.rmk: likewise
05aaebfb 38187
8a7e1a14 381882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38189
38190 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38191
38192 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38193 on grub_fat_find_dir
38194 (grub_fat_find_dir): use grub_fat_iterate_dir
38195 (grub_fat_label): likewise
38196
04186a9c 381972009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38198
7dd4a573 38199 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38200 and command.h
38201 remove extraneous kernel_elf_HEADERS
38202
da4c0bb6 382032009-04-04 Bean <bean123ch@gnail.com>
38204
38205 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38206
38207 * util/misc.c: Likewise.
38208
54ad9555 382092009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38210
38211 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38212 instead of grub_printf.
38213
7a6bf9f2 382142009-04-03 Robert Millan <rmh@aybabtu.com>
38215
38216 * loader/i386/linux.c (grub_linux_setup_video): Fill
38217 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38218 values from `mode info' structure instead of hardcoded
38219 values.
38220
3fcc2083 382212009-04-01 Pavel Roskin <proski@gnu.org>
38222
38223 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38224 unused now.
38225 * genmk.rb: Likewise.
38226 * configure.ac: Likewise.
38227
5ec9740b 382282009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38229
38230 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38231 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38232
5270cec8 382332009-04-01 David S. Miller <davem@davemloft.net>
38234
38235 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38236 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38237 (grub_setjmp): Mark with 'returns_twice' attribute.
38238 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38239 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38240 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38241
9c3dd854 382422009-04-01 Robert Millan <rmh@aybabtu.com>
38243
38244 Reapply fix from 2008-07-28 which was accidentally reverted; also
38245 perform the same fix to a similar check in same function.
38246
38247 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38248 with the same number are found, just use issue a warning with
38249 grub_dprintf(), as this error has been reported to be non-fatal.
38250
0d818b7e 382512009-03-31 Pavel Roskin <proski@gnu.org>
38252
38253 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38254 for cross-compilation.
38255
95646d92 382562009-03-30 Robert Millan <rmh@aybabtu.com>
38257
38258 Fix i386-ieee1275 build.
38259
38260 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38261 Remove declaration.
38262
6a003ed1 382632009-03-30 Pavel Roskin <proski@gnu.org>
38264
38265 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38266 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38267 zero-terminated, rely only on the strlen value. Fix comparison
38268 of strings differing in length.
38269
92f33540 382702009-03-30 Robert Millan <rmh@aybabtu.com>
38271
38272 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38273 checking for abi version. Improve error messages on BIOS to notify
38274 user about `linux16' command.
38275
a8c48fd5 382762009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38277
f968172e 38278 Leak fixes
a8c48fd5 38279
f968172e 38280 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38281 in case of collision
38282 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38283
9c323f09 382842009-03-29 Robert Millan <rmh@aybabtu.com>
38285
38286 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38287 set `vid_mode' accordingly.
38288 (grub_linux_boot): Process `vid_mode' and set video mode.
38289
ae68f423 382902009-03-29 Robert Millan <rmh@aybabtu.com>
38291
38292 * util/grub.d/10_linux.in (linux_entry): New function.
38293 Factorize generation of Linux boot entries.
38294
5709cfc4 382952009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38296
38297 Make the format of Environment Block plain text. The boot loader
38298 part is not tested well yet.
7dd4a573 38299
5709cfc4 38300 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38301 (buffer): Removed.
38302 (envblk): Likewise.
38303 (usage): Remove "info" and "clear". Add "unset". Update the
38304 description of "set", as this does not delete variables any
38305 longer.
38306 (create_envblk_file): Complete rewrite.
38307 (open_envblk_file): Likewise.
38308 (cmd_info): Removed.
38309 (cmd_list): Likewise.
38310 (cmd_set): Likewise.
38311 (cmd_clear): Likewise.
38312 (list_variables): New function.
38313 (write_envblk): Likewise.
38314 (set_variables): Likewise.
38315 (unset_variables): Likewise.
38316 (main): Complete rewrite.
38317
38318 * commands/loadenv.c (buffer): Removed.
38319 (envblk): Likewise.
38320 (open_envblk_file): New function.
38321 (read_envblk_file): Complete rewrite.
38322 (grub_cmd_load_env): Likewise.
38323 (grub_cmd_list_env): Likewise.
38324 (struct blocklist): New struct.
38325 (free_blocklists): New function.
38326 (check_blocklists): Likewise.
38327 (write_blocklists): Likewise.
38328 (grub_cmd_save_env): Complete rewrite.
38329
38330 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38331 a plain text signature.
38332 (GRUB_ENVBLK_MAXLEN): Removed.
38333 (struct grub_envblk): Complete rewrite.
38334 (grub_envblk_find): Removed.
38335 (grub_envblk_insert): Likewise.
38336 (grub_envblk_open): New prototype.
38337 (grub_envblk_set): Likewise.
38338 (grub_envblk_delete): Put const to VALUE.
38339 (grub_envblk_iterate): Put const to NAME and VALUE.
38340 (grub_envblk_close): New prototype.
38341 (grub_envblk_buffer): New inline function.
38342 (grub_envblk_size): Likewise.
38343
38344 * lib/envblk.c: Include grub/mm.h.
38345 (grub_env_find): Removed.
38346 (grub_envblk_open): New function.
38347 (grub_envblk_close): Likewise.
38348 (escaped_value_len): Likewise.
38349 (find_next_line): Likewise.
38350 (grub_envblk_insert): Removed.
38351 (grub_envblk_set): New function.
38352 (grub_envblk_delete): Complete rewrite.
38353 (grub_envblk_iterate): Likewise.
38354
a9368fd3 383552009-03-28 Robert Millan <rmh@aybabtu.com>
38356
38357 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38358 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38359 variables. Use 16-bit loader.
38360 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38361 loader.
38362 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38363 (grub_linux16_boot): ... this. Update all users.
38364 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38365 (grub_linux_boot): ... this. Update all users.
38366
38367 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38368 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38369 commands to `linux16' and `initrd16'.
38370 (GRUB_MOD_FINI(linux)): Rename to ...
38371 (GRUB_MOD_FINI(linux16)): ... this.
38372
e4dd5a7e 383732009-03-24 Pavel Roskin <proski@gnu.org>
38374
38375 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38376 not just for compilation.
38377
c04d6e05 383782009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38379
38380 Move multiboot helper out of kernel
38381
38382 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38383 `loader/i386/multiboot_helper.S'.
38384 * conf/i386-coreboot.rmk: Likewise
38385 * conf/i386-ieee1275.rmk: Likewise
38386
38387 * kern/i386/loader.S: Move multiboot helpers from here...
38388 * loader/i386/multiboot_helper.S: ...moved here
38389 * include/grub/i386/loader.h: Move declarations of multiboot
38390 helpers from here...
38391 * include/grub/i386/multiboot.h: ...moved here
38392 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38393
42a5b3fc 383942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38395
38396 * kern/env.c (grub_env_context_open): Added an argument to specify
38397 whether a new context inherits exported variables from current
38398 one. This is useful when making a sandbox to interpret a config
38399 file.
38400 All callers updated.
38401
38402 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38403
b28bbc4e 384042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38405
38406 * kern/env.c (grub_env_context_close): Fix memory leaks.
38407
f04f02e4 384082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38409
38410 * normal/main.c (grub_normal_execute): Added an argument
38411 BATCH to specify if an interactive interface should be provided
38412 after reading a config file.
38413 All callers updated.
38414 (read_command_list): Prevent being executed twice.
38415 (read_fs_list): Likewise.
38416
42a5b3fc 38417 * include/grub/normal.h (grub_normal_execute): Updated the
38418 prototype.
f04f02e4 38419
41473ac2 384202009-03-22 Pavel Roskin <proski@gno.org>
38421
fbc00b0c 38422 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38423 _start.
38424 * kern/i386/pc/startup.S: Likewise.
38425 * kern/i386/efi/startup.S: Likewise.
38426 * kern/i386/ieee1275/startup.S: Likewise.
38427 * kern/i386/coreboot/startup.S: Likewise.
38428 * kern/x86_64/efi/startup.S: Likewise.
38429
41473ac2 38430 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38431 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38432 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38433
2274cc8f 384342009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38435
38436 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38437
38438 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38439 limit detection.
38440 Use vaddr of correct segment for entry_point.
38441
b1b797cb 384422009-03-21 Bean <bean123ch@gmail.com>
38443
38444 * commands/blocklist.c: Add include file <grub/command.h>, remove
38445 <grub/normal.h> and <grub/arg.h>.
38446 (grub_cmd_blocklist): Use the new command interface.
38447 (GRUB_MOD_INIT): Likewise.
38448 (GRUB_MOD_FINI): Likewise.
38449 * commands/boot.c: Likewise.
38450 * commands/cat.c: Likewise.
38451 * commands/cmp.c: Likewise.
38452 * commands/configfile.c: Likewise.
38453 * commands/crc.c: Likewise.
38454 * commands/echo.c: Likewise.
38455 * commands/halt.c: Likewise.
38456 * commands/handler.c: Likewise.
38457 * commands/hdparm.c: Likewise.
38458 * commands/help.c: Likewise.
38459 * commands/hexdump.c: Likewise.
38460 * commands/loadenv.c: Likewise.
38461 * commands/ls.c: Likewise.
38462 * commands/lsmmap.c: Likewise.
38463 * commands/lspci.c: Likewise.
38464 * commands/loadenv.c: Likewise.
38465 * commands/read.c: Likewise.
38466 * commands/reboot.c: Likewise.
38467 * commands/search.c: Likewise.
38468 * commands/sleep.c: Likewise.
38469 * commands/test.c: Likewise.
38470 * commands/usbtest.c: Likewise.
38471 * commands/videotest.c: Likewise.
38472 * commands/i386/cpuid.c: Likewise.
38473 * commands/i386/pc/halt.c: Likewise.
38474 * commands/i386/pc/play.c: Likewise.
38475 * commands/i386/pc/pxecmd.c: Likewise.
38476 * commands/i386/pc/vbeinfo.c: Likewise.
38477 * commands/i386/pc/vbetest.c: Likewise.
38478 * commands/ieee1275/suspend.c: Likewise.
38479 * disk/loopback.c: Likewise.
38480 * font/font_cmd.c: Likewise.
38481 * hello/hello.c: Likewise.
38482 * loader/efi/appleloader.c: Likewise.
38483 * loader/efi/chainloader.c: Likewise.
38484 * loader/i386/bsd.c: Likewise.
38485 * loader/i386/efi/linux.c: Likewise.
38486 * loader/i386/ieee1275/linux.c: Likewise.
38487 * loader/i386/linux.c: Likewise.
38488 * loader/i386/pc/chainloader.c: Likewise.
38489 * loader/i386/pc/linux.c: Likewise.
38490 * loader/powerpc/ieee1275/linux.c: Likewise.
38491 * loader/multiboot_loader.c: Likewise.
38492 * term/gfxterm.c: Likewise.
38493 * term/i386/pc/serial.c: Likewise.
38494 * term/terminfo.c: Likewise.
38495
38496 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38497 * term/i386/pc/vga.c: Likewise.
38498 * video/readers/jpeg.c: Likewise.
38499 * video/readers/png.c: Likewise.
38500 * video/readers/tga.c: Likewise.
38501
38502 * util/grub-fstest (cmd_loopback): Removed.
38503 (cmd_blocklist): Likewise.
38504 (cmd_ls): Likewise.
38505 (grub_register_command): Likewise.
38506 (grub_unregister_command): Likewise.
38507 (execute_command): Use grub_command_find to locate command and execute
38508 it.
38509
38510 * include/grub/efi/chainloader.h: Removed.
38511 * loader/efi/chainloader_normal.c: Likewise.
38512 * loader/i386/bsd_normal.c: Likewise.
38513 * loader/i386/pc/chainloader_normal.c: Likewise.
38514 * loader/i386/pc/multiboot_normal.c: Likewise.
38515 * loader/linux_normal.c: Likewise.
38516 * loader/multiboot_loader_normal.c: Likewise.
38517 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38518
38519 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38520 and grub_register_command_p1.
38521
38522 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38523 kern/command.c, lib/arg.c and commands/extcmd.c.
38524 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38525 (minicmd_mod_SOURCES): New variable.
38526 (minicmd_mod_CFLAGS): Likewise.
38527 (minicmd_mod_LDFLAGS): Likewise.
38528 (extcmd_mod_SOURCES): Likewise.
38529 (extcmd_mod_CFLAGS): Likewise.
38530 (extcmd_mod_LDFLAGS): Likewise.
38531 (boot_mod_SOURCES): Removed.
38532 (boot_mod_CFLAGS): Likewise.
38533 (boot_mod_LDFLAGS): Likewise.
38534
38535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38536 kern/corecmd.c.
38537 (kernel_img_HEADERS): Add command.h.
38538 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38539 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38540 and lib/arg.c.
38541 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38542 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38543 remove the corresponding normal mode command.
38544 (normal_mod_SOURCES): Remove normal/arg.c.
38545 * conf/i386-coreboot.rmk: Likewise.
38546 * conf/i386-efi.rmk: Likewise.
38547 * conf/i386-ieee1275.rmk: Likewise.
38548 * conf/powerpc-ieee1275.rmk: Likewise.
38549 * conf/x86_64-efi.rmk: Likewise.
38550
38551 * include/grub/arg.h: Move from here ...
38552 * include/grub/lib/arg.h: ... to here.
38553
38554 * normal/arg.c: Move from here ...
38555 * lib/arg.c: ... to here.
38556
38557 * commands/extcmd.c: New file.
38558 * commands/minicmd.c: Likewise.
38559 * include/grub/command.h: Likewise.
38560 * include/grub/extcmd.h: Likewise.
38561 * kern/command.c: Likewise.
38562 * kern/corecmd.c: Likewise.
38563
38564 * kern/list.c (grub_list_iterate): Return int instead of void.
38565 (grub_list_insert): New function.
38566 (grub_prio_list_insert): Likewise.
38567
38568 * kern/rescue.c (grub_rescue_command): Removed.
38569 (grub_rescue_command_list): Likewise.
38570 (grub_rescue_register_command): Likewise.
38571 (grub_rescue_unregister_command): Likewise.
38572 (grub_rescue_cmd_boot): Move to minicmd.c
38573 (grub_rescue_cmd_help): Likewise.
38574 (grub_rescue_cmd_info): Likewise.
38575 (grub_rescue_cmd_boot): Likewise.
38576 (grub_rescue_cmd_testload): Likewise.
38577 (grub_rescue_cmd_dump): Likewise.
38578 (grub_rescue_cmd_rmmod): Likewise.
38579 (grub_rescue_cmd_lsmod): Likewise.
38580 (grub_rescue_cmd_exit): Likewise.
38581 (grub_rescue_print_devices): Moved to corecmd.c.
38582 (grub_rescue_print_files): Likewise.
38583 (grub_rescue_cmd_ls): Likewise.
38584 (grub_rescue_cmd_insmod): Likewise.
38585 (grub_rescue_cmd_set): Likewise.
38586 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38587 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38588 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38589 commands, remove grub_rescue_register_command calls.
b1b797cb 38590
7d074e3c 38591 * normal/command.c (grub_register_command): Removed.
b1b797cb 38592 (grub_unregister_command): Likewise.
38593 (grub_command_find): Likewise.
38594 (grub_iterate_commands): Likewise.
38595 (rescue_command): Likewise.
38596 (export_command): Moved to corecmd.c.
38597 (set_command): Removed.
38598 (unset_command): Likewise.
38599 (insmod_command): Likewise.
38600 (rmmod_command): Likewise.
38601 (lsmod_command): Likewise.
38602 (grub_command_init): Likewise.
38603
38604 * normal/completion.c (iterate_command): Use cmd->prio to check for
38605 active command.
38606 (complete_arguments): Use grub_extcmd_t structure to find options.
38607 (grub_normal_do_completion): Change function grub_iterate_commands to
38608 grub_command_iterate.
38609
38610 * normal/execute.c (grub_script_execute_cmd): No need to parse
38611 argument here.
38612
38613 * normal/main.c (grub_dyncmd_dispatcher): New function.
38614 (read_command_list): Register unload commands as dyncmd.
38615 (grub_cmd_normal): Use new command interface, register rescue,
38616 unregister normal at entry, register normal, unregister rescue at exit.
38617
38618 * include/grub/list.h (grub_list_test_t): New type.
38619 (grub_list_iterate): Return int instead of void.
38620 (grub_list_insert): New function.
38621 (GRUB_AS_NAMED_LIST_P): New macro.
38622 (GRUB_AS_PRIO_LIST): Likewise.
38623 (GRUB_AS_PRIO_LIST_P): Likewise.
38624 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38625 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38626 (grub_prio_list): New structure.
38627 (grub_prio_list_insert): New function.
38628 (grub_prio_list_remove): New inline function.
38629
38630 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38631 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38632 (GRUB_COMMAND_FLAG_MENU): Likewise.
38633 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38634 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38635 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38636 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38637 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38638 (grub_command): Likewise.
38639 (grub_register_command): Likewise.
38640 (grub_command_find): Likewise.
38641 (grub_iterate_commands): Likewise.
38642 (grub_command_init): Likewise.
38643 (grub_arg_parse): Likewise.
38644 (grub_arg_show_help): Likewise.
38645
38646 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38647 (grub_rescue_unregister_command): Likewise.
38648
38649 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38650 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38651 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38652
38653 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38654 grub_rescue_cmd_initrd.
38655 * include/grub/i386/loader.h: Likewise.
38656 * include/grub/x86_64/loader.h: Likewise.
38657
38658 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38659
1f4147aa 386602009-03-21 Bean <bean123ch@gmail.com>
38661
38662 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38663 instead of stat in mingw environment.
38664
38665 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38666
38667 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38668
38669 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38670 AC_CONFIG_LINKS.
38671
2156d5ba 386722009-03-21 Bean <bean123ch@gmail.com>
38673
38674 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38675 out of range error.
38676
177b82ca 386772009-03-18 Michel Dänzer <michel@daenzer.net>
38678
38679 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38680 checking inode flags for EXT4_EXTENTS_FLAG.
38681
14aad807 386822009-03-18 Robert Millan <rmh@aybabtu.com>
38683
38684 * loader/i386/linux.c: Include `<grub/video.h>' and
38685 `<grub/i386/pc/vbe.h>'..
38686 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38687 (grub_linux32_boot): Attempt to configure video settings with
38688 grub_linux_setup_video().
38689 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38690 to avoid grub_console_fini() which would step out of graphical mode
38691 unconditionally.
38692
8cf83a27 386932009-03-14 Robert Millan <rmh@aybabtu.com>
38694
38695 Fix build on powerpc.
38696 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38697
40164e75 386982009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38699
38700 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38701 background image command.
38702
c58bc32a 387032009-03-12 Colin D Bennett <colin@gibibit.com>
38704
38705 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38706 (grub_gfxterm_putchar): Extract pairs of identical calls to
38707 draw_cursor out of conditional blocks.
38708
5415144a 387092009-03-11 Pavel Roskin <proski@gnu.org>
38710
38711 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38712 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38713
6394042e 387142009-03-11 Robert Millan <rmh@aybabtu.com>
38715
38716 * loader/i386/multiboot_elfxx.c
38717 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38718
b7b50e5f 387192009-03-11 Felix Zielcke <fzielcke@z-51.de>
38720
38721 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38722 `kern/handler.c'.
38723
1ca7fc96 387242009-03-11 Robert Millan <rmh@aybabtu.com>
38725
38726 * loader/i386/multiboot.c (code_size): New variable.
38727 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38728 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38729 4-byte alignment to MBI and others by increasing
7d074e3c 38730 `boot_loader_name_length' appropriately.
1ca7fc96 38731
38732 * loader/i386/multiboot_elfxx.c
38733 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38734
a83ea1d2 387352009-03-09 Felix Zielcke <fzielcke@z-51.de>
38736
38737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38738 `fs/ext2.c'.
38739
aa9f3bff 387402009-03-08 Robert Millan <rmh@aybabtu.com>
38741
38742 Make loader/i386/linux.c usable on i386-pc again.
38743
38744 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38745 memory to heap.
38746 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38747 `#error' stanza.
38748
d8b3b60e 387492009-03-07 Bean <bean123ch@gmail.com>
38750
38751 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38752 allocation.
38753
b362c9e9 387542009-03-06 Robert Millan <rmh@aybabtu.com>
38755
38756 Fix display issue on terminals with screen size other than 80x25
38757 (e.g. gfxterm with resolution higher than 640x480).
38758
38759 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38760 position relative to the center of the terminal instead of relying
b362c9e9 38761 on a hardcoded offset.
38762
9304eef1 387632009-03-04 Robert Millan <rmh@aybabtu.com>
38764
38765 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38766 installed.
38767
38768 * Makefile.in (host_kernel): New variable.
38769 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38770 scripts instead of just the windows one.
38771 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38772
eabc95fb 387732009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38774
38775 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38776 `kern/handler.c'.
38777 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38778 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38781 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38783
ceb1223c 387842009-03-04 Felix Zielcke <fzielcke@z-51.de>
38785
38786 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38787 or if there's no space for the disk label and print the partition number on a
38788 invalid magic.
38789
4910684a 387902009-03-04 Felix Zielcke <fzielcke@z-51.de>
38791
38792 * util/misc.c: Include <time.h>.
38793 (grub_millisleep): New function.
38794
7e9ca17a 387952009-03-04 Bean <bean123ch@gmail.com>
38796
38797 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38798 another option -mno-red-zone.
38799
38800 * commands/handler.c: Change module description.
38801
38802 * kern/handler.c: Add missing space at the end of description line.
38803
38804 * kern/list.c: Likewise.
38805
f501677c 388062009-03-03 Robert Millan <rmh@aybabtu.com>
38807
38808 Move more components to the relocation area, and fix mbi pointer
38809 handling to use the destination rather than the origin (thanks to
38810 Vladimir Serbinenko for spotting).
38811
38812 * loader/i386/multiboot.c (mbi_dest): New variable.
38813 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38814 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38815 relocation area.
38816
9902d047 388172009-03-01 Bean <bean123ch@gmail.com>
38818
50fb7002 38819 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38820 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38821 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38822 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38823
38824 * loader/i386/efi/linux.c (acpi_guid): New variable.
38825 (acpi_guid): Likewise.
38826 (EBDA_SEG_ADDR): New constant.
38827 (LOW_MEM_ADDR): Likewise.
38828 (FAKE_EBDA_SEG): Likewise.
38829 (fake_bios_data): New function.
38830 (grub_linux_boot): Call fake_bios_data.
38831
71b9f361 388322009-03-01 Bean <bean123ch@gmail.com>
38833
38834 * commands/terminal.c: Removed.
38835
38836 * commands/handler.c: New file.
38837
38838 * include/grub/list.h: Likewise.
38839
38840 * include/grub/handler.h: Likewise.
38841
38842 * kern/list.c: Likewise.
38843
38844 * kern/handler.c: Likewise.
38845
38846 * kern/term.h: Include header file <grub/handler.h>.
38847 (grub_term_input): Move next field to the beginning.
38848 (grub_term_output): Likewise.
38849 (grub_term_input_class): New variable.
38850 (grub_term_output_class): Likewise.
38851 (grub_term_register_input): Changed to inline function.
38852 (grub_term_register_output): Likewise.
38853 (grub_term_unregister_input): Likewise.
38854 (grub_term_unregister_output): Likewise.
38855 (grub_term_set_current_input): Likewise.
38856 (grub_term_set_current_output): Likewise.
38857 (grub_term_get_current_input): Likewise.
38858 (grub_term_get_current_output): Likewise.
38859 (grub_term_iterate_input): Removed.
38860 (grub_term_iterate_output): Likewise.
38861
38862 * kern/term.c (grub_term_list_input): Removed.
38863 (grub_term_list_output): Likewise.
38864 (grub_term_input_class): New variable.
38865 (grub_term_output_class): Likewise.
50fb7002 38866 (grub_cur_term_input): Change variable as macro.
71b9f361 38867 (grub_cur_term_output): Likewise.
38868 (grub_term_register_input): Removed.
38869 (grub_term_register_output): Likewise.
38870 (grub_term_unregister_input): Likewise.
38871 (grub_term_unregister_output): Likewise.
38872 (grub_term_set_current_input): Likewise.
38873 (grub_term_set_current_output): Likewise.
38874 (grub_term_iterate_input): Likewise.
38875 (grub_term_iterate_output): Likewise.
38876 (grub_term_get_current_input): Likewise.
38877 (grub_term_get_current_output): Likewise.
38878
38879 * util/grub-editenv.c: Include header file <grub/handler.h>.
38880 (grub_term_get_current_input): Removed.
38881 (grub_term_get_current_output): Likewise.
38882 (grub_term_input_class): New variable.
50fb7002 38883 (grub_term_output_class): Likewise.
71b9f361 38884
38885 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38886 (grub_term_get_current_output): Likewise.
38887 (grub_term_input_class): New variable.
50fb7002 38888 (grub_term_output_class): Likewise.
71b9f361 38889
38890 * util/grub-probe.c (grub_term_get_current_input): Removed.
38891 (grub_term_get_current_output): Likewise.
38892 (grub_term_input_class): New variable.
50fb7002 38893 (grub_term_output_class): Likewise.
71b9f361 38894
38895 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38896 (grub_term_get_current_output): Likewise.
38897 (grub_term_input_class): New variable.
50fb7002 38898 (grub_term_output_class): Likewise.
71b9f361 38899
38900 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38901 (terminal_mod_SOURCES): Likewise.
38902 (terminal_mod_CFLAGS): Likewise.
38903 (terminal_mod_LDFLAGS): Likewise.
38904
38905 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38906 handler.c.
38907 (kernel_img_SOURCES): Add list.c and handler.c.
38908 (kernel_img_HEADERS): Add list.h and handler.h.
38909
38910 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38911 handler.c.
38912 (kernel_mod_SOURCES): Add list.c and handler.c.
38913 (kernel_mod_HEADERS): Add list.h and handler.h.
38914
38915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38916 handler.c.
38917 (kernel_elf_SOURCES): Add list.c and handler.c.
38918 (kernel_elf_HEADERS): Add list.h and handler.h.
38919
38920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38921 handler.c.
38922 (kernel_elf_SOURCES): Add list.c and handler.c.
38923 (kernel_elf_HEADERS): Add list.h and handler.h.
38924
38925 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38926 handler.c.
38927 (kernel_mod_SOURCES): Add list.c and handler.c.
38928 (kernel_mod_HEADERS): Add list.h and handler.h.
38929
38930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38931 handler.c.
38932 (kernel_elf_SOURCES): Add list.c and handler.c.
38933 (kernel_elf_HEADERS): Add list.h and handler.h.
38934
8a31787f 389352009-02-27 Robert Millan <rmh@aybabtu.com>
38936
38937 Factorize elf32 / elf64 code in Multiboot loader. This will
38938 prevent it from getting out of sync again.
38939
38940 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38941 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38942 grub_multiboot_load_elf64): Move from here ...
38943 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38944 grub_multiboot_load_elf): ... to here (new file).
38945
51cd3dfc 389462009-02-27 Robert Millan <rmh@aybabtu.com>
38947
38948 * util/grub.d/10_linux.in: Rename "single-user mode" to
38949 "recovery mode".
38950
6e8c9c3a 389512009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38952
38953 Don't leak in SCSI code.
38954 * disk/scsi.c (grub_scsi_close): free `scsi'.
38955
4b6bf4f9 389562009-02-27 Robert Millan <rmh@aybabtu.com>
38957
38958 * loader/i386/pc/multiboot.c: Move from here ...
38959 * loader/i386/multiboot.c: ... to here. Update all users.
38960
b9413424 389612009-02-27 Robert Millan <rmh@aybabtu.com>
38962
38963 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38964 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38965
50fb7002 389662009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38967
38968 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38969 b-tree.
38970
8cc50345 389712009-02-27 Robert Millan <rmh@aybabtu.com>
38972
38973 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38974 `0x' qualifier as 0 when base is specified as parameter).
38975
6e09b8b7 389762009-02-24 Bean <bean123ch@gmail.com>
38977
38978 * configure.ac: Check for -mcmodel=large in x86_64 target.
38979
38980 * include/grub/efi/api.h (efi_call_10): New macro.
38981 (efi_wrap_10): New function.
38982
38983 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38984 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38985 (GRUB_PE32_REL_BASED_LOW): Likewise.
38986 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38987 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38988 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38989 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38990 (GRUB_PE32_REL_BASED_REL): Likewise.
38991 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38992 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38993 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38994
38995 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38996 issue.
38997
38998 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38999 (efi_wrap_10): New function.
39000
39001 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39002
39003 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39004 MB/MBP model (NV chipset).
39005 (devdata_devs): Add devpath_5 to the list.
39006
39007 * load/i386/efi/linux.c (video_base): Remove variable.
39008 (RGB_MASK): New macro.
39009 (RGB_MAGIC): Likewise.
39010 (LINE_MIN): Likewise.
39011 (LINE_MAX): Likewise.
39012 (FBTEST_STEP): Likewise.
39013 (FBTEST_COUNT): Likewise.
39014 (fb_list): New variable.
39015 (grub_find_video_card): Remove function.
39016 (find_framebuf): New function.
39017 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39018 line length.
39019
39020 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39021 problem for x86_64.
39022
74b21bee 390232009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39024
39025 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39026
39027 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39028 coding tool name.
39029
a455f472 390302009-02-22 Robert Millan <rmh@aybabtu.com>
39031
39032 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39033 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39034 in our relocation, instead of using it directly from heap. Also
39035 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39036
6374daf3 390372009-02-21 Robert Millan <rmh@aybabtu.com>
39038
39039 Implement USB keyboard support (based on patch by Marco Gerards)
39040
39041 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39042 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39043 (usb_keyboard_mod_LDFLAGS): New variables.
39044
39045 * term/usb_keyboard.c: New file.
39046
8fa4ea70 390472009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39048
39049 Corrected wrong declaration
39050
39051 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39052
353976ac 390532009-02-14 Christian Franke <franke@computer.org>
39054
39055 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39056 (grub_lspci_iter): Print class code and programming interface byte.
39057
6aa1169b 390582009-02-14 Christian Franke <franke@computer.org>
39059
39060 * gendistlist.sh: Ignore `.svn' directories.
39061
265372ca 390622009-02-14 Felix Zielcke <fzielcke@z-51.de>
39063
39064 * fs/fat.c: Add 2009 to Copyright line.
39065
9ff516f3 390662009-02-14 Christian Franke <franke@computer.org>
39067
39068 * commands/hdparm.c: New file. Provides `hdparm' command
39069 which sends ATA commands via grub_disk_ata_pass_through ().
39070
39071 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39072
39073 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39074 and <grub/cpu/io.h> to include/grub/ata.h.
39075 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39076 (GRUB_CDROM_SECTOR_SIZE): Remove.
39077 (GRUB_ATA_*): Move to include/grub/ata.h.
39078 (GRUB_ATAPI_*): Likewise.
39079 (enum grub_ata_commands): Likewise.
39080 (enum grub_ata_timeout_milliseconds): Likewise.
39081 (struct grub_ata_device): Likewise.
39082 (grub_ata_regset): Likewise.
39083 (grub_ata_regget): Likewise.
39084 (grub_ata_regset2): Likewise.
39085 (grub_ata_regget2): Likewise.
39086 (grub_ata_check_ready): Likewise.
39087 (grub_ata_wait_not_busy): Remove static, exported in
39088 include/grub/ata.h.
39089 (grub_ata_wait_drq): Likewise.
39090 (grub_ata_pio_read): Likewise.
39091
39092 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39093 function for hdparm.mod.
39094
39095 * include/grub/ata.h: New file, contains declarations from
39096 disk/ata.c.
39097 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39098
39099 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39100 (grub_disk_ata_pass_through): New exported variable.
39101
39102 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39103
772e23da 391042009-02-13 Colin D Bennett <colin@gibibit.com>
39105
39106 Support multiple fallback entries, and provide an API to support
39107 executing default+fallback menu entries. Renamed the `terminal' menu
39108 viewer to `text'.
39109
39110 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39111 variable declaration.
39112 (grub_menu_execute_callback): New structure declaration.
39113 (grub_menu_execute_callback_t): New typedef.
39114 (grub_menu_execute_with_fallback): New function declaration.
39115 (grub_menu_get_entry): Likewise.
39116 (grub_menu_get_timeout): Likewise.
39117 (grub_menu_set_timeout): Likewise.
39118
39119 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39120
39121 * normal/menu.c (grub_wait_after_message): Moved to
39122 `normal/menu_text.c'.
39123 (draw_border): Likewise.
39124 (print_message): Likewise.
39125 (print_entry): Likewise.
39126 (print_entries): Likewise.
39127 (grub_menu_init_page): Likewise.
39128 (get_entry_number): Likewise.
39129 (print_timeout): Likewise.
39130 (run_menu): Likewise.
39131 (grub_menu_execute_entry): Likewise.
39132 (show_text_menu): Likewise.
39133 (get_and_remove_first_entry_number): New function.
39134 (grub_menu_execute_with_fallback): Likewise.
39135 (get_entry): Renamed to ...
39136 (grub_menu_get_entry): .. this and made it global.
39137 (get_timeout): Renamed to ...
39138 (grub_menu_get_timeout): ... this and made it global.
39139 (set_timeout): Renamed to ...
39140 (grub_menu_set_timeout): ... this and made it global.
39141 (grub_normal_terminal_menu_viewer): Renamed to ...
39142 (grub_normal_text_menu_viewer): ... this.
39143
39144 * normal/menu_text.c: New file. Extracted text-menu-specific code
39145 from normal/menu.c.
39146
39147 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39148 (normal_mod_SOURCES): Likewise.
39149
39150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39151 (normal_mod_SOURCES): Likewise.
39152
39153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39154 (normal_mod_SOURCES): Likewise.
39155
39156 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39157 (normal_mod_SOURCES): Likewise.
39158
39159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39160 (normal_mod_SOURCES): Likewise.
39161
39162 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39163 (normal_mod_SOURCES): Likewise.
39164
39165 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39166 (normal_mod_SOURCES): Likewise.
39167
16ac430e 391682009-02-11 Robert Millan <rmh@aybabtu.com>
39169
39170 * util/grub.d/00_header.in: Update old reference to `font' command.
39171
06ff20fc 391722009-02-10 Felix Zielcke <fzielcke@z-51.de>
39173
39174 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39175
39176 Based on patch from Javier Martín.
39177
96da9407 391782009-02-09 Felix Zielcke <fzielcke@z-51.de>
39179
39180 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39181 to avoid false positives with FAT.
96da9407 39182 (grub_fstest_SOURCES): Likewise.
39183 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39184 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39186 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39187 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39188 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39189
6dca6fe4 391902009-02-09 Felix Zielcke <fzielcke@z-51.de>
39191
06ff20fc 39192 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39193 bpb.version_specific.fat12_or_fat16.fstype and
39194 bpb.version_specific.fat32.fstype.
39195
2550c62f 391962009-02-08 Robert Millan <rmh@aybabtu.com>
39197
be110b30 39198 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39199
56978920 392002009-02-08 Robert Millan <rmh@aybabtu.com>
39201
39202 * Makefile.in (host_os, host_cpu): New variables.
39203 (target_os): Remove. Update all users.
39204
d64399b5 392052009-02-08 Marco Gerards <marco@gnu.org>
39206
39207 * Makefile.in (enable_grub_emu_usb): New variable.
39208 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39209 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39210 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39211 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39212 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39213 `usbtest.mod' and `usbms.mod'.
39214 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39215 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39216 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39217 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39218 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39219 variables.
39220
39221 * disk/usbms.c: New file.
39222
39223 * include/grub/usb.h: Likewise.
39224
39225 * include/grub/usbtrans.h: Likewise.
39226
39227 * include/grub/usbdesc.h: Likewise.
39228
39229 * bus/usb/usbtrans.c: Likewise.
39230
39231 * bus/usb/ohci.c: Likewise.
39232
39233 * bus/usb/uhci.c: Likewise.
39234
39235 * bus/usb/usbhub.c: Likewise.
39236
39237 * bus/usb/usb.c: Likewise.
39238
39239 * commands/usbtest.c: Likewise.
39240
39241 * util/usb.c: Likewise.
50fb7002 39242
d64399b5 39243 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39244
39245 * configure.ac: Test for libusb presence.
50fb7002 39246
d64399b5 39247 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39248
2b40d6bb 392492009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39250
39251 * kern/mm.c: Add more comments.
39252
73a4ce81 392532009-02-08 Robert Millan <rmh@aybabtu.com>
39254
39255 Patch from Javier Martín.
39256 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39257 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39258
f821ce59 392592009-02-08 Robert Millan <rmh@aybabtu.com>
39260
39261 * fs/cpio.c: Split tar functionality to ...
39262 * fs/tar.c: ... here (new file). Update all users.
39263
aebfc4b0 392642009-02-07 Robert Millan <rmh@aybabtu.com>
39265
39266 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39267 backward-incompatible features.
39268
39269 Based on patch from Javier Martín, with some adjustments.
39270
50fb7002 392712009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39272
39273 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39274
0bb5115e 392752009-02-07 Robert Millan <rmh@aybabtu.com>
39276
39277 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39278 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39279 after the RAID stuff.
39280
38a0f8e7 392812009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39282
50fb7002 39283 Fixes problem when running vbetest command as reported by
38a0f8e7 39284 Vladimir Serbinenko <phcoder@gmail.com>.
39285
39286 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39287
3143cc1c 392882009-02-04 Felix Zielcke <fzielcke@z-51.de>
39289
39290 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39291 /dev/md/NpN style mdraid devices.
39292
9cba6fce 392932009-02-03 Felix Zielcke <fzielcke@z-51.de>
39294
39295 * util/unifont2pff.rb: Remove.
39296
e507a2c1 392972009-02-03 Felix Zielcke <fzielcke@z-51.de>
39298
39299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39300 `#'.
39301
d2c2b4cd 393022009-02-03 Felix Zielcke <fzielcke@z-51.de>
39303
39304 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39305 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39306 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39307 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39309 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39311
b4315fb0 393122009-02-02 Christian Franke <franke@computer.org>
39313
39314 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39315
de3aa260 393162009-02-01 Felix Zielcke <fzielcke@z-51.de>
39317
7c3ff286 39318 * INSTALL: Note that we now require at least autoconf 2.59 and
39319 that LZO is optional.
de3aa260 39320
825a182b 393212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39322
39323 Base on patch on bug #24154 created by Tomas Tintera
39324 <trosos@seznam.cz>.
39325
39326 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39327
a69ef770 393282009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39329
7c3ff286 39330 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39331 <bero@arklinux.org>.
39332
39333 * normal/parser.y (script_init): Add missing semicolon.
39334
6fa42fa6 393352009-01-31 Colin D Bennett <colin@gibibit.com>
39336
7c3ff286 39337 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39338 (free_menu_entry_classes): Added.
39339 (grub_normal_menu_addentry): Added class property handling.
39340 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39341 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39342
39343 * normal/menu_viewer.c: New file.
39344
39345 * normal/menu.c (run_menu_entry): Renamed to ...
39346 (grub_menu_execute_entry): ... this and made it as global.
39347 (grub_menu_run): Renamed to ...
39348 (show_text_menu): ... this and made it local.
39349 (show_text_menu): Adapt to new function names.
39350 (grub_normal_terminal_menu_viewer): New global variable.
39351
39352 * include/grub/menu.h: New file.
39353
39354 * include/grub/menu_viewer.h: New file.
39355
39356 * include/grub/normal.h: Added include to grub/menu.h.
39357 (grub_menu_entry): Moved to include/grub/menu.h.
39358 (grub_menu_entry_t): Likewise.
39359 (grub_menu): Likewise.
39360 (grub_menu_t): Likewise.
39361 (grub_normal_terminal_menu_viewer): Added.
39362 (grub_menu_execute_entry): Likewise.
39363 (grub_menu_run): Removed.
39364
39365 * DISTLIST: Added include/grub/menu.h.
39366 Added include/grub/menu_viewer.h.
39367 Added normal/menu_viewer.c.
39368
393692009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39370
39371 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39372 arglist for menutitle arguments.
39373
39374 * normal/main.c (grub_normal_menu_addentry): Likewise.
39375
39376 * normal/parser.y (menuentry): Likewise.
39377
39378 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39379
39380 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39381 (grub_script_create_cmdmenu): Likewise.
39382
39383 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39384
39385 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39386 changes.
39387
39388 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39389
39390 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39391
39392 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39393
39394 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39395
39396 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39397
39398 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39399
56192c23 394002009-01-30 Christian Franke <franke@computer.org>
39401
39402 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39403 in option help text.
39404
d72521b3 394052009-01-27 Pavel Roskin <proski@gnu.org>
39406
39407 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39408
994b5e84 394092009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39410
39411 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39412
39413 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39414
39415 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39416 unregister function.
39417
6a7eab2c 394182009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39419
39420 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39421
39422 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39423
39424 * util/grub-mkfont.c (usage): Fix typo.
39425
39426 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39427
1806b56e 394282009-01-26 Daniel Mierswa <impulze@impulze.org>
39429
3fb18f09 39430 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39431
336e1fb9 39432 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39433
1806b56e 39434 * kern/misc.c (grub_strcasecmp): New function.
39435 (grub_strcasecmp): Use grub_size_t instead of int for length.
39436 Fix return value.
39437 * include/grub/misc.h: Update function prototypes.
39438
580b2a0f 394392009-01-26 Robert Millan <rmh@aybabtu.com>
39440
39441 * configure.ac: Fix cross-compilation check.
ef257b36 39442
d31c24f1 394432009-01-22 Christian Franke <franke@computer.org>
39444
39445 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39446 (precision) digit string. Allow `.format2' without `format1' (width).
39447 Limit input chars for `%s' output to `format2' if specified. This is
39448 compatible with standard printf ().
39449
3138b44c 394502009-01-22 Christian Franke <franke@computer.org>
39451
39452 * disk/ata.c (grub_ata_wait_status): Replace by ...
39453 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39454 other status bits may be invalid while BSY is asserted.
39455 (grub_ata_check_ready): New function.
39456 (grub_ata_cmd): Removed.
39457 (grub_ata_wait_drq): New function.
39458 (grub_ata_strncpy): Remove inline.
39459 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39460 and error check now done by grub_ata_wait_drq ().
39461 (grub_ata_pio_write): Likewise.
39462 (grub_atapi_identify): Set DEV before check for !BSY. Use
39463 grub_ata_wait_drq () to wait for data.
39464 (grub_ata_device_initialize): Add status register check to
39465 detect missing SATA slave devices. Add debug messages.
39466 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39467 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39468 transfer loop by grub_ata_pio_write ().
39469 (grub_ata_identify): Set DEV before check for !BSY. Use
39470 grub_ata_wait_drq () to wait for data.
ef257b36 39471 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39472 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39473 read/write in one loop. Fix invalid command on write. Fix incomplete
39474 command on (size % batch) == 0. Add missing error check after write of
39475 last block. Add debug messages.
39476 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39477
59a64ef6 394782009-01-19 Christian Franke <franke@computer.org>
39479
39480 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39481 (GRUB_ATAPI_IREASON_*): Likewise.
39482 (grub_ata_pio_write): Fix timeout error return.
39483 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39484 (grub_atapi_wait_drq): New function.
39485 (grub_atapi_packet): New parameter `size'.
39486 Use grub_atapi_wait_drq () and direct write instead of
39487 grub_ata_pio_write ().
39488 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39489 reads the number of bytes requested by the device for each DRQ
39490 assertion.
39491 (grub_atapi_write): Remove old implementation, return not
39492 implemented instead.
39493
1cfe20b3 394942009-01-19 Christian Franke <franke@computer.org>
39495
39496 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39497 of 512 to calculate data size.
39498 (grub_scsi_read12): Likewise.
39499 (grub_scsi_write10): Likewise.
39500 (grub_scsi_write12): Likewise.
39501 (grub_scsi_read): Adjust size according to blocksize.
39502 Add checks for invalid blocksize and unaligned transfer.
39503
bee5fe5d 395042009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39505
39506 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39507
ef257b36 39508 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39509 width glyphs.
39510
3e643f8c 395112009-01-19 Robert Millan <rmh@aybabtu.com>
39512
39513 * config.guess: Update to latest version from config git.
39514 * config.sub: Likewise.
39515
4fa80998 395162009-01-17 Felix Zielcke <fzielcke@z-51.de>
39517
39518 * Makefile.in: Change font compilation to use new grub-mkfont instead
39519 of java version.
39520
39521 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39522 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39523 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39524 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39525 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39526 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39527 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39528 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39529 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39530
7086085b 395312009-01-16 Christian Franke <franke@computer.org>
39532
39533 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39534 (enum grub_ata_timeout_milliseconds): New enum.
39535 (grub_ata_wait_status): Add parameter milliseconds.
39536 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39537 recovery from timed-out commands.
39538 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39539 return grub_errno instead of REG_ERROR.
39540 (grub_ata_pio_write): Add parameter milliseconds.
39541 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39542 Pass milliseconds to grub_ata_wait_status () and
39543 grub_ata_pio_read ().
39544 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39545 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39546 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39547 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39548 It is not suitable for device detection, because DEV bit is ignored,
39549 the command may run too long, and not all devices set the signature
39550 properly.
39551 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39552 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39553 Fix device selection, DEV bit must be set first to address the registers
39554 of the correct device.
39555 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39556 grub_ata_pio_read/write ().
39557 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39558 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39559
4a412913 395602009-01-13 Carles Pina i Estany <carles@pina.cat>
39561
39562 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39563
7795c55e 395642009-01-13 Bean <bean123ch@gmail.com>
d913988c 39565
39566 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39567
7795c55e 395682009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39569
39570 * Makefile.in: (enable_grub_mkfont): New variable.
39571 (freetype_cflags): Likewise.
39572 (freetype_libs): Likewise.
39573
39574 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39575 (grub_mkfont_SOURCES): New variable.
39576 (grub_mkfont_CFLAGS): Likewise.
39577 (grub_mkfont_LDFLAGS): Likewise.
39578
39579 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39580 library if `--enable-grub-mkfont' is requested.
39581 (enable_grub_mkfont): New variable.
39582 (freetype_cflags): Likewise.
39583 (freetype_libs): Likewise.
39584
39585 * util/grub-mkfont.c: New file.
39586
093af1fe 395872009-01-12 Christian Franke <franke@computer.org>
39588
39589 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39590 mode check. Fix setting of compat_use[].
39591
f36cc108 395922009-01-10 Robert Millan <rmh@aybabtu.com>
39593
39594 Update a few copyright years which we forgot to do in 2008 (only for
39595 files whose changes made in 2008 were copyright-significant)
39596
39597 * Makefile.in: Add 2008 to Copyright line.
39598 * disk/ieee1275/ofdisk.c: Likewise.
39599 * disk/efi/efidisk.c: Likewise.
39600 * kern/dl.c: Likewise.
39601 * kern/sparc64/ieee1275/init.c: Likewise.
39602 * kern/mm.c: Likewise.
39603 * kern/efi/mm.c: Likewise.
39604 * boot/i386/pc/boot.S: Likewise.
39605 * genfslist.sh: Likewise.
39606 * fs/iso9660.c: Likewise.
39607 * fs/hfs.c: Likewise.
39608 * fs/jfs.c: Likewise.
39609 * fs/minix.c: Likewise.
39610 * fs/ufs.c: Likewise.
39611 * gensymlist.sh.in: Likewise.
39612 * genkernsyms.sh.in: Likewise.
39613 * include/grub/misc.h: Likewise.
39614 * include/grub/types.h: Likewise.
39615 * include/grub/symbol.h: Likewise.
39616 * include/grub/elf.h: Likewise.
39617 * include/grub/kernel.h: Likewise.
39618 * include/grub/disk.h: Likewise.
39619 * include/grub/dl.h: Likewise.
39620 * include/grub/i386/linux.h: Likewise.
39621 * include/grub/i386/pc/biosdisk.h: Likewise.
39622 * include/grub/efi/api.h: Likewise.
39623 * include/grub/efi/pe32.h: Likewise.
39624 * include/grub/util/misc.h: Likewise.
39625 * normal/execute.c: Likewise.
39626 * normal/arg.c: Likewise.
39627 * normal/completion.c: Likewise.
39628 * normal/lexer.c: Likewise.
39629 * normal/parser.y: Likewise.
39630 * normal/misc.c: Likewise.
39631 * commands/i386/pc/vbeinfo.c: Likewise.
39632 * commands/hexdump.c: Likewise.
39633 * commands/terminal.c: Likewise.
39634 * commands/ls.c: Likewise.
39635 * commands/help.c: Likewise.
39636 * partmap/pc.c: Likewise.
39637 * loader/efi/chainloader.c: Likewise.
39638 * loader/multiboot_loader.c: Likewise.
39639 * loader/i386/pc/multiboot2.c: Likewise.
39640 * term/efi/console.c: Likewise.
39641 * term/i386/pc/serial.c: Likewise.
39642 * util/lvm.c: Likewise.
39643 * util/console.c: Likewise.
39644 * util/i386/efi/grub-mkimage.c: Likewise.
39645 * util/raid.c: Likewise.
39646
7f02114b 396472009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39648
39649 * commands/videotest.c: Removed include to grub/machine/memory.h.
39650
39651 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39652 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39653 (video_mod_SOURCES): Removed.
39654 (video_mod_CFLAGS): Likewise.
39655 (video_mod_LDFLAGS): Likewise.
39656 (gfxterm_mod_SOURCES): Likewise.
39657 (gfxterm_mod_CFLAGS): Likewise.
39658 (gfxterm_mod_LDFLAGS): Likewise.
39659 (videotest_mod_SOURCES): Likewise.
39660 (videotest_mod_CFLAGS): Likewise.
39661 (videotest_mod_LDFLAGS): Likewise.
39662 (bitmap_mod_SOURCES): Likewise.
39663 (bitmap_mod_CFLAGS): Likewise.
39664 (bitmap_mod_LDFLAGS): Likewise.
39665 (tga_mod_SOURCES): Likewise.
39666 (tga_mod_CFLAGS): Likewise.
39667 (tga_mod_LDFLAGS): Likewise.
39668 (jpeg_mod_SOURCES): Likewise.
39669 (jpeg_mod_CFLAGS): Likewise.
39670 (jpeg_mod_LDFLAGS): Likewise.
39671 (png_mod_SOURCES): Likewise.
39672 (png_mod_CFLAGS): Likewise.
39673 (png_mod_LDFLAGS): Likewise.
39674
39675 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39676 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39677 (video_mod_SOURCES): Added.
39678 (video_mod_CFLAGS): Likewise.
39679 (video_mod_LDFLAGS): Likewise.
39680 (videotest_mod_SOURCES): Likewise.
39681 (videotest_mod_CFLAGS): Likewise.
39682 (videotest_mod_LDFLAGS): Likewise.
39683 (bitmap_mod_SOURCES): Likewise.
39684 (bitmap_mod_CFLAGS): Likewise.
39685 (bitmap_mod_LDFLAGS): Likewise.
39686 (tga_mod_SOURCES): Likewise.
39687 (tga_mod_CFLAGS): Likewise.
39688 (tga_mod_LDFLAGS): Likewise.
39689 (jpeg_mod_SOURCES): Likewise.
39690 (jpeg_mod_CFLAGS): Likewise.
39691 (jpeg_mod_LDFLAGS): Likewise.
39692 (png_mod_SOURCES): Likewise.
39693 (png_mod_CFLAGS): Likewise.
39694 (png_mod_LDFLAGS): Likewise.
39695 (gfxterm_mod_SOURCES): Likewise.
39696 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39697 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39698
39699 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39700 grub/machine/console.h.
39701
644fff97 397022009-01-04 Jerone Young <jerone@gmail.com>
39703
39704 Make on screen instructions clearer
39705
39706 Based on patch created by Jidanni <jidanni@jidanni.org>
39707
39708 * normal/menu.c: print clearer instructions on the screen
39709
1e901a75 397102009-01-02 Colin D Bennett <colin@gibibit.com>
39711
39712 New font engine.
34c44600 39713
1e901a75 39714 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39715 build system and fixed gfxterm.c to work with different sized fonts.
39716
39717 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39718
1e901a75 39719 * configure: Re-generated.
34c44600 39720
1e901a75 39721 * DISTLIST: Removed font/manager.c.
39722 Added font/font.c.
39723 Added font/font_cmd.c.
34c44600 39724
1e901a75 39725 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39726 compilation.
34c44600 39727
1e901a75 39728 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39729
39730 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39731
39732 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39733
1e901a75 39734 * normal/menu.c: Likewise.
34c44600 39735
1e901a75 39736 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39737 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39738
1e901a75 39739 * include/grub/font.h: Replaced with new file.
34c44600 39740
1e901a75 39741 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39742 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39743 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39744 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39745 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39746 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39747 fg_red, fg_green, fg_blue, fg_alpha.
39748 (grub_video_adapter): Removed blit_glyph.
34c44600 39749 (grub_video_blit_glyph): Removed.
39750
1e901a75 39751 * font/manager.c: Removed file.
34c44600 39752
39753 * font/font.c: New file.
39754
1e901a75 39755 * font/font_cmd.c: Likewise.
34c44600 39756
1e901a75 39757 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39758
1e901a75 39759 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39760 (grub_video_vbe_map_rgba): Likewise.
39761 (grub_video_vbe_unmap_color_int): Likewise.
39762 (grub_video_vbe_blit_glyph): Removed.
39763 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39764
1e901a75 39765 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39766 (get_pixel): Likewise.
34c44600 39767 (set_pixel): Likewise.
39768
1e901a75 39769 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39770
1e901a75 39771 * term/gfxterm.c: Adapted to new font engine.
34c44600 39772
1e901a75 39773 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39774
1e901a75 39775 * term/i386/pc/vga.c: Likewise.
34c44600 39776
1e901a75 39777 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39778
1e901a75 39779 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39780
1e901a75 39781 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39782
1e901a75 39783 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39784
1e901a75 39785 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39786
1e901a75 39787 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39788
1e901a75 39789 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39790
1e901a75 39791 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39792
1e901a75 39793 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39794
39795 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39796
1e901a75 39797 * util/grub-mkconfig_lib.in: Changed font extension.
39798
278922e8 397992008-12-28 Felix Zielcke <fzielcke@z-51.de>
39800
39801 * util/getroot.c (grub_util_get_grub_dev): Add support for
39802 /dev/md/dNNpNN style partitionable mdraid devices.
39803
3ced05cf 398042008-12-12 Alex Smith <alex@alex-smith.me.uk>
39805
39806 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39807 at a time limit of the PXE TFTP API correctly.
39808 (grub_pxefs_close): Likewise.
39809
7fd0ee30 398102008-11-29 Robert Millan <rmh@aybabtu.com>
39811
34c44600 39812 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39813 grub_ata_device_initialize() calls.
39814
34c44600 398152008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39816
39817 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39818 iteration failed.
39819 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39820
89313780 398212008-11-28 Robert Millan <rmh@aybabtu.com>
39822
39823 Fix build on powerpc-ieee1275. Based on patch created by
39824 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39825 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39826 `kern/ieee1275/mmap.c'.
39827 * include/grub/powerpc/ieee1275/memory.h: New file.
39828
15257703 39829 Provide grub-install on coreboot.
39830 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39831 (grub_install_SOURCES): New variable.
39832 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39833 usable on coreboot.
39834
9fc5388a 398352008-11-25 Felix Zielcke <fzielcke@z-51.de>
39836
39837 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39838 to `grub_term_input_t'.
39839 (grub_term_get_current_output): Change return type to
39840 `grub_term_output_t'.
39841
bc3a2f31 398422008-11-22 Robert Millan <rmh@aybabtu.com>
39843
34c44600 39844 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39845 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39846 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39847 grub_vga_text_cls().
39848
80fc88f2 39849 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39850 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39851
cbf36fd3 39852 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39853 to 0x200000 (avoids trouble with some OFW implementations, and matches
39854 with the one in Yaboot).
39855 Reported by Manoel Abranches
39856
73e8e268 398572008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39858
39859 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39860 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39861
73e8e268 39862 * util/grub-mkconfig_lib.in (grub_warn): New function.
39863 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39864 warnings, to obtain consistent formatting.
39865 * util/grub.d/00_header.in: Likewise.
39866 * util/update-grub_lib.in: Likewise.
39867
e94045a1 39868 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39869 Move comment text to `#error' stanza.
e94045a1 39870
79d29fd7 39871 Harmonize ieee1275's grub_available_iterate() with the generic
39872 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39873 build problem on i386-ieee1275):
39874 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39875 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39876 parameter `type'. Update all users of this function.
39877 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39878 `kern/ieee1275/mmap.c'.
39879 * kern/ieee1275/init.c
39880 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39881 with ...
39882 (grub_machine_mmap_iterate): ... this.
39883 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39884 return type to `grub_err_t'. Update all implementations of this
39885 function prototype.
39886 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39887 Likewise.
39888
60d6b16e 39889 Add `lsmmap' command (lists firmware-provided memory map):
39890 * commands/lsmmap.c: New file.
39891 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39892 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39893 variables.
39894 * conf/powerpc-ieee1275.rmk: Likewise.
39895 * conf/i386-coreboot.rmk: Likewise.
39896 * conf/i386-ieee1275.rmk: Likewise.
39897
ebaaf49b 398982008-11-19 Robert Millan <rmh@aybabtu.com>
39899
39900 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39901 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39902 constraints to initrd allocation (based on code from
39903 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39904 for Linux to find it.
ebaaf49b 39905
dfab719f 399062008-11-14 Robert Millan <rmh@aybabtu.com>
39907
39908 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39909 order to cope with duplicate slashes.
39910
10fc3eb9 399112008-11-14 Robert Millan <rmh@aybabtu.com>
39912
39913 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39914 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39915 don't want to mess with lower memory, because it is used in the Linux
39916 loader.
39917
39918 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39919 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39920 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39921 is in our heap (probably as a result of it being corrupted during
2f2a3442 39922 decompression). Add #error instance with comment to explain why this
39923 loader isn't currently usable on PC/BIOS.
10fc3eb9 39924
e2e07847 399252008-11-14 Robert Millan <rmh@aybabtu.com>
39926
39927 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39928 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39929
fe8e8d69 399302008-11-12 Robert Millan <rmh@aybabtu.com>
39931
39932 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39933
39934 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39935 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39936 from here ...
39937 * include/grub/i386/pc/memory.h: ... to here.
39938
976b07d0 399392008-11-12 Robert Millan <rmh@aybabtu.com>
39940
39941 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39942 split).
39943
39944 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39945 (grub_console_cur_color, grub_console_real_putchar)
39946 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39947 (grub_console_setcolorstate, grub_console_setcolor)
39948 (grub_console_getcolor): Move from here ...
39949 * include/grub/i386/vga_common.h: ... to here (new file).
39950
39951 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39952 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39953 `<grub/i386/io.h>'.
39954 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39955 `<grub/i386/vga_common.h>'.
39956
76679cd3 399572008-11-12 Robert Millan <rmh@aybabtu.com>
39958
39959 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39960 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39961 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39962 variables.
39963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39964 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39965
39966 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39967 grub_console_init() with call to grub_vga_text_init().
39968 (grub_machine_fini): Replace call to
39969 grub_console_fini() with call to grub_vga_text_fini() and
39970 grub_at_keyboard_fini().
39971
39972 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39973 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39974 (grub_console_setcolorstate, grub_console_setcolor)
39975 (grub_console_getcolor): New function prototypes.
39976
39977 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39978 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39979 (grub_vga_text_setcursor): Static-ize.
39980 (grub_vga_text_term): New structure.
39981 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39982
39983 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39984 (grub_console_cur_color, grub_console_standard_color)
39985 (grub_console_normal_color, grub_console_highlight_color)
39986 (map_char, grub_console_putchar, grub_console_getcharwidth)
39987 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39988 (grub_console_getcolor): Move from here ...
39989 * term/i386/vga_common.c: ... to here (same function names).
39990
95b841d3 399912008-11-12 Robert Millan <rmh@aybabtu.com>
39992
39993 Use newly-added Multiboot support in coreboot.
39994
39995 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39996 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39997
39998 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39999 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40000 (codestart): Store the MBI in `startup_multiboot_info' when we're
40001 being loaded using Multiboot.
40002
40003 * kern/i386/coreboot/init.c (grub_machine_init): Move
40004 grub_at_keyboard_init() call to beginning of function (useful for
40005 debugging). Call grub_machine_mmap_init() before attempting to use
40006 grub_machine_mmap_iterate().
40007 (grub_lower_mem, grub_upper_mem): Move from here ...
40008 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40009 here (new file).
40010
40011 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40012 function prototype.
40013
761ca975 400142008-11-12 Robert Millan <rmh@aybabtu.com>
40015
40016 Fix a regression introduced by the at_keyboard.mod split. Because
40017 some terminals are default on some platforms and non-default on
40018 others, the first terminal being registered determines which is
40019 going to be default.
40020
40021 * kern/term.c (grub_term_register_input): If this is the first
40022 terminal being registered, set it as the current one.
40023 (grub_term_register_output): Likewise.
40024
40025 * term/efi/console.c (grub_console_init): Do not call
40026 grub_term_set_current_output() or grub_term_set_current_input().
40027 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40028 * term/i386/pc/console.c (grub_console_init): Likewise.
40029 (grub_console_fini): Do not call grub_term_set_current_input()
40030 (but leave grub_term_set_current_output() to restore text mode).
40031
6c529df7 400322008-11-10 Robert Millan <rmh@aybabtu.com>
40033
40034 * util/grub.d/00_header.in: Add backward compatibility check for
40035 versions of terminal.mod that don't understand `terminal_input' or
40036 `terminal_output'.
40037
132e4113 400382008-11-09 Robert Millan <rmh@aybabtu.com>
40039
40040 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40041 `terminal_input' / `terminal_output', not `terminal'.
40042
ac293d50 400432008-11-08 Robert Millan <rmh@aybabtu.com>
40044
40045 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40046 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40047
0025933a 400482008-11-08 Robert Millan <rmh@aybabtu.com>
40049
40050 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40051 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40052 members. Update all users.
40053 * util/console.c (grub_ncurses_term): Split in ...
40054 (grub_ncurses_term_input): ... this, and ...
40055 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40056 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40057
37c86336 400582008-11-08 Robert Millan <rmh@aybabtu.com>
40059
40060 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40061 (PKGDATA): Add $(pkgdata_SRCDIR).
40062 (pkglib_BUILDDIR): New variable.
40063 (pkgdata_SRCDIR): New variable.
40064 (build_env.mk): New target.
40065 (include_DATA): New variable.
40066 (install-local): Install $(include_DATA) files in $(includedir).
40067
b6c15a2d 400682008-11-07 Pavel Roskin <proski@gnu.org>
40069
d99d46f1 40070 * gendistlist.sh: Use C locale for sorting to ensure consistent
40071 output on all systems.
40072
b6c15a2d 40073 * util/grub.d/00_header.in: Remove incorrect space before
40074 "serial".
40075
c32ee8c9 400762008-11-07 Robert Millan <rmh@aybabtu.com>
40077
40078 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40079 per specification.
40080 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40081 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40082 (based on find_multi_boot1_header).
40083 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40084 using find_multi_boot2_header(), and abort if neither Multiboot or
40085 Multiboot headers were found.
40086
651c29b7 400872008-11-07 Robert Millan <rmh@aybabtu.com>
40088
40089 Modularize at_keyboard.mod:
40090
40091 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40092 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40093 (at_keyboard_mod_LDFLAGS): New variables.
40094
40095 Actual terminal split:
40096
40097 * include/grub/term.h (struct grub_term): Split in ...
40098 (struct grub_term_input): ... this, and ...
40099 (struct grub_term_output): ... this. Update all users.
40100 (grub_term_set_current): Split in ...
40101 (grub_term_set_current_input): ... this, and ...
40102 (grub_term_set_current_output): ... this.
40103 (grub_term_get_current): Split in ...
40104 (grub_term_get_current_input): ... this, and ...
40105 (grub_term_get_current_output): ... this.
40106 (grub_term_register): Split in ...
40107 (grub_term_register_input): ... this, and ...
40108 (grub_term_register_output): ... this.
40109 (grub_term_unregister): Split in ...
40110 (grub_term_unregister_input): ... this, and ...
40111 (grub_term_unregister_output): ... this.
40112 (grub_term_iterate): Split in ...
40113 (grub_term_iterate_input): ... this, and ...
40114 (grub_term_iterate_output): ... this.
40115
40116 * kern/term.c (grub_term_list): Split in ...
40117 (grub_term_list_input): ... this, and ...
40118 (grub_term_list_output): ... this. Update all users.
40119 (grub_cur_term): Split in ...
40120 (grub_cur_term_input): ... this, and ...
40121 (grub_cur_term_output): ... this. Update all users.
40122 (grub_term_set_current): Split in ...
40123 (grub_term_set_current_input): ... this, and ...
40124 (grub_term_set_current_output): ... this.
40125 (grub_term_get_current): Split in ...
40126 (grub_term_get_current_input): ... this, and ...
40127 (grub_term_get_current_output): ... this.
40128 (grub_term_register): Split in ...
40129 (grub_term_register_input): ... this, and ...
40130 (grub_term_register_output): ... this.
40131 (grub_term_unregister): Split in ...
40132 (grub_term_unregister_input): ... this, and ...
40133 (grub_term_unregister_output): ... this.
40134 (grub_term_iterate): Split in ...
40135 (grub_term_iterate_input): ... this, and ...
40136 (grub_term_iterate_output): ... this.
40137
40138 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40139 a check for input and one for output (and only attempt to get keys
40140 from user when input works).
40141
40142 * util/grub-probe.c (grub_term_get_current): Split in ...
40143 (grub_term_get_current_input): ... this, and ...
40144 (grub_term_get_current_output): ... this.
40145 * util/grub-fstest.c: Likewise.
40146 * util/i386/pc/grub-setup.c: Likewise.
40147 * util/grub-editenv.c: Likewise.
40148
40149 Portability adjustments:
40150
40151 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40152 `term/i386/pc/at_keyboard.c'.
40153 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40154 grub_keyboard_controller_init() (now handled by terminal .init).
40155 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40156 grub_at_keyboard_init().
40157 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40158 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40159 at_keyboard.mod via input terminal interface).
40160 * include/grub/i386/coreboot/console.h: Convert into a stub for
40161 `<grub/i386/pc/console.h>'.
40162
40163 Migrate full terminals to new API:
40164
40165 * term/efi/console.c (grub_console_term): Split into ...
40166 (grub_console_term_input): ... this, and ...
40167 (grub_console_term_output): ... this. Update all users.
40168 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40169 (grub_ofconsole_init): Split into ...
40170 (grub_ofconsole_init_input): ... this, and ...
40171 (grub_ofconsole_init_output): ... this.
40172 (grub_ofconsole_term): Split into ...
40173 (grub_ofconsole_term_input): ... this, and ...
40174 (grub_ofconsole_term_output): ... this. Update all users.
40175 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40176 (grub_serial_term_input): ... this, and ...
40177 (grub_serial_term_output): ... this. Update all users.
40178 * term/i386/pc/console.c (grub_console_term): Split into ...
40179 (grub_console_term_input): ... this, and ...
40180 (grub_console_term_output): ... this. Update all users.
40181 (grub_console_term_input): Only enable it on PC/BIOS platform.
40182 (grub_console_init): Remove grub_keyboard_controller_init() call.
40183
40184 Migrate input terminals to new API:
40185
40186 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40187 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40188 i386-specific anyway).
40189 (grub_console_checkkey): Rename to ...
40190 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40191 users.
40192 (grub_keyboard_controller_orig): New variable.
40193 (grub_console_getkey): Rename to ...
40194 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40195 users.
40196 (grub_keyboard_controller_init): Static-ize. Save original
40197 controller value so that it can be restored ...
40198 (grub_keyboard_controller_fini): ... here (new function).
40199 (grub_at_keyboard_term): New structure.
40200 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40201 functions.
40202
40203 Migrate output terminals to new API:
40204
40205 * term/i386/pc/vga.c (grub_vga_term): Change type to
40206 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40207 members. Update all users.
40208 * term/gfxterm.c (grub_video_term): Change type to
40209 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40210 members. Update all users.
40211 * include/grub/i386/pc/console.h (grub_console_checkkey)
40212 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40213 etc).
40214
40215 Migrate `terminal' command and userland tools to new API:
40216
40217 * commands/terminal.c (grub_cmd_terminal): Split into ...
40218 (grub_cmd_terminal_input): ... this, and ...
40219 (grub_cmd_terminal_output): ... this.
40220 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40221 `terminal_input' and `terminal_output'.
40222 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40223 `terminal_input' / `terminal_output' API.
40224 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40225 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40226 provided ${GRUB_TERMINAL}, convert it).
40227
96e5d876 402282008-11-04 Robert Millan <rmh@aybabtu.com>
40229
40230 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40231 for FreeBSD.
40232 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40233
556f3775 402342008-11-03 Bean <bean123ch@gmail.com>
40235
40236 * kern/elf.c (grub_elf32_load): Revert to previous code.
40237 (grub_elf64_load): Likewise.
40238
40239 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40240
926b9823 402412008-11-01 Robert Millan <rmh@aybabtu.com>
40242
40243 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40244 (TARGET_CPPFLAGS): Likewise.
40245 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40246
1432e958 402472008-11-01 Carles Pina i Estany <carles@pina.cat>
40248
40249 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40250
dba3f844 402512008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40252
40253 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40254 addition of objects until the code is not going to be able to fail.
40255
dba3f844 402562008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40257
40258 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40259 (add a missing NULL check, and correct them by moving the pointer
40260 operations after the actual check).
40261
7ab28c21 402622008-10-29 Robert Millan <rmh@aybabtu.com>
40263
40264 * util/i386/pc/grub-install.in: Handle empty string as output from
40265 make_system_path_relative_to_its_root().
40266
1b7748eb 402672008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40268
40269 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40270 circular metadata worst case scenario. If the metadata is circular
40271 then copy the wrap in place.
40272 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40273 project lib/format_text/layout.h
40274 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40275
c9618ab2 402762008-10-03 Felix Zielcke <fzielcke@z-51.de>
40277
7a36edca 40278 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40279
bf981c62 402802008-10-03 Felix Zielcke <fzielcke@z-51.de>
40281
40282 * util/update-grub_lib.in: Mention filename in warning message.
40283
6d994591 402842008-09-29 Felix Zielcke <fzielcke@z-51.de>
40285
40286 * NEWS: Update for rename of update-grub to grub-mkconfig.
40287
18ade780 402882008-09-29 Felix Zielcke <fzielcke@z-51.de>
40289
40290 * util/update-grub_lib.in: Copy to ...
40291 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40292 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40293 * util/update-grub.in: Rename to ...
40294 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40295 option. Add `--output' option to allow users to specify the generated
40296 configuration file. Default to stdout.
40297 (update_grub_dir): Rename to ...
40298 (grub_mkconfig_dir): ... this.
40299 (grub_cfg): Default to an empty string.
40300 * conf/common.rmk (update-grub): Rename to ...
40301 (grub-mkconfig): ... this.
40302 (update-grub_lib): Copy to ...
40303 (grub-mkconfig_lib): ... this.
40304 (update-grub_SCRIPTS): Copy to ...
40305 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40306 (update-grub_DATA): Rename to ...
40307 (grub-mkconfig_DATA): ... this.
40308
556ce6ac 403092008-09-28 Robert Millan <rmh@aybabtu.com>
40310
40311 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40312 to `modified'. Add the real `created' field.
40313 (grub_iso9660_uuid): Use `modified' rather than `created' for
40314 constructing the UUID.
40315
403162008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40317
40318 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40319 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40320
92274e85 403212008-09-28 Bean <bean123ch@gmail.com>
40322
40323 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40324 Thanks to Christian Franke for finding this bug.
40325
add6f17a 403262008-09-25 Robert Millan <rmh@aybabtu.com>
40327
40328 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40329 instances of grub_util_get_disk_name() (see previous commit).
40330
d2a367b8 403312008-09-25 Robert Millan <rmh@aybabtu.com>
40332
40333 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40334 `util/i386/get_disk_name.c'.
40335 * conf/i386-efi.rmk: Likewise.
40336 * conf/x86_64-efi.rmk: Likewise.
40337 * conf/i386-coreboot.rmk: Likewise.
40338 * conf/i386-ieee1275.rmk: Likewise.
40339 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40340 `util/ieee1275/get_disk_name.c'.
40341 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40342 * util/ieee1275/get_disk_name.c: Remove file.
40343 * util/i386/get_disk_name.c: Remove file.
40344 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40345 "hd%d" for device.map entries, rather than using
40346 grub_util_get_disk_name().
40347
81a06771 403482008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40349
40350 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40351 warning.
40352 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40353
5a004279 403542008-09-24 Carles Pina i Estany <carles@pina.cat>
40355
40356 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40357 Changed to 0x5100.
40358 (GRUB_TERM_PPAGE): Changed to 0x4900.
40359
397093d3 403602008-09-24 Robert Millan <rmh@aybabtu.com>
40361
40362 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40363 macros (they were i386-pc specific).
40364 * include/grub/sparc64/ieee1275/console.h: Likewise.
40365 * include/grub/efi/console.h: Likewise.
40366
a91b6c7c 403672008-09-22 Bean <bean123ch@gmail.com>
40368
40369 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40370 resident and in attribute list.
40371
40372 * include/grub/ntfs.h (BMP_LEN): Removed.
40373
c40fd116 403742008-09-22 Bean <bean123ch@gmail.com>
40375
81a06771 40376 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40377 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40378
40379 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40380 error occurs, as grub_disk_open will call grub_disk_close, which will
40381 call p->close (scsi).
40382
81a06771 403832008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40384
40385 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40386 (AC_PREREQ): Bumped to 2.59.
40387 (AC_TRY_COMPILE): Replace obsolete macro with ...
40388 (AC_COMPILE_IFELSE): ... this.
40389 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40390 (AC_LINK_IFELSE): ... this.
40391
5dc43410 403922008-09-21 Felix Zielcke <fzielcke@z-51.de>
40393
40394 * autogen.sh: Add a call to `gendistlist.sh'.
40395
9035dce4 403962008-09-19 Christian Franke <franke@computer.org>
40397
40398 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40399 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40400 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40401 Export __enable_execute_stack() to modules.
40402 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40403 New function.
40404
7fd75377 404052008-09-09 Felix Zielcke <fzielcke@z-51.de>
40406
040030b3 40407 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40408 Sort the list.
40409
404102008-09-09 Felix Zielcke <fzielcke@z-51.de>
40411
40412 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40413 #include <grub/util/hostdisk.h>.
40414
89d5ffcf 404152008-09-08 Robert Millan <rmh@aybabtu.com>
40416
40417 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40418 segments when their filesz is zero (grub_file_read() interprets
81a06771 40419 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40420 Use `lowest_segment' rather than 0 for calculating the current
40421 segment load address.
40422
40da438f 404232008-09-08 Robert Millan <rmh@aybabtu.com>
40424
40425 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40426 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40427 clobbered useful information.
40428
ddbf5556 404292008-09-08 Robert Millan <rmh@aybabtu.com>
40430
40431 * include/grub/util/biosdisk.h: Move to ...
40432 * include/grub/util/hostdisk.h: ... here. Update all users.
40433 * util/biosdisk.c: Move to ...
40434 * util/hostdisk.c: ... here. Update all users.
40435
783d0f48 404362008-09-07 Robert Millan <rmh@aybabtu.com>
40437
40438 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40439 variables.
40440 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40441 and length can be stored directly in the `mbi->mmap_addr' and
40442 `mbi->mmap_length' struct fields.
40443
548e2ea5 404442008-09-07 Robert Millan <rmh@aybabtu.com>
40445
40446 * conf/i386.rmk: New file. Provides declaration for building
40447 `cpuid.mod'.
40448 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40449 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40450 variables.
40451 Include `conf/i386.mk'.
40452 * conf/i386-efi.rmk: Likewise.
40453 * conf/x86_64-efi.rmk: Likewise.
40454 * conf/i386-coreboot.rmk: Likewise.
40455 * conf/i386-ieee1275.rmk: Likewise.
40456
0ea85a37 404572008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40458
40459 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40460 Adds optimization support for BGR based modes.
40461
40462 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40463 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40464 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40465 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40466 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40467 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40468 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40470 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40471 (grub_video_i386_vbeblit_index_index): Likewise.
40472 (grub_video_i386_vbeblit_replace_directN): Added.
40473 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40474 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40475 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40476 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40477 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40478 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40479 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40480 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40481 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40482 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40483 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40484 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40485 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40486
40487 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40488 (grub_video_i386_vbefill_R8G8B8): Likewise.
40489 (grub_video_i386_vbefill_index): Likewise.
40490 (grub_video_i386_vbefill_direct32): Added.
40491 (grub_video_i386_vbefill_direct24): Likewise.
40492 (grub_video_i386_vbefill_direct16): Likewise.
40493 (grub_video_i386_vbefill_direct8): Likewise.
40494
81a06771 40495 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40496 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40497 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40498 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40499 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40500 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40501
0ea85a37 40502 * video/video.c (grub_video_get_blit_format): Updated to use new
40503 blit formats. Added handling for 16 bit color modes.
81a06771 40504
40505 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40506 fillers.
40507 (common_blitter): Updated to use new blitters.
40508
40509 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40510 Removed.
40511 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40512 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40513 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40514 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40515 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40516 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40518 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40519 (grub_video_i386_vbeblit_index_index): Likewise.
40520 (grub_video_i386_vbeblit_replace_directN): Added.
40521 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40522 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40523 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40524 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40525 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40526 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40527 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40528 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40529 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40530 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40531 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40532 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40533 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40534
0ea85a37 40535 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40536 (grub_video_i386_vbefill_R8G8B8): Likewise.
40537 (grub_video_i386_vbefill_index): Likewise.
40538 (grub_video_i386_vbefill_direct32): Added.
40539 (grub_video_i386_vbefill_direct24): Likewise.
40540 (grub_video_i386_vbefill_direct16): Likewise.
40541 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40542
0ea85a37 40543 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40544 types.
81a06771 40545
0ea85a37 40546 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40547 types.
81a06771 40548
0ea85a37 40549 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40550 blitter types.
81a06771 40551
0ea85a37 40552 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40553 types.
40554
e8a83df6 405552008-09-06 Felix Zielcke <fzielcke@z-51.de>
40556
40557 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40558 RAID level 1.
40559
6bcd8ee5 405602008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40561
6bcd8ee5 40562 * fs/iso9660.c (grub_iso9660_date): New structure.
40563 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40564 (grub_iso9660_uuid): New function.
c375ae58 40565
59261157 405662008-09-05 Bean <bean123ch@gmail.com>
40567
40568 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40569
40570 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40571 insensitive bit for names in Win32 and Win32 & DOS namespace.
40572
40573 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40574
40575 * include/grub/types.h (LONG_MAX): Likewise.
40576
58b6645a 405772008-09-04 Felix Zielcke <fzielcke@z-51.de>
40578
4ee55921 40579 * util/getroot.c: Include <config.h>.
40580 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40581 add support for /dev/md/N devices and handle LVM double dash escaping.
40582
405832008-09-04 Felix Zielcke <fzielcke@z-51.de>
40584
40585 * config.guess: Update to latest version from config git.
40586 * config.sub: Likewise.
58b6645a 40587
9124f65d 405882008-09-03 Robert Millan <rmh@aybabtu.com>
40589
40590 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40591 `disk->total_sectors'.
40592
81a06771 405932008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40594
40595 * include/grub/normal.h: Fixed incorrect comment for
40596 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40597
81a06771 405982008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40599
40600 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40601 values with defines.
40602
40603 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40604 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40605 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40606 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40607 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40608 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40609 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40610 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40611 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40612 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40613 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40614 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40615 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40616 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40617 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40618 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40619 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40620 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40621 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40622
93d5cbf8 406232008-08-31 Robert Millan <rmh@aybabtu.com>
40624
40625 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40626 declaration.
40627 (grub_multiboot): Fix a few warnings.
40628
21751d50 406292008-08-31 Robert Millan <rmh@aybabtu.com>
40630
40631 * loader/i386/pc/multiboot.c: Update comment not to say that
40632 boot_device support is unimplemented.
40633
e27a75c5 406342008-08-31 Robert Millan <rmh@aybabtu.com>
40635
40636 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40637 or memory map support are unimplemented.
40638
81a06771 406392008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40640
40641 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40642
81a06771 406432008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40644
40645 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40646 total video memory in 'vbeinfo' output; show color format details for
40647 each video mode.
40648
7c5d8d95 406492008-08-30 Pavel Roskin <proski@gnu.org>
40650
40651 * util/genmoddep.c: Remove for real this time.
40652 * DISTLIST: Remove util/genmoddep.c.
40653
4cebd25a 406542008-08-30 Robert Millan <rmh@aybabtu.com>
40655
40656 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40657 as required by Multiboot spec (it was already 4-byte aligned, but
40658 only by chance).
40659
b497a269 406602008-08-29 Pavel Roskin <proski@gnu.org>
40661
e3925185 40662 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40663 * kern/powerpc/ieee1275/startup.S: ... this.
40664 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40665 * DISTLIST: Likewise.
40666
b497a269 40667 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40668 grub/cpu/kernel.h. Add start label for consistency with other
40669 platforms. Add grub_prefix immediately after start. Add jump
40670 to the code after grub_prefix.
40671 * include/grub/powerpc/kernel.h: Provide valid values for
40672 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40673
6e5a42fe 406742008-08-29 Bean <bean123ch@gmail.com>
40675
40676 * configure.ac: Change host_os to cygwin for mingw.
40677 (asprintf): New check for function.
40678
40679 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40680 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40681
40682 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40683 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40684 sync, sleep and grub_util_get_disk_size for mingw.
40685
40686 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40687 to get size in mingw.
40688 (open_device): Use flag O_BINARY if it's defined.
40689 (find_root_device): Add dummy code for mingw.
40690
40691 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40692 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40693 (get_scsi_disk_name): Return 0 for mingw.
40694
40695 * util/hostfs.c: #include <grub/util/misc.h>.
40696 (grub_hostfs_open): Use "rb" flag to open file, use
40697 grub_util_get_disk_size to get disk size for mingw.
40698
40699 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40700 (asprintf): New function if HAVE_ASPRINTF is not set.
40701 (sync): New function for mingw.
40702 (sleep): Likewise.
40703 (grub_util_get_disk_size): Likewise.
40704
ab3f2673 407052008-08-28 Pavel Roskin <proski@gnu.org>
40706
40707 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40708 kern/time.c.
40709
1c282483 407102008-08-28 Robert Millan <rmh@aybabtu.com>
40711
40712 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40713
678e849c 407142008-08-28 Robert Millan <rmh@aybabtu.com>
40715
40716 Change find_grub_drive() syntax so it doesn't prevent it from
40717 detecting NULL names as errors.
40718
40719 * util/biosdisk.c (find_grub_drive): Move free slot search code
40720 from here ...
40721 (find_free_slot): ... to here.
40722 (read_device_map): Use find_free_slot() to search for free slots.
40723
965c75ca 407242008-08-27 Marco Gerards <marco@gnu.org>
40725
40726 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40727 (scsi_mod_SOURCES): New variable.
40728 (scsi_mod_CFLAGS): Likewise
40729 (scsi_mod_LDFLAGS): Likewise.
40730
40731 * disk/scsi.c: New file.
40732
40733 * include/grub/scsi.h: Likewise.
40734
40735 * include/grub/scsicmd.h: Likewise.
40736
40737 * disk/ata.c: Include <grub/scsi.h>.
40738 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40739 instead.
40740 (grub_ata_iterate): Skip ATAPI devices.
40741 (grub_ata_open): Only handle ATAPI devices.
40742 (struct grub_atapi_read): Removed.
40743 (grub_atapi_readsector): Likewise.
40744 (grub_ata_read): No longer handle ATAPI devices.
40745 (grub_ata_write): Likewise.
40746 (grub_atapi_iterate): New function.
40747 (grub_atapi_read): Likewise.
40748 (grub_atapi_write): Likewise.
40749 (grub_atapi_open): Likewise.
40750 (grub_atapi_close): Likewise.
40751 (grub_atapi_dev): New variable.
40752 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40753 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40754
40755 * include/grub/disk.h (enum grub_disk_dev_id): Add
40756 `GRUB_DISK_DEVICE_SCSI_ID'.
40757
c07ae501 407582008-08-26 Robert Millan <rmh@aybabtu.com>
40759
40760 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40761 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40762 descriptive.
40763
5ed20adc 407642008-08-23 Bean <bean123ch@gmail.com>
40765
40766 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40767 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40768 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40769 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40770 dm_nv.mod.
40771 (raid5rec_mod_SOURCES): New macro.
40772 (raid5rec_mod_CFLAGS): Likewise.
40773 (raid5rec_mod_LDFLAGS): Likewise.
40774 (raid6rec_mod_SOURCES): Likewise.
40775 (raid6rec_mod_CFLAGS): Likewise.
40776 (raid6rec_mod_LDFLAGS): Likewise.
40777 (mdraid_mod_SOURCES): Likewise.
40778 (mdraid_mod_CFLAGS): Likewise.
40779 (mdraid_mod_LDFLAGS): Likewise.
40780 (dm_nv_mod_SOURCES): Likewise.
40781 (dm_nv_mod_CFLAGS): Likewise.
40782 (dm_nv_mod_LDFLAGS): Likewise.
40783
40784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40785 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40786 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40787
40788 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40789 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40790
40791 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40792
40793 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40794
40795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40796
40797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40798
40799 * disk/raid5_recover.c: New file.
40800
40801 * disk/raid6_recover.c: Likewise.
40802
40803 * disk/mdraid_linux.c: Likewise.
40804
40805 * disk/dmraid_nvidia.c: Likewise.
40806
40807 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40808 ULONG_MAX.
40809
40810 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40811 calculate the size of raid device.
40812 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40813 different layout of raid5.
40814 (grub_raid_scan_device): Remove code specific to mdraid.
40815 (grub_raid_list): New variable.
40816 (free_array): New function.
40817 (grub_raid_register): Likewise.
40818 (grub_raid_unregister): Likewise.
40819 (grub_raid_rescan): Likewise.
40820 (GRUB_MOD_INIT): Don't iterate device here.
40821 (GRUB_MOD_FINI): Use free_array to release resource.
40822
40823 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40824 (grub_raid5_recover_func_t): New function variable type.
40825 (grub_raid6_recover_func_t): Likewise.
40826 (grub_raid5_recover_func): New variable.
40827 (grub_raid6_recover_func): Likewise.
40828 (grub_raid_register): New function.
40829 (grub_raid_unregister): Likewise.
40830 (grub_raid_rescan): Likewise.
40831 (grub_raid_block_xor): Likewise.
40832
40833 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40834 (CMD_CRC): New macro.
40835 (part): Removed.
40836 (read_file): Handle device as well as file.
40837 (cmd_crc): New function.
40838 (fstest): Handle multiple disks.
40839 (options): Remove part, raw and long, add root and diskcount.
40840 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40841 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40842 add handling for the new options, support multiple disks.
40843
40844 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40845
29c18915 408462008-08-23 Bean <bean123ch@gmail.com>
40847
40848 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40849
40850 * genfslist.sh: Ignore kernel.mod.
40851
40852 * genpartmaplist.sh: Likewise.
40853
8415f261 408542008-08-23 Robert Millan <rmh@aybabtu.com>
40855
40856 * util/getroot.c (find_root_device): Skip anything that starts with
40857 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40858
d5a7dc5b 408592008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40860
d5a7dc5b 40861 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40862 * util/grub.d/00_header.in: Allow the administrator to change default
40863 gfxmode via ${GRUB_GFXMODE}.
40864
380cfbb4 408652008-08-21 Felix Zielcke <fzielcke@z-51.de>
40866
40867 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40868
c9baafe7 408692008-08-21 Robert Millan <rmh@aybabtu.com>
40870
40871 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40872 loader.
40873 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40874 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40875
e290bef2 408762008-08-20 Carles Pina i Estany <carles@pina.cat>
40877
40878 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40879 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40880
f9dbfc96 408812008-08-19 Robert Millan <rmh@aybabtu.com>
40882
40883 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40884 (struct grub_virtual_screen): Remove `cursor_color'.
40885 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40886 initialization.
40887 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40888
dd6bd6ab 408892008-08-18 Robert Millan <rmh@aybabtu.com>
40890
40891 Unify (identical) linux_normal.c files.
40892 * loader/i386/efi/linux_normal.c: Move from here ...
40893 * loader/linux_normal.c: ... to here. Update all users.
40894 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40895 * loader/i386/ieee1275/linux_normal.c: Likewise.
40896
7f42f83e 408972008-08-18 Robert Millan <rmh@aybabtu.com>
40898
40899 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40900 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40901 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40902 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40903 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40904 New macros.
40905 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40906 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40907 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40908 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40909 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40910 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40911 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40912 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40913 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40914 portably using grub_getxy().
40915 Replace `-EFI' with `-bzImage' in boot message.
40916
38487ddb 409172008-08-17 Robert Millan <rmh@aybabtu.com>
40918
40919 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40920
deceb3ec 409212008-08-17 Robert Millan <rmh@aybabtu.com>
40922
40923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40924
40925 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40926 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40927 (grub_machine_mmap_iterate): New function declaration.
40928 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40929 structure.
40930 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40931 macros.
40932
40933 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40934 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40935 Move e820 parsing from here ...
40936 * kern/i386/pc/mmap.c: New file.
40937 (grub_machine_mmap_iterate): ... to here.
40938
40939 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40940 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40941 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40942 (grub_available_iterate): Redeclare to return `void', and redeclare
40943 its hook to use grub_uint64_t as addr and size parameters, and rename
40944 to ...
40945 (grub_machine_mmap_iterate): ... this. Update all users.
40946
40947 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40948 to make it more readable. Rename to ...
40949 (grub_machine_mmap_iterate): ... this.
40950
40951 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40952 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40953 (grub_multiboot): Allocate an extra region after the payload, and fill
40954 it with a Multiboot memory map. Adjust a.out loader to calculate size
40955 with the extra space.
40956 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40957 with the extra space.
40958
f8aa0f43 409592008-08-17 Carles Pina i Estany <carles@pina.cat>
40960
9807deb9 40961 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40962
605f5bb6 409632008-08-17 Felix Zielcke <fzielcke@z-51.de>
40964
40965 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40966 mdate-sh to the list `find' searches for.
40967 * DISTLIST: Regenerated.
40968
210db6c6 409692008-08-16 Felix Zielcke <fzielcke@z-51.de>
40970
40971 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40972 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40973 genmoddep.awk, gensymlist.sh.in.
40974 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40975 * DISTLIST: Regenerated.
48cdbfd4 40976 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40977
1082b929 409782008-08-16 Robert Millan <rmh@aybabtu.com>
40979
40980 * disk/raid.c (grub_raid_init): Handle/report errors set by
40981 grub_device_iterate().
40982 * disk/lvm.c (grub_lvm_init): Likewise.
40983
42ce5170 409842008-08-15 Bean <bean123ch@gmail.com>
40985
40986 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40987 and datehook.mod.
40988 (datetime_mod_SOURCES): New macro.
40989 (datetime_mod_CFLAGS): Likewise.
40990 (datetime_mod_LDFLAGS): Likewise.
40991 (date_mod_SOURCES): Likewise.
40992 (date_mod_CFLAGS): Likewise.
40993 (date_mod_LDFLAGS): Likewise.
40994 (datehook_mod_SOURCES): Likewise.
40995 (datehook_mod_CFLAGS): Likewise.
40996 (datehook_mod_LDFLAGS): Likewise.
40997
40998 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40999 and datehook.mod.
41000 (datetime_mod_SOURCES): New macro.
41001 (datetime_mod_CFLAGS): Likewise.
41002 (datetime_mod_LDFLAGS): Likewise.
41003 (date_mod_SOURCES): Likewise.
41004 (date_mod_CFLAGS): Likewise.
41005 (date_mod_LDFLAGS): Likewise.
41006 (datehook_mod_SOURCES): Likewise.
41007 (datehook_mod_CFLAGS): Likewise.
41008 (datehook_mod_LDFLAGS): Likewise.
41009
41010 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41011 and datehook.mod.
41012 (datetime_mod_SOURCES): New macro.
41013 (datetime_mod_CFLAGS): Likewise.
41014 (datetime_mod_LDFLAGS): Likewise.
41015 (date_mod_SOURCES): Likewise.
41016 (date_mod_CFLAGS): Likewise.
41017 (date_mod_LDFLAGS): Likewise.
41018 (datehook_mod_SOURCES): Likewise.
41019 (datehook_mod_CFLAGS): Likewise.
41020 (datehook_mod_LDFLAGS): Likewise.
41021
41022 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41023 and datehook.mod.
41024 (datetime_mod_SOURCES): New macro.
41025 (datetime_mod_CFLAGS): Likewise.
41026 (datetime_mod_LDFLAGS): Likewise.
41027 (date_mod_SOURCES): Likewise.
41028 (date_mod_CFLAGS): Likewise.
41029 (date_mod_LDFLAGS): Likewise.
41030 (datehook_mod_SOURCES): Likewise.
41031 (datehook_mod_CFLAGS): Likewise.
41032 (datehook_mod_LDFLAGS): Likewise.
41033
41034 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41035 and datehook.mod.
41036 (datetime_mod_SOURCES): New macro.
41037 (datetime_mod_CFLAGS): Likewise.
41038 (datetime_mod_LDFLAGS): Likewise.
41039 (date_mod_SOURCES): Likewise.
41040 (date_mod_CFLAGS): Likewise.
41041 (date_mod_LDFLAGS): Likewise.
41042 (datehook_mod_SOURCES): Likewise.
41043 (datehook_mod_CFLAGS): Likewise.
41044 (datehook_mod_LDFLAGS): Likewise.
41045
41046 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41047
41048 * commands/date.c: New file.
41049
41050 * hook/datehook.c: Likewise.
41051
41052 * include/grub/lib/datetime.h: Likewise.
41053
41054 * include/grub/i386/cmos.h: Likewise.
41055
41056 * lib/datetime.c: Likewise.
41057
41058 * lib/i386/datetime.c: Likewise.
41059
41060 * lib/efi/datetime.c: Likewise.
41061
0e9242da 410622008-08-14 Robert Millan <rmh@aybabtu.com>
41063
41064 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41065 (grub_mkelfimage_SOURCES): New variable.
41066 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41067
41068 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41069 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41070 * conf/powerpc-ieee1275.rmk: Likewise.
41071 * conf/i386-ieee1275.rmk: Likewise.
41072
41073 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41074 * kern/i386/coreboot/init.c: Likewise.
41075
41076 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41077 with `<grub/cpu/kernel.h>'.
41078 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41079 to ...
41080 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41081 * kern/i386/coreboot/startup.S: Likewise.
41082
41083 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41084 (GRUB_MOD_GAP): Remove.
41085 * include/grub/powerpc/kernel.h: New file.
41086 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41087 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41088 * include/grub/i386/kernel.h: New file.
41089 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41090 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41091 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41092
41093 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41094 `grub-mkelfimage'.
41095 Use --directory when invoking grub_mkimage.
41096
41097 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41098 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41099 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41100 and GRUB_KERNEL_CPU_PREFIX.
41101
b86408f8 411022008-08-14 Felix Zielcke <fzielcke@z-51.de>
41103
d5e619ca 41104 * include/grub/err.h (grub_err_printf): New function prototype.
41105 * util/misc.c (grub_err_printf): New function.
41106 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41107 grub_printf.
41108 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41109
7161f0e0 411102008-08-13 Robert Millan <rmh@aybabtu.com>
41111
41112 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41113
a1967522 411142008-08-13 Robert Millan <rmh@aybabtu.com>
41115
41116 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41117 boot entry.
41118
371458b5 411192008-08-12 Robert Millan <rmh@aybabtu.com>
41120
41121 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41122 of the relocation code from here ...
41123 (grub_multiboot): ... to here.
41124 (forward_relocator, backward_relocator): Move from here ...
41125 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41126 (grub_multiboot_backward_relocator): ... to here.
41127 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41128 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41129 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41130 (grub_multiboot_forward_relocator_end)
41131 (grub_multiboot_backward_relocator)
41132 (grub_multiboot_backward_relocator_end): New variables.
41133
05f9452b 411342008-08-12 Bean <bean123ch@gmail.com>
41135
41136 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41137
20024ab0 411382008-08-11 Robert Millan <rmh@aybabtu.com>
41139
41140 * kern/i386/linuxbios/startup.S: Move from here ...
41141 * kern/i386/coreboot/startup.S: ... to here.
41142
41143 * kern/i386/linuxbios/init.c: Move from here ...
41144 * kern/i386/coreboot/init.c: ... to here.
41145
41146 * kern/i386/linuxbios/table.c: Move from here ...
41147 * kern/i386/coreboot/mmap.c: ... to here.
41148
41149 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41150
e352e9cd 411512008-08-11 Robert Millan <rmh@aybabtu.com>
41152
41153 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41154 errors. Leave it to the upper layer to handle them.
41155
2d05bc6a 411562008-08-09 Christian Franke <franke@computer.org>
41157
41158 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41159 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41160 Install `grub.d/10_windows' only on Cygwin.
41161 * configure.ac: Add subst of `target_os'.
41162 Check `target_os' also before setting TARGET_OBJ2ELF.
41163 Add `--enable-grub-pe2elf'.
41164
042bd419 411652008-08-08 Robert Millan <rmh@aybabtu.com>
41166
41167 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41168 (grub_last_time): Change type to grub_uint64_t.
41169 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41170 (grub_disk_close): Likewise.
41171
41172 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41173 (run_menu): Migrate code from to using grub_get_time_ms().
41174
41175 * util/misc.c (grub_get_time_ms): New function.
41176
7f280db5 411772008-08-08 Marco Gerards <marco@gnu.org>
41178
41179 * disk/ata.c (grub_ata_regget): Change return type to
41180 `grub_uint8_t'.
41181 (grub_ata_regget2): Likewise.
41182 (grub_ata_wait_status): New function.
41183 (grub_ata_wait_busy): Removed function, updated all users to use
41184 `grub_ata_wait_status'.
41185 (grub_ata_wait_drq): Likewise.
41186 (grub_ata_cmd): New function.
41187 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41188 error handling.
41189 (grub_ata_pio_write): Add error handling.
41190 (grub_atapi_identify): Likewise.
41191 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41192 handling.
41193 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41194 handling. Actually use the detected registers. Reorder the
41195 detection logic such that it is easier to read.
41196 (grub_ata_pciinit): Do not assign the same ID to each controller.
41197 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41198 handling.
41199 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41200
41201 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41202
1fbc5e66 412032008-08-08 Marco Gerards <marco@gnu.org>
41204
41205 * NEWS: Update.
41206
819ce6c0 412072008-08-07 Bean <bean123ch@gmail.com>
41208
41209 * include/grub/x86_64/pci.h: New file.
41210
5c41d44d 412112008-08-07 Christian Franke <franke@computer.org>
41212
41213 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41214 (TIMER2_GATE): Likewise.
41215 (grub_pit_wait): Add enable/disable of the timer2 gate
41216 bit of port 0x61. This fixes a possible infinite loop.
41217
5ebc275d 412182008-08-07 Bean <bean123ch@gmail.com>
41219
41220 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41221 kern/i386/tsc.c and kern/i386/pit.c.
41222
41223 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41224 x86_64 platform.
41225
41226 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41227 <grub/i386/tsc.h>.
41228
41229 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41230
e383b3d0 412312008-08-07 Bean <bean123ch@gmail.com>
41232
41233 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41234
41235 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41236
41237 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41238 multiple inclusion. Add #include <grub/types.h>.
41239
1cbb58ac 412402008-08-06 Christian Franke <franke@computer.org>
41241
41242 * conf/common.rmk: Build and install `10_windows'.
41243 * util/grub.d/10_windows.in: New script.
41244
337f5a1e 412452008-08-06 Pavel Roskin <proski@gnu.org>
41246
41247 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41248
057bc4ac 412492008-08-06 Robert Millan <rmh@aybabtu.com>
41250
41251 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41252 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41253
2b99f123 412542008-08-06 Bean <bean123ch@gmail.com>
41255
41256 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41257 (grub_pxefs_fs_int): Remove dummy definition.
41258 (grub_pxefs_open): Use data->block_size to store the current block
41259 size setting.
41260 (grub_pxefs_read): Use block size stored in data->block_size. As the
41261 value of grub_pxe_blksize can be changed after the file is opened.
41262
9f0234cb 412632008-08-06 Bean <bean123ch@gmail.com>
41264
41265 * fs/i386/pc/pxe.c (curr_file): new variable.
41266 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41267 require the dummy internal file system anymore.
41268 (grub_pxefs_read): Removed.
41269 (grub_pxefs_close): Likewise.
41270 (grub_pxefs_fs_int): Likewise.
41271 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41272 connection when we switch file.
41273 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41274
a55d42e0 412752008-08-06 Robert Millan <rmh@aybabtu.com>
41276
41277 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41278 `halt.mod'.
41279 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41280 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41281
41282 * kern/i386/halt.c: New file.
41283 * kern/i386/reboot.c: Likewise.
41284 * include/grub/i386/reboot.h: Likewise.
41285 * include/grub/i386/halt.h: Likewise.
41286
41287 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41288 Include `<grub/cpu/halt.h>'.
41289 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41290 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41291
41292 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41293 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41294 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41295 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41296 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41297 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41298 from here ...
41299 * include/grub/i386/at_keyboard.h: ... to here.
41300
24371d26 413012008-08-05 Robert Millan <rmh@aybabtu.com>
41302
41303 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41304 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41305 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41306 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41307 `kern/generic/millisleep.c'.
41308
41309 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41310 instead of grub_get_rtc().
41311 (grub_tsc_init): Initialize `tsc_boot_time'.
41312
41313 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41314 (grub_machine_init): Use grub_tsc_init() rather than
41315 installing an RTC-based handler via grub_install_get_time_ms().
41316
41317 * kern/i386/pit.c: New file.
41318 * include/grub/i386/pit.h: Likewise.
41319
9e7007b3 413202008-08-05 Bean <bean123ch@gmail.com>
41321
41322 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41323
41324 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41325 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41326 (pxe_mod_SOURCES): New macro.
41327 (pxe_mod_CFLAGS): Likewise.
41328 (pxe_mod_LDFLAGS): Likewise.
41329 (pxecmd_mod_SOURCES): Likewise.
41330 (pxecmd_mod_CFLAGS): Likewise.
41331 (pxecmd_mod_LDFLAGS): Likewise.
41332
41333 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41334 (grub_pxe_call): Likewise.
41335
41336 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41337
41338 * commands/i386/pc/pxecmd.c: New file.
41339
9f0234cb 41340 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41341
41342 * include/grub/i386/pc/pxe.h: Likewise.
41343
6977d49f 413442008-08-05 Bean <bean123ch@gmail.com>
41345
41346 * util/console.c (grub_console_cur_color): New variable.
41347 (grub_console_standard_color): Likewise.
41348 (grub_console_normal_color): Likewise.
41349 (grub_console_highlight_color): Likewise.
41350 (color_map): Likewise.
41351 (use_color): Likewise.
41352 (NUM_COLORS): New macro.
41353 (grub_ncurses_setcolorstate): Handle color properly.
41354 (grub_ncurses_setcolor): Don't change color here, just remember the
41355 settings, color will be set in grub_ncurses_setcolorstate.
41356 (grub_ncurses_getcolor): New function.
41357 (grub_ncurses_init): Initialize color pairs.
41358 (grub_ncurses_term): New member grub_ncurses_getcolor.
41359
9c2ff3ee 413602008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41361
9c2ff3ee 41362 High resolution timer support. Implemented for x86 CPUs using TSC.
41363 Extracted generic grub_millisleep() so it's linked in only as needed.
41364 This requires a Pentium compatible CPU; if the RDTSC instruction is
41365 not supported, then it falls back on the generic grub_get_time_ms()
41366 implementation that uses the machine's RTC.
41367
41368 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41369 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41370 `kern/generic/millisleep.c'.
41371
41372 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41373 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41374
41375 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41376 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41377
41378 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41379
41380 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41381 `kern/generic/millisleep.c'.
41382
41383 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41384
41385 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41386
41387 * kern/generic/rtc_get_time_ms.c: New file.
41388
41389 * kern/generic/millisleep.c: New file.
337f5a1e 41390
9c2ff3ee 41391 * kern/misc.c: Don't include
41392 <kern/time.h> anymore.
41393 (grub_millisleep_generic): Removed.
41394
41395 * commands/sleep.c (grub_interruptible_millisleep): Uses
41396 grub_get_time_ms() instead of grub_get_rtc().
41397
41398 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41399 function.
41400 (grub_cpu_is_cpuid_supported): New inline function.
41401 (grub_cpu_is_tsc_supported): New inline function.
41402 (grub_tsc_init): New function prototype.
41403 (grub_tsc_get_time_ms): New function prototype.
41404
41405 * kern/i386/tsc.c (grub_get_time_ms): New file.
41406
41407 * include/grub/time.h: Include <grub/types.h.
41408 (grub_millisleep_generic): Removed.
41409 (grub_get_time_ms): New prototype.
41410 (grub_install_get_time_ms): New prototype.
41411 (grub_rtc_get_time_ms): New prototype.
41412
41413 * kern/time.c (grub_get_time_ms): New function.
41414 (grub_install_get_time_ms): New function.
41415
41416 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41417 <grub/time.h> anymore.
41418 (grub_millisleep): Removed.
41419 (grub_machine_init): Call grub_tsc_init.
41420
41421 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41422 get_time_ms() implementation.
41423
41424 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41425 (ieee1275_get_time_ms): New function.
41426 (grub_machine_init): Install get_time_ms() implementation.
41427
41428 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41429 (grub_machine_init): Call grub_tsc_init().
41430 (grub_millisleep): Removed.
bf06a93f 41431
9c2ff3ee 41432 * kern/ieee1275/init.c (grub_millisleep): Removed.
41433 (grub_machine_init): Install ieee1275_get_time_ms()
41434 implementation.
41435 (ieee1275_get_time_ms): New function.
41436 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41437 real work.
41438
9ec92aaf 414392008-08-05 Marco Gerards <marco@gnu.org>
41440
41441 * disk/ata.c: Include <grub/pci.h>.
41442 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41443 (grub_ata_initialize): Rewritten.
41444 (grub_ata_device_initialize): New function.
41445
8d23f507 414462008-08-04 Pavel Roskin <proski@gnu.org>
41447
41448 * kern/main.c: Include grub/mm.h.
41449
5e15ee3d 414502008-08-04 Robert Millan <rmh@aybabtu.com>
41451
41452 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41453 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41454 corruption problem).
41455
a9053f8f 414562008-08-04 Robert Millan <rmh@aybabtu.com>
41457
41458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41459 warnings introduced in my last commit.
41460
dd19c7d7 414612008-08-03 Robert Millan <rmh@aybabtu.com>
41462
41463 Make PCI available on all i386 architectures.
41464
41465 * include/grub/i386/pc/pci.h: Move from here ...
41466 * include/grub/i386/pci.h: ... to here.
41467
41468 * include/grub/i386/pc/pci.h: Remove.
41469 * include/grub/i386/efi/pci.h: Remove.
41470 * include/grub/x86_64/efi/pci.h: Remove.
41471
41472 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41473 `<grub/cpu/pci.h>'.
41474
41475 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41476 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41477 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41478
41479 * conf/i386-ieee1275.rmk: Likewise.
41480
e14a6184 414812008-08-03 Robert Millan <rmh@aybabtu.com>
41482
41483 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41484 (grub_console_setcursor): Make it possible to set cursor off.
41485
52768e37 414862008-08-03 Robert Millan <rmh@aybabtu.com>
41487
41488 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41489 of modules instead of assuming which platform provides what.
41490 * util/update-grub.in: Likewise.
41491
2d52f57f 414922008-08-03 Robert Millan <rmh@aybabtu.com>
41493
41494 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41495 instead of `grub_install_dos_part' to determine whether a drive needs
41496 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41497 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41498
2a5cd121 414992008-08-02 Robert Millan <rmh@aybabtu.com>
41500
41501 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41502
93808428 415032008-08-02 Robert Millan <rmh@aybabtu.com>
41504
41505 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41506 of informational grub_dprintf() calls.
41507
3bd0a12a 415082008-08-02 Robert Millan <rmh@aybabtu.com>
41509
41510 * disk/memdisk.c (memdisk_size): Don't initialize.
41511 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41512
41513 * include/grub/i386/pc/kernel.h
41514 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41515 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41516 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41517 (grub_arch_memdisk_size): Remove.
41518
41519 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41520 field (was only used to transfer a constant). Add `type' field to
41521 support multiple module types.
41522 (grub_module_iterate): New function.
41523
41524 * kern/device.c (grub_device_open): Do not hide error messages
41525 when grub_disk_open() fails. Use grub_print_error() instead.
41526
41527 * kern/i386/pc/init.c (grub_arch_modules_addr)
41528 (grub_arch_memdisk_size): Remove functions.
41529 (grub_arch_modules_addr): Return the module address in high memory
41530 (now that it isn't copied anymore).
41531
41532 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41533 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41534 decompression routine (grub_total_module_size already includes that
41535 now). Don't copy modules back to low memory.
41536
41537 * kern/main.c: Include `<grub/mm.h>'.
41538 (grub_load_modules): Split out (and use) ...
41539 (grub_module_iterate): ... this function, which iterates through
41540 module objects and runs a hook.
41541 Comment out grub_mm_init_region() call, as it would cause non-ELF
41542 modules to be overwritten.
41543
41544 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41545 the memdisk image in its own region, make it part of the module list.
41546 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41547 (main): Parse --memdisk|-m option, and pass user-provided path as
41548 parameter to generate_image().
41549 (add_segments): Pass `memdisk_path' down to load_modules().
41550 (load_modules): Embed memdisk image in module section when requested.
41551 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41552 `header.type' instead of `header.offset'.
41553
41554 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41555 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41556 (memdisk_mod_LDFLAGS): New variables.
41557 * conf/i386-coreboot.rmk: Likewise.
41558 * conf/i386-ieee1275.rmk: Likewise.
41559
a927cc73 415602008-08-02 Robert Millan <rmh@aybabtu.com>
41561
41562 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41563 (backward_relocator): New variables. Used to allocate and relocate
41564 the payload, respectively.
41565 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41566 address, install the appropriate relocator code in each bound of
a927cc73 41567 the payload, and set the entry point such that
41568 grub_multiboot_real_boot() will jump to one of them.
41569
41570 * kern/i386/loader.S (grub_multiboot_payload_size)
41571 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41572 (grub_multiboot_payload_entry_offset): New variables.
41573 (grub_multiboot_real_boot): Set cpu context to what the relocator
41574 expects, and jump to the relocator instead of the payload.
41575
41576 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41577 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41578 (grub_multiboot_payload_entry_offset): Export.
41579
b15d8a0c 415802008-08-01 Bean <bean123ch@gmail.com>
41581
41582 * normal/menu_entry.c (editor_getline): Don't return the original
41583 string as result, as it will be released by lexer once it has done
41584 using it.
41585
cdfb3d22 415862008-08-01 Robert Millan <rmh@aybabtu.com>
41587
41588 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41589 within menuentries, not before them.
41590 util/grub.d/10_hurd.in: Likewise.
41591
9175e93d 415922008-08-01 Bean <bean123ch@gmail.com>
41593
41594 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41595 (bufio_mod_SOURCES): New macro.
41596 (bufio_mod_CFLAGS): Likewise.
41597 (bufio_mod_LDFLAGS): Likewise.
41598
41599 * include/grub/bufio.h: New file.
41600
41601 * io/bufio.c: Likewise.
41602
41603 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41604 (grub_video_reader_png): Use grub_buffile_open to open file.
41605
41606 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41607 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41608
41609 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41610 (grub_video_reader_tga): Use grub_buffile_open to open file.
41611
41612 * font/manager.c: Include <grub/bufio.h>.
41613 (add_font): Use grub_buffile_open to open file.
41614
3d8383e7 416152008-07-31 Robert Millan <rmh@aybabtu.com>
41616
41617 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41618 ELF segments, use a macro for arbitrarily accessing any of them instead
41619 of preparing a pointer that allows access to one at a time.
41620 (grub_multiboot_load_elf64): Likewise.
41621
16e641b6 416222008-07-31 Bean <bean123ch@gmail.com>
41623
41624 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41625 GRUB_KERNEL_MACHINE_DATA_END.
41626
59198b72 416272008-07-30 Robert Millan <rmh@aybabtu.com>
41628
41629 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41630 Increase from 0x50 to 0x60.
41631 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41632 use UUIDs to identify the root drive for them. If that's not
41633 possible, abort.
41634 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41635 check, for cross-disk installs.
41636
ae88bca3 416372008-07-30 Robert Millan <rmh@aybabtu.com>
41638
41639 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41640 is non-empty, use it to set the `prefix' environment variable instead
41641 of the usual approach.
41642 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41643 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41644 environment variable instead of dummy make_install_device().
41645
41646 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41647 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41648 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41649
41650 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41651 New variable reference.
41652 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41653 New macro. Defines offset of `grub_prefix' within startup.S (relative
41654 to `start').
41655 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41656 section within startup.S (relative to `start').
41657 * include/grub/i386/coreboot/kernel.h: Likewise.
41658
41659 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41660 Overwrite grub_prefix with its contents, at the beginning of the
41661 first segment.
41662 (main): Understand -p|--prefix.
41663
14f41dd1 416642008-07-30 Robert Millan <rmh@aybabtu.com>
41665
41666 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41667
4ca049a3 416682008-07-30 Robert Millan <rmh@aybabtu.com>
41669
41670 * term/i386/pc/vga_text.c (grub_console_cls): Use
41671 grub_console_gotoxy() to go back to beginning of the screen.
41672 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41673
2921d337 416742008-07-29 Christian Franke <franke@computer.org>
41675
41676 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41677 Add conversion of emulated mount points on Cygwin.
41678
b609876d 416792008-07-29 Christian Franke <franke@computer.org>
41680
41681 * util/update-grub.in: Add a check for admin
41682 group on Cygwin.
41683 Remove old `grub.cfg.new' before creation.
41684 Add `-f' to `mv' to handle the different filesystem
41685 semantics of Windows.
41686
e93e4679 416872008-07-29 Bean <bean123ch@gmail.com>
41688
41689 * normal/main.c (get_line): Fix buffer overflow bug.
41690
41694fd0 416912008-07-28 Robert Millan <rmh@aybabtu.com>
41692
41693 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41694 (struct grub_apple_header): New struct. Describes the layout of
41695 the partmap header.
41696 (apple_partition_map_iterate): Check the header magic as well as the
41697 partition magic (which was already being checked).
41698
cfd0b4e6 416992008-07-28 Pavel Roskin <proski@gnu.org>
41700
41701 * genmk.rb: Add a warning to the beginning of the output that
41702 it's a generated file and should not be edited.
41703
93cce016 417042008-07-28 Robert Millan <rmh@aybabtu.com>
41705
41706 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41707 with the same number are found, just use issue a warning with
41708 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41709
cd1df915 417102008-07-27 Robert Millan <rmh@aybabtu.com>
41711
41712 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41713 information.
41714
b70a8427 417152008-07-27 Bean <bean123ch@gmail.com>
41716
41717 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41718 (grub_fat_find_dir): Ignore case when comparing filename.
41719
8f5e379f 417202008-07-27 Bean <bean123ch@gmail.com>
41721
41722 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41723 smallino, as it's more descriptive, and i8count can be confused with
41724 the other field count.
41725 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41726 inode type.
41727
a85cd5a0 417282008-07-27 Bean <bean123ch@gmail.com>
41729
41730 * commands/crc.c: New file.
41731
41732 * lib/crc.c: Likewise.
41733
41734 * include/grub/lib/crc.h: Likewise.
41735
41736 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41737
41738 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41739 (hexdump): Move this function to ...
41740
41741 * lib/hexdump.c: ... here.
41742
41743 * include/grub/hexdump.h: Renamed to ...
41744
41745 * include/grub/lib/hexdump.h: ... this.
41746
41747 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41748
41749 * util/grub-editenv.c: Likewise.
41750
41751 * include/envblk.h: Renamed to ...
41752
41753 * include/lib/envblk.h: ... this.
41754
41755 * util/envblk.c: Renamed to ...
41756
41757 * lib/envblk.c: ... this.
41758
41759 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41760 lib/hexdump.c.
41761 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41762 (pkglib_MODULES): Add crc.mod.
41763 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41764 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41765 (crc_mod_SOURCES): New macro.
41766 (crc_mod_CFLAGS): Likewise.
41767 (crc_mod_LDFLAGS): Likewise.
41768
41769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41770
41771 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41772
41773 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41774
41775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41776
41777 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41778
c298def0 417792008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41780
41781 * commands/help.c: Include <grub/term.h>.
41782 (TERM_WIDTH): Removed. Updated all users.
41783
cc349fb3 417842008-07-27 Pavel Roskin <proski@gnu.org>
41785
41786 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41787 spurious warnings about a comment within a comment.
41788
9051607e 417892008-07-25 Robert Millan <rmh@aybabtu.com>
41790
41791 * util/getroot.c (find_root_device): Skip devices that match
41792 /dev/dm-[0-9]. This lets the real device be found for any type of
41793 abstraction (LVM, EVMS, RAID..).
41794 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41795 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41796 device is found first, find_root_device() will now skip it.
41797
01453bfc 417982008-07-24 Pavel Roskin <proski@gnu.org>
41799
41800 * include/grub/types.h: Use __builtin_bswap32() and
41801 __builtin_bswap64() with gcc 4.3 and newer.
41802
6af9849f 418032008-07-24 Christian Franke <franke@computer.org>
41804
3a0fa256 41805 * util/i386/pc/grub-install.in: If `--debug' is specified,
41806 pass `--verbose' to grub-setup.
41807 Abort script if make_system_path_relative_to_its_root() fails.
41808
7810e747 418092008-07-24 Bean <bean123ch@gmail.com>
41810
41811 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41812 variable `target_platform' should be `platform'.
41813
42290e17 418142008-07-24 Bean <bean123ch@gmail.com>
41815
51cc5193 41816 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41817 (grub_png_init_fixed_block): New function.
41818 (grub_png_decode_image_data): Handle fixed huffman code compression.
41819
2a8a80e4 418202008-07-24 Bean <bean123ch@gmail.com>
41821
41822 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41823 (grub_pe2elf_SOURCES): New macro.
41824 (CLEANFILES): Add grub-pe2elf.
41825
41826 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41827 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41828 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41829 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41830 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41831 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41832 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41833 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41834 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41835 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41836 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41837 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41838 (GRUB_PE32_DT_FUNCTION): Likewise.
41839 (GRUB_PE32_REL_I386_DIR32): Likewise.
41840 (GRUB_PE32_REL_I386_REL32): Likewise.
41841 (grub_pe32_symbol): New structure.
41842 (grub_pe32_reloc): Likewise.
41843
41844 * util/grub-pe2elf.c: New file.
41845
41846 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41847 start symbol in non pc platform.
41848
41849 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41850
41851 The following patches are from Christian Franke.
41852
41853 * include/grub/dl.h: Remove .previous, gas supports this only
41854 for ELF format.
41855
41856 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41857 Remove .type, gas supports this only for ELF format.
41858
41859 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41860 nullbytes in symbol table. This fixes an infinite loop if table is
41861 zero filled.
41862
41863 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41864 TARGET_IMG_LDFLAGS and EXEEXT.
41865
41866 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41867 TARGET_IMG_LDFLAGS_AC.
41868 (grub_CHECK_STACK_ARG_PROBE): New function.
41869
41870 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41871
41872 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41873
41874 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41875 to set TARGET_IMG_LD* accordingly.
41876 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41877 Add call to grub_CHECK_STACK_ARG_PROBE.
41878 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41879
41880 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41881
41882 * genmk.rb: Add EXEEXT to CLEANFILES.
41883
12ccdb75 418842008-07-23 Robert Millan <rmh@aybabtu.com>
41885
41886 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41887 define the codes for arrows and lines used for the menu).
41888 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41889 as well.
41890
41891 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41892 fonts, because the latter are too slow.
41893
18eeaf04 418942008-07-21 Bean <bean123ch@gmail.com>
41895
41896 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41897 a20. Run keyboard test last, as it will cause macbook to halt.
41898
b095e2ad 418992008-07-18 Pavel Roskin <proski@gnu.org>
41900
41901 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41902 load foreign architecture modules correctly anyway. Keep
41903 support for loading host architecture modules, whether we
41904 compile them or not.
41905
737feb35 419062008-07-17 Pavel Roskin <proski@gnu.org>
41907
3f4ce737 41908 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41909 change target_cpu. The compiler default can mismatch target_cpu
41910 in any case.
41911
4ad2d049 41912 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41913 * kern/efi/efi.c: Likewise.
41914
f6130a12 41915 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41916 target compiler is functional.
41917 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41918 are set up.
41919
58393a2d 41920 * configure.ac: Default to efi platform for x86_64-apple. Allow
41921 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41922 adjustments from the rest, only do them if target is not
41923 explicitly given. Merge other adjustments with the final sanity
41924 check. Remove an extraneous check for supported CPU. Be
41925 specific which CPU and which platform is not supported.
41926
737feb35 41927 * configure.ac: Default to pc platform for x86_64.
41928
546f966a 419292008-07-17 Robert Millan <rmh@aybabtu.com>
41930
41931 Partial LinuxBIOS -> Coreboot rename.
41932
41933 * conf/i386-linuxbios.rmk: Renamed to ...
41934 * conf/i386-coreboot.rmk: ... this.
41935 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41936 * configure.ac: Accept "coreboot" as input platform (but maintain
41937 compatibility with "linuxbios").
41938 * include/grub/i386/linuxbios: Renamed to ...
41939 * include/grub/i386/coreboot: ... this.
41940
20011694 419412008-07-17 Bean <bean123ch@gmail.com>
41942
41943 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41944 (appleldr_mod_SOURCE): New variable.
20011694 41945 (appleldr_mod_CFLAGS): Likewise.
41946 (appleldr_mod_LDFLAGS): Likewise.
41947 (pci_mod_SOURCES): Likewise.
41948 (pci_mod_CFLAGS): Likewise.
41949 (pci_mod_LDFLAGS): Likewise.
41950 (lspci_mod_SOURCES): Likewise.
41951 (lspci_mod_CFLAGS): Likewise.
41952 (lspci_mod_LDFLAGS): Likewise.
41953
41954 * conf/x86_64-efi.rmk: New file.
41955
41956 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41957 macro.
41958 (grub_efidisk_write): Likewise.
41959
41960 * include/efi/api.h (efi_call_0): New macro.
41961 (efi_call_1): Likewise.
41962 (efi_call_2): Likewise.
41963 (efi_call_3): Likewise.
41964 (efi_call_4): Likewise.
41965 (efi_call_5): Likewise.
41966 (efi_call_6): Likewise.
41967
41968 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41969 grub_rescue_cmd_chainloader.
41970
41971 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41972 (grub_pe32_optional_header): Change some fields based on i386 or
41973 x86_64 platform.
41974 (GRUB_PE32_PE32_MAGIC): Likewise.
41975
41976 * include/grub/efi/uga_draw.h: New file.
41977
41978 * include/grub/elf.h (STN_ABS): New constant.
41979 (R_X86_64_NONE): Relocation constant for x86_64.
41980 (R_X86_64_64): Likewise.
41981 (R_X86_64_PC32): Likewise.
41982 (R_X86_64_GOT32): Likewise.
41983 (R_X86_64_PLT32): Likewise.
41984 (R_X86_64_COPY): Likewise.
41985 (R_X86_64_GLOB_DAT): Likewise.
41986 (R_X86_64_JUMP_SLOT): Likewise.
41987 (R_X86_64_RELATIVE): Likewise.
41988 (R_X86_64_GOTPCREL): Likewise.
41989 (R_X86_64_32): Likewise.
41990 (R_X86_64_32S): Likewise.
41991 (R_X86_64_16): Likewise.
41992 (R_X86_64_PC16): Likewise.
41993 (R_X86_64_8): Likewise.
41994 (R_X86_64_PC8): Likewise.
41995
41996 * include/grub/i386/efi/pci.h: New file.
41997
41998 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41999 Change it value based on platform.
42000 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42001 (GRUB_E820_RAM): Likewise.
42002 (GRUB_E820_RESERVED): Likewise.
42003 (GRUB_E820_ACPI): Likewise.
42004 (GRUB_E820_NVS): Likewise.
42005 (GRUB_E820_EXEC_CODE): Likewise.
42006 (GRUB_E820_MAX_ENTRY): Likewise.
42007 (grub_e820_mmap): New structure.
42008 (linux_kernel_header): Change the efi field according to different
42009 kernel version, also field from linux_kernel_header.
42010
42011 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42012
42013 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42014 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42015 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42016 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42017 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42018 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42019 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42020 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42021 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42022 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42023
42024 * include/grub/x86_64/efi/kernel.h: New file.
42025
42026 * include/grub/x86_64/efi/loader.h: Likewise.
42027
42028 * include/grub/x86_64/efi/machine.h: Likewise.
42029
42030 * include/grub/x86_64/efi/pci.h: Likewise.
42031
42032 * include/grub/x86_64/efi/time.h: Likewise.
42033
42034 * include/grub/x86_64/linux.h: Likewise.
42035
42036 * include/grub/x86_64/setjmp.h: Likewise.
42037
42038 * include/grub/x86_64/time.h: Likewise.
42039
42040 * include/grub/x86_64/types.h: Likewise.
42041
42042 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42043 GRUB_TARGET_SIZEOF_VOID_P.
42044
42045 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42046 (grub_efi_locate_handle): Likewise.
42047 (grub_efi_open_protocol): Likewise.
42048 (grub_efi_set_text_mode): Likewise.
42049 (grub_efi_stall): Likewise.
42050 (grub_exit): Likewise.
42051 (grub_reboot): Likewise.
42052 (grub_halt): Likewise.
42053 (grub_efi_exit_boot_services): Likewise.
42054 (grub_get_rtc): Likewise.
42055
42056 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42057 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42058 (grub_efi_allocate_pages): Wrap efi calls.
42059 (grub_efi_free_pages): Wrap efi calls.
42060 (grub_efi_get_memory_map): Wrap efi calls.
42061
42062 * kern/x86_64/dl.c: New file.
42063
42064 * kern/x86_64/efi/callwrap.S: Likewise.
42065
42066 * kern/x86_64/efi/startup.S: Likewise.
42067
42068 * loader/efi/appleloader.c: Likewise.
42069
42070 * loader/efi/chainloader.c (cmdline): New variable.
42071 (grub_chainloader_unload): Wrap efi calls.
42072 (grub_chainloader_boot): Likewise.
42073 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42074 command line.
42075
42076 * loader/efi/chainloader_normal.c (chainloader_command):
42077 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42078 command line.
42079
42080 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42081 method.
42082 (grub_e820_add_region): New function.
42083 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42084 booting.
42085 (grub_find_video_card): New function.
42086 (grub_linux_setup_video): New function.
42087 (grub_rescue_cmd_linux): Probe for video information.
42088
42089 * normal/x86_64/setjmp.S: New file.
42090
42091 * term/efi/console.c (map_char): New function.
42092 (grub_console_putchar): Map unicode char.
42093 (grub_console_checkkey): Wrap efi calls.
42094 (grub_console_getkey): Likewise.
42095 (grub_console_getwh): Likewise.
42096 (grub_console_gotoxy): Likewise.
42097 (grub_console_cls): Likewise.
42098 (grub_console_setcolorstate): Likewise.
42099 (grub_console_setcursor): Likewise.
42100
42101 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42102
59652a20 421032008-07-16 Pavel Roskin <proski@gnu.org>
42104
ef294055 42105 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42106 format strings.
42107
59652a20 42108 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42109 pointer, not an integer. This fixes a warning and prevents
42110 precision loss on 64-bit systems.
42111 (relocate_addresses): Remove unneeded cast.
42112
afc3b5d7 421132008-07-15 Pavel Roskin <proski@gnu.org>
42114
506b2b3e 42115 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42116
62ead89c 42117 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42118
c4cd51d7 42119 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42120 Fix comparison between signed and unsigned.
42121
0d3d8f28 42122 * include/grub/i386/ieee1275/console.h: Declare
42123 grub_console_init() and grub_console_fini().
42124
8804b286 42125 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42126 It's empty and unused.
42127
ee01cf35 42128 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42129 beginning to avoid warnings with some compilers.
42130
afc3b5d7 42131 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42132 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42133
e4e8eaa5 421342008-07-14 Pavel Roskin <proski@gnu.org>
42135
407aceb4 42136 * kern/env.c (grub_register_variable_hook): Don't copy empty
42137 string, it leaks memory. Pass "" to grub_env_set(), it should
42138 handle constant strings.
42139
e4e8eaa5 42140 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42141 * commands/cmp.c (grub_cmd_cmp): Likewise.
42142 * kern/dl.c (grub_dl_flush_cache): Likewise.
42143 (grub_dl_load_core): Likewise.
42144 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42145 (grub_elf64_load_phdrs): Likewise.
42146
d4e2dad3 421472008-07-13 Pavel Roskin <proski@gnu.org>
42148
42149 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42150 between signed and unsigned.
42151 (LzmaEnc_Finish): Fix warning about an unused parameter.
42152
aa24b516 421532008-07-13 Bean <bean123ch@gmail.com>
42154
42155 * Makefile.in (enable_lzo): New rule.
42156
42157 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42158
42159 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42160
42161 * boot/i386/pc/lnxboot.S: #include <config.h>.
42162
42163 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42164 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42165
42166 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42167 compression algorithm according to configure macro.
42168
42169 * kern/i386/pc/startup.S (codestart): Likewise.
42170
42171 * kern/i386/pc/lzma_decode.S: New file.
42172
42173 * include/grub/lib/LzFind.h: Likewise.
42174
42175 * include/grub/lib/LzHash.h: Likewise.
42176
42177 * include/grub/lib/LzmaDec.h: Likewise.
42178
42179 * include/grub/lib/LzmaEnc.h: Likewise.
42180
42181 * include/grub/lib/LzmaTypes.h: Likewise.
42182
42183 * lib/LzFind.c: Likewise.
42184
42185 * lib/LzmaDec.c: Likewise.
42186
42187 * lib/LzmaEnc.c: Likewise.
42188
4ae821ac 421892008-07-13 Bean <bean123ch@gmail.com>
42190
42191 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42192 (grub_ext4_extent_header): New structure.
42193 (grub_ext4_extent): Likewise.
42194 (grub_ext4_extent_idx): Likewise.
42195 (grub_ext4_find_leaf): New function.
42196 (grub_ext2_read_block): Handle extents.
42197
9a745147 421982008-07-12 Robert Millan <rmh@aybabtu.com>
42199
42200 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42201
d49a4cf6 422022008-07-11 Robert Millan <rmh@aybabtu.com>
42203
42204 * util/grub.d/40_custom.in: New file. Example on how to add custom
42205 entries to /etc/grub.d.
42206 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42207 40_custom (implicitly, by merging all the grub.d rules).
42208
947414b4 422092008-07-11 Pavel Roskin <proski@gnu.org>
42210
0059cf6f 42211 * commands/read.c (grub_getline): Fix invalid memory access.
42212 Don't add newline to the variable value.
42213
947414b4 42214 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42215 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42216 (serial_hw_get_port): Check validity of the port number.
42217 (grub_cmd_serial): Check return value of serial_hw_get_port().
42218
62a02d00 422192008-07-07 Pavel Roskin <proski@gnu.org>
42220
42221 * boot/i386/pc/diskboot.S (notification_string): Replace
42222 "Loading kernel" with just "loading". This is shorter, less
42223 confusing and saves a few bytes for possible future changes.
42224
3e5581b0 422252008-07-05 Pavel Roskin <proski@gnu.org>
42226
ea387a48 42227 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42228 size for ATAPI devices, they are undefined. Output sector
42229 number in decimal form.
42230
3e5581b0 42231 * disk/ata.c: Use named constants for status bits.
42232
fdecb8fd 422332008-07-04 Pavel Roskin <proski@gnu.org>
42234
bcd35b90 42235 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42236 grub_addr_t before casting it to the void pointer to fix a
42237 warning. Non-addressable regions are discarded earlier.
42238 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42239 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42240 (check_signature): Don't shadow table_header.
42241 (grub_linuxbios_table_iterate): Cast numeric constants to
42242 grub_linuxbios_table_header_t.
42243 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42244 grub_stop().
42245
af58ab3d 42246 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42247 prevent warnings.
42248
1759aa57 42249 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42250 pointer, which can cause warnings. Support 64-bit addresses.
42251
fdecb8fd 42252 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42253 of sizeof(long). This fixes PowerPC image generation on x86_64.
42254
8516d2a8 422552008-07-04 Robert Millan <rmh@aybabtu.com>
42256
42257 This fixes a performance issue when pc & gpt partmap iterators
42258 didn't abort iteration even after our hook found what it was
fe987087 42259 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42260
42261 Some callers relied on previous buggy behaviour, since they would
34c44600 42262 raise an error when their own hooks caused early abortion of its
8516d2a8 42263 iteration.
42264
42265 * kern/device.c (grub_device_open): Improve error message.
42266 * disk/lvm.c (grub_lvm_open): Likewise.
42267 * disk/raid.c (grub_raid_open): Likewise.
42268
42269 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42270 when hook requests it, independently of grub_errno.
42271 (pc_partition_map_probe): Do not fail when find_func() caused
42272 early abortion of pc_partition_map_iterate().
42273
42274 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42275 when hook requests it, independently of grub_errno.
42276 (gpt_partition_map_probe): Do not fail when find_func() caused
42277 early abortion of gpt_partition_map_iterate().
42278
42279 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42280 when hook requests it, independently of grub_errno. Do not fail when
42281 part_map_iterate_hook() caused early abortion of p->iterate().
42282
42283 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42284 when grub_partition_iterate() returned with non-zero.
42285
277d0de9 422862008-07-03 Pavel Roskin <proski@gnu.org>
42287
42288 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42289 like we do in grub_ata_pio_read().
42290 (grub_ata_readwrite): Always write individual sectors. Fix the
42291 sector count for the remainder.
42292 (grub_ata_write): Enable writing to ATA devices. Correctly
42293 report error for ATAPI devices.
42294
d4c9b428 422952008-07-02 Pavel Roskin <proski@gnu.org>
42296
e43fc690 42297 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42298 warning.
42299
f707af42 42300 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42301 for every read sector, we already increment it for the whole
42302 batch. This fixes reading more than 256 sectors at once.
42303
11e16b15 42304 * util/grub-editenv.c (cmd_info): Cast argument to long
42305 explicitly. ptrdiff_t reduces to int on i386.
42306
cbabfdd4 42307 * util/grub-editenv.c (main): Be specific which parameter is
42308 missing.
42309
b8fbce0a 42310 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42311 (memdisk): Make memdisk_orig_addr a pointer.
42312
c9c8e606 42313 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42314 for file offsets, use grub_off_t instead. Fix printf format
42315 warnings.
42316
ca62e598 42317 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42318 there. Real unexpected warnings should not drown in the noise
42319 about known problems.
42320
ce8d1766 42321 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42322 grub_disk_addr_t for memory addresses.
42323
00c7a56a 42324 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42325 explicitly to fix a warning.
42326
08d3ef09 42327 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42328
cb71ba20 42329 * Makefile.in (MODULE_LDFLAGS): New variable.
42330 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42331 the linker accepts --build-id=none.
42332 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42333 MODULE_LDFLAGS.
42334 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42335
d4c9b428 42336 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42337 those in Linux XFS code. Provide a way to access 64-bit parent
42338 inode.
42339 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42340 the end of struct grub_xfs_dir_header.
42341
d4156eee 423422008-07-02 Bean <bean123ch@gmail.com>
42343
42344 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42345 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42346 and GRUB_IEEE1275_FLAG_NO_ANSI.
42347
42348 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42349 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42350 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42351
42352 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42353 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42354
42355 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42356 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42357
42358 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42359 esc sequence on non ANSI terminal.
42360 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42361
42362 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42363 beginning of file.
42364
2270f77b 423652008-07-02 Bean <bean123ch@gmail.com>
42366
42367 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42368 (grub_editenv_SOURCES): New variable.
42369 (pkglib_MODULES): Add loadenv.mod.
42370 (loadenv_mod_SOURCES): New variable.
42371 (loadenv_mod_CFLAGS): Likewise.
42372 (loadenv_mod_LDFLAGS): Likewise.
42373
42374 * include/grub/envblk.h: New file.
42375
42376 * util/envblk.c: New file.
42377
42378 * util/grub-editenv.c: New file.
42379
42380 * commands/loadenv.c: New file.
42381
0e9e51ec 423822008-07-01 Pavel Roskin <proski@gnu.org>
42383
d89b7634 42384 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42385 not unsigned char. This fixes warnings and is consistent with
42386 other tags.
42387
bf1835b1 42388 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42389
8222a04b 42390 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42391
6a42d99d 42392 * term/tparm.c (analyze): Always set *popcount.
42393
10b159d1 42394 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42395 cast to fix a warning.
42396
b8789f6c 42397 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42398 cast to suppress a warning.
42399
29d7e38a 42400 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42401 grub_fshelp_read_file() expects.
42402
f341f669 42403 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42404 write uuid as a 32-bit value in CPU byte order, so declare and
42405 use it as such.
42406
0e9e51ec 42407 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42408 long if the format specifier expects it.
42409 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42410 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42411 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42412 long to fix a warning.
42413 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42414 grub_dprintf() arguments to fix warnings.
42415
3aefa857 424162008-06-30 Pavel Roskin <proski@gnu.org>
42417
56c7668b 42418 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42419 install_bsd_part immediately before core.img is embedded or
42420 modified on disk. This fixes core.img verification if core.img
42421 cannot be embedded.
42422
3aefa857 42423 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42424 core_path to calculate the blocklist.
42425 Patch from Javier Martín <lordhabbit@gmail.com>
42426
5444088d 424272008-06-29 Robert Millan <rmh@aybabtu.com>
42428
42429 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42430 block to disk block.
42431 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42432 Patch from Niels Böhm <bitbucket@arcor.de>
42433
674835c8 424342008-06-29 Robert Millan <rmh@aybabtu.com>
42435
42436 * util/update-grub_lib.in (font_path): Search for fonts in
42437 /boot/grub first, which is more likely to be readable (we aren't
42438 deciding where fonts live, just looking for them).
42439
f527dbc8 424402008-06-26 Pavel Roskin <proski@gnu.org>
42441
6c2d8df6 42442 * util/biosdisk.c (read_device_map): Don't leave dead map
42443 entries for devices failing stat() check.
42444
f527dbc8 42445 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42446 core_path_dev for the core.img path on the target device.
42447
aebe3d13 424482008-06-26 Robert Millan <rmh@aybabtu.com>
42449
42450 * disk/fs_uuid.c: New file.
42451 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42452 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42453 (fs_uuid_mod_LDFLAGS): New variables.
42454 * include/grub/disk.h (grub_disk_dev_id): Add
42455 `GRUB_DISK_DEVICE_UUID_ID'.
42456 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42457 implement iterate().
42458
37aaf354 424592008-06-26 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42462 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42463 Linux image includes no initrd.
42464
25ff262a 424652008-06-21 Javier Martín <lordhabbit@gmail.com>
42466
42467 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42468 call to resolve the core image location that effectively appended the
42469 name twice.
42470
76a2bd44 424712008-06-21 Robert Millan <rmh@aybabtu.com>
42472
42473 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42474 call from here ...
42475
42476 * util/grub.d/10_hurd.in: ... to here ...
42477 * util/grub.d/10_linux.in: ... and here.
42478
650e1c79 424792008-06-19 Robert Millan <rmh@aybabtu.com>
42480
fe987087 42481 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42482 after it has been set by grub_machine_set_prefix().
42483
6ce63911 424842008-06-19 Robert Millan <rmh@aybabtu.com>
42485
42486 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42487 search result when not saving to variable, not the other way around.
42488 When saving to variable, abort iteration as soon as a match is found.
42489
73940cec 424902008-06-19 Robert Millan <rmh@aybabtu.com>
42491
42492 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42493 check for partition that provides /boot/grub. Its logic is flawed,
42494 as it prevents prepare_grub_to_access_device() from being called
42495 multiple times.
42496
3c62a39d 424972008-06-19 Robert Millan <rmh@aybabtu.com>
42498
42499 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42500 "insmod" command directly when abstraction modules are needed,
fe987087 42501 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42502 since it had already been processed).
42503
47395a42 425042008-06-19 Pavel Roskin <proski@gnu.org>
42505
42506 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42507 changed. This is needed in case GRUB_LIBDIR changes.
42508 * conf/i386-ieee1275.rmk: Likewise.
42509 * conf/i386-linuxbios.rmk: Likewise.
42510 * conf/i386-pc.rmk: Likewise.
42511 * conf/powerpc-ieee1275.rmk: Likewise.
42512
a145ac2d 425132008-06-18 Pavel Roskin <proski@gnu.org>
42514
42515 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42516 kernel_elf_symlist.c to symlist.c for consistency with other
42517 architectures. Update all users.
42518 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42519
7847c51e 425202008-06-18 Robert Millan <rmh@aybabtu.com>
42521
42522 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42523 it in prefix.
42524
42525 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42526 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42527 a RAID device, run setup() for all members independently on whether
42528 LVM abstraction is being used.
42529 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42530 If grub-mkimage has set `*install_dos_part == -2', don't override this
42531 value.
42532 Perform *install_dos_part adjustments independently on whether
42533 we're embedding or not.
42534 Clarify error message when image is too big for embedding.
42535 Remove duplicate *install_dos_part stanza.
42536
b23e5644 425372008-06-17 Robert Millan <rmh@aybabtu.com>
42538
42539 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42540 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42541 variables.
42542 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42543 values in grub_ofconsole_normal_color and
42544 grub_ofconsole_highlight_color (they're not directly related to
42545 background and foreground).
42546 (grub_ofconsole_setcolorstate): Extract background and foreground
42547 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42548
0aac2f79 425492008-06-17 Robert Millan <rmh@aybabtu.com>
42550
42551 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42552 /boot/grub for the check in last commit, not /boot (they could be
42553 different partitions).
42554
3cca7ef3 425552008-06-16 Robert Millan <rmh@aybabtu.com>
42556
42557 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42558 asked to setup access for the same partition that provides /boot,
42559 don't bother using UUIDs since our root already has the value we
42560 want.
42561
347396d8 425622008-06-16 Robert Millan <rmh@aybabtu.com>
42563
42564 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42565 I2O devices.
42566 Patch from Sven Mueller <sven@debian.org>.
42567
991477f8 425682008-06-16 Robert Millan <rmh@aybabtu.com>
42569
42570 * util/update-grub.in: Check for $EUID instead of $UID.
42571 Reported by Vincent Zweije.
42572
d31a32a1 425732008-06-16 Bean <bean123ch@gmail.com>
42574
fe987087 42575 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42576 (grub_ext2_read_block): Likewise.
42577 (grub_ext2_read_inode): Likewise.
42578 (grub_ext2_mount): Likewise.
42579 (grub_ext2_close): Likewise.
42580 (grub_ext3_get_journal): Removed.
42581
fe987087 42582 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42583 (grub_reiserfs_read_symlink): Likewise.
42584 (grub_reiserfs_mount): Likewise.
42585 (grub_reiserfs_open): Likewise.
42586 (grub_reiserfs_read): Likewise.
42587 (grub_reiserfs_close): Likewise.
42588 (grub_reiserfs_get_journal): Removed.
42589
42590 * fs/fshelp.c (grub_fshelp_read): Removed.
42591 (grub_fshelp_map_block): Likewise.
42592
42593 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42594 (grub_fshelp_journal): Likewise.
42595 (grub_fshelp_read): Likewise.
42596 (grub_fshelp_map_block): Likewise.
42597
3540a760 425982008-06-16 Pavel Roskin <proski@gnu.org>
42599
42600 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42601 floating point anymore.
42602 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42603
95614c84 426042008-06-15 Pavel Roskin <proski@gnu.org>
42605
42606 * commands/ls.c (grub_ls_list_files): Use integer calculations
42607 for human readable format, avoid floating point use.
42608 * kern/misc.c (grub_ftoa): Remove.
42609 (grub_vsprintf): Remove floating point support.
42610
50465dd6 426112008-06-15 Robert Millan <rmh@aybabtu.com>
42612
fe6b695a 42613 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42614 devices.
42615 Reported by Max Vozeler.
42616
a9207284 426172008-06-15 Robert Millan <rmh@aybabtu.com>
42618
42619 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42620 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42621 skipped later.
42622 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42623 the beginning of the prefix.
42624
42625 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42626 It is assumed that if we have a memdisk, grub-mkimage has set
42627 grub_prefix to include the "(memdisk)" drive in it.
42628
a7cbd45a 426292008-06-15 Robert Millan <rmh@aybabtu.com>
42630
42631 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42632 Initialize keyboard controller after registering the terminal, so that
42633 grub_printf() can be called from grub_keyboard_controller_init().
42634
21cf716a 426352008-06-15 Robert Millan <rmh@aybabtu.com>
42636
42637 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42638 extent-btree which is written as big endian on disk.
42639 Reported by Alain Greppin <al@chilibi.org>.
42640
23a64d8e 426412008-06-14 Robert Millan <rmh@aybabtu.com>
42642
42643 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42644 * util/i386/pc/grub-install.in (modules): Likewise.
42645
d687651c 426462008-06-13 Pavel Roskin <proski@gnu.org>
42647
42648 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42649
dfe9ddd4 426502008-06-13 Bean <bean123ch@gmail.com>
42651
42652 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42653
42654 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42655
42656 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42657 to indicate sparse block.
42658
16ae7781 426592008-06-12 Pavel Roskin <proski@gnu.org>
42660
e6d1a308 42661 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42662 number, grub_fshelp_read() does it for us.
42663
16ae7781 42664 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42665 linear disk read with journal translation.
42666 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42667 * include/grub/fshelp.h: Declare grub_fshelp_read().
42668
40fd3a2b 426692008-06-09 Pavel Roskin <proski@gnu.org>
42670
42671 * fs/minix.c (grub_minix_mount): Handle error reading
42672 superblock.
42673
f5679726 426742008-06-08 Robert Millan <rmh@aybabtu.com>
42675
42676 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42677 don't append the RAID prefix afterwards.
42678 Reported by Clint Adams.
42679
ce525529 426802008-06-08 Robert Millan <rmh@aybabtu.com>
42681
42682 Based on description from Pavel:
42683 * kern/disk.c (grub_disk_check_range): Rename to ...
42684 (grub_disk_adjust_range): ... this. Add a comment explaining the
42685 tasks performed by this function.
42686
ad4936a0 426872008-06-08 Robert Millan <rmh@aybabtu.com>
42688
42689 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42690 `num_serial' (for consistency with other variables).
42691 (struct grub_ntfs_data): Add `uuid' member.
42692 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42693 (grub_ntfs_uuid): New function.
42694 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42695
dc20b0f9 426962008-06-07 Pavel Roskin <proski@gnu.org>
42697
42698 * util/biosdisk.c (open_device): Revert last change to the
42699 function, it broke installation. The sector needs to be
42700 different dependent on which device is opened.
42701
c5e3cfba 427022008-06-06 Robert Millan <rmh@aybabtu.com>
42703
42704 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42705 rest of GRUB, and breakage doesn't happen if its value were modified.
42706
42707 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42708 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42709 a constant (same value).
42710 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42711 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42712
26a1f8c4 427132008-06-06 Robert Millan <rmh@aybabtu.com>
42714
42715 * util/biosdisk.c (open_device): Do not modify sector offset when
42716 accessing a partition. kern/disk.c already handles this for us.
42717
25d6b327 427182008-06-06 Robert Millan <rmh@aybabtu.com>
42719
42720 * util/grub-emu.c (grub_machine_init): Move code in this function from
42721 here ...
42722 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42723 segfault in case grub_printf() is called).
42724
42725 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42726 grub_probe. Update all users not to explicitly add it again.
42727 (grub_device): New variable; contains corresponding device for grubdir.
42728 (fs_module, partmap_module, devabstraction_module): Pass
42729 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42730 every time.
42731
9ece62fb 427322008-06-05 Robert Millan <rmh@aybabtu.com>
42733
42734 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42735 is found, print it (same layout as with labels).
42736
1ad36d37 427372008-06-04 Robert Millan <rmh@aybabtu.com>
42738
42739 * util/biosdisk.c (get_drive): Rename to ...
42740 (find_grub_drive): ... this. Update all users.
42741
42742 (get_os_disk): Rename to ...
42743 (convert_system_partition_to_system_disk): ... this. Update all users.
42744
42745 (find_drive): Rename to ...
42746 (find_system_device): ... this. Update all users.
42747
e6a30859 427482008-06-04 Robert Millan <rmh@aybabtu.com>
42749
42750 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42751 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42752 (make_device_map): Likewise.
42753
00c108a4 427542008-06-01 Robert Millan <rmh@aybabtu.com>
42755
42756 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42757 before dereferencing it.
42758
42759 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42760 union with fat12/fat16-specific ones. Add some new fields, including
42761 `num_serial' for both versions.
42762 (struct grub_fat_data): Add `uuid' member.
42763 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42764 names. Initialize `data->uuid' using `num_serial'.
42765 (grub_fat_uuid): New function.
42766 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42767
42768 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42769 (grub_reiserfs_uuid): New function.
42770 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42771 member.
42772
42773 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42774 (grub_xfs_uuid): New function.
42775 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42776
1385c5bb 427772008-06-01 Robert Millan <rmh@aybabtu.com>
42778
42779 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42780 code that is backward compatible with pre-uuid search command.
42781
c682dfd7 427822008-05-31 Robert Millan <rmh@aybabtu.com>
42783
42784 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42785 floppies after everything else, to ensure floppy drive isn't accessed
42786 unnecessarily (patch from Bean).
42787
b7db5d47 427882008-05-31 Robert Millan <rmh@aybabtu.com>
42789
42790 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42791 not print device names when we were asked to set a variable.
42792
6e037aa9 427932008-05-31 Robert Millan <rmh@aybabtu.com>
42794
42795 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42796 using "cursor-on" and "cursor-off" commands (understood at least by
42797 the Open Firmware flavour on OLPC).
42798
41305bc8 427992008-05-31 Michael Gorven <michael@gorven.za.net>
42800
42801 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42802 on and off sequences.
42803
69ba137e 428042008-05-31 Robert Millan <rmh@aybabtu.com>
42805
42806 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42807 * util/update-grub.in: Likewise.
42808
520ae21b 428092008-05-30 Pavel Roskin <proski@gnu.org>
42810
42811 * util/biosdisk.c (linux_find_partition): Simplify logic and
42812 make the code more universal. Keep special processing for
42813 devfs, but use a simple rule for all other devices. If the
42814 device ends with a number, append 'p' and the partition number.
42815 Otherwise, append only the partition number.
42816
5786569b 428172008-05-30 Robert Millan <rmh@aybabtu.com>
42818
42819 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42820 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42821 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42822 the `root' parameter to Linux.
42823
51500452 428242008-05-30 Robert Millan <rmh@aybabtu.com>
42825
42826 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42827 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42828 --fs_uuid with --fs-uuid.
42829 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42830 all filesystems support them).
42831
811d3878 428322008-05-30 Robert Millan <rmh@aybabtu.com>
42833
42834 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42835 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42836
cab63c95 428372008-05-30 Robert Millan <rmh@aybabtu.com>
42838
42839 * util/grub.d/00_header.in: Remove obsolete comment referencing
42840 convert_system_path_to_grub_path().
42841 * util/update-grub.in: Likewise.
42842 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42843 (convert_system_path_to_grub_path): Add a warning message explaining
42844 that this function is deprecated. Rely on is_path_readable_by_grub()
42845 for the readability checks.
42846 (font_path): Use is_path_readable_by_grub() for the readability
42847 check rather than convert_system_path_to_grub_path().
42848
972e2f7a 428492008-05-30 Robert Millan <rmh@aybabtu.com>
42850
42851 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42852 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42853 converting it first.
42854 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42855 grub.cfg for access to font file, and afterwards call it again to set
42856 the root device.
42857
62191274 428582008-05-30 Robert Millan <rmh@aybabtu.com>
42859
42860 * commands/search.c (options): Add --fs_uuid option.
42861 (search_fs_uuid): New function.
42862 (grub_cmd_search): Fix --set argument passing.
42863 Use search_fs_uuid() when requested via --fs_uuid.
42864 (grub_search_init): Update help message.
42865 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42866 and redeclare it as an array of 16-bit words.
42867 (grub_ext2_uuid): New function.
42868 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42869 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42870 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42871 (GRUB_DEVICE_BOOT_UUID): New variables.
42872 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42873 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42874 whenever possible.
42875 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42876 just assume `root' variable has the right value.
42877 * util/grub.d/10_linux.in: Likewise.
42878 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42879 via PRINT_FS_UUID.
42880 (main): Recognise `-t fs_uuid' argument.
42881
01b73ec8 428822008-05-30 Robert Millan <rmh@aybabtu.com>
42883
42884 * util/biosdisk.c (map): Redefine structure to hold information
42885 about GRUB drive name.
fe6b695a 42886 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42887 drive names.
42888 (call_hook): Remove.
42889 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42890 member. Assume drive has partitions.
42891 (grub_util_biosdisk_open): Access device names via `.device' struct
42892 member.
42893 (open_device): Likewise.
42894 (find_drive): Likewise.
42895 (read_device_map): Adjust map[] usage to match the new struct
42896 definition. Don't check for duplicates (still possible, but not cheap
42897 anymore).
42898 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42899 (make_device_name): Remove assumption of BIOS-like drive names.
42900
22f16596 429012008-05-30 Pavel Roskin <proski@gnu.org>
42902
42903 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42904 compiling execute.c doesn't need grub_script.tab.h anymore.
42905 (normal/command.c_DEPENDENCIES): Likewise.
42906 (normal/function.c_DEPENDENCIES): Likewise.
42907 * conf/i386-ieee1275.rmk: Likewise.
42908 * conf/i386-linuxbios.rmk: Likewise.
42909 * conf/i386-pc.rmk: Likewise.
42910 * conf/powerpc-ieee1275.rmk: Likewise.
42911 * conf/sparc64-ieee1275.rmk: Likewise.
42912
528ad8f2 429132008-05-29 Pavel Roskin <proski@gnu.org>
42914
d1dff95d 42915 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42916 when scanning metadata for volume group name.
42917
528ad8f2 42918 * include/grub/script.h: Don't include grub_script.tab.h. It's
42919 a generated file, which may only be included from the files with
42920 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42921 use union YYSTYPE, as the later allows forward declaration.
42922 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42923
47248e08 429242008-05-29 Robert Millan <rmh@aybabtu.com>
42925
42926 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42927 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42928 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42929 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42930 scan codes.
42931
ee632529 429322008-05-29 Robert Millan <rmh@aybabtu.com>
42933
42934 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42935 control key combinations.
42936
eee96e08 429372008-05-29 Robert Millan <rmh@aybabtu.com>
42938
42939 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42940 * util/ieee1275/grub-install.in: ... to here.
42941 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42942 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42943 (grub_install_SOURCES): Likewise.
42944
da9a6a94 429452008-05-29 Robert Millan <rmh@aybabtu.com>
42946
42947 * fs/affs.c: Update copyright year.
42948 * fs/ext2.c: Likewise.
42949 * fs/fshelp.c: Likewise.
42950 * fs/hfsplus.c: Likewise.
42951 * fs/ntfs.c: Likewise.
42952 * fs/xfs.c: Likewise.
42953 * include/grub/fshelp.h: Likewise.
42954 * util/grub-mkdevicemap.c: Likewise.
42955
12e65f3a 429562008-05-28 Robert Millan <rmh@aybabtu.com>
42957
42958 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42959 might need to be fatfs to support some firmware implementations
42960 (e.g. OFW or EFI).
42961
23023641 429622008-05-28 Robert Millan <rmh@aybabtu.com>
42963
42964 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42965 devices.
42966 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42967 (make_device_map): Likewise.
42968
887d2619 429692008-05-20 Bean <bean123ch@gmail.com>
42970
42971 * fs/fshelp.c (grub_fshelp_map_block): New function.
42972 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42973 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42974
42975 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42976 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42977 (grub_fshelp_journal): New structure.
42978 (grub_fshelp_map_block): New function prototype.
42979 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42980 (grub_fshelp_map_block): Likewise.
42981
42982 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42983 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42984 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42985 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42986 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42987 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42988 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42989 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42990 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42991 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42992 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42993 (grub_ext2_sblock): New members for journal support.
42994 (grub_ext3_journal_header): New structure.
42995 (grub_ext3_journal_revoke_header): Likewise.
42996 (grub_ext3_journal_block_tag): Likewise.
42997 (grub_ext3_journal_sblock): Likewise.
42998 (grub_fshelp_node): New members logfile and journal.
42999 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43000 grub_fshelp_map_block to get real block number.
43001 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43002 number.
43003 (grub_ext2_read_inode): Likewise.
43004 (grub_ext3_get_journal): New function.
43005 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43006 (grub_ext2_close): Release memory used by journal.
43007
43008 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43009 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43010 (grub_reiserfs_transaction_header): Renamed to
43011 grub_reiserfs_description_block, replace field data with real_blocks.
43012 (grub_reiserfs_commit_block): New structure.
43013 (grub_reiserfs_data): New member journal.
43014 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43015 number.
43016 (grub_reiserfs_read_symlink): Likewise.
43017 (grub_reiserfs_iterate_dir): Likewise.
43018 (grub_reiserfs_open): Likewise.
43019 (grub_reiserfs_read): Likewise.
43020 (grub_reiserfs_get_journal): New function.
43021 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43022 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43023 using grub_reiserfs_get_journal.
43024 (grub_reiserfs_close): Release memory used by journal.
43025
43026 * fs/affs.c (grub_affs_read_block): Change block type to
43027 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43028
43029 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43030
43031 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43032
43033 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43034
43035 * fs/udf.c (grub_udf_read_block): Change block type to
43036 grub_disk_addr_t. Use type cast to avoid warning.
43037
43038 * fs/xfs.c (grub_xfs_read_block): Likewise.
43039
b7c6bed5 430402008-05-16 Christian Franke <franke@computer.org>
43041
43042 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43043 to ensure that break with ESC will always work.
43044 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43045 Remove ESC from keyboard queue.
43046
eedf167f 430472008-05-16 Christian Franke <franke@computer.org>
43048
43049 * util/biosdisk.c: [__CYGWIN__] Add includes.
43050 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43051 (get_os_disk): Move variable declarations to OS specific
43052 parts to avoid warning.
43053 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43054 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43055 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43056 Cygwin.
43057 * util/getroot.c: [__CYGWIN__] Add includes.
43058 (strip_extra_slashes): Fix "/" case.
43059 [__CYGWIN__] (get_win32_path): New function.
43060 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43061 [__CYGWIN__] (find_root_device): Disable.
43062 [__CYGWIN__] (get_bootsec_serial): New function.
43063 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43064 [__linux__] (grub_guess_root_device): Add early returns to simplify
43065 structure.
43066 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43067 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43068 check for Linux only.
43069
a079699e 430702008-05-15 Bean <bean123ch@gmail.com>
43071
43072 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43073 keyboard hang problem in apple's intel mac.
43074
1cf4059a 430752008-05-09 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43078 devices.
43079 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43080 (make_device_map): Likewise.
43081 Reported by Aurelien Jarno <aurel32@debian.org>
43082
ed759390 430832008-05-07 Ian Campbell <ijc@hellion.org.uk>
43084
43085 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43086 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43087 (make_device_map): Output entries for xvd type disks.
43088
b56c4eaa 430892008-05-07 Robert Millan <rmh@aybabtu.com>
43090
43091 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43092 devices.
43093 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43094 (make_device_map): Likewise.
43095 Reported by Roland Dreier <rdreier@cisco.com>
43096
7f8866ed 430972008-05-07 Robert Millan <rmh@aybabtu.com>
43098
43099 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43100 grub_strstr() call. Correct a few mistakes in failure path handling.
43101
b0346e0f 431022008-05-06 Robert Millan <rmh@aybabtu.com>
43103
43104 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43105 Do not print a trailing slash (therefore, the root directory is an
43106 empty string).
43107 (convert_system_path_to_grub_path): Do not remove trailing slash
43108 from make_system_path_relative_to_its_root() output.
43109
43110 * util/i386/pc/grub-install.in: Add trailing slash to output from
43111 make_system_path_relative_to_its_root().
43112
6cf12cbd 431132008-05-06 Robert Millan <rmh@aybabtu.com>
43114
43115 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43116 ensures that output lines aren't intermangled with those sent to
43117 stderr (via grub_util_info()).
43118 * util/grub-probe.c (grub_refresh): Likewise.
43119 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43120
0fbb3117 431212008-05-05 Christian Franke <franke@computer.org>
43122
43123 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43124 Add Cygwin device names.
43125 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43126 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43127 (check_device): Return error instead of success on empty name.
43128 (make_device_map): Move label inside linux specific code to
43129 prevent compiler warning.
43130
8124cdb7 431312008-04-30 Robert Millan <rmh@aybabtu.com>
43132
43133 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43134 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43135 first boot option.
43136 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43137
094c01d0 431382008-04-29 Robert Millan <rmh@aybabtu.com>
43139
43140 * docs/grub.cfg: New file (example GRUB configuration).
43141
f4b1fc02 431422008-04-26 Robert Millan <rmh@aybabtu.com>
43143
329ce2a5 43144 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43145 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43146 and `disk/ieee1275/nand.c'.
f4b1fc02 43147
25f16ec1 431482008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43149
25f16ec1 43150 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43151 i386-linuxbios.
43152
43153 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43154 change the buffer size to 4096 for cdrom device.
43155
43156 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43157 and nand.mod.
43158 (_linux_mod_SOURCES): New variable.
43159 (_linux_mod_CFLAGS): Likewise.
43160 (_linux_mod_LDFLAGS): Likewise.
43161 (linux_mod_SOURCES): Likewise.
43162 (linux_mod_CFLAGS): Likewise.
43163 (linux_mod_LDFLAGS): Likewise.
43164 (nand_mod_SOURCES): Likewise.
43165 (nand_mod_CFLAGS): Likewise.
43166 (nand_mod_LDFLAGS): Likewise.
43167
43168 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43169 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43170 type property. (nand device in olpc don't have this property)
43171
43172 * include/grub/disk.h (grub_disk_dev_id): New macro
43173 GRUB_DISK_DEVICE_NAND_ID.
43174
43175 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43176 function prototype.
43177 (grub_rescue_cmd_initrd): Likewise.
43178
43179 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43180 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43181 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43182
25f16ec1 43183 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43184 GRUB_MACHINE_IEEE1275 is defined.
43185
43186 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43187 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43188
43189 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43190 on nested function heap_init.
43191 (grub_upper_mem): New variable for i386-ieee1275.
43192 (grub_get_extended_memory): New function for i386-ieee1275.
43193 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43194
43195 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43196 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43197 property.
f19dbdb7 43198
25f16ec1 43199 * loader/i386/ieee1275/linux.c: New file.
43200
43201 * loader/i386/ieee1275/linux_normal.c: New file.
43202
43203 * disk/ieee1275/nand.c: New file.
43204
e89d61e9 432052008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43206
43207 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43208 value.
43209 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43210
602566f6 432112008-04-18 Robert Millan <rmh@aybabtu.com>
43212
43213 Restructures early code path on ieee1275 to unify grub_main() as
43214 the first C function that is executed in every platform.
43215
43216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43217 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43218 cmain().
43219 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43220 * kern/ieee1275/cmain.c (cmain): Rename to ...
43221 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43222 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43223 at the beginning.
43224
57490c2b 432252008-04-18 Robert Millan <rmh@aybabtu.com>
43226
43227 * util/update-grub.in: Fix syntax error when setting
43228 `GRUB_PRELOAD_MODULES'.
43229 Reported by Stephane Chazelas <stephane@artesyncp.com>
43230
1977517d 432312008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43232
43233 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43234 section into account, newer toolchains generate unique build ids
43235 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43236 we want build ids to be preserved
1977517d 43237 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43238 far from other sections don't cause the raw binary images grow
43239 size
43240
bfb1f1a2 432412008-04-15 Robert Millan <rmh@aybabtu.com>
43242
43243 * disk/lvm.c: Update copyright year.
43244 * kern/misc.c: Likewise.
43245
01979850 432462008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43247
43248 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43249 there is no memory left for physical volume name.
01979850 43250
0a1150e2 432512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43252
43253 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43254 volume name mapping to support bigger than 9 character names properly.
43255
82ead3fe 432562008-04-13 Robert Millan <rmh@aybabtu.com>
43257
43258 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43259 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43260
e54a72f5 432612008-04-13 Christian Franke <franke@computer.org>
43262
43263 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43264 to create a floppy emulation boot CD when non emulation mode
43265 does not work.
43266 Enable Joliet CD filesystem extension.
43267
9fe86034 432682008-04-13 Robert Millan <rmh@aybabtu.com>
43269
43270 * kern/misc.c (grub_strncat): Fix off-by-one error.
43271 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43272
43273 * kern/env.c (grub_env_context_close): Clear current context, not
43274 previous one.
43275 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43276
43277 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43278
7ceeee39 432792008-04-13 Robert Millan <rmh@aybabtu.com>
43280
43281 Improve robustness when handling LVM.
43282
43283 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43284 (and leave `*p' unmodified).
7ceeee39 43285 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43286 through it.
43287 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43288 iterating through it.
43289 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43290 through it.
fe6b695a 43291 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43292 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43293 Don't assume `vg->pvs != NULL' when iterating through it.
43294
58cd3d85 432952008-04-13 Robert Millan <rmh@aybabtu.com>
43296
43297 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43298 * genmk.rb (partmap): New variable.
43299 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43300 (#{partmap}): New target rule.
43301 * genpartmaplist.sh: New file.
43302 * Makefile.in (pkglib_DATA): Add partmap.lst.
43303 (partmap.lst): New target rule.
43304 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43305 modules (including all partition maps), instead of preloading them.
43306
78b51059 433072007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43308
43309 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43310 `linux-boot-prober' (if installed) to detect other operating
43311 systems which are installed on the computer and add them to
43312 the boot menu.
43313 * conf/common.rmk: Build and install 30_os-prober.
43314
a91627b4 433152008-04-12 Robert Millan <rmh@aybabtu.com>
43316
43317 * kern/powerpc/ieee1275/init.c: Move from here ...
43318 * kern/ieee1275/init.c: ... to here. Update all users.
43319
43320 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43321 * kern/ieee1275/cmain.c: ... to here. Update all users.
43322
43323 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43324 * kern/ieee1275/openfw.c: ... to here. Update all users.
43325
43326 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43327 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43328
322562ea 433292008-04-10 Pavel Roskin <proski@gnu.org>
43330
43331 * configure.ac: Always use "_cv_" in cache variables for
43332 compatibility with Autoconf 2.62.
43333
a02a73c5 433342008-04-07 Robert Millan <rmh@aybabtu.com>
43335
43336 Revert grub/machine/init.h addition by Pavel (since it breaks on
43337 i386-ieee1275 and others):
43338 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43339 * util/powerpc/ieee1275/misc.c: Likewise.
43340
25c024b1 433412008-04-07 Robert Millan <rmh@aybabtu.com>
43342
43343 * util/grub-probe.c (probe): Improve error message.
43344
3cbd2f98 433452008-04-07 Robert Millan <rmh@aybabtu.com>
43346
43347 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43348 (this prevents the presence of a bogus entry from ruining the whole
43349 thing).
43350
87a297bf 433512008-04-06 Pavel Roskin <proski@gnu.org>
43352
36747a62 43353 * util/biosdisk.c: Include grub/util/biosdisk.h.
43354 * util/grub-fstest.c (execute_command): Make static.
43355 * util/grub-mkdevicemap.c (check_device): Likewise.
43356 * util/i386/pc/misc.c: Include grub/machine/init.h.
43357 * util/powerpc/ieee1275/misc.c: Likewise.
43358 * util/lvm.c: Include grub/util/lvm.h.
43359 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43360 grub/cache.h.
43361 * util/raid.c: Include grub/util/raid.h.
43362 (grub_util_getdiskname): Make static.
43363
87a297bf 43364 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43365 grub_hostfs_fini(), as they are called from grub_init_all() and
43366 grub_fini_all() respectively. This fixes an infinite loop in
43367 grub-fstest due to double registration of hostfs.
43368 Reported by Christian Franke <Christian.Franke@t-online.de>
43369
f6ce7629 433702008-04-05 Pavel Roskin <proski@gnu.org>
43371
43372 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43373 all 8 functions. Otherwise, probe function 0 only.
43374
070e49e4 433752008-04-04 Pavel Roskin <proski@gnu.org>
43376
8b088a4c 43377 * commands/lspci.c (grub_lspci_iter): Print the bus number
43378 correctly.
43379
4f657021 43380 * commands/lspci.c (grub_pci_classes): Fix typos.
43381 (grub_lspci_iter): Don't print func twice. Print vendor ID
43382 before device ID, as it's normally done.
43383
070e49e4 43384 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43385 Fix signedness warnings.
43386 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43387 Likewise.
43388 * util/ieee1275/get_disk_name.c: Include config.h so that
43389 _GNU_SOURCE is defined and getline() is declared. Mark an
43390 unused argument as such. Fix a signedness warning.
43391
ba7328dc 433922008-04-02 Pavel Roskin <proski@gnu.org>
43393
26887f22 43394 * genkernsyms.sh.in: Use more robust assignments for CC and
43395 srcdir. Quote srcdir.
43396 * gensymlist.sh.in: Likewise. Assert at the compile time that
43397 the symbol table is not empty.
43398
ba7328dc 43399 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43400 * fs/cpio.c (grub_cpio_read): Likewise.
43401
0f582c6b 434022008-04-01 Pavel Roskin <proski@gnu.org>
43403
4b6e1995 43404 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43405 * disk/host.c (grub_host_open): Likewise.
43406 * disk/loopback.c (grub_loopback_open): Likewise.
43407 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43408 disk->id as in disk/host.c, not a multi-character constant.
43409
828a2768 43410 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43411 later is obsolete, potentially dangerous and sets a bad example.
43412 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43413 * util/misc.c (grub_util_get_image_size): Likewise.
43414
2bb4fb47 43415 * disk/loopback.c (options): Improve help for "--partitions".
43416
0f582c6b 43417 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43418 options to align them with the short options, e.g. "echo -e".
43419
a33224e0 434202008-03-31 Bean <bean123ch@gmail.com>
43421
43422 * video/reader/png.c (grub_png_data): New member is_16bit and
43423 image_data.
43424 (grub_png_decode_image_header): Detect 16 bit png image.
43425 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43426 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43427 (grub_video_reader_png): Release memory occupied by image_data.
43428
43429 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43430 4096 bytes.
43431 (grub_nfs_mount): Skip the test for sector per cluster.
43432
43433 * include/grub/ntfs.h (MAX_SPC): Removed.
43434
86cb4f54 434352008-03-31 Bean <bean123ch@gmail.com>
43436
43437 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43438 (grub_probe_SOURCES): Add fs/afs.c.
43439 (grub_fstest_SOURCES): Likewise.
43440 (afs_mod_SOURCES): New variable.
43441 (afs_mod_CFLAGS): Likewise.
43442 (afs_mod_LDFLAGS): Likewise.
43443
43444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43445 (grub_emu_SOURCES): Likewise.
43446
43447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43448
43449 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43450
43451 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43452
43453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43454
43455 * fs/afs.c: New file.
43456
17c74c21 434572008-03-30 Pavel Roskin <proski@gnu.org>
43458
4cb68e89 43459 * disk/host.c: Include grub/misc.h to fix a warning.
43460 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43461 warnings about implicit declarations.
43462
8790bb04 43463 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43464 variable.
43465 * include/grub/i386/loader.h: Change declaration of
43466 grub_linux_boot() to match what grub_loader_set() expects.
43467 * util/getroot.c (grub_guess_root_device): Return const char* to
43468 fix a warning.
43469 * util/grub-probe.c (probe): Fix a warning about uninitialized
43470 abstraction_name variable.
43471 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43472 second argument as unused to fix a warning.
43473
9a3f3296 43474 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43475 missing grub_error() call.
43476
0ecef90d 43477 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43478 2.60 and newer uses it to define datadir.
43479
0bf6d401 43480 * commands/sleep.c: Fix warning about implicit declaration.
43481 * disk/memdisk.c: Likewise.
43482 * loader/aout.c: Likewise.
43483 * loader/i386/bsd_normal.c: Likewise.
43484 * util/grub-probe.c: Likewise.
43485
7cdacf97 43486 * commands/i386/cpuid.c (has_longmode): Make static.
43487 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43488 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43489
17c74c21 43490 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43491 GDT. This is more robust, as %ds can change.
43492 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43493 calling real_to_prot().
43494 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43495
80a3e68b 434962008-03-28 Pavel Roskin <proski@gnu.org>
43497
43498 * kern/i386/pc/startup.S: Assert that uncompressed functions
43499 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43500 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43501 code, as they push parts of the code (error handlers) beyond
43502 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43503 code as correctness and size.
43504
77bcd272 435052008-03-28 Pavel Roskin <proski@gnu.org>
43506
43507 * kern/i386/pc/startup.S
43508 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43509 data block address to the real mode, keep offset minimal. This
43510 works around a bug in AWARD BIOS on old Athlon systems, which
43511 makes CD detection hang.
43512
c5dfd43b 435132008-03-26 Pavel Roskin <proski@gnu.org>
43514
43515 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43516 const.
43517 * include/grub/normal.h: Add grub_parse_color_name_pair()
43518 declaration.
43519
bf962df2 435202008-03-24 Bean <bean123ch@gmail.com>
43521
43522 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43523 (cd_count): Removed.
43524 (cd_drive): New variable.
43525 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43526 (grub_biosdisk_call_hook): Likewise.
43527 (grub_biosdisk_iterate): Change cdrom detection method.
43528 (grub_biosdisk_open): Replace cd_start with cd_drive.
43529 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43530 detect cdrom device.
43531
43532 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43533 Removed.
43534 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43535 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43536 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43537 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43538 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43539 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43540 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43541 (grub_biosdisk_cdrp): New structure.
43542 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43543
43544 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43545
43546 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43547 device.
43548
43549 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43550 New function.
43551
68e7fc7a 435522008-03-20 Robert Millan <rmh@aybabtu.com>
43553
43554 Remove 2 TiB limit in ata.mod.
43555 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43556 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43557 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43558 grub_uint64_t instead of grub_uint32_t.
43559
38ad2cf5 435602008-03-05 Bean <bean123ch@gmail.com>
43561
43562 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43563 (grub_multiboot): Set boot device.
43564
43565 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43566
2b89344e 435672008-03-02 Bean <bean123ch@gmail.com>
43568
43569 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43570 symlink_buffer.
43571
87a95d1f 435722008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43573
43574 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43575 texinfo.tex.
43576
43577 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43578 modified.
43579
43580 * docs/fdl.texi: New file.
f19dbdb7 43581
87a95d1f 43582 * docs/mdate-sh: New file. Copied from gnulib.
43583 * docs/texinfo.tex: Likewise.
43584
43585 * config.guess: Updated from gnulib.
43586 * install-sh: Likewise.
43587
7dc15d8e 435882008-02-28 Robert Millan <rmh@aybabtu.com>
43589
43590 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43591 (aout_mod_SOURCES): New variable.
43592 (aout_mod_CFLAGS): Likewise.
43593 (aout_mod_LDFLAGS): Likewise.
43594
43595 * conf/i386-ieee1275.rmk: Likewise.
43596
b00ab696 435972008-02-28 Robert Millan <rmh@aybabtu.com>
43598
43599 * util/update-grub.in: Reorganise terminal validity check. Accept
43600 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43601 Based on suggestion by Franklin PIAT.
43602
79ca2d78 436032008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43604
43605 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43606 function.
43607 * util/getroot.c (grub_util_check_block_device): New function that
43608 returns the given argument if it is a block device and returns NULL else.
43609 * util/grub-probe.c (argument_is_device): New variable.
43610 (probe): Promote device_name from a variable to an argument. Receive
43611 device_name from grub_util_check_block_device() if path is NULL and from
43612 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43613 (options): Introduce new parameter '-d, --device'.
79ca2d78 43614 (main): Add description of the new parameter to the help screen.
43615 Rename path variable to argument. Set argument_is_device if the '-d'
43616 option is given. Pass argument to probe() depending on
43617 argument_is_device.
43618
0d16e571 436192008-02-24 Bean <bean123ch@gmail.com>
43620
43621 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43622 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43623 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43624 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43625 (GRUB_ISO9660_VOLDESC_END): Likewise.
43626 (grub_iso9660_primary_voldesc): New member escape.
43627 (grub_iso9660_data): New member joliet.
43628 (grub_iso9660_convert_string): New function.
43629 (grub_iso9660_mount): Detect joliet extension.
43630 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43631 (grub_iso9660_iso9660_label): Likewise.
43632
43633 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43634 (grub_setup_SOURCES): Add fs/udf.c.
43635 (grub_fstest_SOURCES): Likewise.
43636 (udf_mod_SOURCES): New variable.
43637 (udf_mod_CFLAGS): Likewise.
43638 (udf_mod_LDFLAGS): Likewise.
43639
43640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43641 (grub_emu_SOURCES): Likewise.
43642
43643 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43644
43645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43646
43647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43648
43649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43650
43651 * fs/udf.c: New file.
43652
8a594a17 436532008-02-24 Robert Millan <rmh@aybabtu.com>
43654
43655 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43656 (normal/lexer.c_DEPENDENCIES): New variables.
43657 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43658 (normal/lexer.c_DEPENDENCIES): Likewise.
43659 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43660 (normal/lexer.c_DEPENDENCIES): Likewise.
43661 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43662 (normal/lexer.c_DEPENDENCIES): Likewise.
43663 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43664 (normal/lexer.c_DEPENDENCIES): Likewise.
43665 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43666 (normal/lexer.c_DEPENDENCIES): Likewise.
43667
2dc33c03 436682008-02-23 Robert Millan <rmh@aybabtu.com>
43669
43670 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43671 since they were intended to be in hex. This didn't break previously
43672 because of a bug in gpt_partition_map_iterate() (see below).
43673
43674 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43675 when checking the validity of GPT header.
43676 Remove `partno', since it always provides the same information as `i'.
43677
f6f4cfb0 436782008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43679
43680 * include/grub/efi/time.h: Fix a wrong comment.
43681
79ff665f 436822008-02-19 Pavel Roskin <proski@gnu.org>
43683
43684 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43685 message.
43686
d38e24c2 436872008-02-19 Bean <bean123ch@gmail.com>
43688
43689 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43690 (aout_mod_SOURCES): New variable.
43691 (aout_mod_CFLAGS): Likewise.
43692 (aout_mod_LDFLAGS): Likewise.
43693 (_bsd_mod_SOURCES): New variable.
43694 (_bsd_mod_CFLAGS): Likewise.
43695 (_bsd_mod_LDFLAGS): Likewise.
43696 (bsd_mod_SOURCES): New variable.
43697 (bsd_mod_CFLAGS): Likewise.
43698 (bsd_mod_LDFLAGS): Likewise.
43699
43700 * include/grub/aout.h: New file.
43701
43702 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43703
43704 * include/grub/i386/bsd.h: New file.
43705
43706 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43707 to make it public.
43708
43709 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43710 function is called, so that it's possible to change it inside the hook.
43711 (grub_elf64_load): Likewise.
43712 (grub_elf_file): Don't close the file if elf header is not found.
43713 (grub_elf_close): Close the file if grub_elf_file fails (The new
43714 grub_elf_file won't close it).
43715 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43716 (grub_elf64_size): Likewise.
43717
43718 * kern/i386/loader.S (grub_unix_real_boot): New function.
43719
43720 * loader/aout.c: New file.
43721
43722 * loader/i386/bsd.c: New file.
43723
43724 * loader/i386/bsd_normal.c: New file.
43725
43726 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43727
43728 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43729 can test other formats.
d38e24c2 43730
b93bdb0f 437312008-02-19 Robert Millan <rmh@aybabtu.com>
43732
43733 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43734 (grub_gpt_partition_type_empty): Redefine with macro from
43735 `<grub/gpt_partition.h>'.
43736 (gpt_partition_map_iterate): Adjust partition type comparison.
43737
43738 Export `entry' as partmap-specific `part.data' struct.
43739 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43740
43741 * include/grub/gpt_partition.h (grub_gpt_header)
43742 (grub_gpt_partentry): ... to here (new file).
43743
43744 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43745
43746 (grub_gpt_partition_type_bios_boot): New const variable, defined
43747 with macro from `<grub/gpt_partition.h>'.
43748
43749 (setup): Replace `first_start' with `embed_region', which keeps
43750 track of the embed region (and is partmap-agnostic).
43751
43752 Replace find_first_partition_start() with find_usable_region(),
43753 which finds a usable region for embedding using partmap-specific
43754 knowledge (supports PC/MSDOS and GPT).
43755
43756 Fix all assumptions that the embed region start at sector 1, using
43757 `embed_region.start' from now on. Similarly, use `embed_region.end'
43758 rather than `first_start' to calculate available size.
43759
43760 In grub_util_info() message, replace "into after the MBR" with an
43761 indication of the specific sector our embed region starts at.
43762
66cb40f6 437632008-02-19 Robert Millan <rmh@aybabtu.com>
43764
43765 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43766 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43767 `commands/reboot.c'.
43768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43769 (halt_mod_SOURCES): Likewise.
43770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43771 (halt_mod_SOURCES): Likewise.
43772
b7202015 437732008-02-17 Christian Franke <franke@computer.org>
43774
43775 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43776
32b0fc49 437772008-02-17 Robert Millan <rmh@aybabtu.com>
43778
43779 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43780 set `first_start' to 0 for non-PC/MSDOS partition maps.
43781
aca63502 437822008-02-16 Robert Millan <rmh@aybabtu.com>
43783
43784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43785 do not assume partition map is PC/MSDOS before performing checks that
43786 are specific to that layout.
43787
0de8be86 437882008-02-13 Robert Millan <rmh@aybabtu.com>
43789
43790 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43791 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43792 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43793
c3db8364 437942008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43795
43796 * configure.ac: Only a cosmetic change on the handling of
43797 -fno-stack-protector.
43798
f714229e 437992008-02-12 Alexandre Boeglin <alex@boeglin.org>
43800
c3db8364 43801 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43802 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43803 reboot.c.
f714229e 43804 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43805 (halt_mod_SOURCES): New variable.
43806 (halt_mod_CFLAGS): Likewise.
43807 (halt_mod_LDFLAGS): Likewise.
43808 (reboot_mod_SOURCES): Likewise.
43809 (reboot_mod_CFLAGS): Likewise.
43810 (reboot_mod_LDFLAGS): Likewise.
43811
c3db8364 43812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43813 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43814 reboot.c.
f714229e 43815 (halt_mod_SOURCES): Likewise.
43816 (reboot_mod_SOURCES): Likewise.
43817
c3db8364 43818 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43819 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43820 (reboot_mod_SOURCES): Likewise.
43821
43822 * commands/i386/pc/reboot.c: merge this file ...
43823
43824 * commands/ieee1275/reboot.c: ... and this file ...
43825
43826 * commands/reboot.c: ... to this file.
c3db8364 43827 Add some precompiler directive to include the correct header for
43828 each machine.
f714229e 43829
43830 * commands/ieee1275/halt.c: move this file ...
43831
43832 * commands/halt.c: ... to here.
c3db8364 43833 Add some precompiler directive to include the correct header for
43834 each machine.
f714229e 43835
43836 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43837 (grub_halt): Likewise.
43838
43839 * kern/efi/efi.c (grub_reboot): New function.
43840 (grub_halt): Likewise.
43841
c74493e0 438422008-02-12 Robert Millan <rmh@aybabtu.com>
43843
43844 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43845 /dev (like it is done for /dev/mapper). This doesn't provide support
43846 for EVMS, but at least it is now easy to identify the problem when it
43847 arises.
43848
d0db4b04 438492008-02-11 Robert Millan <rmh@aybabtu.com>
43850
43851 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43852 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43853 comparing it with -1, not 0.
43854
bf748642 438552008-02-10 Robert Millan <rmh@aybabtu.com>
43856
43857 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43858 `disk/lvm.c'.
43859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43860 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43861
43862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43863 `disk/lvm.c' to the end of the list.
43864 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43865 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43866
b5db202a 438672008-02-10 Robert Millan <rmh@aybabtu.com>
43868
43869 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43870 grub_print_error() instead. This will let user know why we're entering
43871 rescue mode.
43872 Based on suggestions from Sam Morris.
43873
83abee31 438742008-02-10 Alexandre Boeglin <alex@boeglin.org>
43875
43876 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43877 on remaining N args, instead of "--" arg N times.
43878
78d5a08b 438792008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43880
43881 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43882 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43883 pattern for unknown glyphs.
43884
68807e5f 438852008-02-09 Robert Millan <rmh@aybabtu.com>
43886
43887 * configure.ac: Probe for `help2man'.
43888 * Makefile.in (builddir): New variable.
43889 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43890 or otherwise add a few flags/options to it.
43891 (install-local): For every executable utility or script that is
43892 installed, invoke $(HELP2MAN) to install a manpage based on --help
43893 output.
43894
43895 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43896 that it doesn't prevent --help from working in build tree.
43897
43898 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43899 with `bug-grub@gnu.org'.
43900 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43901 * util/update-grub.in (usage): New function.
43902 Implement proper argument check, with support for --help and --version
43903 (as well as existing -y).
43904
439052008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43906
43907 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43908 avoid overwriting previous output.
43909 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43910
c1962162 439112008-02-09 Robert Millan <rmh@aybabtu.com>
43912
43913 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43914 drawing the menu.
43915
3dac2e3f 439162008-02-09 Robert Millan <rmh@aybabtu.com>
43917
43918 * commands/sleep.c: New file.
43919 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43920 (sleep_mod_SOURCES): New variable.
43921 (sleep_mod_CFLAGS): Likewise.
43922 (sleep_mod_LDFLAGS): Likewise.
43923
7a634e08 439242008-02-09 Robert Millan <rmh@aybabtu.com>
43925
43926 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43927 situations in which we can deduce the RAID size and the superblock
43928 doesn't match it.
43929
b92f0c18 439302008-02-09 Robert Millan <rmh@aybabtu.com>
43931
43932 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43933 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43934 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43935
43936 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43937 and return a grub_diskmemberlist_t composed of physical array members.
43938 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43939
43940 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43941 prototype.
43942 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43943 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43944 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43945
43946 * util/grub-probe.c (probe): Move partmap probing code from here ...
43947 (probe_partmap): ... to here.
43948 (probe): Use probe_partmap() once for the disk we're probing, and
43949 additionally, when such disk contains a memberlist() struct member,
43950 once for each disk that is contained in the structure returned by
43951 memberlist().
43952
91a4bf68 439532008-02-09 Robert Millan <rmh@aybabtu.com>
43954
43955 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43956 environment variable to 'all' in order to obtain debug output from
43957 non-util/ code.
43958 * util/i386/pc/grub-setup.c (main): Likewise.
43959
a96f9caa 439602008-02-08 Robert Millan <rmh@aybabtu.com>
43961
43962 * disk/raid.c (grub_raid_scan_device): Check for
43963 `array->device[sb.this_disk.number]' rather than for
43964 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43965 guaranteed to be accessible.
a96f9caa 43966
b37a9222 439672008-02-08 Robert Millan <rmh@aybabtu.com>
43968
43969 * disk/raid.c: Update copyright.
43970 * fs/cpio.c: Likewise.
43971 * include/grub/raid.h: Likewise.
43972 * loader/i386/pc/multiboot.c: Likewise.
43973 * util/hostfs.c: Likewise.
43974
5626aee1 439752008-02-08 Robert Millan <rmh@aybabtu.com>
43976
43977 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43978 to a grub_disk_t array.
43979 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43980 `device[x]'.
43981 (grub_raid_scan_device): Replace `device[x].name' accesses with
43982 `device[x]->name'. Simplify initialization of `array->device[x]'.
43983
554f0187 439842008-02-08 Robert Millan <rmh@aybabtu.com>
43985
43986 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43987 grub_dprintf() calls.
43988 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43989 error message.
43990
1ec8425d 439912008-02-07 Christian Franke <franke@computer.org>
43992
43993 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43994 instead of fseek and ftell to support large files.
43995 (grub_hostfs_read): Likewise.
43996
f2156fda 439972008-02-07 Robert Millan <rmh@aybabtu.com>
43998
43999 Patch from Jeroen Dekkers.
44000 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44001 failure, since successfully reading all array members might not be
f2156fda 44002 required.
44003
9216e0e7 440042008-02-06 Robert Millan <rmh@aybabtu.com>
44005
44006 * util/grub-probe.c (probe): Simplify partmap probing (with the
44007 assumption that the first word up to the underscore equals to
44008 the module name).
44009
b0dfd29a 440102008-02-06 Christian Franke <franke@computer.org>
44011
44012 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44013 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44014 last block of a cpio or tar stream.
44015 Check for "TRAILER!!!" instead of any empty data
44016 block to detect last block of a cpio stream.
44017 (grub_cpio_dir): Fix constness of variable np.
44018 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44019 cpio or tar trailer is detected. This fixes a crash
44020 on open of a non existing file.
44021
c32865bf 440222008-02-05 Bean <bean123ch@gmail.com>
44023
44024 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44025 address of entry.
44026 (grub_multiboot_load_elf64): Likewise.
44027 (grub_multiboot): Initialize mbi structure.
44028
44029 * util/grub-fstest.c: Don't include unused header file script.h.
44030
fe6b695a 44031 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44032 of file.
44033 (grub_fstest_SOURCES): Likewise.
44034
409480b7 440352008-02-05 Robert Millan <rmh@aybabtu.com>
44036
44037 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44038 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44039 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44040 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44041
44042 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44043 (translation_table): Replace hardcoded values with macros
44044 provided by `<grub/term.h>'.
44045
44046 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44047 (keyboard_map): Correct/add a few values, with macros provided
44048 by `<grub/term.h>'.
44049 (keyboard_map_shift): Zero values that don't differ from their
44050 `keyboard_map' equivalents.
44051 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44052 Discard the second scan code that is always sent by Caps lock.
44053 Only use `keyboard_map_shift' when it provides a non-zero value,
44054 otherwise fallback to `keyboard_map'.
44055
99fadbaa 440562008-02-04 Bean <bean123ch@gmail.com>
44057
44058 * Makefile.in (enable_grub_fstest): New variable.
44059
44060 * conf/common.rmk (grub_fstest_init.lst): New rule.
44061 (grub_fstest_init.h): Likewise.
44062 (grub_fstest_init.c): Likewise.
44063 (util/grub-fstest.c_DEPENDENCIES): New variable.
44064 (grub_fstest_SOURCES): Likewise.
44065
44066 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44067
44068 * util/grub-fstest.c: New file.
44069
bf567c50 440702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44071
44072 Make grub-setup handle a separate root device.
f19dbdb7 44073
bf567c50 44074 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44075 so that the root device can be compared with the destination
44076 device.
44077 When embedding the core image, if the root and destination devices
44078 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44079 0xFF.
44080 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44081
9be6b98b 440822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44083
44084 Add support for having a grub directory in a different drive. This
44085 is still only the data handling part.
f19dbdb7 44086
9be6b98b 44087 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44088 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44089 (grub_root_drive): New variable.
44090
44091 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44092 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44093 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44094 as it was.
44095
44096 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44097
44098 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44099 macro.
44100 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44101
44102 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44103 is bogus, because PXE booting does not specify any drive
44104 correctly.
44105
44106 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44107 am not sure if this is really correct.
44108
44109 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44110 is always identical to the boot drive when booting from a CD.
44111
44112 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44113 longer.
44114 (root_drive): New variable.
44115 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44116 (setup_sectors): Push %dx right after popping it, because %dh will
44117 be modified later.
44118 (copy_buffer): Restore %dx.
44119
e0ca0677 441202008-02-03 Robert Millan <rmh@aybabtu.com>
44121
44122 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44123 use `cdboot.img' for cdrom images.
44124
3b3f6629 441252008-02-03 Robert Millan <rmh@aybabtu.com>
44126
44127 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44128 only setup gfxterm when `font' command has succeeded.
44129
d42b3672 441302008-02-03 Robert Millan <rmh@aybabtu.com>
44131
44132 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44133 (grub_rescue_cmd_multiboot_loader)
44134 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44135
fa370ea6 441362008-02-03 Pavel Roskin <proski@gnu.org>
44137
e0c5dacb 44138 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44139 %edx and %esi from stack only after grub_gate_a20() is called.
44140 grub_gate_a20() clobbers %edx.
44141
f2a76e1d 441422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44143
44144 * configure.ac (AC_INIT): Bumped to 1.96.
44145
44146 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44147 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44148 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44149 video/readers/png.c.
44150
90fd32d1 441512008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44152
44153 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44154 (cdboot_img_SOURCES): New variable.
44155 (cdboot_img_ASFLAGS): New variable.
44156 (cdboot_img_LDFLAGS): New variable.
44157
44158 * boot/i386/pc/cdboot.S: New file.
44159
44160 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44161 (cd_count): Likewise.
44162 (grub_biosdisk_get_drive): Add support for cd device.
44163 (grub_biosdisk_call_hook): Likewise.
44164 (grub_biosdisk_iterate): Likewise.
44165 (grub_biosdisk_open): Likewise.
44166 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44167 (grub_biosdisk_rw): Support reading from cd device.
44168 (GRUB_MOD_INIT): Iterate cd devices.
44169
44170 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44171 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44172 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44173
44174 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44175
4020aa53 441762008-02-02 Robert Millan <rmh@aybabtu.com>
44177
44178 * commands/read.c: New file.
44179 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44180 (read_mod_SOURCES): New variable.
44181 (read_mod_CFLAGS): Likewise.
44182 (read_mod_LDFLAGS): Likewise.
44183
e03a1132 441842008-02-02 Robert Millan <rmh@aybabtu.com>
44185
44186 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44187 determining whether menu has to be displayed.
44188
58c69220 441892008-02-02 Marco Gerards <marco@gnu.org>
44190
44191 * bus/pci.c: New file.
44192
44193 * include/grub/pci.h: Likewise.
44194
44195 * include/grub/i386/pc/pci.h: Likewise.
44196
44197 * commands/lspci.c: Likewise.
44198
44199 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44200 `lspci.mod'.
44201 (pci_mod_SOURCES): New variable.
44202 (pci_mod_CFLAGS): Likewise.
44203 (pci_mod_LDFLAGS): Likewise.
44204 (lspci_mod_SOURCES): Likewise.
44205 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44206 (lspci_mod_LDFLAGS): Likewise.
58c69220 44207
c004e1b4 442082008-02-02 Bean <bean123ch@gmail.com>
44209
44210 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44211 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44212
44213 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44214 (grub_xfs_btree_node): New structure.
44215 (grub_xfs_btree_root): New structure.
44216 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44217 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44218 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44219 (GRUB_XFS_EXTENT_SIZE): Likewise.
44220 (grub_xfs_read_block): Support btree format type.
44221 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44222 Use directory block as basic unit.
44223
44224 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44225
44226 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44227 __attribute__ ((__regparm__ (1))).
44228
f95562bf 442292008-02-01 Robert Millan <rmh@aybabtu.com>
44230
44231 Correct a mistake in previous commit.
44232
44233 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44234 top.
44235 (normal/command.c_DEPENDENCIES): New variable.
44236
7d31f41f 442372008-02-01 Robert Millan <rmh@aybabtu.com>
44238
44239 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44240 top.
44241 (normal/command.c_DEPENDENCIES): New variable.
44242 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44243 * conf/i386-ieee1275.rmk: Likewise.
44244 * conf/i386-linuxbios.rmk: Likewise.
44245 * conf/i386-pc.rmk: Likewise.
44246 * conf/sparc64-ieee1275.rmk: Likewise.
44247 * conf/powerpc-ieee1275.rmk: Likewise.
44248 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44249
44250 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44251
60b6be74 442522008-02-01 Robert Millan <rmh@aybabtu.com>
44253
44254 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44255 call at beginning of function.
44256
078522ab 442572008-01-31 Pavel Roskin <proski@gnu.org>
44258
44259 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44260 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44261 (grub_mkrescue_SOURCES): Likewise.
078522ab 44262 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44263
ccaa8a5f 442642008-01-30 Robert Millan <rmh@aybabtu.com>
44265
44266 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44267 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44268 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44269 (grub_probe_SOURCES): ... to here.
44270
44271 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44273 * conf/i386-ieee1275.rmk: Likewise.
44274 * conf/i386-linuxbios.rmk: Likewise.
44275 * conf/powerpc-ieee1275.rmk: Likewise.
44276
ae5a9cd7 442772008-01-30 Tristan Gingold <gingold@free.fr>
44278
44279 * kern/rescue.c: Silently accept empty lines.
44280
70bc2ef2 442812008-01-29 Bean <bean123ch@gmail.com>
44282
44283 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44284 (real_code_2): Code cleanup and change comment style.
44285 (move_memory): Avoid using 32-bit address mode.
44286
6a4d50ea 442872008-01-29 Bean <bean123ch@gmail.com>
44288
44289 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44290 (png_mod_SOURCES): New variable.
44291 (png_mod_CFLAGS): Likewise.
44292 (png_mod_LDFLAGS): Likewise.
44293
44294 * video/readers/png.c: New file.
44295
11cc30ac 442962008-01-28 Robert Millan <rmh@aybabtu.com>
44297
44298 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44299 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44300 `ifndef GRUB_MOD_GAP' hack.
44301 * util/elf/grub-mkimage.c (add_segments): Likewise.
44302
3abc589f 443032008-01-27 Robert Millan <rmh@aybabtu.com>
44304
44305 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44306 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44307 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44308
e1907778 443092008-01-27 Robert Millan <rmh@aybabtu.com>
44310
44311 Get grub-emu to build again (including parallel builds).
44312
44313 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44314 Split into ...
44315 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44316 (normal/execute.c_DEPENDENCIES): ... this, ...
44317 (grub-emu_DEPENDENCIES): ... and this.
44318
44319 * conf/i386-efi.rmk: Likewise.
44320 * conf/i386-linuxbios.rmk: Likewise.
44321 * conf/i386-ieee1275.rmk: Likewise.
44322 * conf/powerpc-ieee1275.rmk: Likewise.
44323 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44324
2216b101 443252008-01-27 Robert Millan <rmh@aybabtu.com>
44326
44327 * NEWS: Add a few items.
44328
f75172d9 443292008-01-27 Robert Millan <rmh@aybabtu.com>
44330
44331 Fix parallel builds with grub-emu. Based on earlier commit for
44332 grub-probe and grub-setup.
44333
44334 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44335 (util/grub-emu.c_DEPENDENCIES): ... this.
44336 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44337 (util/grub-emu.c_DEPENDENCIES): ... this.
44338 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44339 (util/grub-emu.c_DEPENDENCIES): ... this.
44340 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44341 (util/grub-emu.c_DEPENDENCIES): ... this.
44342 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44343 (util/grub-emu.c_DEPENDENCIES): ... this.
44344
3f51de77 443452008-01-27 Pavel Roskin <proski@gnu.org>
44346
44347 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44348 to create a gap between _end and the modules added to the image
44349 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44350 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44351 * util/elf/grub-mkimage.c (add_segments): Likewise.
44352
2033f53e 443532008-01-26 Pavel Roskin <proski@gnu.org>
44354
44355 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44356 just return an error.
44357
22da1f6f 443582008-01-26 Bean <bean123ch@gmail.com>
44359
44360 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44361 (grub_reiserfs_get_item): Save offset of the next item.
44362 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44363
2a9525e6 443642008-01-25 Robert Millan <rmh@aybabtu.com>
44365
44366 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44367 make all filesystem sources appear together (possibly fixing omissions
44368 while at it).
44369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44370 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44371 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44373
44374 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44375 add `kern/file.c'.
44376 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44377 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44378 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44379 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44380
44381 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44382 (probe): Add a sanity check to make sure of our ability to read
44383 requested files when probing for filesystem type.
44384
44385 * genmk.rb: Update copyright year (2007).
44386
44387 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44388 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44389 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44390 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44391 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44392 : Remove function prototypes.
44393
b95f71b5 443942008-01-25 Robert Millan <rmh@aybabtu.com>
44395
44396 Revert my previous commits (based on wrong assumption of how grub_errno
44397 works).
44398
fe6b695a 44399 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44400 * kern/file.c (grub_file_open): Likewise.
44401
d08bbb49 444022008-01-24 Pavel Roskin <proski@gnu.org>
44403
44404 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44405 that hang if GRUB tries to setup colors.
44406 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44407 colors for firmwares that don't support it.
44408 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44409 Recognize Open Hack'Ware, set flags to work around its
44410 limitations.
44411
605e36ed 444122008-01-24 Robert Millan <rmh@aybabtu.com>
44413
44414 * kern/file.c (grub_file_open): Do not account previous failures of
44415 unrelated functions when grub_errno is checked for.
44416 Reported by Oleg Strikov.
44417
bac332a1 444182008-01-24 Bean <bean123ch@gmail.com>
44419
44420 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44421 (grub_ufs_sblock): New member volume name.
44422 (grub_ufs_find_file): Fix string copy bug.
44423 (grub_ufs_label): Implement this function properly.
44424
44425 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44426 (grub_hfs_iterate_records): Use the correct file number for extents
44427 and catalog file. Fix problem in next index calculation.
44428 (grub_hfs_find_node): Replace recursive function call with loop.
44429 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44430
15c80c09 444312008-01-23 Robert Millan <rmh@aybabtu.com>
44432
44433 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44434 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44435 (grub_multiboot2_real_boot): New function prototype.
44436
44437 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44438 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44439
44440 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44441 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44442
305338fd 444432008-01-23 Robert Millan <rmh@aybabtu.com>
44444
44445 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44446 #ifdef'ed out grub_printf().
44447
3ea52685 444482008-01-23 Robert Millan <rmh@aybabtu.com>
44449
44450 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44451 grub_dprintf calls, since they make "debug=all" mode unusable.
44452 (grub_console_checkkey): Likewise.
44453
5882ae4b 444542008-01-23 Robert Millan <rmh@aybabtu.com>
44455
44456 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44457 `term/i386/pc/at_keyboard.c'.
44458 (pkglib_MODULES): Add `serial.mod'.
44459 (serial_mod_SOURCES): New variable.
44460 (serial_mod_CFLAGS): Likewise.
44461 (serial_mod_LDFLAGS): Likewise.
44462
44463 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44464 `<grub/powerpc/ieee1275/console.h>'.
44465 (grub_keyboard_controller_init): New function prototype.
44466 (grub_console_checkkey): Likewise.
44467 (grub_console_getkey): Likewise.
44468
44469 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44470 keyboard on i386.
44471
44472 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44473 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44474
06ab5303 444752008-01-23 Robert Millan <rmh@aybabtu.com>
44476
44477 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44478 present, "(memdisk)/boot/grub" becomes the default prefix.
44479
44480 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44481 a memdisk tarball with all the modules. Add --overlay=DIR option that
44482 allows users to overlay additional files into the image.
44483
dbb475a4 444842008-01-23 Robert Millan <rmh@aybabtu.com>
44485
44486 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44487 and `machine/memory.h'.
44488 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44489 (_multiboot_mod_SOURCES): New variable.
44490 (_multiboot_mod_CFLAGS): Likewise.
44491 (_multiboot_mod_LDFLAGS): Likewise.
44492 (multiboot_mod_SOURCES): Likewise.
44493 (multiboot_mod_CFLAGS): Likewise.
44494 (multiboot_mod_LDFLAGS): Likewise.
44495
44496 * include/grub/i386/ieee1275/loader.h: New file.
44497
44498 * include/grub/i386/ieee1275/machine.h: Likewise.
44499
44500 * include/grub/i386/ieee1275/memory.h: Likewise.
44501
44502 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44503 variable declaration.
44504 (grub_os_area_size): Likewise.
44505
44506 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44507 (grub_lower_mem, grub_upper_mem): New variables.
44508 (grub_stop_floppy): New function (just to make
44509 grub_multiboot2_real_boot() happy).
44510
44511 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44512 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44513 (grub_stop): New function.
44514 Include `"../realmode.S"' and `"../loader.S"'.
44515
44516 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44517 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44518
44519 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44520 rely on grub_multiboot2_real_boot() for final boot.
44521
25638629 445222008-01-22 Robert Millan <rmh@aybabtu.com>
44523
44524 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44525 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44526 device that doesn't look like an SD card.
44527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44528 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44529 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44530 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44531 found.
44532
9dad816d 445332008-01-22 Robert Millan <rmh@aybabtu.com>
44534
44535 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44536 avoid claiming over our own code.
44537
34842f2d 445382008-01-22 Bean <bean123ch@gmail.com>
44539
44540 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44541 (jpeg_mod_SOURCES): New variable.
44542 (jpeg_mod_CFLAGS): Likewise.
44543 (jpeg_mod_LDFLAGS): Likewise.
44544
44545 * video/readers/jpeg.c : New file.
44546
44023a28 445472008-01-22 Bean <bean123ch@gmail.com>
44548
44549 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44550 there are no more items.
44551
bc2d8ac6 445522008-01-21 Robert Millan <rmh@aybabtu.com>
44553
44554 * kern/mm.c (grub_mm_init_region): Improve debug message.
44555
261bd4bc 445562008-01-21 Robert Millan <rmh@aybabtu.com>
44557
44558 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44559 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44560 address.
44561 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44562 a C macro.
44563 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44564 Indicates start of upper memory.
44565 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44566 (generate_image): Abort when image size is big enough to corrupt
44567 upper memory.
44568
44569 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44570 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44571 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44572 instead of hardcoding 0xA0000.
44573 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44574 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44575 instead of hardcoding 0xA0000.
44576
f970b55e 445772008-01-21 Robert Millan <rmh@aybabtu.com>
44578
44579 * disk/memdisk.c (memdisk_size): New variable.
44580 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44581 `memdisk_size'.
44582 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44583 image to dynamic memory.
44584 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44585 `memdisk_size'. Free memdisk block.
44586
1a8b0526 445872008-01-21 Robert Millan <rmh@aybabtu.com>
44588
44589 Fix detection of very small filesystems (like tar).
44590
44591 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44592 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44593 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44594 a problem with this disk).
44595
6e9b4aab 445962008-01-21 Robert Millan <rmh@aybabtu.com>
44597
44598 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44599 on grub_biosdisk_rw_standard() error.
44600
0d8837b2 446012008-01-21 Robert Millan <rmh@aybabtu.com>
44602
44603 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44604 recent changes.
44605 * kern/elf.c: Likewise.
44606 * kern/ieee1275/ieee1275.c: Likewise.
44607 * kern/powerpc/ieee1275/openfw.c: Likewise.
44608 * term/ieee1275/ofconsole.c: Likewise.
44609
ffd36e34 446102008-01-21 Robert Millan <rmh@aybabtu.com>
44611
44612 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44613
3f0093d0 44614 * include/grub/kernel.h (grub_arch_memdisk_addr)
44615 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44616
3f0093d0 44617 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44618 (grub_arch_memdisk_size): ... to here.
ffd36e34 44619
6c391b21 446202008-01-21 Robert Millan <rmh@aybabtu.com>
44621
44622 Mostly based on bugfix from Bean.
44623
44624 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44625 attribute with hook() parameter.
44626 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44627 declaration.
44628 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44629 attribute with hook() parameter.
44630 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44631 declaration.
44632
55a581dc 446332008-01-21 Robert Millan <rmh@aybabtu.com>
44634
44635 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44636 (pkglib_MODULES): Add `memdisk.mod'.
44637 (memdisk_mod_SOURCES): New variable.
44638 (memdisk_mod_CFLAGS): Likewise.
44639 (memdisk_mod_LDFLAGS): Likewise.
44640
44641 * disk/memdisk.c: New file.
44642
44643 * include/grub/disk.h (grub_disk_dev_id): Add
44644 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44645
44646 * include/grub/i386/pc/kernel.h
44647 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44648 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44649 (grub_kernel_image_size): New variable declaration.
44650 (grub_total_module_size): Likewise.
44651 (grub_memdisk_image_size): Likewise.
44652
44653 * include/grub/i386/pc/memory.h
44654 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44655
44656 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44657 (grub_arch_memdisk_addr): New variable declaration.
44658 (grub_arch_memdisk_size): Likewise.
44659
44660 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44661 (grub_arch_memdisk_size): Likewise.
44662
44663 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44664 (codestart): Replace hardcoded `0x100000' with
44665 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44666
44667 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44668 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44669 not NULL, append the contents of the file it refers to, at the end of
44670 the compressed kernel image. Initialize `grub_memdisk_image_size'
44671 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44672 (options): Add "memdisk"|'m' option.
44673 (main): Parse --memdisk|-m option, and pass user-provided path as
44674 parameter to generate_image().
44675
3d7f54c9 446762008-01-20 Robert Millan <rmh@aybabtu.com>
44677
44678 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44679 grub_dprintf() calls from here ...
44680 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44681
0bf74728 446822008-01-20 Robert Millan <rmh@aybabtu.com>
44683
44684 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44685
44686 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44687 declaration.
44688 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44689 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44690 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44691 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44692 property).
44693 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44694 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44695
33bf70a7 446962008-01-19 Robert Millan <rmh@aybabtu.com>
44697
fe6b695a 44698 Get rid of confusing function (superseded by
33bf70a7 44699 `grub_ieee1275_get_integer_property')
44700 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44701 prototype.
44702 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44703 function.
44704 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44705 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44706 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44707
e2da7d26 447082008-01-19 Robert Millan <rmh@aybabtu.com>
44709
44710 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44711 command after "shut-down", since implementations differ on which
44712 the command for halt is.
44713
59f1fd8d 447142008-01-19 Robert Millan <rmh@aybabtu.com>
44715
44716 * include/grub/i386/linuxbios/console.h: Add header protection.
44717 (grub_keyboard_controller_init): New function prototype.
44718 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44719 (KEYBOARD_COMMAND_READ): Likewise.
44720 (KEYBOARD_COMMAND_WRITE): Likewise.
44721 (KEYBOARD_SCANCODE_SET1): Likewise.
44722 (grub_keyboard_controller_write): New function.
44723 (grub_keyboard_controller_read): Likewise.
44724 (grub_keyboard_controller_init): Likewise.
44725
44726 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44727 (grub_console_init): On coreboot/LinuxBIOS, call
44728 grub_keyboard_controller_init().
44729
5f5a7c15 447302008-01-19 Robert Millan <rmh@aybabtu.com>
44731
44732 PowerPC changes provided by Pavel Roskin.
44733
44734 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44735 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44736 don't rely on cmain() doing it.
44737 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44738 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44739
1210e168 447402008-01-16 Robert Millan <rmh@aybabtu.com>
44741
44742 * include/grub/i386/linuxbios/memory.h
44743 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44744 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44745 receive `table_header' as argument. Instead, probe for it in the
44746 known memory ranges where it can be present.
44747 (grub_available_iterate): Do not pass a fixed `table_header' address
44748 to grub_linuxbios_table_iterate().
44749
3d04eab8 447502008-01-15 Robert Millan <rmh@aybabtu.com>
44751
44752 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44753 * conf/i386-ieee1275.rmk: New file.
44754 * include/grub/i386/ieee1275/console.h: Likewise.
44755 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44756 * include/grub/i386/ieee1275/kernel.h: Likewise.
44757 * include/grub/i386/ieee1275/time.h: Likewise.
44758 * kern/i386/ieee1275/init.c: Likewise.
44759 * kern/i386/ieee1275/startup.S: Likewise.
44760
d1bc1b73 447612008-01-15 Robert Millan <rmh@aybabtu.com>
44762
44763 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44764 when pointers are 32-bit (but still do set it to one when they are
44765 64-bit).
44766
66a65807 447672008-01-15 Robert Millan <rmh@aybabtu.com>
44768
44769 * include/grub/ieee1275/ieee1275.h
44770 (grub_ieee1275_get_integer_property): New function prototype.
44771
44772 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44773 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44774 grub_ieee1275_get_property() to handle endianness.
66a65807 44775
44776 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44777 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44778 where appropriate.
66a65807 44779 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44780 (grub_map): Likewise.
44781 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44782
a83ccafd 447832008-01-15 Bean <bean123ch@gmail.com>
44784
44785 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44786 (grub_script_execute_cmdline): Reset grub_errno.
44787
44788 * normal/main.c (read_config_file): Reset grub_errno.
44789
44790 * normal/parse.y (script_init): New.
44791 (script): Move function and menuentry here.
44792 (delimiter): New.
44793 (command): Add delimiter at the end of command.
44794 (commands): Adjust to match the new command.
44795 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44796 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44797 (if): Use the new commands.
44798
44799 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44800
df6ecfc6 448012008-01-15 Robert Millan <rmh@aybabtu.com>
44802
44803 * normal/menu.c (run_menu): Move timeout message from here ...
44804 (print_timeout): ... to here.
44805 (run_menu): Use print_timeout() once during initial draw to print
44806 the whole message, and again in every clock tick to update only
44807 the number of seconds.
44808
87ae25eb 448092008-01-15 Robert Millan <rmh@aybabtu.com>
44810
44811 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44812 actual size of `available' from grub_ieee1275_get_property(), and
44813 restrict parsing to that bound.
44814
47bf09a4 448152008-01-15 Christian Franke <franke@computer.org>
44816
44817 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44818 (argp_program_version): Remove variable.
44819 (argp_program_bug_address): Likewise.
44820 (options): Convert from struct argp_option to struct option.
44821 (struct arguments): Remove.
44822 (parse_opt): Remove.
44823 (usage): New function.
44824 (main): Replace struct args members by simple variables.
44825 Replace argp_parse() by getopt_long().
44826 Add switch to evaluate options.
44827 Add missing "(...)" around root_dev in prefix string.
44828
c86f1469 448292008-01-14 Robert Millan <rmh@aybabtu.com>
44830
44831 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44832 for grub_ieee1275_exit(), in order to improve portability.
44833
e622c559 448342008-01-14 Robert Millan <rmh@aybabtu.com>
44835
44836 * util/grub.d/10_linux.in (prefix): Define.
44837 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44838
44cb1ec8 448392008-01-13 Pavel Roskin <proski@gnu.org>
44840
44841 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44842 grub_errno if no errors have been detected.
44843
1eb8c802 448442008-01-12 Robert Millan <rmh@aybabtu.com>
44845
44846 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44847 (grub_util_get_dev_abstraction): New function prototype.
44848
44849 * util/getroot.c: Include `<grub/util/getroot.h>'
44850 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44851 (grub_util_get_dev_abstraction): ... here (new function).
44852
44853 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44854 `PRINT_ABSTRACTION'.
44855 (probe): Probe for abstraction type when requested.
44856 (main): Understand `--target=abstraction'.
44857
44858 * util/i386/efi/grub-install.in: Add abstraction module to core
44859 image when it is found to be necessary.
44860 * util/i386/pc/grub-install.in: Likewise.
44861 * util/powerpc/ieee1275/grub-install.in: Likewise.
44862
44863 * util/update-grub_lib.in (font_path): Return system path without
44864 converting to GRUB path.
44865 * util/update-grub.in: Convert system path returned by font_path()
44866 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44867 abstraction module is needed for loading fonts (if any). Export
44868 that as `GRUB_PRELOAD_MODULES'.
44869 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44870 insmod commands).
44871
52bd3de9 448722008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44873
44874 Remove some unused code from reiserfs.
f19dbdb7 44875
52bd3de9 44876 * fs/reiserfs.c (struct grub_reiserfs_key)
44877 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44878 (struct grub_reiserfs_node_body): Removed.
44879 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44880 Likewise.
44881 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44882 Likewise.
44883 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44884 Likewise.
44885 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44886 Likewise.
44887 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44888 Likewise.
44889 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44890 Likewise.
44891 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44892 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44893 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44894
2f80039d 448952008-01-10 Robert Millan <rmh@aybabtu.com>
44896
44897 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44898 Determines if a file is garbage left by packaging systems, etc.
44899 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44900 for processing /etc/grub.d scripts.
44901 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44902 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44903 as a condition for processing Linux images.
44904
87888032 449052008-01-10 Pavel Roskin <proski@gnu.org>
44906
44907 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44908 to compile reiserfs.c on PowerPC.
44909
7e54fced 449102008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44911
44912 * kern/device.c (grub_device_iterate): Do not abort device iteration
44913 when one of the devices cannot be opened.
44914 * kern/disk.c (grub_disk_open): Do not account previous failures of
44915 unrelated functions when grub_errno is checked for.
44916
5aa541e6 449172008-01-08 Robert Millan <rmh@aybabtu.com>
44918
44919 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44920 `! grub_linux_is_bzimage', change order of address comparison to make
44921 it more intuitive, and improve "too big zImage" error message.
44922
7076340d 449232008-01-08 Robert Millan <rmh@aybabtu.com>
44924
44925 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44926 `$(update-grub_DATA)'.
44927 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44928 targets.
44929
9ca70333 449302008-01-07 Robert Millan <rmh@aybabtu.com>
44931
44932 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44933 which instruction is modified by grub-setup during installation
44934 (since it wasn't obvious by only looking at this file).
44935
38ccf575 449362008-01-07 Robert Millan <rmh@aybabtu.com>
44937
44938 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44939 listing actual TODO items.
44940
f5db4291 449412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44942
868967cf 44943 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44944 correctly.
44945 (grub_reiserfs_get_key_offset): Likewise.
44946 (grub_reiserfs_set_key_offset): Likewise.
44947 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44948 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44949
44950 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44951 better to remove the bitfield version completely.
f19dbdb7 44952
868967cf 449532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44954
f5db4291 44955 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44956 allocated from the heap, due to the fshelp implementation.
44957 (grub_reiserfs_dir): Free NODE, due to the same reason.
44958
492e6d9d 449592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44960
44961 Mostly from Vincent Pelletier:
f19dbdb7 44962
492e6d9d 44963 * fs/reiserfs.c: New file.
f19dbdb7 44964
492e6d9d 44965 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44966 (reiserfs_mod_SOURCES): New variable.
44967 (reiserfs_mod_CFLAGS): Likewise.
44968 (reiserfs_mod_LDFLAGS): Likewise.
44969
44970 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44971 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44972 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44973 normal/color.c.
44974
9ce3e7c1 449752008-01-06 Robert Millan <rmh@aybabtu.com>
44976
44977 * normal/color.c: Remove `<grub/env.h>'.
44978
f3b58148 449792008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44980
44981 * include/grub/normal.h: Include <grub/env.h>.
44982
7ac3bcfa 449832008-01-05 Robert Millan <rmh@aybabtu.com>
44984
44985 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44986 usage example with `(hd0,1)'.
fb358190 44987 Reported by Samuel Thibault.
7ac3bcfa 44988
c8ee99d7 449892008-01-05 Robert Millan <rmh@aybabtu.com>
44990
44991 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44992 (grub_linux_boot_zimage): Rename to ...
44993 (grub_linux_boot): ... this.
44994 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44995 (grub_linux_boot_zimage): Conditionalize zImage copy.
44996
44997 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44998 (grub_linux_boot_bzimage): Remove prototype.
44999 (grub_linux_boot_zimage): Rename to ...
45000 (grub_linux_boot): ... this.
45001
45002 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45003 (grub_linux_boot): Remove function.
45004
0ece25b1 450052008-01-05 Robert Millan <rmh@aybabtu.com>
45006
45007 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45008 (grub_env_write_color_highlight): Likewise.
45009 (grub_wait_after_message): Likewise.
45010
45011 * normal/color.c: New file.
45012
45013 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45014 (normal_mod_DEPENDENCIES): Likewise.
45015
45016 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45017 (normal_mod_DEPENDENCIES): Likewise.
45018
45019 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45020 (normal_mod_DEPENDENCIES): Likewise.
45021
45022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45023 (normal_mod_DEPENDENCIES): Likewise.
45024
45025 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45026 for waiting after a message is printed.
45027 * normal/main.c (read_config_file): Likewise.
45028 (grub_normal_init): Register grub_env_write_color_normal() and
45029 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45030 `color_highlight' variables as global.
45031
45032 * normal/menu.c (grub_wait_after_message): New function.
45033 (grub_color_menu_normal): New variable. Replaces ...
45034 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45035 (grub_color_menu_highlight): New variable. Replaces ...
45036 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45037 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45038 `GRUB_TERM_COLOR_STANDARD'.
45039 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45040 `normal_code' and `highlight_code' to `old_color_normal' and
45041 `old_color_highlight', respectively.
45042 (grub_menu_init_page): Update colors when drawing the menu, based on
45043 `menu_color_normal' and `menu_color_highlight' variables.
45044 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45045 a message is printed.
45046
182dd4e5 450472008-01-05 Robert Millan <rmh@aybabtu.com>
45048
45049 * kern/env.c (grub_env_context_open): Propagate hooks for global
45050 variables to new context.
45051
45052 * kern/main.c (grub_set_root_dev): Export `root' variable.
45053
ddf8f6ad 450542008-01-05 Robert Millan <rmh@aybabtu.com>
45055
45056 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45057 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45058 them.
45059
d8b43d9b 450602008-01-05 Robert Millan <rmh@aybabtu.com>
45061
45062 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45063
2bff2de3 450642008-01-04 Christian Franke <franke@computer.org>
45065
45066 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45067 of eisa_mmap.
45068
97eab917 450692008-01-03 Pavel Roskin <proski@gnu.org>
45070
45071 * kern/i386/linuxbios/init.c: Put "void" to all function
45072 declarations with no arguments.
45073 * kern/powerpc/ieee1275/init.c: Likewise.
45074 * term/i386/pc/at_keyboard.c: Likewise.
45075 * term/i386/pc/vga_text.c: Likewise.
45076 * util/grub-mkdevicemap.c: Likewise.
45077
b9416d00 450782008-01-02 Robert Millan <rmh@aybabtu.com>
45079
45080 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45081 message when loaded image is out of bounds.
45082 (grub_multiboot_load_elf64): Likewise.
45083
92695df9 450842008-01-02 Pavel Roskin <proski@gnu.org>
45085
45086 * util/grub.d/10_linux.in: Try version without ".old" when
45087 looking for initrd. It's better to use initrd from the newer
45088 kernel of the same version than no initrd at all.
45089
d98d9cad 450902008-01-01 Robert Millan <rmh@aybabtu.com>
45091
45092 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45093
dbfdce36 450942008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45095
f19dbdb7 45096 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45097 grub_video_get_active_render_target.
45098 (grub_video_adapter): Added unmap_color and get_active_render_target.
45099
f19dbdb7 45100 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45101 grub_video_get_active_render_target.
45102 (grub_video_get_info): Changed method to accept NULL pointer as an
45103 argument to allow detection of active video adapter.
45104
45105 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45106 grub_video_vbe_unmap_color_int.
45107 Added grub_video_vbe_unmap_color and
45108 grub_video_vbe_get_active_render_target.
45109 (grub_video_vbe_adapter): Added unmap_color and
45110 get_active_render_target.
45111
f19dbdb7 45112 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45113 with grub_video_vbe_unmap_color_int.
45114
45115 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45116 (DEFAULT_NORMAL_COLOR): Likewise.
45117 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45118 (DEFAULT_FG_COLOR): Removed.
45119 (DEFAULT_BG_COLOR): Likewise.
45120 (DEFAULT_CURSOR_COLOR): Changed value.
45121 (grub_virtual_screen): Added standard_color_setting,
45122 normal_color_setting, highlight_color_setting and term_color.
45123 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45124 (bitmap_width): Added.
45125 (bitmap_height): Likewise.
45126 (bitmap): Likewise.
45127 (set_term_color): Likewise.
45128 (grub_virtual_screen_setup): Changed to use new terminal coloring
45129 settings.
45130 (grub_gfxterm_init): Added init for bitmap.
45131 (grub_gfxterm_fini): Added destroy for bitmap.
45132 (redraw_screen_rect): Updated to use background bitmap and new
45133 terminal coloring.
45134 (scroll_up): Added optimization for case when there is no bitmap.
45135 (grub_gfxterm_cls): Fixed to use correct background color.
45136 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45137 coloring.
45138 (grub_virtual_screen_setcolor): Likewise.
45139 (grub_virtual_screen_getcolor): Added.
45140 (grub_gfxterm_background_image_cmd): Likewise.
45141 (grub_video_term): Added setcolor and getcolor.
45142 (MOD_INIT): Added registration of background_image command.
45143 (MOD_TERM): Added unregistration for background_image command.
45144
c3c20931 451452007-12-30 Pavel Roskin <proski@gnu.org>
45146
45147 * loader/multiboot_loader.c: Fix multiboot command
45148 unregistration. Fix all typos in the word "multiboot".
45149
df266716 451502007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45151
45152 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45153 support for initrd names used in Fedora.
45154
fc6e896c 451552007-12-26 Bean <bean123ch@gmail.com>
45156
45157 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45158 (cpio_mod_SOURCES): New variable.
45159 (cpio_mod_CFLAGS): Likewise.
45160 (cpio_mod_LDFLAGS): Likewise.
45161
45162 * fs/cpio.c: New file.
45163
45164 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45165
45166 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45167
45168 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45169
45170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45171
533110ad 451722007-12-25 Robert Millan <rmh@aybabtu.com>
45173
45174 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45175 (grub_getcolor): New function.
45176
45177 * kern/term.c (grub_getcolor): New function.
45178 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45179 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45180 (print_entry): Set normal and highlight colors to
45181 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45182 respectively, before printing and restore them to old
45183 values afterwards.
45184 (grub_menu_init_page): Likewise. Fill an additional colored space
45185 that would otherwise be left blank.
45186
45187 * term/efi/console.c (grub_console_getcolor): New function.
45188 (struct grub_console_term.getcolor): New variable.
45189 * term/i386/pc/console.c (grub_console_getcolor): New function.
45190 (struct grub_console_term.getcolor): New variable.
45191 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45192 (struct grub_console_term.getcolor): New variable.
45193
45194 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45195 (struct grub_console_term.setcolor): Remove variable.
45196 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45197 (struct grub_console_term.setcolor): Remove variable.
45198 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45199 (struct grub_console_term.setcolor): Remove variable.
45200 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45201 (struct grub_console_term.setcolor): Remove variable.
45202
4931827f 452032007-12-25 Robert Millan <rmh@aybabtu.com>
45204
45205 * configure.ac: Search for possible unifont.hex locations, and
45206 define UNIFONT_HEX if found.
45207
45208 * Makefile.in (UNIFONT_HEX): Define variable.
45209 (DATA): Rename to ...
45210 (PKGLIB): ... this. Update all users.
45211 (PKGDATA): New variable.
45212 (pkgdata_IMAGES): Rename to ...
45213 (pkglib_IMAGES): ... this. Update all users.
45214 (pkgdata_MODULES): Rename to ...
45215 (pkglib_MODULES): ... this. Update all users.
45216 (pkgdata_PROGRAMS): Rename to ...
45217 (pkglib_PROGRAMS): ... this. Update all users.
45218 (pkgdata_DATA): Rename to ...
45219 (pkglib_DATA): ... this. Update all users.
45220 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45221 (unicode.pff, ascii.pff): New rules.
45222 (all-local): Add `$(PKGDATA)' dependency.
45223 (install-local): Process `$(PKGDATA)'.
45224
45225 * util/update-grub_lib.in (font_path): Search for *.pff files in
45226 a few more locations, including `${pkgdata}'.
45227
57e57e31 452282007-12-23 Robert Millan <rmh@aybabtu.com>
45229
45230 Patch from Bean <bean123ch@gmail.com>:
45231 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45232 `size'.
45233
4bc72aa9 452342007-12-21 Bean <bean123ch@gmail.com>
45235
45236 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45237 (ntfscomp_mod_SOURCES): New variable.
45238 (ntfscomp_mod_CFLAGS): Likewise.
45239 (ntfscomp_mod_LDFLAGS): Likewise.
45240
45241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45242 (grub_probe_SOURCES): Likewise.
45243 (grub_emu_SOURCES): Likewise.
45244
45245 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45246 (grub_emu_SOURCES): Likewise.
45247
45248 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45249 (grub_emu_SOURCES): Likewise.
45250
45251 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45252 (grub_emu_SOURCES): Likewise.
45253
45254 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45255 (read_run_list): Renamed to grub_ntfs_read_run_list.
45256 (decomp_nextvcn): Moved to ntfscomp.c.
45257 (decomp_getch): Likewise.
45258 (decomp_get16): Likewise.
45259 (decomp_block): Likewise.
45260 (read_block): Likewise.
45261 (read_data): Partially moved to ntfscomp.c.
45262 (fixup): Change unsigned to grub_uint16_t.
45263 (read_mft): Change unsigned long to grub_uint32_t.
45264 (read_attr): Likewise.
45265 (read_data): Likewise.
45266 (read_run_data): Likewise.
45267 (read_run_list): Likewise.
45268 (read_mft): Likewise.
45269
45270 * fs/ntfscomp.c: New file.
45271
45272 * include/grub/ntfs.h: New file.
45273
af680a87 452742007-12-16 Robert Millan <rmh@aybabtu.com>
45275
45276 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45277 IDE disk check, since Linux is known to support 20 IDE disks.
45278 Reported by Colin Watson.
45279
84be7599 452802007-12-15 Bean <bean123ch@gmail.com>
45281
45282 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45283 (lnxboot_img_SOURCES): New variable.
45284 (lnxboot_img_ASFLAGS): Likewise.
45285 (lnxboot_img_LDFLAGS): Likewise.
45286
45287 * boot/i386/pc/lnxboot.S: New file.
45288
6af9db01 452892007-11-24 Pavel Roskin <proski@gnu.org>
45290
45291 * configure.ac: Test if '--build-id=none' is supported by the
45292 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45293 objcopy to generate incorrect binary files (binutils
45294 2.17.50.0.18-1 as shipped by Fedora 8).
45295 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45296 linking, so that build ID doesn't break the test.
45297
7361cfe6 452982007-11-24 Pavel Roskin <proski@gnu.org>
45299
45300 * include/grub/i386/time.h: use "void" in the argument list
45301 of grub_cpu_idle().
45302 * include/grub/powerpc/time.h: Likewise.
45303 * include/grub/sparc64/time.h: Likewise.
45304
1593e10c 453052007-11-18 Christian Franke <franke@computer.org>
45306
45307 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45308 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45309 This fixes the problem that function keys did not work in grub-emu.
45310
3b8db1a8 453112007-11-18 Christian Franke <franke@computer.org>
45312
45313 * disk/host.c (grub_host_open): Remove attribute unused from
45314 name parameter. Add check for "host". This fixes the problem
45315 that grub-emu does not find partitions.
45316
2e29408d 453172007-11-18 Christian Franke <franke@computer.org>
45318
45319 * util/hostfs.c (is_dir): New function.
45320 (grub_hostfs_dir): Handle missing dirent.d_type case.
45321 (grub_hostfs_read): Add missing fseek().
45322 (grub_hostfs_label): Clear label pointer. This fixes a crash
45323 of grub-emu on "ls (host)".
45324
398cd047 453252007-11-18 Christian Franke <franke@computer.org>
45326
45327 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45328 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45329 to 64 bit boundary by default.
45330
c405c391 453312007-11-18 Bean <bean123ch@gmail.com>
45332
45333 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45334 (hexdump_mod_SOURCES): New variable.
45335 (hexdump_mod_CFLAGS): Likewise.
45336 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45337
c405c391 45338 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45339
45340 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45341
45342 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45343
45344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45345
45346 * include/grub/hexdump.h: New file.
45347
45348 * commands/hexdump.c: New file.
45349
5cced7fd 453502007-11-10 Robert Millan <rmh@aybabtu.com>
45351
45352 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45353 in grub_outb() calls.
45354 (beep_on): Likewise.
45355
8b714eb0 453562007-11-10 Christian Franke <franke@computer.org>
45357
45358 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45359 (grub_menu_run): Likewise.
45360
ce0f1839 453612007-11-10 Robert Millan <rmh@aybabtu.com>
45362
45363 * include/grub/i386/efi/machine.h: New file.
45364 * include/grub/i386/linuxbios/machine.h: Likewise.
45365 * include/grub/i386/pc/machine.h: Likewise.
45366 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45367 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45368
45369 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45370 (serial_hw_io_addr): New variable.
45371 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45372 instead of `(unsigned short *) 0x400'.
45373
270c237d 453742007-11-10 Bean <bean123ch@gmail.com>
45375
45376 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45377
a87783bf 453782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45379
45380 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45381 (vga_mod_SOURCES): Added.
45382 (vga_mod_CFLAGS): Likewise.
45383 (vga_mod_LDFLAGS): Likewise.
45384
45385 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45386 grub_outb() calls.
45387 (set_map_mask): Likewise.
45388 (set_read_map): Likewise.
45389 (set_read_address): Likewise.
45390 (vga_font): Removed variable.
45391 (get_vga_glyph): Removed function.
45392 (invalidate_char): Likewise.
45393 (write_char): Changed to use grub_font_get_glyph() for font
45394 information.
45395 (grub_vga_putchar): Likewise.
45396 (grub_vga_getcharwidth): Likewise.
45397
6433b448 453982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45399
45400 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45401 flags.
45402 (pxeboot_img_LDFLAGS): Likewise.
45403 (diskboot_img_LDFLAGS): Likewise.
45404 (kernel_img_LDFLAGS): Likewise.
45405
49178511 454062007-11-06 Robert Millan <rmh@aybabtu.com>
45407
45408 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45409 in grub_outb() calls.
45410 (serial_hw_init): Likewise.
45411
53b052de 454122007-11-05 Robert Millan <rmh@aybabtu.com>
45413
45414 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45415 spaces. Skip non-regular files.
45416
5ab33bba 454172007-11-05 Robert Millan <rmh@aybabtu.com>
45418
45419 * kern/disk.c (grub_disk_firmware_fini)
45420 (grub_disk_firmware_is_tainted): New variables.
45421
45422 * include/grub/disk.h (grub_disk_firmware_fini)
45423 (grub_disk_firmware_is_tainted): Likewise.
45424
45425 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45426 (grub_disk_biosdisk_fini): ... to here.
45427 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45428 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45429 is set. Register grub_disk_biosdisk_fini() in
45430 `grub_disk_firmware_fini'.
45431
45432 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45433 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45434 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45435 to finish existing firmware disk interface.
45436
45437 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45438 (ata_mod_SOURCES): New variable.
45439 (ata_mod_CFLAGS): Likewise.
45440 (ata_mod_LDFLAGS): Likewise.
45441
0149ab7c 454422007-11-05 Robert Millan <rmh@aybabtu.com>
45443
45444 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45445 (grub_ata_wait): Reimplement using grub_millisleep().
45446
45447 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45448 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45449
be7ac41e 454502007-11-03 Marco Gerards <marco@gnu.org>
45451
45452 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45453 (CRTC_ADDR_PORT): New macro.
45454 (CRTC_DATA_PORT): Likewise.
45455 (CRTC_CURSOR): Likewise.
45456 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45457 (CRTC_CURSOR_ADDR_LOW): Likewise.
45458 (update_cursor): New function.
45459 (grub_console_real_putchar): Call `update_cursor'.
45460 (grub_console_gotoxy): Likewise.
45461 (grub_console_cls): Set the default color when clearing the
45462 screen.
45463 (grub_console_setcursor): Implemented.
45464
bb06ab2e 454652007-11-03 Marco Gerards <marco@gnu.org>
45466
45467 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45468 become activate.
45469 (grub_ata_pio_write): Likewise.
45470
45471 (grub_atapi_identify): Wait after issuing an ATA command.
45472 (grub_atapi_packet): Likewise.
45473 (grub_ata_identify): Likewise.
45474 (grub_ata_readwrite): Likewise.
45475
cf8f780b 454762007-11-03 Marco Gerards <marco@gnu.org>
45477
45478 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45479 (grub_ata_pio_write): Likewise.
45480 (grub_ata_readwrite): Use `grub_error', instead of
45481 returning `grub_errno'.
45482
ed649e54 454832007-11-03 Marco Gerards <marco@gnu.org>
45484
45485 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45486 grub_ata_pio_write once for every single sector, instead of for
45487 multiple sectors.
45488
ca25d8f0 454892007-10-31 Robert Millan <rmh@aybabtu.com>
45490
45491 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45492
45493 * conf/i386-linuxbios.rmk: New file.
45494
45495 * kern/i386/pc/hardware.c: Likewise.
45496 * term/i386/pc/at_keyboard.c: Likewise.
45497 * term/i386/pc/vga_text.c: Likewise.
45498
45499 * include/grub/i386/linuxbios/boot.h: Likewise.
45500 * include/grub/i386/linuxbios/console.h: Likewise.
45501 * include/grub/i386/linuxbios/init.h: Likewise.
45502 * include/grub/i386/linuxbios/kernel.h: Likewise.
45503 * include/grub/i386/linuxbios/loader.h: Likewise.
45504 * include/grub/i386/linuxbios/memory.h: Likewise.
45505 * include/grub/i386/linuxbios/serial.h: Likewise.
45506 * include/grub/i386/linuxbios/time.h: Likewise.
45507
45508 * kern/i386/linuxbios/init.c: Likewise.
45509 * kern/i386/linuxbios/startup.S: Likewise.
45510 * kern/i386/linuxbios/table.c: Likewise.
45511
e911ecc1 455122007-10-31 Marco Gerards <marco@gnu.org>
45513
45514 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45515 (ata_mod_SOURCES): New variable.
45516 (ata_mod_CFLAGS): Likewise.
45517 (ata_mod_LDFLAGS): Likewise.
45518
45519 * disk/ata.c: New file.
45520
45521 * include/grub/disk.h (grub_disk_dev_id): Add
45522 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45523
7f66d0e0 455242007-10-31 Robert Millan <rmh@aybabtu.com>
45525
45526 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45527 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45528
45529 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45530 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45531
45532 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45533 `<grub/types.h>'.
45534
45535 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45536
5cd7dd46 455372007-10-27 Robert Millan <rmh@aybabtu.com>
45538
3236ca65 45539 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45540
2ebfc90f 455412007-10-22 Robert Millan <rmh@aybabtu.com>
45542
45543 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45544 `"../realmode.S"'.
45545 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45546
73fcb0f3 455472007-10-22 Robert Millan <rmh@aybabtu.com>
45548
45549 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45550 (pkgdata_MODULES): Add `biosdisk.mod'.
45551 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45552 variables.
45553
45554 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45555 (grub_biosdisk_init): Replace with ...
45556 (GRUB_MOD_INIT(biosdisk)): ... this.
45557 (grub_biosdisk_fini): Replace with ...
45558 (GRUB_MOD_FINI(biosdisk)): ... this.
45559
45560 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45561 (grub_machine_init): Remove call to grub_biosdisk_init().
45562 (grub_machine_fini): Remove call to grub_machine_fini().
45563
45564 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45565
3381d274 455662007-10-22 Robert Millan <rmh@aybabtu.com>
45567
45568 * include/grub/time.h: New file.
45569 * include/grub/i386/time.h: Likewise.
45570 * include/grub/powerpc/time.h: Likewise.
45571 * include/grub/sparc64/time.h: Likewise.
45572
45573 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45574 instances to ...
45575 (KERNEL_MACHINE_TIME_HEADER): ... this.
45576 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45577 instances to ...
45578 (KERNEL_MACHINE_TIME_HEADER): ... this.
45579 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45580 instances to ...
45581 (KERNEL_MACHINE_TIME_HEADER): ... this.
45582
45583 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45584 (grub_millisleep): New function.
45585 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45586 (grub_millisleep): New function.
45587 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45588 Remove `grub/machine/time.h' include.
45589 (grub_millisleep): New function.
45590 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45591 Remove `grub/machine/time.h' include.
45592 (grub_millisleep): New function.
45593
45594 * include/grub/misc.h (grub_div_roundup): New function.
45595
45596 * kern/misc.c: Include `<grub/time.h>'.
45597 (grub_millisleep_generic): New function.
45598
45599 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45600 Add `time.h'.
45601 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45602 Add `time.h'.
45603 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45604 `machine/time.h'. Add `time.h'.
45605 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45606
a39a0312 456072007-10-21 Robert Millan <rmh@aybabtu.com>
45608
45609 * include/grub/misc.h (grub_max): New function.
45610
2aad70e2 456112007-10-21 Robert Millan <rmh@aybabtu.com>
45612
45613 * util/misc.c (grub_util_info): Call fflush() before returning.
45614
54b71c4b 456152007-10-20 Robert Millan <rmh@aybabtu.com>
45616
45617 * genmk.rb (Image): Copy `extra_flags' from here ...
45618 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45619
45620 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45621 to `argc' and `args' arguments.
45622
a979f513 456232007-10-17 Robert Millan <rmh@aybabtu.com>
45624
45625 * kern/i386/loader.S: New file.
45626
45627 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45628 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45629 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45630 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45631 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45632 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45633 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45634 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45635 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45636 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45637 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45638 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45639 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45640 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45641
45642 * kern/i386/realmode.S: New file.
45643
45644 * kern/i386/pc/startup.S (protstack): Moved from here ...
45645 * kern/i386/realmode.S (protstack)... to here.
45646 * kern/i386/pc/startup.S (gdt): Moved from here ...
45647 * kern/i386/realmode.S (gdt)... to here.
45648 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45649 * kern/i386/realmode.S (prot_to_real)... to here.
45650
45651 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45652 `kern/i386/realmode.S'.
45653
825fc8fd 456542007-10-17 Robert Millan <rmh@aybabtu.com>
45655
45656 * include/grub/i386/loader.h: New file.
45657
45658 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45659 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45660 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45661 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45662 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45663 * include/grub/i386/loader.h (grub_linux_prot_size)
45664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45668
45669 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45670
e179b2f4 456712007-10-15 Robert Millan <rmh@aybabtu.com>
45672
45673 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45674 filesystem when dev->disk is unset.
45675 Do probe for filesystem even when dev->disk->has_partitions is set.
45676 In case a filesystem is found, always report it.
45677 In case it isn't, if dev->disk->has_partitions is set, report that
45678 a partition table was found instead of reporting that no filesystem
45679 could be identified.
45680
5db82af6 456812007-10-12 Robert Millan <rmh@aybabtu.com>
45682
45683 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45684 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45685
68f6ac74 45686 * include/grub/types.h (grub_host_to_target16): New macro.
45687 (grub_host_to_target32): Likewise.
45688 (grub_host_to_target64): Likewise.
45689 (grub_target_to_host16): Likewise.
45690 (grub_target_to_host32): Likewise.
45691 (grub_target_to_host64): Likewise.
5db82af6 45692
45693 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45694 Renamed from to ...
45695 (GRUB_MOD_ALIGN): ...this. Update all users.
45696
68f6ac74 45697 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45698 grub_host_to_target32.
45699 Replace grub_be_to_cpu32 with grub_target_to_host32.
45700 (load_modules): Likewise.
45701 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45702 Replace grub_be_to_cpu32 with grub_target_to_host32.
45703 Replace grub_cpu_to_be16 with grub_host_to_target16.
45704 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45705
3cf497cc 457062007-10-12 Robert Millan <rmh@aybabtu.com>
45707
45708 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45709 * util/elf/grub-mkimage.c: ... here.
45710
45711 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45712 `util/powerpc/ieee1275/grub-mkimage.c'.
45713
c8cc3692 457142007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45715
c8cc3692 45716 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45717 and make it easier to figure out.
45718 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45719 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45720 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45721 leave us with less than HEAP_MIN_SIZE total heap.
45722 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45723
5c58b791 457242007-10-03 Robert Millan <rmh@aybabtu.com>
45725
45726 * include/grub/i386/io.h: New file.
45727 * commands/i386/pc/play.c (inb): Removed.
45728 (outb): Removed.
45729 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45730 with grub_outb().
afcd2ef8 45731 * term/i386/pc/serial.c (inb): Removed.
45732 (outb): Removed.
45733 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45734 with grub_outb().
45735 * term/i386/pc/vga.c (inb): Removed.
45736 (outb): Removed.
45737 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45738 with grub_outb().
5c58b791 45739
1a477ed6 457402007-10-02 Robert Millan <rmh@aybabtu.com>
45741
45742 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45744 Reported by Marcin Kurek.
45745
6b5d80fa 457462007-09-07 Robert Millan <rmh@aybabtu.com>
45747
45748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45749 SmartFirmware version updates (as released by Sven Luther), and avoid
45750 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45751 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45752 known broken.
45753
5618afbf 457542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45755
45756 From Hitoshi Ozeki:
45757 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45758 when merging two regions.
45759
6139dcd9 457602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45761
508e39ee 45762 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45763 * normal/completion.c (grub_normal_do_completion): Likewise.
45764 Reported by Hitoshi Ozeki.
45765
457662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45767
6139dcd9 45768 Do not use devices at boot in chainloading.
f19dbdb7 45769
6139dcd9 45770 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45771 (boot_part_addr): Likewise.
45772 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45773 with BOOT_DRIVE and BOOT_PART_ADDR.
45774 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45775 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45776
38da6516 457772007-08-29 Robert Millan <rmh@aybabtu.com>
45778
45779 Patch from Simon Peter <dn.tlp@gmx.net>:
45780 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45781 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45782 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45783 util/i386/pc/grub-setup.c_DEPENDENCIES.
45784 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45785 util/grub-probe.c_DEPENDENCIES.
45786 * conf/powerpc-ieee1275.rmk: Likewise.
45787
29d0928c 457882007-08-28 Robert Millan <rmh@aybabtu.com>
45789
45790 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45791 to tell grub-mkdevicemap how to name devices.
45792 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45793 feature).
45794
45795 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45796 util/i386/get_disk_name.c.
45797 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45798 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45799 util/ieee1275/get_disk_name.c.
45800
45801 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45802
45803 * DISTLIST: Add util/i386/get_disk_name.c and
45804 util/ieee1275/get_disk_name.c.
45805
45806 * util/grub-mkdevicemap.c: Replace device naming logic with
45807 grub_util_get_disk_name() calls.
45808
5a0d3cca 458092007-08-20 Robert Millan <rmh@aybabtu.com>
45810
45811 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45812 (so that it works for both plural and singular quantities).
45813
8b72db2f 458142007-08-05 Robert Millan <rmh@aybabtu.com>
45815
45816 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45817 so that [xz] isn't taken into account when determining order.
45818
352466bf 458192007-08-02 Marco Gerards <marco@gnu.org>
45820
45821 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45822 `include/multiboot2.h', `include/grub/elfload.h',
45823 `include/multiboot.h', `include/grub/multiboot.h',
45824 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45825 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45826 `kern/elf.c', `loader/multiboot_loader.c',
45827 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45828 `loader/i386/pc/multiboot2.c',
45829 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45830 `util/i386/pc/grub-mkrescue.in'. Remove
45831 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45832 `include/grub/i386/pc/util/biosdisk.h' and
45833 `include/grub/powerpc/ieee1275/multiboot.h'.
45834
8f096014 458352007-08-02 Bean <bean123ch@gmail.com>
45836
45837 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45838 (ntfs_mod_SOURCES): New variable.
45839 (ntfs_mod_CFLAGS): Likewise.
45840 (ntfs_mod_LDFLAGS): Likewise.
45841
45842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45843 (grub_probe_SOURCES): Likewise.
45844 (grub_emu_SOURCES): Likewise.
45845
45846 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45847 (grub_emu_SOURCES): Likewise.
45848
45849 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45850 (grub_emu_SOURCES): Likewise.
f19dbdb7 45851
8f096014 45852 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45853
45854 * fs/ntfs.c: New file.
45855
9959f7db 458562007-08-02 Bean <bean123ch@gmail.com>
45857
45858 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45859
45860 * file.h (grub_file): Likewise.
45861
45862 * fshelp.h (grub_fshelp_read_file): Likewise.
45863
45864 * util/i386/pc/grub-setup.c (setup): Likewise.
45865 (save_first_sector): Likewise.
45866 (save_blocklists): Likewise.
f19dbdb7 45867
9959f7db 45868 * fs/affs.c (grub_affs_read_file): Likewise.
45869
45870 * fs/ext2.c (grub_ext2_read_file): Likewise.
45871
45872 * fs/fat.c (grub_fat_read_data): Likewise.
45873
45874 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45875
45876 * fs/hfs.c (grub_hfs_read_file): Likewise.
45877
45878 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45879
45880 * fs/jfs.c (grub_jfs_read_file): Likewise.
45881
45882 * fs/minix.c (grub_minix_read_file): Likewise.
45883
45884 * fs/sfs.c (grub_sfs_read_file): Likewise.
45885
45886 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45887
9959f7db 45888 * fs/xfs.c (grub_xfs_read_file): Likewise.
45889
45890 * command/blocklist.c (read_blocklist): Likewise.
45891 (print_blocklist): Likewise.
45892
0a203f83 458932007-08-02 Marco Gerards <marco@gnu.org>
45894
45895 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45896 `util/hostfs.c'.
45897
45898 * disk/host.c: New file.
45899
45900 * util/hostfs.c: Likewise.
45901
45902 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45903 return `GRUB_ERR_BAD_FS'.
45904 * fs/sfs.c (grub_sfs_mount): Likewise.
45905 * fs/xfs.c (grub_xfs_mount): Likewise.
45906
45907 * include/grub/disk.h (enum grub_disk_dev_id): Add
45908 `GRUB_DISK_DEVICE_HOST_ID'.
45909
45910 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45911
e5dfe777 459122007-07-24 Jerone Young <jerone@gmail.com>
45913
f19dbdb7 45914 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45915 modules for compilation.
45916 * conf/powerpc-ieee1275.rmk: Likewise.
45917
45918 * include/multiboot.h: Move multiboot definitions to one file. Rename
45919 many definitions to not get grub specific.
45920 * include/multiboot2.h: Create header with multiboot 2 definitions.
45921 * include/grub/multiboot.h: Header for grub specific function
45922 prototypes and definitions.
45923 * include/grub/multiboot2.h: Likewise.
45924 * include/grub/multiboot_loader.h: Likewise.
45925 * include/grub/i386/pc/multiboot.h: Removed.
45926 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45927
45928 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45929 and 2 to allow for one multiboot and module commands.
45930 * loader/multiboot2.c: Add multiboot2 functionality.
45931 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45932 and definition names.
45933 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45934 2 functions.
45935 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45936 ieee1275 specific multiboot2 code.
45937
45938 * kern/i386/pc/startup.S: Change headers and definition names for
45939 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45940
daf0f0ba 459412007-07-22 Robert Millan <rmh@aybabtu.com>
45942
45943 * geninitheader.sh: Process file specified in first parameter rather
45944 than hardcoding grub_modules_init.lst.
fe6b695a 45945 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45946 than hardcoding grub_modules_init.h.
45947
45948 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45949 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45950 grub_probe_init.[ch] and grub_setup_init.[ch].
45951
45952 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45953 grub_modules_init.h with grub_emu_init.h.
45954 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45955 grub_probe_init.[ch] files.
45956 * conf/i386-efi.rmk: Likewise.
45957 * conf/i386-pc.rmk: Likewise.
45958 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45959 grub_setup_init.[ch] files.
45960
45961 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45962 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45963 to initialize modules rather than a list of hardcoded functions.
45964 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45965 grub_init_all() to initialize modules rather than a list of hardcoded
45966 functions.
45967
54cdc1cc 459682007-07-22 Robert Millan <rmh@aybabtu.com>
45969
45970 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45971 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45972
ad0686cc 459732007-07-22 Robert Millan <rmh@aybabtu.com>
45974
45975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45976 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45977 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45978 flag when running on SmartFirmware.
45979 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45980 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45981 was set.
45982
45983 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45984 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45985 rather than decreasing it.
45986
45987 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45988 there's not enough space to do it, fail in the same way as when it
45989 can't be done because there are no partitions.
45990
45991 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45992 when nvsetenv failed.
45993
969c02ec 459942007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45995
45996 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45997 because this rule is automatically generated.
45998 (grub-mkrescue): Removed for the same reason as above.
45999
5a79f472 460002007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46001
46002 Migrate to GNU General Public License Version 3.
f19dbdb7 46003
5a79f472 46004 * COPYING: Replaced with the plain text version of GPLv3.
46005
46006 * config.guess: Updated from gnulib.
46007 * config.sub: Likewise.
46008
46009 * geninit.sh: Output a GPLv3 copyright notice.
46010 * geninitheader.sh: Likewise.
46011 * genmodsrc.sh: Likewise.
46012 * gensymlist.sh.in: Likewise.
46013
46014 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46015 * boot/i386/pc/diskboot.S: Likewise.
46016 * boot/i386/pc/pxeboot.S: Likewise.
46017 * commands/blocklist.c: Likewise.
46018 * commands/boot.c: Likewise.
46019 * commands/cat.c: Likewise.
46020 * commands/cmp.c: Likewise.
46021 * commands/configfile.c: Likewise.
46022 * commands/echo.c: Likewise.
46023 * commands/help.c: Likewise.
46024 * commands/ls.c: Likewise.
46025 * commands/search.c: Likewise.
46026 * commands/terminal.c: Likewise.
46027 * commands/test.c: Likewise.
46028 * commands/videotest.c: Likewise.
46029 * commands/i386/cpuid.c: Likewise.
46030 * commands/i386/pc/halt.c: Likewise.
46031 * commands/i386/pc/play.c: Likewise.
46032 * commands/i386/pc/reboot.c: Likewise.
46033 * commands/i386/pc/vbeinfo.c: Likewise.
46034 * commands/i386/pc/vbetest.c: Likewise.
46035 * commands/ieee1275/halt.c: Likewise.
46036 * commands/ieee1275/reboot.c: Likewise.
46037 * commands/ieee1275/suspend.c: Likewise.
46038 * disk/loopback.c: Likewise.
46039 * disk/lvm.c: Likewise.
46040 * disk/raid.c: Likewise.
46041 * disk/efi/efidisk.c: Likewise.
46042 * disk/i386/pc/biosdisk.c: Likewise.
46043 * disk/ieee1275/ofdisk.c: Likewise.
46044 * font/manager.c: Likewise.
46045 * fs/affs.c: Likewise.
46046 * fs/ext2.c: Likewise.
46047 * fs/fat.c: Likewise.
46048 * fs/fshelp.c: Likewise.
46049 * fs/hfs.c: Likewise.
46050 * fs/hfsplus.c: Likewise.
46051 * fs/iso9660.c: Likewise.
46052 * fs/jfs.c: Likewise.
46053 * fs/minix.c: Likewise.
46054 * fs/sfs.c: Likewise.
46055 * fs/ufs.c: Likewise.
46056 * fs/xfs.c: Likewise.
46057 * hello/hello.c: Likewise.
46058 * include/grub/acorn_filecore.h: Likewise.
46059 * include/grub/arg.h: Likewise.
46060 * include/grub/bitmap.h: Likewise.
46061 * include/grub/boot.h: Likewise.
46062 * include/grub/cache.h: Likewise.
46063 * include/grub/device.h: Likewise.
46064 * include/grub/disk.h: Likewise.
46065 * include/grub/dl.h: Likewise.
46066 * include/grub/elfload.h: Likewise.
46067 * include/grub/env.h: Likewise.
46068 * include/grub/err.h: Likewise.
46069 * include/grub/file.h: Likewise.
46070 * include/grub/font.h: Likewise.
46071 * include/grub/fs.h: Likewise.
46072 * include/grub/fshelp.h: Likewise.
46073 * include/grub/gzio.h: Likewise.
46074 * include/grub/hfs.h: Likewise.
46075 * include/grub/kernel.h: Likewise.
46076 * include/grub/loader.h: Likewise.
46077 * include/grub/lvm.h: Likewise.
46078 * include/grub/misc.h: Likewise.
46079 * include/grub/mm.h: Likewise.
46080 * include/grub/net.h: Likewise.
46081 * include/grub/normal.h: Likewise.
46082 * include/grub/parser.h: Likewise.
46083 * include/grub/partition.h: Likewise.
46084 * include/grub/pc_partition.h: Likewise.
46085 * include/grub/raid.h: Likewise.
46086 * include/grub/rescue.h: Likewise.
46087 * include/grub/script.h: Likewise.
46088 * include/grub/setjmp.h: Likewise.
46089 * include/grub/symbol.h: Likewise.
46090 * include/grub/term.h: Likewise.
46091 * include/grub/terminfo.h: Likewise.
46092 * include/grub/tparm.h: Likewise.
46093 * include/grub/types.h: Likewise.
46094 * include/grub/video.h: Likewise.
46095 * include/grub/efi/api.h: Likewise.
46096 * include/grub/efi/chainloader.h: Likewise.
46097 * include/grub/efi/console.h: Likewise.
46098 * include/grub/efi/console_control.h: Likewise.
46099 * include/grub/efi/disk.h: Likewise.
46100 * include/grub/efi/efi.h: Likewise.
46101 * include/grub/efi/pe32.h: Likewise.
46102 * include/grub/efi/time.h: Likewise.
46103 * include/grub/i386/linux.h: Likewise.
46104 * include/grub/i386/setjmp.h: Likewise.
46105 * include/grub/i386/types.h: Likewise.
46106 * include/grub/i386/efi/kernel.h: Likewise.
46107 * include/grub/i386/efi/loader.h: Likewise.
46108 * include/grub/i386/efi/time.h: Likewise.
46109 * include/grub/i386/pc/biosdisk.h: Likewise.
46110 * include/grub/i386/pc/boot.h: Likewise.
46111 * include/grub/i386/pc/chainloader.h: Likewise.
46112 * include/grub/i386/pc/console.h: Likewise.
46113 * include/grub/i386/pc/init.h: Likewise.
46114 * include/grub/i386/pc/kernel.h: Likewise.
46115 * include/grub/i386/pc/loader.h: Likewise.
46116 * include/grub/i386/pc/memory.h: Likewise.
46117 * include/grub/i386/pc/multiboot.h: Likewise.
46118 * include/grub/i386/pc/serial.h: Likewise.
46119 * include/grub/i386/pc/time.h: Likewise.
46120 * include/grub/i386/pc/vbe.h: Likewise.
46121 * include/grub/i386/pc/vbeblit.h: Likewise.
46122 * include/grub/i386/pc/vbefill.h: Likewise.
46123 * include/grub/i386/pc/vbeutil.h: Likewise.
46124 * include/grub/i386/pc/vga.h: Likewise.
46125 * include/grub/ieee1275/ieee1275.h: Likewise.
46126 * include/grub/ieee1275/ofdisk.h: Likewise.
46127 * include/grub/powerpc/libgcc.h: Likewise.
46128 * include/grub/powerpc/setjmp.h: Likewise.
46129 * include/grub/powerpc/types.h: Likewise.
46130 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46131 * include/grub/powerpc/ieee1275/console.h: Likewise.
46132 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46133 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46134 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46135 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46136 * include/grub/powerpc/ieee1275/time.h: Likewise.
46137 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46138 * include/grub/sparc64/libgcc.h: Likewise.
46139 * include/grub/sparc64/setjmp.h: Likewise.
46140 * include/grub/sparc64/types.h: Likewise.
46141 * include/grub/sparc64/ieee1275/console.h: Likewise.
46142 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46143 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46144 * include/grub/sparc64/ieee1275/time.h: Likewise.
46145 * include/grub/util/biosdisk.h: Likewise.
46146 * include/grub/util/getroot.h: Likewise.
46147 * include/grub/util/lvm.h: Likewise.
46148 * include/grub/util/misc.h: Likewise.
46149 * include/grub/util/raid.h: Likewise.
46150 * include/grub/util/resolve.h: Likewise.
46151 * io/gzio.c: Likewise.
46152 * kern/device.c: Likewise.
46153 * kern/disk.c: Likewise.
46154 * kern/dl.c: Likewise.
46155 * kern/elf.c: Likewise.
46156 * kern/env.c: Likewise.
46157 * kern/err.c: Likewise.
46158 * kern/file.c: Likewise.
46159 * kern/fs.c: Likewise.
46160 * kern/loader.c: Likewise.
46161 * kern/main.c: Likewise.
46162 * kern/misc.c: Likewise.
46163 * kern/mm.c: Likewise.
46164 * kern/parser.c: Likewise.
46165 * kern/partition.c: Likewise.
46166 * kern/rescue.c: Likewise.
46167 * kern/term.c: Likewise.
46168 * kern/efi/efi.c: Likewise.
46169 * kern/efi/init.c: Likewise.
46170 * kern/efi/mm.c: Likewise.
46171 * kern/i386/dl.c: Likewise.
46172 * kern/i386/efi/init.c: Likewise.
46173 * kern/i386/efi/startup.S: Likewise.
46174 * kern/i386/pc/init.c: Likewise.
46175 * kern/i386/pc/lzo1x.S: Likewise.
46176 * kern/i386/pc/startup.S: Likewise.
46177 * kern/ieee1275/ieee1275.c: Likewise.
46178 * kern/powerpc/cache.S: Likewise.
46179 * kern/powerpc/dl.c: Likewise.
46180 * kern/powerpc/ieee1275/cmain.c: Likewise.
46181 * kern/powerpc/ieee1275/crt0.S: Likewise.
46182 * kern/powerpc/ieee1275/init.c: Likewise.
46183 * kern/powerpc/ieee1275/openfw.c: Likewise.
46184 * kern/sparc64/cache.S: Likewise.
46185 * kern/sparc64/dl.c: Likewise.
46186 * kern/sparc64/ieee1275/init.c: Likewise.
46187 * kern/sparc64/ieee1275/openfw.c: Likewise.
46188 * loader/efi/chainloader.c: Likewise.
46189 * loader/efi/chainloader_normal.c: Likewise.
46190 * loader/i386/efi/linux.c: Likewise.
46191 * loader/i386/efi/linux_normal.c: Likewise.
46192 * loader/i386/pc/chainloader.c: Likewise.
46193 * loader/i386/pc/chainloader_normal.c: Likewise.
46194 * loader/i386/pc/linux.c: Likewise.
46195 * loader/i386/pc/linux_normal.c: Likewise.
46196 * loader/i386/pc/multiboot.c: Likewise.
46197 * loader/i386/pc/multiboot_normal.c: Likewise.
46198 * loader/powerpc/ieee1275/linux.c: Likewise.
46199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46200 * normal/arg.c: Likewise.
46201 * normal/cmdline.c: Likewise.
46202 * normal/command.c: Likewise.
46203 * normal/completion.c: Likewise.
46204 * normal/execute.c: Likewise.
46205 * normal/function.c: Likewise.
46206 * normal/lexer.c: Likewise.
46207 * normal/main.c: Likewise.
46208 * normal/menu.c: Likewise.
46209 * normal/menu_entry.c: Likewise.
46210 * normal/misc.c: Likewise.
46211 * normal/parser.y: Likewise.
46212 * normal/script.c: Likewise.
46213 * normal/i386/setjmp.S: Likewise.
46214 * normal/powerpc/setjmp.S: Likewise.
46215 * normal/sparc64/setjmp.S: Likewise.
46216 * partmap/acorn.c: Likewise.
46217 * partmap/amiga.c: Likewise.
46218 * partmap/apple.c: Likewise.
46219 * partmap/gpt.c: Likewise.
46220 * partmap/pc.c: Likewise.
46221 * partmap/sun.c: Likewise.
46222 * term/gfxterm.c: Likewise.
46223 * term/terminfo.c: Likewise.
46224 * term/efi/console.c: Likewise.
46225 * term/i386/pc/console.c: Likewise.
46226 * term/i386/pc/serial.c: Likewise.
46227 * term/i386/pc/vesafb.c: Likewise.
46228 * term/i386/pc/vga.c: Likewise.
46229 * term/ieee1275/ofconsole.c: Likewise.
46230 * util/biosdisk.c: Likewise.
46231 * util/console.c: Likewise.
46232 * util/genmoddep.c: Likewise.
46233 * util/getroot.c: Likewise.
46234 * util/grub-emu.c: Likewise.
46235 * util/grub-mkdevicemap.c: Likewise.
46236 * util/grub-probe.c: Likewise.
46237 * util/lvm.c: Likewise.
46238 * util/misc.c: Likewise.
46239 * util/raid.c: Likewise.
46240 * util/resolve.c: Likewise.
46241 * util/update-grub.in: Likewise.
46242 * util/update-grub_lib.in: Likewise.
46243 * util/grub.d/00_header.in: Likewise.
46244 * util/grub.d/10_hurd.in: Likewise.
46245 * util/grub.d/10_linux.in: Likewise.
46246 * util/i386/efi/grub-install.in: Likewise.
46247 * util/i386/efi/grub-mkimage.c: Likewise.
46248 * util/i386/pc/grub-install.in: Likewise.
46249 * util/i386/pc/grub-mkimage.c: Likewise.
46250 * util/i386/pc/grub-mkrescue.in: Likewise.
46251 * util/i386/pc/grub-setup.c: Likewise.
46252 * util/i386/pc/misc.c: Likewise.
46253 * util/powerpc/ieee1275/grub-install.in: Likewise.
46254 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46255 * util/powerpc/ieee1275/misc.c: Likewise.
46256 * video/bitmap.c: Likewise.
46257 * video/video.c: Likewise.
46258 * video/i386/pc/vbe.c: Likewise.
46259 * video/i386/pc/vbeblit.c: Likewise.
46260 * video/i386/pc/vbefill.c: Likewise.
46261 * video/i386/pc/vbeutil.c: Likewise.
46262 * video/readers/tga.c: Likewise.
46263
3572d015 462642007-07-02 Robert Millan <rmh@aybabtu.com>
46265
46266 * conf/i386-efi.rmk: Replace obsolete reference to
46267 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46268 with util/getroot.c.
46269 * conf/powerpc-ieee1275.rmk: Likewise.
46270 * conf/sparc64-ieee1275.rmk: Likewise.
46271
46272 * util/grub-emu.c (main): Fix unchecked pointer handling.
46273
2c2a681b 462742007-07-02 Robert Millan <rmh@aybabtu.com>
46275
46276 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46277 invocation to fail, in order to support partition-less media.
46278
46279 * util/i386/pc/grub-install.in: Likewise.
46280
46281 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46282 which fs or partmap modules are needed (akin to its sister scripts).
46283
46284 Also use grub-probe to get rid of unportable /proc/mounts check.
46285
46286 Print the same informational message that the other scripts do, before
fe6b695a 46287 exiting.
2c2a681b 46288
6193defe 462892007-06-23 Robert Millan <rmh@aybabtu.com>
46290
fe6b695a 46291 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46292 a font file can be found and, if so, echo the GRUB path to it.
46293
46294 * util/update-grub.in: Handle multiple terminals depending on user
46295 input, platform availability and font file presence. Propagate
46296 variables of our findings to /etc/grub.d/ children.
46297
46298 * util/grub.d/00_header.in: Handle multiple terminals, based on
46299 environment setup by update-grub.
46300
eface1dc 463012007-06-23 Robert Millan <rmh@aybabtu.com>
46302
ba50d28f 46303 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46304
bf697e28 463052007-06-21 Robert Millan <rmh@aybabtu.com>
46306
46307 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46308 indicate end of data section in kernel image.
46309 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46310 GRUB_KERNEL_MACHINE_DATA_END.
46311
46312 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46313 space for it.
46314 * kern/i386/efi/startup.S: Likewise.
46315
46316 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46317 during image generation. Implement --prefix option to override this
46318 patch.
46319 * util/i386/efi/grub-mkimage.c: Likewise.
46320
46321 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46322 code to make path relative to its root into a separate function.
46323
46324 * util/i386/pc/grub-install.in: Use newly provided
46325 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46326 pass the result to grub-install --prefix.
46327
baa574b4 463282007-06-13 Robert Millan <rmh@aybabtu.com>
46329
46330 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46331 DEFAULT_DEVICE_MAP.
46332 * util/grub-emu.c: Use above definitions from misc.h instead of
46333 defining them.
46334 * util/grub-mkdevicemap.c: Likewise.
46335 * util/i386/pc/grub-setup.c: Likewise.
46336 * util/grub-probe.c: Likewise.
46337 (probe): Abort with grub_util_error() when either
46338 grub_guess_root_device or grub_util_get_grub_dev fails.
46339
0215dcbf 463402007-06-12 Robert Millan <rmh@aybabtu.com>
46341
46342 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46343 "pager" assignment.
46344 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46345 "pcdata".
46346 * util/grub-probe.c (probe): Likewise for "drive_name".
46347
8af2ab7b 463482007-06-11 Robert Millan <rmh@aybabtu.com>
46349
46350 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46351 not just the cdrom one.
46352
59d31694 463532007-06-11 Robert Millan <rmh@aybabtu.com>
46354
46355 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46356 Add --pkglibdir=DIR option to override pkglibdir.
46357 Mention --image-type=TYPE in help output.
46358 Fix --grub-mkimage (it was a no-op).
fe6b695a 46359 Abort gracefully when no parameter is given.
59d31694 46360
7ee367e4 463612007-06-11 Robert Millan <rmh@aybabtu.com>
46362
46363 * util/i386/pc/grub-mkrescue.in: New file.
46364 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46365 * Makefile.in: Handle bin_SCRIPTS.
46366
29b0ed46 463672007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46368
46369 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46370 list of video modes.
46371
c0f90770 463722007-06-06 Robert Millan <rmh@aybabtu.com>
46373
46374 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46375 file doesn't exist, or if it is in a filesystem grub can't read.
46376
46377 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46378 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46379 header comment to fit in 80 columns when the variables are resolved.
46380
46381 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46382 could be identified by update-grub. Remove redundant check for
fe6b695a 46383 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46384 handles that).
46385
fb36dc26 463862007-06-04 Robert Millan <rmh@aybabtu.com>
46387
46388 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46389
46390 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46391
46392 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46393
0c68c93e 463942007-06-04 Robert Millan <rmh@aybabtu.com>
46395
46396 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46397
46398 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46399 grub_apple_partition_map_fini.
46400
46401 * util/biosdisk.c
46402 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46403 to access >2 TiB disks).
46404
46405 Print disk->total_sectors with %llu instead of %lu, since this
46406 variable is always 64-bit (prevents wrong disk size from being displayed
46407 on either >2 TiB disk or big-endian CPU).
46408
46409 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46410 into a generic case that supports all (sane) partition maps.
46411
46412 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46413 breaks big-endian.
46414
46415 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46416 and grub_apple_partition_map_fini() after that.
46417
0f23eb74 464182007-06-01 Robert Millan <rmh@aybabtu.com>
46419
46420 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46421
46422 * util/grub.d/00_header.in: Only enable gfxterm when
46423 convert_system_path_to_grub_path() succeeds.
46424
42c71976 464252007-05-20 Robert Millan <rmh@aybabtu.com>
46426
46427 * util/update-grub_lib.in: New file.
46428 * DISTLIST: Add update-grub_lib.in.
46429 * conf/common.rmk: Generate update-grub_lib and install it in
46430 $(lib_DATA).
46431 * Makefile.in: Add install routine for $(lib_DATA).
46432
46433 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46434 function provided by update-grub_lib to support arbitrary paths of
46435 unifont.pff.
46436 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46437 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46438
5beb2291 464392007-05-19 Robert Millan <rmh@aybabtu.com>
46440
46441 * commands/i386/cpuid.c: New module.
46442 * DISTLIST: Add it.
46443 * conf/i386-efi.rmk: Enable cpuid.mod.
46444 * conf/i386-pc.rmk: Likewise.
46445
7262eca1 464462007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46447
46448 * kern/disk.c (grub_disk_read): Check return value of
46449 grub_realloc().
46450
260ba823 464512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46452
46453 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46454 arrays.
46455 * disk/raid.c (grub_raid_open): Likewise.
46456
1ecb6cf2 464572007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46458
46459 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46460 stack instead of on the heap.
46461
46462 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46463 before doing a read on it.
46464
46465 * configure.ac: Only use -fno-stack-protector for the target
46466 environment.
f19dbdb7 46467
21c8cbb1 464682007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46469
46470 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46471 __attribute_ ((unused)) to mode_type argument.
46472
46473 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46474
21c8cbb1 46475 * kern/misc.c (memcmp): Fix prototype.
46476
46477 * include/grub/partition.h [GRUB_UTIL]
46478 (grub_gpt_partition_map_init): Add prototype.
46479 (grub_gpt_partition_map_fini): Likewise.
46480
46481 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46482 at the right place.
46483
46484 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46485 (grub_fat_read_data): Likewise.
46486 (grub_fat_find_dir): Likewise.
46487
46488 * font/manager.c (find_glyph): Make table a const.
46489 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46490
849d55d3 464912007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46492
46493 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46494 code, first search for device in /dev/mapper, then in /dev.
46495 (grub_util_get_grub_dev): New function.
46496 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46497 prototype.
46498 * util/grub-probe.c (probe): Remove check for RAID, call
46499 grub_util_get_grub_dev() instead of
46500 grub_util_biosdisk_get_grub_dev().
46501 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46502 grub_util_biosdisk_get_grub_dev().
46503 * util/i386/pc/grub-setup.c (main): Likewise.
46504
8fff7c2f 465052007-05-16 Robert Millan <rmh@aybabtu.com>
46506
46507 * DISTLIST: Update for the latest changes.
46508 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46509 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46510 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46511 grub/util/biosdisk.h.
46512 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46513 grub/util/biosdisk.h.
46514
48e12b52 465152007-05-16 Robert Millan <rmh@aybabtu.com>
46516
46517 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46518
46b9d128 465192007-05-16 Robert Millan <rmh@aybabtu.com>
46520
46521 * util/i386/efi/grub-install.in: New.
46522 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46523 newly added grub-install.
46524 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46525 include.
46526 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46527 grub/util/biosdisk.h.
46528 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46529 grub/util/biosdisk.h.
46530
2d1a40a9 465312007-05-16 Robert Millan <rmh@aybabtu.com>
46532
46533 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46534 * include/grub/util/biosdisk.h: ... here.
46535 * util/i386/pc/biosdisk.c: Moved to ...
46536 * util/biosdisk.c: ... here.
46537 * util/i386/pc/getroot.c: Moved to ...
46538 * util/getroot.c: ... here.
46539 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46540 * util/grub-mkdevicemap.c: ... here.
46541 * util/i386/pc/grub-probe.c: Moved to ...
46542 * util/grub-probe.c: ... here.
46543
9e26e3bc 465442007-05-15 Robert Millan <rmh@aybabtu.com>
46545
46546 * util/update-grub.in: Remove duplicated line in grub.cfg header
46547 message.
46548
57f96397 465492007-05-13 Robert Millan <rmh@aybabtu.com>
46550
46551 * util/update-grub.in: Fix a few assumptions about the devices holding
46552 /, /boot and /boot/grub being the same.
46553 * util/grub.d/00_header.in: Likewise.
46554 * util/grub.d/10_hurd.in: Likewise.
46555 * util/grub.d/10_linux.in: Likewise.
46556
46557 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46558 patterns. Use that to define the `.old' suffix as older than `'.
46559
46560 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46561
46562 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46563 the grub.cfg header message.
46564
2e610d62 465652007-05-11 Robert Millan <rmh@aybabtu.com>
46566
46567 * util/update-grub.in: Create device.map if it doesn't already exist,
46568 before attempting to run grub-probe.
46569 Check for grub-probe and grub-mkdevicemap with the same code
46570 grub-install is using.
46571 Remove test mode.
46572
3f6a10ef 465732007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46574
46575 * Makefile.in: Add the datarootdir autoconf variable.
46576
02e7b75e 465772007-05-09 Robert Millan <rmh@aybabtu.com>
46578
46579 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46580 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46581
75f396cc 465822007-05-07 Robert Millan <rmh@aybabtu.com>
46583
46584 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46585 determine partition map module.
46586 * util/i386/pc/grub-install.in: Use this feature to decide which
46587 partition module to load, instead of hardcoding pc and gpt.
46588
da65cb36 465892007-05-07 Robert Millan <rmh@aybabtu.com>
46590
46591 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46592 source directory differs from build directory.
46593
b57d6a91 465942007-05-05 Robert Millan <rmh@aybabtu.com>
46595
46596 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46597 initialisation.
46598
509d00f1 465992007-05-05 Robert Millan <rmh@aybabtu.com>
46600
46601 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46602
c48f23ef 466032007-05-05 Robert Millan <rmh@aybabtu.com>
46604
46605 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46606 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46607
20b97658 466082007-05-05 Robert Millan <rmh@aybabtu.com>
46609
46610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46611 (grub_probe_SOURCES): Likewise.
46612 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46613 GPT and initialize dos_part and bsd_part accordingly.
46614 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46615 install_bsd_part.
46616 (main): Activate gpt module for use during partition identification,
46617 and deactivate it afterwards.
46618 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46619 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46620 partition identification, and deactivate it afterwards.
46621
99123174 466222007-05-05 Robert Millan <rmh@aybabtu.com>
46623
46624 * term/i386/pc/console.c (grub_console_fini): Call
46625 grub_term_set_current() before grub_term_unregister().
46626
ebd97f6e 466272007-05-04 Robert Millan <rmh@aybabtu.com>
46628
46629 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46630 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46631 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46632 and update-grub_DATA.
46633 * conf/common.rmk: Build and install update-grub components.
46634 * conf/common.mk: Regenerate.
46635 * util/update-grub.in: New. Core of update-grub.
46636 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46637 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46638 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46639 * util/grub.d/README: New. Document grub.d directory layout.
46640
b06a264d 466412007-05-01 Robert Millan <rmh@aybabtu.com>
46642
46643 * util/grub-emu.c: Move initialization functions
46644 grub_util_biosdisk_init() and grub_init_all() before
46645 grub_util_biosdisk_get_grub_dev(), which relies on them.
46646
41f0050e 466472007-04-19 Robert Millan <rmh@aybabtu.com>
46648
46649 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46650 it is used later.
46651
04582bb3 466522007-04-18 Jerone Young <jerone@gmail.com>
46653
f19dbdb7 46654 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46655 stanza.
46656
08db4632 466572007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46658
08db4632 46659 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46660 continue on and look for device node with real device name.
46661
801b76be 466622007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46663
fe6b695a 46664 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46665 ability.
46666 * Makefile.in: Add autoconf package transformation code.
46667 * util/i386/pc/grub-install.in: Likewise.
46668 * util/powerpc/ieee1275/grub-install.in: Likewise.
46669
6795c4e1 466702007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46671
46672 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46673 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46674 (EXT2_REVISION): Likewise.
46675 (EXT2_INODE_SIZE): Likewise.
46676 (struct grub_ext2_block_group): Added a missing member
46677 "used_dirs".
46678 (grub_ext2_read_inode): Divide by the inode size in a superblock
46679 instead of 128 to obtain INODES_PER_BLOCK.
46680 Use the macro EXT2_INODE_SIZE instead of directly using
46681 SBLOCK->INODE_SIZE.
46682
d70af616 466832007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46684
46685 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46686 superblock instead of the structure size to compute an
46687 offset. This fixes the problem that GRUB could not read a
46688 filesystem when inode size is different from 128-byte.
46689
3b801603 466902007-03-05 Marco Gerards <marco@gnu.org>
46691
46692 * normal/main.c (read_config_file): When "menu" is not set, create
46693 an initial context.
46694
4785bfe4 466952007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46696
46697 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46698 (HEAP_LIMIT): New macro.
46699 (grub_claim_heap): Claim memory up to `heaplimit'.
46700
a0cbb023 467012007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46702
46703 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46704 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46705 (_start): Likewise.
46706 (grub_arch_modules_addr): Return address after `_end'.
46707 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46708 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46709 (add_segments): Calculate `_end' from phdr size and location.
46710 (ALIGN_UP): Moved to ...
46711 * include/grub/misc.h: here.
46712 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46713 New macro.
46714 (GRUB_IEEE1275_MODULE_BASE): Removed.
46715
fd7d8eba 467162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46717
46718 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46719 loop boundary.
46720
9b09e6fc 467212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46722
46723 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46724 All users updated.
46725 (grub_elf64_load_hook_t): Likewise.
46726 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46727 debug output.
46728
3ce27299 467292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46730
46731 * kern/mm.c: Update copyright.
46732 (grub_mm_debug): Correct syntax error.
46733 (grub_mm_dump_free): New function.
46734 (grub_debug_free): Call `grub_free'.
46735 * include/grub/mm.h: Update copyright.
46736 (grub_mm_dump_free): Add declaration.
46737
077d5fee 467382007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46739
46740 * include/grub/ieee1275/ieee1275.h: Update copyright.
46741 * kern/powerpc/ieee1275/init.c: Likewise.
46742 * kern/powerpc/ieee1275/openfw.c: Likewise.
46743
46744 * loader/powerpc/ieee1275/linux.c: Likewise.
46745 * include/grub/elfload.h: Likewise.
46746 * kern/elf.c: Likewise.
46747 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46748 callers.
46749 (grub_elf64_load): Likewise.
46750 (grub_elf32_load_segment): Move to a nested function.
46751 (grub_elf64_load_segment): Likewise.
46752
dc946850 467532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46754
46755 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46756 prototype.
46757 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46758 (grub_heap_len): Likewise.
46759 (HEAP_SIZE): New macro.
46760 (grub_claim_heap): New function.
46761 (grub_machine_init): Don't claim heap directly. Call
46762 `grub_claim_heap'.
46763 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46764 (grub_available_iterate): New function.
46765
baa2a121 467662007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46767
46768 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46769 * configure.ac: Use it for testing the HOST and TARGET compilers.
46770
4fe9862e 467712006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46772
46773 * Makefile.in (enable_grub_emu): New variable.
46774 * configure.ac (--enable-grub-emu): New option.
46775 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46776 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46777 * conf/i386-pc.rmk: Likewise.
46778 * conf/powerpc-ieee1275.rmk: Likewise.
46779 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46780
a8aa5762 467812006-12-12 Marco Gerards <marco@gnu.org>
46782
46783 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46784
46785 * kern/env.c (grub_env_unset): Don't free the member `value' when
46786 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46787 pointer.
46788
46789 * normal/main.c (current_menu): Removed.
46790 (free_menu): Unset the `menu' environment variable.
46791 (grub_normal_menu_addentry): Make use of the environment variable
46792 `menu', instead of using the global `current_menu'. Allocate
46793 memory for the sourcecode of this entry.
46794 (read_config_file): New argument `nested', changed all callers.
46795 Only in the case of a new context, initialize a new menu. Set the
46796 `menu' environment variable.
46797 (grub_normal_execute): Don't set and unset the environment
46798 variable `menu' here anymore. Only free the menu when leaving the
46799 context.
46800
46801 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46802 leak.
46803
957b3a3e 468042006-12-11 Marco Gerards <marco@gnu.org>
46805
46806 * normal/menu_entry.c (run): Fix off by one bug so the last line
46807 is executed. Move the loader check to outside the loop.
46808
ef875714 468092006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46810
46811 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46812
4e739985 468132006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46814
46815 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46816 the number of sectors. Reported by Andrey Shuvikov
46817 <mr_hyro@yahoo.com>.
f19dbdb7 46818
790707f2 468192006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46820
46821 * kern/disk.c (grub_disk_read): When there is a read error, always
46822 try to read only the necessary data.
f19dbdb7 46823
790707f2 46824 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46825 disk/raid.c.
46826 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46827 prototype.
46828 [GRUB_UTIL] (grub_raid_fini): Likewise.
46829 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46830 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46831 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46832 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46833 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46834 and grub_raid_fini().
f19dbdb7 46835
03e58196 468362006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46837
46838 * include/grub/types.h (__unused): Rename to UNUSED.
46839 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46840 (grub_elf64_size): Likewise.
f19dbdb7 46841
ae4f23bf 468422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46843
46844 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46845 grub_error_push and grub_error_pop in the error-handling path.
46846 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46847 length.
46848
2166cc83 468492006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46850
46851 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46852 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46854 (kernel_elf_SOURCES): Likewise.
46855 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46856 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46857 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46858 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46859 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46860 (elf_mod_SOURCES): New variable.
46861 (elf_mod_CFLAGS): Likewise.
46862 (elf_mod_LDFLAGS): Likewise.
46863 * include/grub/types.h (__unused): New macro.
46864 * include/grub/elfload.h: New file.
46865 * kern/elf.c: Likewise.
46866 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46867 (ELF32_LOADMASK): New macro.
46868 (ELF64_LOADMASK): Likewise.
46869 (vmlinux): Removed.
46870 (grub_linux_load32): New function.
46871 (grub_linux_load64): Likewise.
46872 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46873 Use grub_elf_t instead of grub_file_t.
46874
a09d5aa5 468752006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46876
46877 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46878 `catch_result' to struct set_color_args.
46879
d976fc51 468802006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46881
46882 * normal/menu.c: Include grub/script.h.
46883 * normal/menu_entry.c: Likewise.
46884 * include/grub/normal.h: Do not include grub/script.h.
46885
67507549 468862006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46887
46888 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46889
69203a99 468902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46891
46892 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46893 disk.
46894 (grub_disk_close): Print debug messages when closing a disk.
46895 (grub_disk_read): Print debug messages when disk read fails.
46896 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46897 filesystem type.
46898 * kern/partition.c: Include misc.h.
46899 (grub_partition_iterate): Print debug messages when detecting
46900 partition type.
46901
e2b8278c 469022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46903
46904 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46905 is negative.
46906 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46907
97b2f2ff 469082006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46909
46910 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46911 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46912
6555d655 469132006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46914
46915 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46916 instead of sizeof(lv). Patch by Michael Guntsche.
46917
4d42b77f 469182006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46919
46920 * disk/lvm.c: Rename VGS to VG_LIST.
46921 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46922 (grub_lvm_open): Likewise.
46923 Thanks to Michael Guntsche for finding this bug.
46924
5d74d927 469252006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46926
46927 * configure.ac (AC_INIT): Bumped to 1.95.
46928
a1bb27e4 469292006-10-14 Robert Millan <rmh@aybabtu.com>
46930
46931 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46932 with "/dev/.static/dev/md".
46933
e0994b8b 469342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46935
46936 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46937 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46938 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46939 DRIVE_NAME are always freed.
46940
46941 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46942 DOS_PART, as a DOS partition is counted from one instead of zero
46943 now. Reported by Robert Millan.
46944
ddd5cee9 469452006-10-14 Robert Millan <rmh@aybabtu.com>
46946
46947 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46948 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46949 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46950 string returned by grub_guess_root_device.
46951 * util/i386/pc/grub-setup.c: Likewise.
46952 * util/i386/pc/grub-probefs.c: Likewise.
46953
46954 * util/i386/pc/grub-probefs.c: Rename to ...
46955 * util/i386/pc/grub-probe.c: ... this.
46956 * DISTLIST: Remove grub-probefs, add grub-probe.
46957 * conf/i386-efi.rmk: Likewise.
46958 * conf/i386-pc.rmk: Likewise.
46959 * util/i386/pc/grub-install.in: Likewise.
46960
46961 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46962 choose which information we want to print.
46963
2b002173 469642006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46965
46966 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46967 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46968 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46969 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46970 video/readers/tga.c and video/i386/pc/vbeutil.c.
46971
469722006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46973
46974 Added support for RAID and LVM.
f19dbdb7 46975
2b002173 46976 * disk/lvm.c: New file.
46977 * disk/raid.c: Likewise.
46978 * include/grub/lvm.h: Likewise.
f19dbdb7 46979 * include/grub/raid.h: Likewise.
2b002173 46980 * include/grub/util/lvm.h: Likewise.
46981 * include/grub/util/raid.h: Likewise.
46982 * util/lvm.c: Likewise.
46983 * util/raid.c: Likewise.
46984
46985 * include/grub/disk.h (grub_disk_dev_id): Add
46986 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46987 (grub_disk_get_size): New prototype.
46988 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46989 returns a partition.
46990 (grub_disk_get_size): New function.
f19dbdb7 46991
2b002173 46992 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46993 verbatim if grub_install_dos_part is -2.
46994
46995 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46996 and LVM devices.
46997
46998 * util/i386/pc/grub-setup.c (setup): New argument
46999 MUST_EMBED. Force embedding of GRUB when the argument is
47000 true. Close FILE before returning.
47001 (main): Add support for RAID and LVM.
f19dbdb7 47002
2b002173 47003 * conf/common.rmk: Add RAID and LVM modules.
47004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47005 util/lvm.c.
47006 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47007
47008 * kern/misc.c (grub_strstr): New function.
47009 * include/grub/misc.h (grub_strstr): New prototype.
47010
050548d0 470112006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47012
47013 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47014
da849d2d 470152006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47016
47017 * kern/misc.c (grub_strtoull): Guess the base only if not
47018 specified.
47019
97b2f2ff 470202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47021
47022 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47023 PowerMac support.
47024
97b2f2ff 470252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47026
47027 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47028
47029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47030 Remove `flags' argument. All callers changed.
47031 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47032 (IEEE1275_IHANDLE_INVALID): New variable.
47033 (IEEE1275_CELL_INVALID): New variable.
47034 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47035 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47036 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47037 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47038 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47039 codes from Open Firmware. All callers updated.
47040 (grub_ieee1275_next_property): Directly return Open Firmware return
47041 code.
47042 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47043 Standardize error checking from `grub_ieee1275_get_property'.
47044 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47045 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47046
97b2f2ff 470472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47048
47049 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47050 `instance_to_package_args' to `instance_to_path_args'.
47051
47052 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47053 `grub_ieee1275_chosen'.
47054
47055 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47056 `grub_ieee1275_interpret'.
47057
97b2f2ff 470582006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47059
47060 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47061
97b2f2ff 470622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47063
47064 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47065 (__cmpdi): Likewise.
47066
47067 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47068 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47069 `grub_ssize_t'.
47070
02bb8acc 47071 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47072
47073 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47074 to type `grub_ssize_t'.
47075 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47076
7f9a8531 470772006-09-22 Marco Gerards <marco@gnu.org>
47078
47079 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47080 newlines.
47081
b5ef1102 470822006-09-22 Marco Gerards <marco@gnu.org>
47083
47084 * commands/echo.c: New file.
47085
47086 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47087
47088 * conf/common.rmk (echo_mod_SOURCES): New variable.
47089 (echo_mod_CFLAGS): Likewise.
47090 (echo_mod_LDFLAGS): Likewise.
47091
2cff3677 470922006-09-22 Marco Gerards <marco@gnu.org>
47093
47094 * normal/main.c (get_line): Malloc memory instead of using
47095 preallocated memory. Removed the arguments `cmdline' and
47096 `max_len'. Updated all callers.
47097
6ba4688b 470982006-09-22 Marco Gerards <marco@gnu.org>
47099
47100 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47101 (normal_mod_DEPENDENCIES): Likewise.
47102
47103 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47104 (normal_mod_DEPENDENCIES): Likewise.
47105
47106 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47107
e02ac02c 471082006-09-22 Johan Rydberg <jrydberg@gnu.org>
47109
47110 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47111 programs.
47112 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47113 (normal_mod_DEPENDENCIES): Likewise.
47114 * conf/i386-pc.mk: Regenerate.
47115 * conf/i386-efi.mk: Likewise
47116 * conf/common.mk: Likewise.
47117 * conf/powerpc-ieee1275.mk: Likewise.
47118 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47119
8d252e44 471202006-09-22 Robert Millan <rmh@aybabtu.com>
47121
47122 Sync with i386 version.
47123 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47124 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47125
209bf7ac 471262006-09-21 Robert Millan <rmh@aybabtu.com>
47127
47128 Import from GRUB Legacy (lib/device.c):
47129 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47130 (init_device_map) [__linux__]: Add support for I2O devices.
47131
6b146090 471322006-09-14 Marco Gerards <marco@gnu.org>
47133
47134 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47135 `-melf_i386'.
47136
e38600a8 471372006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47138
47139 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47140 /boot/grub/*.lst.
78fa1790 47141
2952da5d 47142 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47143
2952da5d 47144 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47145 before adding it to device.map.
47146
01b82a64 471472006-08-15 Johan Rydberg <jrydberg@gnu.org>
47148
fe6b695a 47149 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47150 compiles a file; using the -MD option.
47151 * conf/common.mk: Regenerate.
47152 * conf/i386-pc.mk: Likewise.
47153 * conf/i386-efi.mk: Likewise.
47154 * conf/powerpc-ieee1275.mk: Likewise.
47155 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47156
1064790d 471572006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47158
47159 Move the prototypes of grub_setjmp and grub_longjmp to
47160 cpu/setjmp.h, so that each architecture may specify different
47161 attributes.
f19dbdb7 47162
1064790d 47163 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47164 (grub_longjmp): Likewise.
47165 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47166 (grub_longjmp): Likewise.
47167 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47168 (grub_longjmp): Likewise.
47169
47170 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47171 [!GRUB_UTIL] (grub_longjmp): Removed.
47172
29dda3ed 471732006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47174
47175 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47176 "color!" method does not return any value.
47177
ad2a06ed 471782006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47179
47180 * include/grub/bitmap.h: New file.
47181
47182 * include/grub/i386/pc/vbeutil.h: Likewise.
47183
47184 * video/bitmap.c: Likewise.
47185
47186 * video/readers/tga.c: Likewise.
47187
47188 * video/i386/pc/vbeutil.c: Likewise.
47189
47190 * commands/videotest.c: Code cleanup and updated to reflect to new
47191 video API.
47192
47193 * term/gfxterm.c: Likewise.
47194
47195 * video/video.c: Likewise.
47196
47197 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47198 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47199 (bitmap_mod_SOURCES): New entry.
47200 (bitmap_mod_CFLAGS): Likewise.
47201 (bitmap_mod_LDFLAGS): Likewise.
47202 (tga_mod_SOURCES): Likewise.
47203 (tga_mod_CFLAGS): Likewise.
47204 (tga_mod_LDFLAGS): Likewise.
47205
47206 * include/grub/video.h (grub_video_blit_operators): New enum type.
47207 (grub_video_render_target): Changed as forward declaration and moved
47208 actual definition to be video driver specific.
47209 (grub_video_adapter.blit_bitmap): Added blitting operator.
47210 (grub_video_adapter.blit_render_target): Likewise.
47211 (grub_video_blit_bitmap): Likewise.
47212 (grub_video_blit_render_target): Likewise.
47213
47214 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47215 driver specific render target definition.
47216 (grub_video_vbe_map_rgba): Added driver internal helper.
47217 (grub_video_vbe_unmap_color): Updated to use
47218 grub_video_i386_vbeblit_info.
47219 (grub_video_vbe_get_video_ptr): Likewise.
47220
47221 * include/grub/i386/pc/vbeblit.h
47222 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47223 grub_video_i386_vbeblit_info.
47224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47225 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47226 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47228 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47229 (grub_video_i386_vbeblit_index_index): Likewise.
47230 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47231 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47232 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47233 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47234 operator.
47235 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47236 operator.
47237
47238 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47239 include/grub/i386/pc/vbeblit.h.
47240
47241 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47242 Updated to use grub_video_i386_vbeblit_info.
47243 (grub_video_i386_vbefill_R8G8B8): Likewise.
47244 (grub_video_i386_vbefill_index): Likewise.
47245 (grub_video_i386_vbefill): Added generic filler.
47246
47247 * video/i386/pc/vbefill.c: Updated to reflect changes on
47248 include/grub/i386/pc/vbefill.h.
47249
47250 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47251 grub_video_i386_vbeblit_info.
47252 (grub_video_vbe_unmap_color): Likewise.
47253 (grub_video_vbe_blit_glyph): Likewise.
47254 (grub_video_vbe_scroll): Likewise.
47255 (grub_video_vbe_draw_pixel): Removed function.
47256 (grub_video_vbe_get_pixel): Likewise.
47257 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47258 updated code to use it.
47259 (common_blitter): Added common blitter for render target and bitmap.
47260 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47261 (grub_video_vbe_blit_render_target): Likewise.
47262
bc8c036d 472632006-07-30 Johan Rydberg <jrydberg@gnu.org>
47264
47265 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47266 is in text mode if there is no console control protocol instance
47267 available.
47268
684a8eff 472692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47270
47271 * include/grub/video.h: Code cleanup.
47272
47273 * include/grub/i386/pc/vbe.h: Likewise.
47274
47275 * video/i386/pc/vbe.c: Likewise.
47276
47277 * video/i386/pc/vbeblit.c: Likewise.
47278
47279 * video/i386/pc/vbefill.c: Likewise.
47280
47281 * video/video.c: Likewise. Also added more comments.
47282
5915059b 472832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47284
47285 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47286 (struct grub_biosdisk_dap): Likewise.
47287
47288 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47289 linkage settings for all functions.
47290
90ce5d56 472912006-07-12 Marco Gerards <marco@gnu.org>
47292
47293 * configure.ac (--enable-mm-debug): Fix typo.
47294
47295 * genkernsyms.sh.in: Use proper quoting for `CC'.
47296
43e7f879 472972006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47298
47299 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47300 (normal_mod_ASFLAGS): Remove "-m32".
47301
4889bdec 473022006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 * util/misc.c: Include config.h.
47305 [!HAVE_MEMALIGN]: Do not include malloc.h.
47306 (grub_memalign): Use posix_memalign, if present. Then, use
47307 memalign, if present. Otherwise, emit an error.
47308
47309 * util/grub-emu.c: Do not include malloc.h.
47310
47311 * include/grub/util/misc.h: Include unistd.h. This is required for
47312 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47313 D. Eades III <hde@foobar-qux.org>.
47314
47315 * configure.ac (AC_GNU_SOURCE): Added.
47316 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47317 type.
47318
fd39d4da 473192006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47320
47321 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47322 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47323
b786f3b5 473242006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47325
47326 * include/grub/types.h (grub_host_addr_t): Rename to
47327 grub_target_addr_t.
47328 (grub_host_off_t): Rename to grub_target_off_t.
47329 (grub_host_size_t): Rename to grub_target_size_t.
47330 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47331 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47332
47333 * include/grub/kernel.h (struct grub_module_header): Change type
47334 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47335 (grub_module_info): Likewise.
f19dbdb7 47336
051988bb 473372006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47338
47339 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47340 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47341 Velazquez <jesus.velazquez@gmail.com>.
47342
deae281b 473432006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47344
47345 Count partitions from 1 instead of 0 in the string representation
47346 of partitions. Still use 0-based internally.
f19dbdb7 47347
deae281b 47348 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47349 (sun_partition_map_iterate): Use grub_partition_t instead of
47350 struct grub_partition *. Cast DESC->START_CYLINDER to
47351 grub_uint64_t after converting the endian.
47352 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47353 (sun_partition_map_get_name): Add 1 to P->INDEX.
47354
47355 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47356 PCDATA->DOS_PART.
47357 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47358
47359 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47360 zero instead of one.
47361 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47362 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47363
47364 * partmap/apple.c (apple_partition_map_iterate): Change the type
47365 of POS to unsigned.
47366 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47367 (apple_partition_map_get_name): Add 1 into P->INDEX.
47368
47369 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47370 of POS to unsigned.
47371 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47372 calculate the offset of a partition.
47373 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47374 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47375
47376 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47377 SECTOR to grub_disk_addr_t.
47378 (acorn_partition_map_iterate): Likewise.
47379 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47380 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47381 top.
47382 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47383
47384 * kern/i386/pc/init.c (make_install_device): Add 1 into
47385 GRUB_INSTALL_DOS_PART.
47386
47387 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47388 conditional.
47389
524a1e6a 473902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47391
47392 Clean up the code to support 64-bit addressing in disks and
47393 files. This change is not enough for filesystems yet.
f19dbdb7 47394
524a1e6a 47395 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47396 type of "start" to grub_uint64_t.
47397 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47398 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47399 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47400 convert addresses.
47401
47402 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47403 to grub_disk_addr_t.
47404
47405 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47406 string.
47407
47408 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47409
47410 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47411 to char *.
47412
47413 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47414
47415 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47416
47417 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47418
47419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47420 to grub_off_t, to detect an error from grub_file_seek.
47421 (grub_multiboot_load_elf32): Likewise.
47422
47423 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47424 maximum unsigned long value when an overflow is detected.
47425 (grub_strtoull): New function.
47426 (grub_divmod64): Likewise.
47427 (grub_lltoa): use grub_divmod64.
47428
47429 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47430 grub_disk_addr_t.
47431 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47432 the pointer to next character. Use grub_strtoull instead of
47433 grub_strtoul.
47434 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47435 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47436 respectively.
47437
fe6b695a 47438 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47439 return value is signed.
47440 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47441 test if OFFSET is less than zero, as OFFSET is unsigned now.
47442
47443 * kern/disk.c (struct grub_disk_cache): Change the type of
47444 "sector" to grub_disk_addr_t.
47445 (grub_disk_cache_get_index): Change the type of SECTOR to
47446 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47447 unsigned after shifting.
47448 (grub_disk_cache_invalidate): Change the type of SECTOR to
47449 grub_disk_addr_t.
47450 (grub_disk_cache_unlock): Likewise.
47451 (grub_disk_cache_store): Likewise.
47452 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47453 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47454 grub_disk_addr_t and grub_uint64_t, respectively.
47455 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47456 body, as the value of OFFSET is tweaked by
47457 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47458 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47459 respectively.
47460 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47461 body, as the value of OFFSET is tweaked by
47462 grub_disk_check_range. Change the types of LEN and N to
47463 grub_size_t.
47464
47465 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47466 and "saved_offset" to grub_off_t.
47467 (test_header): Cast BUF to char *.
47468 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47469 to char *.
47470 (grub_gzio_read): Change the types of OFFSET and SIZE to
47471 grub_off_t and grub_size_t, respectively.
47472
47473 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47474 Removed.
47475 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47476 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47477 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47478 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47479 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47480
47481 * include/grub/types.h (grub_off_t): Unconditionally set to
47482 grub_uint64_t.
47483 (grub_disk_addr_t): Changed to grub_uint64_t.
47484
47485 * include/grub/partition.h (struct grub_partition): Change the
47486 types of "start", "len" and "offset" to grub_disk_addr_t,
47487 grub_uint64_t and grub_disk_addr_t, respectively.
47488 (grub_partition_get_start): Return grub_disk_addr_t.
47489 (grub_partition_get_len): Return grub_uint64_t.
47490
47491 * include/grub/misc.h (grub_strtoull): New prototype.
47492 (grub_divmod64): Likewise.
47493
47494 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47495 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47496 grub_off_t, respectively.
47497 All callers and references changed.
47498
47499 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47500 grub_size_t in "read".
47501 All callers and references changed.
47502
47503 * include/grub/file.h (struct grub_file): Change the types of
47504 "offset" and "size" to grub_off_t and grub_off_t,
47505 respectively. Change the type of SECTOR to grub_disk_addr_t in
47506 "read_hook".
47507 (grub_file_read): Change the type of LEN to grub_size_t.
47508 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47509 grub_off_t.
47510 (grub_file_size): Return grub_off_t.
47511 (grub_file_tell): Likewise.
47512 All callers and references changed.
47513
47514 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47515 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47516 "write".
47517 (struct grub_disk): Change the type of "total_sectors" to
47518 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47519 "read_hook".
524a1e6a 47520 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47521 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47522 (grub_disk_write): Likewise.
47523 All callers and references changed.
47524
47525 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47526 char * for grub_strncmp to silence gcc.
47527 (grub_iso9660_mount): Likewise.
47528 (grub_iso9660_mount): Likewise.
47529 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47530 return statement.
47531 (grub_iso9660_iterate_dir): Likewise.
47532 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47533
47534 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47535 LEN to grub_disk_addr_t and grub_size_t, respectively.
47536
47537 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47538
47539 * fs/jfs.c (grub_jfs_read_file): Likewise.
47540
47541 * fs/minix.c (grub_jfs_read_file): Likewise.
47542
47543 * fs/sfs.c (grub_jfs_read_file): Likewise.
47544
47545 * fs/ufs.c (grub_jfs_read_file): Likewise.
47546
47547 * fs/xfs.c (grub_jfs_read_file): Likewise.
47548
47549 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47550 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47551 respectively.
47552
47553 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47554 BLKNR to -1 instead of returning GRUB_ERRNO.
47555 (grub_ext2_read_file): Change the types of SECTOR and
47556 LEN to grub_disk_addr_t and grub_size_t, respectively.
47557
47558 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47559 LEN to grub_disk_addr_t and grub_size_t, respectively.
47560
47561 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47562 grub_file_read.
47563
47564 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47565 string. Do not cast SECTOR explicitly.
47566
47567 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47568 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47569 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47570 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47571 over 2TB and LBA mode is not supported, raise an error.
47572 (get_safe_sectors): New function.
47573 (grub_biosdisk_read): Use get_safe_sectors.
47574 (grub_biosdisk_write): Likewise.
47575
47576 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47577 (grub_efidisk_write): Likewise.
47578
47579 * disk/loopback.c (delete_loopback): Cosmetic changes.
47580 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47581 correctly.
47582 (grub_loopback_open): Likewise.
47583 (grub_loopback_read): Likewise. Also, change the type of POS to
47584 grub_off_t, and fix the usage of grub_memset.
47585
47586 * commands/i386/pc/play.c: Include grub/machine/time.h.
47587
47588 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47589 print FILE->SIZE.
47590
47591 * commands/configfile.c: Include grub/env.h.
47592
47593 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47594 GRUB_ERRNO directly instead. Change the type of POS to
47595 grub_off_t. Follow the coding standard.
47596
47597 * commands/blocklist.c: Include grub/partition.h.
47598 (grub_cmd_blocklist): Return an error if the underlying device is
47599 not a disk. Take the starting sector of a partition into account,
47600 if a partition is used.
47601
47602 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47603 a length field.
47604 (lba_mode): Support 64-bit addresses.
47605 (chs_mode): Likewise.
47606 (copy_buffer): Adapted to the new offsets of a length field and a
47607 segment field.
47608 (blocklist_default_start): Allocate 64-bit space.
47609
47610 * boot/i386/pc/boot.S (force_lba): Removed.
47611 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47612 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47613 space.
47614 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47615 is useless.
47616 (lba_mode): Refactored to support a 64-bit address. More size
47617 optimization.
47618 (setup_sectors): Likewise.
47619
53af98ad 476202006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47621
47622 * DISTLIST: Added include/grub/i386/linux.h. Removed
47623 include/grub/i386/pc/linux.h
47624
47625 * configure.ac (AC_INIT): Bumped to 1.94.
47626
47627 * config.guess: Updated from gnulib.
47628 * config.sub: Likewise.
47629 * install-sh: Likewise.
47630 * mkinstalldirs: Likewise.
47631
b4c1940a 476322006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * conf/common.rmk (grub_modules_init.lst): Depended on
47635 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47636 MODSRCFILES.
47637
47638 * genmk.rb (PModule::rule): Reverted the previous change.
47639
cfca1cfd 476402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47641
47642 * conf/common.rmk (grub_modules_init.lst): Depends on
47643 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47644 that the target does not exist before producing.
47645 (grub_modules_init.h): Remove the target before generating.
47646 (grub_emu_init.c): Likewise.
47647
47648 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47649
aa6d7826 476502006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47651
47652 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47653 for the target-specific tests. Make sure that we also have the
47654 up-to-date target variables for those tests.
47655
26c607b9 476562006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47657
47658 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47659 (PModule::rule): Likewise.
47660
0162321a 476612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47662
47663 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47664 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47665 target-specific flags should be prefixed.
47666 (PModule::rule): Likewise.
47667
6c826348 476682006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47669
47670 * configure.ac (CMP): Check if cmp is available explicitly.
47671
b977bf01 476722006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47673
47674 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47675 (target_cpu): New variable.
47676 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47677
b977bf01 47678 * util/i386/pc/grub-install.in (host_cpu): Removed.
47679 (target_cpu): New variable.
47680 (pkglibdir): Use target_cpu instead of host_cpu.
47681
47682 * util/genmoddep.c: Removed.
f19dbdb7 47683
b977bf01 47684 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47685 instead of GRUB_HOST_SIZEOF_VOID_P.
47686 * kern/dl.c: Likewise.
47687
47688 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47689 ...
47690 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47691 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47692 (GRUB_TARGET_SIZEOF_LONG): ... this.
47693 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47694 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47695 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47696 to ...
47697 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47698 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47699 (GRUB_TARGET_SIZEOF_LONG): ... this.
47700 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47701 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47702 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47703 to ...
47704 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47705 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47706 (GRUB_TARGET_SIZEOF_LONG): ... this.
47707 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47708 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47709
47710 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47711 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47712 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47713 instead of GRUB_HOST_SIZEOF_LONG.
47714 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47715 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47716 GRUB_CPU_WORDS_BIGENDIAN.
47717 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47718 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47719 grub_host_ssize_t.
47720
47721 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47722 (genmoddep_SOURCES): Likewise.
47723 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47724 (genmoddep_SOURCES): Likewise.
47725 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47726 (genmoddep_SOURCES): Likewise.
47727 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47728 Likewise.
47729 (genmoddep_SOURCES): Likewise.
47730
47731 * genmoddep.awk: New file.
47732
47733 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47734 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47735 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47736 (PModule::rule): Likewise.
47737 (Program::rule): Likewise.
47738 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47739 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47740 respectively.
47741
47742 * configure.ac: Rewritten intensively to use host and target
47743 instead of build and host, respectively.
47744
47745 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47746 (host_cpu): Removed.
47747 (target_cpu): New variable.
47748 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47749 (BUILD_CC): Removed.
47750 (BUILD_CFLAGS): Likewise.
47751 (BUILD_CPPFLAGS): Likewise.
47752 (TARGET_CC): New variable.
47753 (TARGET_CFLAGS): Likewise.
47754 (TARGET_CPPFLAGS): Likewise.
47755 (TARGET_LDFLAGS): Likewise.
47756 (AWK): Likewise.
47757 (include): Use target_cpu instead of host_cpu.
47758 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47759
b977bf01 47760 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47761
f09771a1 477622006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47763
47764 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47765 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47766 field 'false' to 'exec_on_false'.
47767 (grub_script_create_cmdif): Renamed argument names to reflect above
47768 changes.
47769
47770 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47771
47772 * normal/script.c (grub_script_create_cmdif): Likewise.
47773
118f4fb3 477742006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47775
47776 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47777 top.
47778 (grub_hfsplus_btree_recptr): Likewise.
47779 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47780 FILEBLOCK both to pass a block number and store next block
47781 number.
47782 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47783 overflow file correctly. Specify errors appropriately, because
47784 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47785 grub_hfsplus_btree_recptr to get the pointer to a found key.
47786 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47787 is found.
47788
47789 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47790 linux.mod.
47791 (_linux_mod_SOURCES): New variable.
47792 (_linux_mod_CFLAGS): Likewise.
47793 (_linux_mod_LDFLAGS): Likewise.
47794 (linux_mod_SOURCES): Likewise.
47795 (linux_mod_CFLAGS): Likewise.
47796 (linux_mod_LDFLAGS): Likewise.
47797
47798 * DISTLIST: Added loader/i386/efi/linux.c,
47799 loader/i386/efi/linux_normal.c and
47800 include/grub/i386/efi/loader.h.
47801
47802 * loader/i386/efi/linux.c: New file.
47803 * loader/i386/efi/linux_normal.c: Likewise.
47804 * include/grub/i386/efi/loader.h: Likewise.
47805
89a7d726 478062006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47807
47808 * commands/blocklist.c: New file.
47809
47810 * DISTLIST: Added commands/blocklist.c.
47811
47812 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47813 color for the background, and a darker color for the foreground.
89a7d726 47814 (grub_console_checkkey): Return READ_KEY.
47815 (grub_console_cls): Set the background to
47816 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47817
47818 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47819
47820 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47821 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47822
47823 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47824 prototype.
47825
47826 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47827 BG. The spec is wrong again.
47828
47829 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47830 prototype.
47831 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47832
47833 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47834 commands/blocklist.c.
47835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47836
89a7d726 47837 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47838 (blocklist_mod_SOURCES): New variable.
47839 (blocklist_mod_CFLAGS): Likewise.
47840 (blocklist_mod_LDFLAGS): Likewise.
47841
75c8f258 478422006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47843
47844 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47845 duplication.
47846 (lba_mode): Use %eax more intensively to reduce the code size.
47847
da2eb181 478482006-05-20 Marco Gerards <marco@gnu.org>
47849
47850 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47851
47852 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47853 for `menuentry'.
47854 (script): Accept leading newlines.
47855 (newlines): New rule to describe 0 or more newlines.
47856 (commands): Accept `command' with trailing newline. Fixed the
47857 order in which arguments were passed to `grub_script_add_cmd'.
47858 Accept commands separated by newlines.
47859 (function): Changed to accept newlines.
47860 (menuentry) Rewritten.
47861
47862 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47863 front of the list, instead of to the end.
47864
577b4050 478652006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47866
47867 * util/i386/pc/grub-install.in (bindir): New variable.
47868 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47869 Shaver <lbgwjl@gmail.com>.
47870
0d6e1189 478712006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47872
47873 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47874 grub/machine/linux.h
47875 * loader/i386/pc/linux.c: Likewise.
47876
47877 * include/grub/i386/pc/linux.h: Moved to ...
47878 * include/grub/i386/linux.h: ... here.
47879
47880 * include/grub/i386/linux.h (struct linux_kernel_params): New
47881 struct.
f19dbdb7 47882
31b86e9f 478832006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47884
47885 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47886 checking.
47887 (grub_video_vbe_blit_glyph): Likewise.
47888 (grub_video_vbe_blit_bitmap): Likewise.
47889 (grub_video_vbe_blit_render_target): Likewise.
47890
83b984de 478912006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47892
47893 * configure.ac (--with-platform): Properly quote the square
47894 brackets.
47895
5f0413bd 478962006-05-08 Marco Gerards <marco@gnu.org>
47897
47898 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47899 this...
47900 (kernel_elf_HEADERS): ...to this. Updated all users.
47901 (grubof_symlist.c): Renamed from this...
47902 (kernel_elf_symlist.c): ...to this. Updated all users.
47903 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47904 (grubof_SOURCES): Renamed from this...
47905 (kernel_elf_SOURCES): ...to this.
47906 (grubof_HEADERS): Renamed from this...
47907 (kernel_elf_HEADERS): ...to this.
47908 (grubof_CFLAGS): Renamed from this...
47909 (kernel_elf_CFLAGS): ...to this.
47910 (grubof_ASFLAGS): Renamed from this...
47911 (kernel_elf_ASFLAGS): ...to this.
47912 (grubof_LDFLAGS): Renamed from this...
47913 (kernel_elf_LDFLAGS): ...to this.
47914
47915 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47916 this...
47917 (kernel_elf_HEADERS): ...to this. Updated all users.
47918 (grubof_symlist.c): Renamed from this...
47919 (kernel_elf_symlist.c): ...to this. Updated all users.
47920 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47921 (grubof_SOURCES): Renamed from this...
47922 (kernel_elf_SOURCES): ...to this.
47923 (grubof_HEADERS): Renamed from this...
47924 (kernel_elf_HEADERS): ...to this.
47925 (grubof_CFLAGS): Renamed from this...
47926 (kernel_elf_CFLAGS): ...to this.
47927 (grubof_ASFLAGS): Renamed from this...
47928 (kernel_elf_ASFLAGS): ...to this.
47929 (grubof_LDFLAGS): Renamed from this...
47930 (kernel_elf_LDFLAGS): ...to this.
47931
47932 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47933 `kernel.elf' instead of `grubof'.
47934
05568c2e 479352006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47936
47937 Add --with-platform to configure. Use pkglibdir instead of
47938 pkgdatadir. This is reported by Roger Leigh.
47939
47940 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47941 (host_vendor): Likewise.
47942 (host_os): Likewise.
47943 (pkgdatadir): Likewise.
47944 (platform): New variable.
47945 (pkglibdir): Likewise.
47946 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47947
05568c2e 47948 * util/i386/pc/grub-install.in (datadir): Removed.
47949 (host_vendor): Likewise.
47950 (host_os): Likewise.
47951 (pkgdatadir): Likewise.
47952 (platform): New variable.
47953 (pkglibdir): Likewise.
47954 Use PKGLIBDIR instead of PKGDATADIR.
47955
47956 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47957 instead of GRUB_DATADIR.
47958 (main): Likewise.
47959 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47960 (main): Likewise.
47961 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47962 (main): Likewise.
47963
47964 * configure.ac (--with-platform): New option.
47965 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47966
47967 * Makefile.in: Include a makefile based on PLATFORM instead of
47968 HOST_VENDOR.
47969 (pkgdatadir): Not appended by the machine type.
47970 (pkglibdir): Appended by the machine type.
47971 (host_vendor): Removed.
47972 (platform): New variable.
47973 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47974 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47975 (uninstall): Likewise.
47976
4e93851c 479772006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47978
47979 Use the environment context in the menu. Remove the commands
47980 "default" and "timeout", and use variables instead.
f19dbdb7 47981
4e93851c 47982 * normal/menu.c: Include grub/env.h.
47983 (print_entry): Cast TITLE to silence gcc.
47984 (get_timeout): New function.
47985 (set_timeout): Likewise.
47986 (get_entry_number): Likewise.
47987 (run_menu): Use a default entry, a fallback entry and a timeout
47988 in the environment variables "default", "fallback" and
47989 "timeout". Also, tweak the default entry if it is not within the
47990 current menu entries.
47991 (grub_menu_run): Use a fallback entry in the environment variable
47992 "fallback".
47993
47994 * normal/main.c (read_config_file): Do not initialize
47995 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47996 NEWMENU->TIMEOUT.
47997 (grub_normal_execute): Use a data slot to store the menu.
47998
47999 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48000 fallback_entry and timeout.
48001 (struct grub_menu_list): Removed.
48002 (grub_menu_list_t): Likewise.
48003 (struct grub_context): Likewise.
48004 (grub_context_t): Likewise.
48005 (grub_context_get): Likewise.
48006 (grub_context_get_current_menu): Likewise.
48007 (grub_context_push_menu): Likewise.
48008 (grub_context_pop_menu): Likewise.
48009 (grub_default_init): Likewise.
48010 (grub_default_fini): Likewise.
48011 (grub_timeout_init): Likewise.
48012 (grub_timeout_fini): Likewise.
48013
48014 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48015 and timeout.mod.
48016 (normal_mod_SOURCES): Removed normal/context.c.
48017
48018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48019 commands/default.c, commands/timeout.c and normal/context.c.
48020 (normal_mod_SOURCES): Removed normal/context.c.
48021
48022 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48023 commands/timeout.c and normal/context.c.
48024 (normal_mod_SOURCES): Removed normal/context.c.
48025
48026 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48027 commands/default.c, commands/timeout.c and normal/context.c.
48028 (normal_mod_SOURCES): Removed normal/context.c.
48029
48030 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48031 timeout.mod.
48032 (default_mod_SOURCES): Removed.
48033 (default_mod_CFLAGS): Likewise.
48034 (default_mod_LDFLAGS): Likewise.
48035 (timeout_mod_SOURCES): Removed.
48036 (timeout_mod_CFLAGS): Likewise.
48037 (timeout_mod_LDFLAGS): Likewise.
48038
48039 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48040 normal/context.c.
48041
48042 * commands/default.c: Removed.
48043 * commands/timeout.c: Likewise.
48044 * normal/context.c: Likewise.
48045
1eb9cc1d 480462006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48047
48048 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48049
385bd9c1 480502006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48053 "next" to "prev" for readability.
48054 (struct grub_env_sorted_var): New struct.
48055 (grub_env_context): Renamed to ...
48056 (initial_context): ... this.
48057 (grub_env_var_context): Renamed to ...
48058 (current_context): ... this.
48059 (grub_env_find): Look only at CURRENT_CONTEXT.
48060 (grub_env_context_open): Rewritten to copy exported variables from
48061 previous context.
48062 (grub_env_context_close): Rewritten according to the new
48063 scheme. Also, add an assertion to prevent the initial context from
48064 removed.
48065 (grub_env_insert): Removed the code for the sorted list.
48066 (grub_env_remove): Likewise.
48067 (grub_env_export): Simply mark the variable with
48068 GRUB_ENV_VAR_GLOBAL.
48069 (grub_env_set): A cosmetic change for naming consistency.
48070 (grub_env_get): Likewise.
48071 (grub_env_unset): Likewise.
48072 (grub_env_iterate): Rewritten to sort variables within this
48073 function.
48074 (grub_register_variable_hook): Fixed for naming consistency. Call
48075 grub_env_find again, only if NAME is not found at the first time.
48076 (mangle_data_slot_name): New function.
48077 (grub_env_set_data_slot): Likewise.
48078 (grub_env_get_data_slot): Likewise.
48079 (grub_env_unset_data_slot): Likewise.
48080
48081 * include/grub/env.h (grub_env_var_type): New enum.
48082 (GRUB_ENV_VAR_LOCAL): New constant.
48083 (GRUB_ENV_VAR_GLOBAL): Likewise.
48084 (GRUB_ENV_VAR_DATA): Likewise.
48085 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48086 "type".
48087 (grub_env_set): Replace VAR with NAME for consistency.
48088 (grub_register_variable_hook): Likewise.
48089 (grub_env_export): Specify the name of the argument.
48090 (grub_env_set_data_slot): New prototype.
48091 (grub_env_get_data_slot): Likewise.
48092 (grub_env_unset_data_slot): Likewise.
48093
7f362539 480942006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48095
48096 Extend the loader so that GRUB can accept a loader which comes
48097 back to GRUB when a loaded image exits. Also, this change adds
48098 support for a chainloader on EFI.
f19dbdb7 48099
7f362539 48100 * term/efi/console.c: Include grub/misc.h.
48101 (grub_console_checkkey): Display a scan code on the top for
48102 debugging. This will be removed once the EFI port gets stable.
48103 Correct the scan code mapping.
48104
48105 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48106 allocate memory from larger regions, in order to reduce the number
48107 of allocated regions. Otherwise, the MacOSX loader panics.
48108 (filter_memory_map): Avoid less than 1MB for compatibility with
48109 other loaders.
48110 (add_memory_regions): Allocate from the tail of a region, if
48111 possible, to avoid allocating a region near to 1MB, for the MacOSX
48112 loader.
48113
48114 * kern/efi/init.c (grub_efi_set_prefix): Specify
48115 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48116
48117 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48118 argument IMAGE_HANDLE and specify it to get a loaded image.
48119 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48120 grub_efi_get_loaded_image.
fe6b695a 48121 (grub_efi_get_filename): Divide the length by the size of
7f362539 48122 grub_efi_char16_t.
48123 (grub_efi_get_device_path): New function.
48124 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48125 the length by the size of grub_efi_char16_t for a file path device
48126 path node.
48127
48128 * kern/loader.c (grub_loader_noreturn): New variable.
48129 (grub_loader_set): Accept a new argument NORETURN. Set
48130 GRUB_LOADER_NORETURN to NORETURN.
48131 All callers changed.
48132 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48133 grub_machine_fini.
48134
48135 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48136 prototype.
48137 (grub_efi_get_loaded_image): Take an argument to specify an image
48138 handle.
48139
48140 * include/grub/loader.h (grub_loader_set): Added one more argument
48141 NORETURN.
48142
48143 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48144 instead of grub_efi_open_protocol.
48145 (grub_efidisk_get_device_name): Likewise.
48146 (grub_efidisk_close): Print a newline.
48147 (grub_efidisk_get_device_handle): Fixed to use
48148 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48149 GRUB_EFI_DEVICE_PATH_TYPE.
48150
48151 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48152 * kern/efi/efi.c (device_path_guid): ... here.
48153
48154 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48155 chain.mod.
48156 (kernel_mod_HEADERS): Added efi/disk.h.
48157 (_chain_mod_SOURCES): New variable.
48158 (_chain_mod_CFLAGS): Likewise.
48159 (_chain_mod_LDFLAGS): Likewise.
48160 (chain_mod_SOURCES): Likewise.
48161 (chain_mod_CFLAGS): Likewise.
48162 (chain_mod_LDFLAGS): Likewise.
48163
48164 * DISTLIST: Added include/grub/efi/chainloader.h,
48165 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48166
48167 * include/grub/efi/chainloader.h: New file.
48168 * loader/efi/chainloader.c: Likewise.
48169 * loader/efi/chainloader_normal.c: Likewise.
48170
c0111d6e 481712006-04-30 Marco Gerards <marco@gnu.org>
48172
48173 * commands/configfile.c (grub_cmd_source): New function.
48174 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48175 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48176
df5341da 481772006-04-30 Marco Gerards <marco@gnu.org>
48178
48179 * normal/execute.c (grub_script_execute_cmd): Change the return
48180 type to `grub_err_t'. Correctly return the error.
48181 (grub_script_execute_cmdline): In case a command line is not a
48182 command or a function, try to interpret it as an assignment.
48183
f85934bd 481842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48185
48186 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48187 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48188 skip a node whose name is obviously invalid as UTF-16,
48189 i.e. contains a NUL character. Stop the iteration when the last
48190 directory entry is found. Instead of using the return value of
48191 grub_hfsplus_btree_iterate_node, store the value in RET and use
48192 it, because the iterator can be stopped by the last directory
48193 entry.
48194
8f8a2cf8 481952006-04-30 Marco Gerards <marco@gnu.org>
48196
48197 * include/grub/env.h (grub_env_export): New prototype. Reported
48198 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48199
a27e84ce 482002006-04-30 Marco Gerards <marco@gnu.org>
48201
48202 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48203 size of the extents in a catalog file record.
48204
eaef0553 482052006-04-29 Marco Gerards <marco@gnu.org>
48206
48207 * commands/configfile.c (grub_cmd_configfile): Execute the
48208 configfile within its own context.
48209
48210 * include/grub/env.h (grub_env_context_open): New prototype.
48211 (grub_env_context_close): Likewise.
48212
48213 * kern/env.c (grub_env): Removed.
48214 (grub_env_sorted): Likewise.
48215 (grub_env_context): New variable.
48216 (grub_env_var_context): Likewise.
48217 (grub_env_find): Search both the active context and the global
48218 context.
48219 (grub_env_context_open): New function.
48220 (grub_env_context_close): Likewise.
48221 (grub_env_insert): Likewise.
48222 (grub_env_remove): Likewise.
48223 (grub_env_export): Likewise.
48224 (grub_env_set): Changed to use helper functions to avoid code
48225 duplication.
48226 (grub_env_iterate): Rewritten so both the current context and the
48227 global context are being used.
48228
48229 * normal/command.c (export_command): New function.
48230 (grub_command_init): Register the `export' function.
48231
7b455f4d 482322006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48233
48234 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48235 explicitly to suppress gcc's warnings.
48236 * fs/fat.c (grub_fat_find_dir): Likewise.
48237 (grub_fat_label): Likewise.
48238 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48239 (grub_xfs_mount): Likewise.
48240 (grub_xfs_label): Likewise.
48241 * fs/affs.c (grub_affs_mount): Likewise.
48242 (grub_affs_label): Likewise.
48243 (grub_affs_iterate_dir): Likewise.
48244 * fs/sfs.c (grub_sfs_mount): Likewise.
48245 (grub_sfs_iterate_dir): Likewise.
48246 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48247 * fs/hfs.c (grub_hfs_mount): Likewise.
48248 (grub_hfs_cmp_catkeys): Likewise.
48249 (grub_hfs_find_dir): Likewise.
48250 (grub_hfs_dir): Likewise.
48251 (grub_hfs_label): Likewise.
48252 * fs/jfs.c (grub_jfs_mount): Likewise.
48253 (grub_jfs_opendir): Likewise.
48254 (grub_jfs_getent): Likewise.
48255 (grub_jfs_lookup_symlink): Likewise.
48256 (grub_jfs_label): Likewise.
48257 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48258 (grub_hfsplus_iterate_dir): Likewise.
48259 (grub_hfsplus_btree_iterate_node): Made static.
48260
48261 * util/grub-emu.c (prefix): New variable.
48262 (grub_machine_set_prefix): New function.
48263 (main): Do not set the environment variable "prefix" here. Only
48264 set PREFIX, which is used later by grub_machine_set_prefix.
48265
48266 * include/grub/video.h: Do not include grub/symbol.h.
48267 (grub_video_register): Not exported. This symbol is not defined in
48268 the kernel.
48269 (grub_video_unregister): Likewise.
48270 (grub_video_iterate): Likewise.
48271 (grub_video_setup): Likewise.
48272 (grub_video_restore): Likewise.
48273 (grub_video_get_info): Likewise.
48274 (grub_video_get_blit_format): Likewise.
48275 (grub_video_set_palette): Likewise.
48276 (grub_video_get_palette): Likewise.
48277 (grub_video_set_viewport): Likewise.
48278 (grub_video_get_viewport): Likewise.
48279 (grub_video_map_color): Likewise.
48280 (grub_video_map_rgb): Likewise.
48281 (grub_video_map_rgba): Likewise.
48282 (grub_video_fill_rect): Likewise.
48283 (grub_video_blit_glyph): Likewise.
48284 (grub_video_blit_bitmap): Likewise.
48285 (grub_video_blit_render_target): Likewise.
48286 (grub_video_scroll): Likewise.
48287 (grub_video_swap_buffers): Likewise.
48288 (grub_video_create_render_target): Likewise.
48289 (grub_video_delete_render_target): Likewise.
48290 (grub_video_set_active_render_target): Likewise.
48291
48292 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48293 Undefined.
48294 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48295
48296 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48297 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48298 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48299 instead of $(srcdir)/genkernsyms.sh.
48300
48301 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48304 instead of $(srcdir)/genkernsyms.sh.
48305
48306 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48307 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48309 instead of $(srcdir)/genkernsyms.sh.
48310
48311 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48314 instead of $(srcdir)/genkernsyms.sh.
48315
48316 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48317 genkernsyms.sh.
48318
48319 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48320 genkernsyms.sh.
48321 (gensymlist.sh): New target.
48322 (genkernsyms.sh): Likewise.
48323
48324 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48325 genkernsyms.sh.in and gensymlist.sh.in.
48326
48327 * genkernsyms.sh: Removed.
48328 * gensymlist.sh: Likewise.
f19dbdb7 48329
7b455f4d 48330 * genkernsyms.sh.in: New file.
48331 * gensymlist.sh.in: Likewise.
48332
1885bb27 483332006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48334
48335 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48336 clobber "prefix", since we may have already set it manually.
48337
71538dff 483382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48339
48340 * kern/misc.c (abort): New alias for grub_abort.
48341
2965c7cc 483422006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48343
48344 A new machine-specific function "grub_machine_set_prefix" is
48345 defined. This is called after loading modules, so that a prefix
48346 initialization can use modules. Also, this change adds an
48347 intensive debugging feature for the memory manager via the
48348 configure option "--enable-mm-debug".
f19dbdb7 48349
2965c7cc 48350 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48351 PART.LEN.
48352
48353 * kern/sparc64/ieee1275/init.c (abort): Removed.
48354 (grub_stop): Likewise.
48355 (grub_exit): New function.
48356 (grub_set_prefix): Renamed to ...
48357 (grub_machine_set_prefix): ... this.
48358 (grub_machine_init): Do not call grub_set_prefix.
48359
48360 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48361 (grub_machine_set_prefix): ... this.
48362 (grub_machine_init): Do not call grub_set_prefix.
48363
48364 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48365 (grub_machine_init): Do not set the prefix here.
48366
48367 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48368
48369 * kern/efi/init.c: Include grub/mm.h.
48370 (grub_efi_set_prefix): New function.
48371
48372 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48373 (grub_efi_get_filename): New function.
48374 (grub_print_device_path): Renamed to ...
48375 (grub_efi_print_device_path): ... this.
48376
48377 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48378 [MM_DEBUG] (grub_realloc): Likewise.
48379 [MM_DEBUG] (grub_free): Likewise.
48380 [MM_DEBUG] (grub_memalign): Likewise.
48381 [MM_DEBUG] (grub_mm_debug): New variable.
48382 [MM_DEBUG] (grub_debug_malloc): New function.
48383 [MM_DEBUG] (grub_debug_free): New function.
48384 [MM_DEBUG] (grub_debug_realloc): New function.
48385 [MM_DEBUG] (grub_debug_memalign): New function.
48386
48387 * kern/misc.c (grub_abort): Print a newline to distinguish
48388 the message.
48389
48390 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48391 grub_set_root_dev after loading modules. This is necessary when
48392 setting a prefix depends on modules.
48393
48394 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48395 (grub_efi_print_device_path): ... this.
48396 (grub_efi_get_filename): New prototype.
48397 (grub_efi_set_prefix): Likewise.
48398
48399 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48400 and grub/disk.h.
48401 (grub_efidisk_get_device_handle): New prototype.
48402 (grub_efidisk_get_device_name): Likewise.
48403
48404 * include/grub/mm.h: Include config.h.
48405 (MM_DEBUG): Removed.
48406 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48407 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48408 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48409 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48410 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48411 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48412 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48413 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48414 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48415
48416 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48417
48418 * disk/efi/efidisk.c: Include grub/partition.h.
48419 (iterate_child_devices): New function.
48420 (add_device): First, compare only last device path nodes, so that
48421 devices are sorted by the types.
48422 (grub_efidisk_get_device_handle): New function.
48423 (grub_efidisk_get_device_name): Likewise.
48424
48425 * configure.ac (--enable-mm-debug): New option to enable the
48426 memory manager debugging feature. This makes the binary much
48427 bigger, so is disabled by default.
48428
9cacaa17 484292006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 Use grub_abort instead of grub_stop, and grub_exit must be
48432 define in each architecture now. Also, this change adds support
48433 for EFI disks.
f19dbdb7 48434
9cacaa17 48435 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48436 (grub_getkey): New function.
48437 (grub_term_get_current): Likewise.
48438
48439 * util/i386/pc/grub-setup.c: Include grub/term.h.
48440 (grub_getkey): New function.
48441 (grub_term_get_current): Likewise.
48442
48443 * util/misc.c (grub_stop): Renamed to ...
48444 (grub_exit): ... this.
48445
48446 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48447 (grub_exit): ... this.
48448 (grub_machine_init): Use grub_abort instead of abort.
48449 (grub_stop): Removed.
48450
48451 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48452 abort.
48453
48454 * kern/i386/pc/startup.S (grub_exit): New function.
48455 (cold_reboot): New label.
48456
48457 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48458 (grub_efi_init): Call grub_efidisk_init.
48459 (grub_efi_fini): Call grub_efidisk_fini.
48460
48461 * kern/efi/efi.c: Include grub/mm.h.
48462 (grub_efi_console_control_guid): Renamed to ...
48463 (console_control_guid): ... this.
48464 (grub_efi_loaded_image_guid): Renamed to ...
48465 (loaded_image_guid): ... this.
48466 (grub_efi_locate_handle): New function.
48467 (grub_efi_open_protocol): Likewise.
48468 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48469 GRUB_EFI_CONSOLE_CONTROL_GUID.
48470 (grub_efi_exit): Removed.
48471 (grub_stop): Likewise.
48472 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48473 (grub_exit): New function.
48474 (grub_print_device_path): Likewise.
48475
48476 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48477 (grub_enter_rescue_mode): Register "exit".
48478
48479 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48480 (grub_abort): New function.
48481
48482 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48483
48484 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48485
48486 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48487
48488 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48489 (grub_print_device_path): New prototype.
48490 (grub_efi_locate_handle): Likewise.
48491 (grub_efi_open_protocol): Likewise.
48492
48493 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48494 * disk/efi/efidisk.c: Likewise.
48495
48496 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48497
48498 * include/grub/efi/console_control.h
48499 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48500
48501 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48502 last 8 bytes as an array.
48503 (GRUB_EFI_DISK_IO_GUID): New macro.
48504 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48505 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48506 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48507 grub_uint8_t.
48508 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48509 (struct grub_efi_device_path): Rename the member "sub_type" to
48510 "subtype".
48511 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48512 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48513 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48514 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48515 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48516 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48517 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48518 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48519 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48520 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48521 (struct grub_efi_pci_device_path): New structure.
48522 (grub_efi_pci_device_path_t): New type.
48523 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48524 (struct grub_efi_pccard_device_path): New structure.
48525 (grub_efi_pccard_device_path_t): New type.
48526 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48527 (struct grub_efi_memory_mapped_device_path): New structure.
48528 (grub_efi_memory_mapped_device_path_t): New type.
48529 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48530 (struct grub_efi_vendor_device_path): New structure.
48531 (grub_efi_vendor_device_path_t): New type.
48532 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48533 (struct grub_efi_controller_device_path): New structure.
48534 (grub_efi_controller_device_path_t): New type.
48535 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48536 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48537 (struct grub_efi_acpi_device_path): New structure.
48538 (grub_efi_acpi_device_path_t): New type.
48539 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48540 (struct grub_efi_expanded_acpi_device_path): New structure.
48541 (grub_efi_expanded_acpi_device_path_t): New type.
48542 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48543 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48544 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48545 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48546 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48547 (struct grub_efi_atapi_device_path): New structure.
48548 (grub_efi_atapi_device_path_t): New type.
48549 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48550 (struct grub_efi_fibre_channel_device_path): New structure.
48551 (grub_efi_fibre_channel_device_path_t): New type.
48552 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48553 (struct grub_efi_1394_device_path): New structure.
48554 (grub_efi_1394_device_path_t): New type.
48555 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48556 (struct grub_efi_usb_device_path): New structure.
48557 (grub_efi_usb_device_path_t): New type.
48558 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48559 (struct grub_efi_usb_class_device_path): New structure.
48560 (grub_efi_usb_class_device_path_t): New type.
48561 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48562 (struct grub_efi_i2o_device_path): New structure.
48563 (grub_efi_i2o_device_path_t): New type.
48564 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48565 (struct grub_efi_mac_address_device_path): New structure.
48566 (grub_efi_mac_address_device_path_t): New type.
48567 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48568 (struct grub_efi_ipv4_device_path): New structure.
48569 (grub_efi_ipv4_device_path_t): New type.
48570 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48571 (struct grub_efi_ipv6_device_path): New structure.
48572 (grub_efi_ipv6_device_path_t): New type.
48573 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48574 (struct grub_efi_infiniband_device_path): New structure.
48575 (grub_efi_infiniband_device_path_t): New type.
48576 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48577 (struct grub_efi_uart_device_path): New structure.
48578 (grub_efi_uart_device_path_t): New type.
48579 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48580 (struct grub_efi_vendor_messaging_device_path): New structure.
48581 (grub_efi_vendor_messaging_device_path_t): New type.
48582 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48583 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48584 (struct grub_efi_hard_drive_device_path): New structure.
48585 (grub_efi_hard_drive_device_path_t): New type.
48586 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48587 (struct grub_efi_cdrom_device_path): New structure.
48588 (grub_efi_cdrom_device_path_t): New type.
48589 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48590 (struct grub_efi_vendor_media_device_path): New structure.
48591 (grub_efi_vendor_media_device_path_t): New type.
48592 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48593 (struct grub_efi_file_path_device_path): New structure.
48594 (grub_efi_file_path_device_path_t): New type.
48595 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48596 (struct grub_efi_protocol_device_path): New structure.
48597 (grub_efi_protocol_device_path_t): New type.
48598 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48599 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48600 (struct grub_efi_bios_device_path): New structure.
48601 (grub_efi_bios_device_path_t): New type.
48602 (struct grub_efi_disk_io): New structure.
48603 (grub_efi_disk_io_t): New type.
48604 (struct grub_efi_block_io_media): New structure.
48605 (grub_efi_block_io_media_t): New type.
48606 (struct grub_efi_block_io): New structure.
48607 (grub_efi_block_io_t): New type.
48608
48609 * include/grub/misc.h (grub_stop): Removed.
48610 (grub_exit): New prototype.
48611 (grub_abort): Likewise.
48612
48613 * include/grub/disk.h (enum grub_disk_dev_id): Added
48614 GRUB_DISK_DEVICE_EFIDISK_ID.
48615
48616 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48617 disk/efi/efidisk.c.
48618 (kernel_syms.lst): Remove the target if an error occurs.
48619
49986a9f 486202006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48621
48622 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48623 as it was simply too buggy.
48624
970d3b8a 486252006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48626
48627 * kern/misc.c (grub_lltoa): New function.
48628 (grub_vsprintf): Added support for the long long suffix,
48629 i.e. "ll".
48630
ff04ec24 486312006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48632
48633 * Makefile.in (LDFLAGS): Add variable.
48634 (LD): Remove variable.
48635 * configure.ac: Add -m32 to LDFLAGS.
48636 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48637 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48638 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48639 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48640 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48641 variables.
48642 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48643 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48644 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48645
37e5e1a4 486462006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48647
48648 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48649 length for unknown glyph.
48650
c352d8dd 486512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48652
2eab1c0d 48653 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48654
2eab1c0d 48655 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48656 completely. Accept one more argument DIR. The caller has changed.
48657
48658 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48659
48660 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48661 (grub_efi_loaded_image_guid): New variable.
48662 (grub_efi_get_loaded_image): New function.
48663 (grub_arch_modules_addr): Likewise.
48664
48665 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48666 prototype.
48667
48668 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48669 (struct grub_efi_loaded_image): New structure.
48670 (grub_efi_loaded_image_t): New type.
48671
486722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48673
c352d8dd 48674 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48675 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48676 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48677
6d01d6b4 486782006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48679
48680 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48681
976a4ea0 486822006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48683
48684 * DISTLIST: Added include/grub/efi/console.h,
48685 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48686 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48687
48688 * include/grub/efi/console.h: New file.
48689 * include/grub/efi/time.h: Likewise.
48690 * include/grub/i386/efi/kernel.h: Likewise.
48691 * kern/efi/init.c: Likewise.
48692 * kern/efi/mm.c: Likewise.
48693 * term/efi/console.c: Likewise.
f19dbdb7 48694
976a4ea0 48695 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48696 (grub_stop): Removed.
48697 (grub_get_rtc): Likewise.
48698 (grub_machine_init): Simply call grub_efi_init.
48699 (grub_machine_fini): Call grub_efi_fini.
48700
48701 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48702 (grub_efi_output_string): Removed.
48703 (grub_efi_stall): New function.
48704 (grub_stop): Likewise.
48705 (grub_get_rtc): Likewise.
48706
48707 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48708 (grub_efi_stall): New prototype.
48709 (grub_efi_allocate_pages): Likewise.
48710 (grub_efi_free_pages): Likewise.
48711 (grub_efi_get_memory_map): Likewise.
48712 (grub_efi_mm_init): Likewise.
48713 (grub_efi_mm_fini): Likewise.
48714 (grub_efi_init): Likewise.
48715 (grub_efi_fini): Likewise.
48716
48717 * include/grub/i386/efi/time.h: Do not include
48718 grub/symbol.h. Include grub/efi/time.h.
48719 (GRUB_TICKS_PER_SECOND): Removed.
48720 (grub_get_rtc): Likewise.
48721
48722 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48723 Added padding. The EFI spec is buggy.
48724 (GRUB_EFI_BLACK): New macro.
48725 (GRUB_EFI_BLUE): Likewise.
48726 (GRUB_EFI_GREEN): Likewise.
48727 (GRUB_EFI_CYAN): Likewise.
48728 (GRUB_EFI_RED): Likewise.
48729 (GRUB_EFI_MAGENTA): Likewise.
48730 (GRUB_EFI_BROWN): Likewise.
48731 (GRUB_EFI_LIGHTGRAY): Likewise.
48732 (GRUB_EFI_BRIGHT): Likewise.
48733 (GRUB_EFI_DARKGRAY): Likewise.
48734 (GRUB_EFI_LIGHTBLUE): Likewise.
48735 (GRUB_EFI_LIGHTGREEN): Likewise.
48736 (GRUB_EFI_LIGHTCYAN): Likewise.
48737 (GRUB_EFI_LIGHTRED): Likewise.
48738 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48739 (GRUB_EFI_YELLOW): Likewise.
48740 (GRUB_EFI_WHITE): Likewise.
48741 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48742 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48743 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48744 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48745 (GRUB_EFI_BACKGROUND_RED): Likewise.
48746 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48747 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48748 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48749 (GRUB_EFI_TEXT_ATTR): Likewise.
48750
48751 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48752 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48753 (kernel_mod_HEADERS): Added efi/time.h.
48754
83709125 487552006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48756
48757 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48758 include/grub/efi/api.h, include/grub/efi/console_control.h,
48759 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48760 include/grub/i386/efi/time.h, kern/efi/efi.c,
48761 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48762 and util/i386/efi/grub-mkimage.c.
48763
48764 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48765
48766 * genmk.rb (PModule#rule): Do not export symbols if
48767 #{prefix}_EXPORTS is set to "no".
48768
48769 * conf/i386-efi.mk: New file.
48770 * conf/i386-efi.rmk: Likewise.
48771 * include/grub/efi/api.h: Likewise.
48772 * include/grub/efi/console_control.h: Likewise.
48773 * include/grub/efi/efi.h: Likewise.
48774 * include/grub/efi/pe32.h: Likewise.
48775 * include/grub/i386/efi/time.h: Likewise.
48776 * kern/efi/efi.c: Likewise.
48777 * kern/i386/efi/init.c: Likewise.
48778 * kern/i386/efi/startup.S: Likewise.
48779 * util/i386/efi/grub-mkimage.c: Likewise.
48780
487812006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48782
48783 * include/grub/script.h: Include <grub/parser.h> and
48784 "grub_script.tab.h".
48785 (struct grub_lexer_param): New struct.
48786 (struct grub_parser_param): Likewise.
48787 (grub_script_create_arglist): Pass the state in an argument.
48788 (grub_script_add_arglist): Likewise.
48789 (grub_script_create_cmdline): Likewise.
48790 (grub_script_create_cmdblock): Likewise.
48791 (grub_script_create_cmdif): Likewise.
48792 (grub_script_create_cmdmenu): Likewise.
48793 (grub_script_add_cmd): Likewise.
48794 (grub_script_arg_add): Likewise.
48795 (grub_script_lexer_ref): Likewise.
48796 (grub_script_lexer_deref): Likewise.
48797 (grub_script_lexer_record_start): Likewise.
48798 (grub_script_lexer_record_stop): Likewise.
48799 (grub_script_mem_record): Likewise.
48800 (grub_script_mem_record_stop): Likewise.
48801 (grub_script_malloc): Likewise.
48802 (grub_script_yylex): Likewise.
48803 (grub_script_yyparse): Likewise.
48804 (grub_script_yyerror): Likewise.
48805 (grub_script_yylex): Likewise.
48806 (grub_script_lexer_init): Return the state.
48807
48808 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48809 (grub_script_lexer_done): Likewise.
48810 (grub_script_lexer_getline): Likewise.
48811 (grub_script_lexer_refs): Likewise.
48812 (script): Likewise.
48813 (newscript): Likewise.
48814 (record): Likewise.
48815 (recording): Likewise.
48816 (recordpos): Likewise.
48817 (recordlen): Likewise.
48818 (grub_script_lexer_init): Return the state instead of setting
48819 global variables.
48820 (grub_script_lexer_ref): Use the newly added argument for state
48821 instead of globals.
48822 (grub_script_lexer_deref): Likewise.
48823 (grub_script_lexer_record_start): Likewise.
48824 (grub_script_lexer_record_stop): Likewise.
48825 (recordchar): Likewise.
48826 (nextchar): Likewise.
48827 (grub_script_yylex2): Likewise.
48828 (grub_script_yylex): Likewise.
48829 (grub_script_yyerror): Likewise.
48830
48831 * normal/parser.y (func_mem): Removed variable.
48832 (menu_entry): Likewise.
48833 (err): Likewise.
48834 (%lex-param): New parser option.
48835 (%parse-param): Likewise.
48836 (script): Always return the AST.
48837 (argument): Pass the state around.
48838 (arguments): Likewise.
48839 (grubcmd): Likewise.
48840 (commands): Likewise.
48841 (function): Likewise.
48842 (menuentry): Likewise.
48843 (if_statement): Likewise.
48844 (if): Likewise.
48845
48846 * normal/script.c (grub_script_memused): Removed variable.
48847 (grub_script_parsed): Likewise.
48848 (grub_script_malloc): Added a state argument. Use that instead of
48849 global variables.
48850 (grub_script_mem_record): Likewise.
48851 (grub_script_mem_record_stop): Likewise.
48852 (grub_script_arg_add): Likewise.
48853 (grub_script_add_arglist): Likewise.
48854 (grub_script_create_cmdline): Likewise.
48855 (grub_script_create_cmdif): Likewise.
48856 (grub_script_create_cmdmenu): Likewise.
48857 (grub_script_add_cmd): Likewise.
48858 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48859
e2a8c904 488602006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48861
48862 * normal/command.c (grub_command_init): Remove the title command.
48863
48864 * normal/lexer.c (grub_script_yylex): Renamed from this...
48865 (grub_script_yylex2): ... to this.
48866 (grub_script_yylex): New function. Temporary
48867 introduced to filter some tokens.
48868 (grub_script_yyerror): Print a newline.
48869
48870 * normal/main.c (read_config_file): Output information about the
48871 lines that contain errors. Wait for a key after all lines have
48872 been processed. Don't return an empty menu.
48873
48874 * normal/parser.y (func_mem): Don't initialize.
48875 (menu_entry): Likewise.
48876 (err): New variable.
48877 (script): Don't return anything when an error was encountered.
48878 (ws, returns): Removed rules.
48879 (argument): Disabled concatenated variable support.
48880 (arguments): Remove explicit separators.
48881 (grubcmd): Likewise.
48882 (function): Likewise.
48883 (menuentry): Likewise.
48884 (if): Likewise.
48885 (commands): Likewise. Add error handling.
48886
48887 * normal/script.c (grub_script_create_cmdline): If
48888 `grub_script_parsed' is 0, assume the parser encountered an error.
48889
c9a86192 488902006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48891
48892 * configure.ac: Add support for EFI. Fix the typo
48893 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48894
70f3b243 488952006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48896
48897 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48898 foreign multibyte characters should be shown correctly.
48899
65f201ad 489002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48901
48902 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48903 calculation.
48904 (read_config_file): Made it to close file before returning.
48905
b4b93674 489062006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48907
48908 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48909 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48910 video/i386/pc/vbefill.c.
48911
48912 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48913 video/i386/pc/vbefill.c.
48914
48915 * include/grub/video.h (grub_video_blit_format): New enum.
48916 (grub_video_mode_info): Added new member blit_format.
48917 (grub_video_get_blit_format): New function prototype.
48918
48919 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48920 function prototype.
48921 (grub_video_vbe_map_rgb): Likewise.
48922 (grub_video_vbe_unmap_color): Likewise.
48923
48924 * include/grub/i386/pc/vbeblit.h: New file.
48925
48926 * include/grub/i386/pc/vbefill.h: New file.
48927
48928 * video/video.c (grub_video_get_blit_format): New function.
48929 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48930 (grub_video_vbe_map_rgb): Likewise.
48931 (grub_video_vbe_unmap_color): Likewise.
48932
48933 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48934 optimized fills.
48935 (grub_video_vbe_blit_render_target): Changed to use more optimized
48936 blits.
48937 (grub_video_vbe_setup): Added detection for optimized settings.
48938 (grub_video_vbe_create_render_target): Likewise.
48939
48940 * video/i386/pc/vbeblit.c: New file.
48941
48942 * video/i386/pc/vbefill.c: New file.
48943
c2379b9c 489442006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48945
48946 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48947 here...
48948
48949 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48950 parsing to support both hex and dec ranges. If filename was missing
48951 show usage information.
48952
bd0d7896 489532006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48954
48955 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48956 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48957
48958 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48959 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48960 (video_mod_SOURCES): Added.
48961 (video_mod_CFLAGS): Likewise.
48962 (video_mod_LDFLAGS): Likewise.
48963 (gfxterm_mod_SOURCES): Likewise.
48964 (gfxterm_mod_CFLAGS): Likewise.
48965 (gfxterm_mod_LDFLAGS): Likewise.
48966 (videotest_mod_SOURCES): Likewise.
48967 (videotest_mod_CFLAGS): Likewise.
48968 (videotest_mod_LDFLAGS): Likewise.
48969 (vesafb_mod_SOURCES): Removed.
48970 (vesafb_mod_CFLAGS): Likewise.
48971 (vesafb_mod_LDFLAGS): Likewise.
48972 (vga_mod_SOURCES): Likewise.
48973 (vga_mod_CFLAGS): Likewise.
48974 (vga_mod_LDFLAGS): Likewise.
48975
48976 * commands/videotest.c: New file.
48977
48978 * font/manager.c (fill_with_default_glyph): Modified to use
48979 grub_font_glyph.
48980 (grub_font_get_glyph): Likewise.
48981 (fontmanager): Renamed from this...
48982 (font_manager): ... to this.
48983
48984 * include/grub/font.h (grub_font_glyph): Added new structure.
48985 (grub_font_get_glyph): Modified to use grub_font_glyph.
48986
48987 * include/grub/misc.h (grub_abs): Added as inline function.
48988
48989 * include/grub/video.h: New file.
48990
48991 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48992 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48993 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48994 (grub_vbe_get_controller_info): Renamed from this...
48995 (grub_vbe_bios_get_controller_info): ... to this.
48996 (grub_vbe_get_mode_info): Renamed from this...
48997 (grub_vbe_bios_get_mode_info): ... to this.
48998 (grub_vbe_set_mode): Renamed from this...
48999 (grub_vbe_bios_set_mode): ... to this.
49000 (grub_vbe_get_mode): Renamed from this...
49001 (grub_vbe_bios_get_mode): ... to this.
49002 (grub_vbe_set_memory_window): Renamed from this...
49003 (grub_vbe_bios_set_memory_window): ... to this.
49004 (grub_vbe_get_memory_window): Renamed from this...
49005 (grub_vbe_bios_get_memory_window): ... to this.
49006 (grub_vbe_set_scanline_length): Renamed from this...
49007 (grub_vbe_set_scanline_length): ... to this.
49008 (grub_vbe_get_scanline_length): Renamed from this...
49009 (grub_vbe_bios_get_scanline_length): ... to this.
49010 (grub_vbe_set_display_start): Renamed from this...
49011 (grub_vbe_bios_set_display_start): ... to this.
49012 (grub_vbe_get_display_start): Renamed from this...
49013 (grub_vbe_bios_get_display_start): ... to this.
49014 (grub_vbe_set_palette_data): Renamed from this...
49015 (grub_vbe_bios_set_palette_data): ... to this.
49016 (grub_vbe_set_pixel_rgb): Removed.
49017 (grub_vbe_set_pixel_index): Likewise.
49018
49019 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49020 from this...
49021 (grub_vbe_bios_get_controller_info): ... to this.
49022 (grub_vbe_get_mode_info): Renamed from this...
49023 (grub_vbe_bios_get_mode_info): ... to this.
49024 (grub_vbe_set_mode): Renamed from this...
49025 (grub_vbe_bios_set_mode): ... to this.
49026 (grub_vbe_get_mode): Renamed from this...
49027 (grub_vbe_bios_get_mode): ... to this.
49028 (grub_vbe_set_memory_window): Renamed from this...
49029 (grub_vbe_bios_set_memory_window): ... to this.
49030 (grub_vbe_get_memory_window): Renamed from this...
49031 (grub_vbe_bios_get_memory_window): ... to this.
49032 (grub_vbe_set_scanline_length): Renamed from this...
49033 (grub_vbe_set_scanline_length): ... to this.
49034 (grub_vbe_get_scanline_length): Renamed from this...
49035 (grub_vbe_bios_get_scanline_length): ... to this.
49036 (grub_vbe_set_display_start): Renamed from this...
49037 (grub_vbe_bios_set_display_start): ... to this.
49038 (grub_vbe_get_display_start): Renamed from this...
49039 (grub_vbe_bios_get_display_start): ... to this.
49040 (grub_vbe_set_palette_data): Renamed from this...
49041 (grub_vbe_bios_set_palette_data): ... to this.
49042 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49043 getting corrupted after calling it. Added more pushes and pops.
49044 (grub_vbe_bios_set_mode): Likewise.
49045 (grub_vbe_bios_get_mode): Likewise.
49046 (grub_vbe_bios_get_memory_window): Likewise.
49047 (grub_vbe_bios_set_scanline_length): Likewise.
49048 (grub_vbe_bios_get_scanline_length): Likewise.
49049 (grub_vbe_bios_get_display_start): Likewise.
49050 (grub_vbe_bios_set_palette_data): Likewise.
49051
49052 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49053 (cl_insert): Likewise.
49054 (cl_delete): Likewise.
49055
49056 * term/gfxterm.c: New file.
49057
49058 * term/i386/pc/vesafb.c: Removed file.
49059
49060 * video/video.c: New file.
49061
49062 * video/i386/pc/vbe.c (real2pm): Added new function.
49063 (grub_video_vbe_draw_pixel): Likewise.
49064 (grub_video_vbe_get_video_ptr): Likewise.
49065 (grub_video_vbe_get_pixel): Likewise
49066 (grub_video_vbe_init): Likewise.
49067 (grub_video_vbe_fini): Likewise.
49068 (grub_video_vbe_setup): Likewise.
49069 (grub_video_vbe_get_info): Likewise.
49070 (grub_video_vbe_set_palette): Likewise.
49071 (grub_video_vbe_get_palette): Likewise.
49072 (grub_video_vbe_set_viewport): Likewise.
49073 (grub_video_vbe_get_viewport): Likewise.
49074 (grub_video_vbe_map_color): Likewise.
49075 (grub_video_vbe_map_rgb): Likewise.
49076 (grub_video_vbe_map_rgba): Likewise.
49077 (grub_video_vbe_unmap_color): Likewise.
49078 (grub_video_vbe_fill_rect): Likewise.
49079 (grub_video_vbe_blit_glyph): Likewise.
49080 (grub_video_vbe_blit_bitmap): Likewise.
49081 (grub_video_vbe_blit_render_target): Likewise.
49082 (grub_video_vbe_scroll): Likewise.
49083 (grub_video_vbe_swap_buffers): Likewise.
49084 (grub_video_vbe_create_render_target): Likewise.
49085 (grub_video_vbe_delete_render_target): Likewise.
49086 (grub_video_vbe_set_active_render_target): Likewise.
49087 (grub_vbe_set_pixel_rgb): Remove function.
49088 (grub_vbe_set_pixel_index): Likewise.
49089 (index_color_mode): Remove static variable.
49090 (active_mode): Likewise.
49091 (framebuffer): Likewise.
49092 (bytes_per_scan_line): Likewise.
49093 (grub_video_vbe_adapter): Added new static variable.
49094 (framebuffer): Likewise.
49095 (render_target): Likewise.
49096 (initial_mode): Likewise.
49097 (mode_in_use): Likewise.
49098 (mode_list): Likewise.
49099
5f97350b 491002006-03-10 Marco Gerards <marco@gnu.org>
49101
49102 * configure.ac (AC_INIT): Bumped to 1.93.
49103
49104 * DISTLIST: Added `include/grub/hfs.h'.
49105
a3c5c6f8 491062006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49107
49108 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49109 18H, which might help the BIOS falling back to next boot media.
49110
6de53d26 491112006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49112
49113 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49114 Poe Chen <poe.poechen@gmail.com>.
49115
77c4a393 491162006-01-17 Marco Gerards <marco@gnu.org>
49117
49118 * include/grub/normal.h: Include <grub/script.h>.
49119 (grub_command_list): Removed struct.
49120 (grub_command_list_t): Removed type.
49121 (grub_menu_entry): Remove members `num' and `command_list'. Add
49122 members `commands' and `sourcecode'.
49123 * include/grub/script.h: Add inclusion guards.
49124 (grub_script_cmd_menuentry): New struct.
49125 (grub_script_execute_menuentry): New prototype.
49126 (grub_script_lexer_record_start): Likewise.
49127 (grub_script_lexer_record_stop): Likewise.
49128 * normal/execute.c (grub_script_execute_menuentry): New function.
49129 * normal/lexer.c (record, recording, recordpos, recordlen): New
49130 variables.
49131 (grub_script_lexer_record_start): New function.
49132 (grub_script_lexer_record_stop): Likewise.
49133 (recordchar): Likewise.
49134 (nextchar): Likewise.
49135 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49136 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49137 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49138 (current_menu): New variable.
49139 (free_menu): Mainly rewritten.
49140 (grub_normal_menu_addentry): New function.
49141 (read_config_file): Rewritten.
49142 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49143 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49144 the menu entry.
49145 (run): Mainly rewritten.
49146 * normal/parser.y (menu_entry): New variable.
49147 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49148 (menuentry): New rule.
49149 (command): Add `menuentry'.
49150 (if_statement): Allow additional returns before `fi'.
49151 * normal/script.c (grub_script_create_cmdmenu): New function.
49152
144f1f98 491532006-01-03 Marco Gerards <marco@gnu.org>
49154
49155 * INSTALL: GNU Bison is required.
49156 * configure.ac: Rewritten the test to detect Bison.
49157 * Makefile.in (YACC): New variable. Reported by Xun Sun
49158 <xun.sun.cn@gmail.com>.
49159
af4b2d89 491602006-01-03 Marco Gerards <marco@gnu.org>
49161
49162 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49163 the HFS+ filesystem to filesystem blocks.
49164 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49165 GCC warning is silenced.
49166
15643b71 491672006-01-03 Marco Gerards <marco@gnu.org>
49168
49169 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49170 read from disk from big endian to host byte order.
49171
00905879 491722006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49173
49174 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49175 documentation.
49176 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49177 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49178 embedded HFS+ filesystem.
49179 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49180 (grub_hfs_sblock): Move from here...
49181 * include/grub/hfs.h: To here... New file.
49182 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49183 documentation.
49184 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49185 New macros.
49186 (grub_hfsplus_volheader): Change type of member `magic' to
49187 `grub_uint16_t'.
49188 (grub_hfsplus_data): Add new member `embedded_offset'.
49189 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49190 returned block.
49191 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49192 Calculate the offset.
49193
8899bc3e 491942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49195
49196 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49197 Removed.
49198 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49199
ae8c0277 492002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49201
49202 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49203 ENV->NAME is NULL after allocating ENV->VALUE.
49204
07084456 492052005-12-25 Marco Gerards <marco@gnu.org>
49206
49207 * kern/env.c (grub_env_set): Rewritten the error handling code.
49208
4750f5f1 492092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49210
49211 * geninit.sh: Made more robust, and more portable.
49212
50214199 492132005-12-25 Marco Gerards <marco@gnu.org>
49214
49215 Add support for Apple HFS+ filesystems.
f19dbdb7 49216
50214199 49217 * fs/hfsplus.c: New file.
49218
49219 * DISTLIST: Added `fs/hfsplus.c'.
49220
49221 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49222 (hfsplus_mod_SOURCES): New variable.
49223 (hfsplus_mod_CFLAGS): Likewise.
49224 (hfsplus_mod_LDFLAGS): Likewise.
49225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49226 (grub_setup_SOURCES): Likewise.
49227 (grub_mkdevicemap_SOURCES): Likewise.
49228 (grub_emu_SOURCES): Likewise.
49229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49230
49231 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49232
49233 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49234
befaed6c 492352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49236
49237 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49238 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49239 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49240 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49241 normal/lexer.c, normal/parser.y, normal/script.c, and
49242 partmap/gpt.c.
49243 Removed kern/sparc64/cache.c.
49244
49245 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49246 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49247 grub_emu_init.c.
49248
49249 * configure.ac (AC_INIT): Bumped to 1.92.
49250
6a124103 492512005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49252
49253 * kern/err.c (grub_error_push): Added new function to support error
49254 stacks.
49255 (grub_error_pop): Likewise.
49256 (grub_error_stack_items): New local variable to support error stacks.
49257 (grub_error_stack_pos): Likewise.
49258 (grub_error_stack_assert): Likewise.
49259 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49260 stack depth.
49261 (grub_print_error): Added support to print errors from error stack.
49262
49263 * include/grub/err.h (grub_error_push): Added function prototype.
49264 (grub_error_pop): Likewise.
49265
be973c1b 492662005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49267
49268 * configure.ac: Accept `powerpc64' as host_cpu.
49269 (amd64): Rename to `biarch32'.
49270
49271 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49272 non-cacheline-aligned addresses.
49273
49274 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49275 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49276 if `size' is non-zero.
49277
b04216ab 492782005-12-03 Marco Gerards <mgerards@xs4all.nl>
49279
49280 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49281 and `cd' to make sure the filename is not prefixed with a
49282 directory name.
49283 (pkgdata_MODULES): Add `gpt.mod'.
49284 (gpt_mod_SOURCES): New variable.
49285 (gpt_mod_CFLAGS): Likewise.
49286 (gpt_mod_LDFLAGS): Likewise.
49287
49288 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49289
49290 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49291 New macro.
49292
49293 * partmap/gpt.c: New file.
49294
49295 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49296 GPT partition map is detected.
49297
41730ed9 492982005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49299
49300 * commands/i386/pc/play.c: New file.
49301 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49302 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49303 macros.
f19dbdb7 49304
95dc3643 493052005-11-27 Marco Gerards <mgerards@xs4all.nl>
49306
49307 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49308 ((unused))' to silence gcc warning.
49309
1569ec51 493102005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49311
49312 * configure.ac: Correct `AC_PROG_YACC' test.
49313
9abde152 493142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49315
49316 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49317 check before installing files.
49318
44b83271 493192005-11-22 Mike Small <smallm@panix.com>
49320
49321 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49322 number regex so multidigit numbers are recognized correctly.
49323
493242005-11-22 Mike Small <smallm@panix.com>
49325
49326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49327 debugging message before attempting to claim memory.
49328 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49329 multiple addresses in case of failure.
49330
9c12956b 493312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49332
49333 * term/tparm.c (get_space): Remove empty `if' statement.
49334
49335 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49336
49337 * kern/parser.c (check_varstate): Rename `state' to 's'.
49338
aeaf81d9 493392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49340
49341 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49342 variable definitions to the beginning of each function. Sort stack
49343 variables by size.
49344 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49345 `buf' argument to `char *'.
49346
79bbb63f 493472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49348
49349 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49350 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49351 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49352 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49353 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49354 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49355 configfile.mod, search.mod, gzio.mod and test.mod.
49356 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49357 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49358 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49359 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49360 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49361 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49362 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49363 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49364 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49365 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49366 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49367 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49368 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49369 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49370 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49371 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49372 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49373 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49374 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49375 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49376 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49377 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49378 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49379
49380 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49381 `grep --include'.
49382 (pkgdata_MODULES): Add test.mod.
49383
233b1628 493842005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49385
49386 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49387 appending to variables with "+=".
49388 (PModule): Use full pathname to generate *.lst filenames.
49389
49390 * Makefile.in: Fixed list rules moved from genmk.rb.
49391 (.DELETE_ON_ERROR): New special target.
49392 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49393
49394 * conf/i386-pc.rmk: Include conf/common.mk.
49395 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49396 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49397 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49398 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49399 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49400 configfile.mod, search.mod, gzio.mod and test.mod.
49401 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49402 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49403 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49404 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49405 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49406 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49407 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49408 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49409 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49410 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49411 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49412 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49413 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49414 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49415 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49416 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49417 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49418 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49419 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49420 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49421 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49422 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49423 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49424 here...
49425 * conf/common.rmk: ... to here. New file.
49426
49427 * conf/common.mk: New file.
49428
16f820c8 494292005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49430
49431 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49432 (grub_script.tab.c): ... here.
49433
49434 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49435 (grub_script.tab.c): ... here.
49436
49437 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49438 (grub_script.tab.c): ... here.
49439
49440 * normal/command.c (grub_command_find): Fixed a memory leak of
49441 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49442
63ba1554 494432005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49444
49445 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49446 "@" which marks the start of a comment on ARM.
49447 (VARIABLE): Likewise.
49448
7f67dc13 494492005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49450
79bbb63f 49451 Add support for Linux/ADFS partition tables.
7f67dc13 49452
49453 * partmap/acorn.c: New file.
49454
49455 * include/grub/acorn_filecore.h: Likewise.
49456
49457 * DISTLIST: Added `partmap/acorn.c' and
49458 `include/grub/acorn_filecore.h'.
f19dbdb7 49459
7f67dc13 49460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49461 `partmap/acorn.c'.
49462 (pkgdata_MODULES): Add `acorn.mod'.
49463 (acorn_mod_SOURCES): New variable.
49464 (acorn_mod_CFLAGS): Likewise.
49465
49466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49467 `partmap/acorn.c'.
49468 (pkgdata_MODULES): Add `acorn.mod'.
49469 (acorn_mod_SOURCES): New variable.
49470 (acorn_mod_CFLAGS): Likewise.
49471
49472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49473 (pkgdata_MODULES): Add `acorn.mod'.
49474 (acorn_mod_SOURCES): New variable.
49475 (acorn_mod_CFLAGS): Likewise.
49476 (acorn_mod_LDFLAGS): Likewise.
49477
49478 * include/types.h (grub_disk_addr_t): New typedef.
49479
6d099807 494802005-11-13 Marco Gerards <mgerards@xs4all.nl>
49481
49482 * geninit.sh: New file.
49483
49484 * geninitheader.sh: Likewise.
49485
49486 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49487 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49488 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49489 * commands/configfile.c (grub_configfile_init)
49490 (grub_configfile_fini): Likewise.
49491 * commands/default.c (grub_default_init, grub_default_fini):
49492 Likewise.
49493 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49494 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49495 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49496 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49497 Likewise.
49498 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49499 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49500 Likewise.
49501 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49502 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49503 Likewise.
49504 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49505 Likewise.
fe6b695a 49506 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49507 Likewise.
49508 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49509 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49510 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49511 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49512 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49513 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49514 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49515 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49516 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49517 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49518 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49519 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49520 * partmap/amiga.c (grub_amiga_partition_map_init)
49521 (grub_amiga_partition_map_fini): Likewise.
49522 * partmap/apple.c (grub_apple_partition_map_init)
49523 (grub_apple_partition_map_fini): Likewise.
49524 * partmap/pc.c (grub_pc_partition_map_init)
49525 (grub_pc_partition_map_fini): Likewise.
49526 * partmap/sun.c (grub_sun_partition_map_init,
49527 grub_sun_partition_map_fini): Likewise.
49528 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49529 Likewise.
49530
49531 * util/grub-emu.c: Include <grub_modules_init.h>.
49532 (main): Don't initialize and de-initialize any modules directly,
49533 use `grub_init_all' and `grub_fini_all' instead.
49534
49535 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49536 `grub_vesafb_mod_init'.
49537 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49538 all users.
49539 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49540 `grub_vga_mod_init'. Updated all users.
49541 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49542
6d099807 49543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49544 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49545 rules.
49546
49547 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49548 Generate a function to initialize the module in utilities.
49549 Updated all callers.
49550 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49551 initialize the module in utilities. Updated all callers.
49552
9046bcf0 495532005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49554
49555 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49556 escape sequence and a literal ^L to clear the screen.
49557
49558 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49559 when returning from Open Firmware.
49560
d13ea639 495612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49562
49563 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49564 (grub_ofconsole_height): Likewise.
49565 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49566 manually insert a '\n'.
49567 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49568 `grub_ofconsole_height'. Return early if these are already set.
49569
a8fcf206 495702005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49571
49572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49573 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49574 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49575 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49576 and `normal/script.c'.
49577 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49578 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49579 (test_mod_SOURCES): New variable.
49580 (test_mod_CFLAGS): Likewise.
49581 (test_mod_LDFLAGS): Likewise.
49582 (pkgdata_MODULES): Add `test.mod'.
49583 (grub_script.tab.c): New rule.
49584 (grub_script.tab.h): Likewise.
49585
b6b32745 495862005-11-07 Marco Gerards <mgerards@xs4all.nl>
49587
49588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49589 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49590 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49591 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49592 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49593 (test_mod_SOURCES): New variable.
49594 (test_mod_CFLAGS): Likewise.
49595 (pkgdata_MODULES): Add `test.mod'.
49596 (grub_script.tab.c): New rule.
49597 (grub_script.tab.h): Likewise.
49598
daac212a 495992005-11-06 Marco Gerards <mgerards@xs4all.nl>
49600
49601 Add initial scripting support.
49602
49603 * commands/test.c: New file.
49604 * include/grub/script.h: Likewise.
49605 * normal/execute.c: Likewise.
49606 * normal/function.c: Likewise.
49607 * normal/lexer.c: Likewise.
49608 * normal/parser.y: Likewise.
49609 * normal/script.c: Likewise.
49610
49611 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49612
daac212a 49613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49614 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49615 `normal/function.c' and `normal/script.c'.
49616 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49617 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49618 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49619 variables.
daac212a 49620 (pkgdata_MODULES): Add `test.mod'.
49621 (grub_script.tab.c): New rule.
49622 (grub_script.tab.h): Likewise.
49623
49624 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49625
49626 * include/grub/normal.h (grub_test_init): New prototype.
49627 (grub_test_fini): Likewise.
f19dbdb7 49628
daac212a 49629 * normal/command.c: Include <grub/script.h>.
49630 (grub_command_execute): Rewritten.
f19dbdb7 49631
daac212a 49632 * util/grub-emu.c (main): Call `grub_test_init' and
49633 `grub_test_fini'.
49634
77500b2b 496352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49636
49637 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49638 to 0.
49639 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49640 there are no pending characters.
49641
e45deb9e 496422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49643
49644 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49645 `grub_strndup' to drop device arguments. Replace unnecessary
49646 `grub_strndup' with `grub_strdup'.
49647
4ce32619 496482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49649
49650 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49651 `debug' environment variable has been set.
49652
496532005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49654
4ce32619 49655 * Makefile.in (install-local): Use $(DATA).
49656 (uninstall): Likewise.
49657 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49658 (sbin_UTILITIES): ... to here.
49659 (sbin_SCRIPTS): New variable.
49660 (grub_install_SOURCES): New variable.
49661 * util/powerpc/ieee1275/grub-install.in: New file.
49662 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49663 variable.
49664 (add_segments): Call `grub_util_get_path'.
49665
25fe6f03 496662005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49667
49668 From Timothy Baldwin:
49669 * commands/ls.c (grub_ls_list_files): Close FILE with
49670 grub_file_close.
49671 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49672
04ccf3ec 496732005-10-24 Marco Gerards <mgerards@xs4all.nl>
49674
49675 * include/grub/parser.h: New file.
49676
49677 * kern/parser.c: Likewise.
49678
49679 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49680 (grub_setup_SOURCES): Likewise.
49681 (grub_probefs_SOURCES): Likewise.
49682 (grub_emu_SOURCES): Likewise.
49683 (kernel_img_HEADERS): Add `parser.h'.
49684
49685 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49686 (grub_emu_SOURCES): Add `kern/parser.c'.
49687 (grubof_SOURCES): Likewise.
49688
49689 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49690 (grubof_SOURCES): Add `kern/parser.c'.
49691
49692 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49693
49694 * kern/misc.c (grub_split_cmdline): Removed function.
49695
49696 * kern/rescue.c: Include <grub/parser.h>.
49697 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49698 of `grub_split_cmdline'.
49699
49700 * normal/command.c: Include <grub/parser.h>.
49701 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49702 of `grub_split_cmdline'.
49703
49704 * normal/completion.c: Include <grub/parser.h>.
49705 (cmdline_state): New variable.
49706 (iterate_dir): End the filename with a quote depending on the
49707 command line state.
49708 (get_state): new function.
49709 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49710 split the arguments and determine the current argument. When the
49711 argument string is not quoted, escape all spaces.
49712
6d8f4b0e 497132005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49714
49715 * normal/sparc64/setjmp.S: New file.
49716
15cf03ed 497172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49718
49719 * include/grub/sparc64/libgcc.h: New file.
49720 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49721 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49722 normal/sparc64/setjmp.c.
49723
03e8661a 497242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49725
49726 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49727 * kern/sparc64/cache.S: New file.
49728 * kern/sparc64/cache.c: Removed.
49729 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49730 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49731 -mtune=ultrasparc.
49732 (COMMON_LDFLAGS): Add -melf64_sparc.
49733 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49734 (grubof_SOURCES): Use cache.S instead of cache.c.
49735 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49736 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49737 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49738 commented though.
49739 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49740 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49741 (linux_mod_CFLAGS): Commented out.
49742 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49743 out because module isn't built.
49744 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49745 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49746 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49747 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49748 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49749 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49750 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49751 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49752 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49753 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49754 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49755 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49756 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49757 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49758
34eeec8a 497592005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49760
49761 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49762 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49763 longer, because HFS should not be used on PC.
49764
708367a3 497652005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49766
49767 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49768 consistently within the loop.
49769
6fa1251a 497702005-10-15 Marco Gerards <mgerards@xs4all.nl>
49771
49772 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49773 directory can not be read.
49774
4801580b 497752005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49776
49777 * configure.ac (AC_INIT): Increase the version number to 1.91.
49778
49779 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49780 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49781 term/i386/pc/serial.c.
49782
219ad426 497832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49784
49785 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49786 file size must be permitted.
49787
49788 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49789 between %ah and %al.
49790
688e5699 497912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49792
49793 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49794 grub_uint64_t.
49795 Call the hook with a NUL-terminated filename.
49796 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49797 grub_cpu_to_be32.
49798
49799 * kern/term.c (cursor_state): New variable.
49800 (grub_term_set_current): Reset the cursor state on a new
49801 terminal.
49802 (grub_setcursor): Rewritten to use CURSOR_STATE.
49803 (grub_getcursor): New function.
49804
49805 * include/grub/term.h (grub_getcursor): New prototype.
49806
49807 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49808 integers on ARM. Reported by Timothy Baldwin
49809 <T.E.Baldwin99@members.leeds.ac.uk>.
49810
bb34586c 498112005-10-11 Marco Gerards <mgerards@xs4all.nl>
49812
49813 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49814 allocated.
49815 (grub_sfs_dir): Likewise.
49816
9a909877 498172005-10-09 Marco Gerards <mgerards@xs4all.nl>
49818
49819 Add support for the SFS filesystem.
49820
49821 * fs/sfs.c: New file.
49822
49823 * DISTLIST: Added `fs/sfs.c'.
49824
49825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49826 (grub_probefs_SOURCES): Likewise.
49827 (grub_emu_SOURCES): Likewise.
49828 (pkgdata_MODULES): Add `sfs.mod'.
49829 (sfs_mod_SOURCES): New variable.
49830 (sfs_mod_CFLAGS): Likewise.
49831 (sfs_mod_LDFLAGS): Likewise.
49832
49833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49834 (pkgdata_MODULES): Add `sfs.mod'.
49835 (sfs_mod_SOURCES): New variable.
49836 (sfs_mod_CFLAGS): Likewise.
49837
49838 * util/grub-emu.c (main): Call `grub_sfs_init' and
49839 `grub_sfs_fini'.
49840
49841 * include/grub/fs.h (grub_sfs_init): New prototype.
49842 (grub_sfs_fini): Likewise.
49843
57bdbde3 498442005-10-07 Marco Gerards <mgerards@xs4all.nl>
49845
49846 Add support for the AFFS filesystem.
49847
49848 * fs/affs.c: New file.
49849
49850 * DISTLIST: Added `fs/affs.c'.
49851
49852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49853 (grub_probefs_SOURCES): Likewise.
49854 (grub_emu_SOURCES): Likewise.
49855 (pkgdata_MODULES): Add `affs.mod'.
49856 (affs_mod_SOURCES): New variable.
49857 (affs_mod_CFLAGS): Likewise.
49858 (affs_mod_LDFLAGS): Likewise.
49859
49860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49861 (pkgdata_MODULES): Add `affs.mod'.
49862 (affs_mod_SOURCES): New variable.
49863 (affs_mod_CFLAGS): Likewise.
49864
49865 * util/grub-emu.c (main): Call `grub_affs_init' and
49866 `grub_affs_fini'.
49867
49868 * include/grub/fs.h (grub_affs_init): New prototype.
49869 (grub_affs_fini): Likewise.
49870
047b67e0 498712005-10-01 Marco Gerards <mgerards@xs4all.nl>
49872
49873 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49874
59b8208a 498752005-10-01 Marco Gerards <mgerards@xs4all.nl>
49876
49877 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49878 `-m32' to CFLAGS.
49879
49880 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49881 linking.
f19dbdb7 49882
59b8208a 49883 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49884 (COMMON_LDFLAGS): New variable.
49885 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49886 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49887 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49888 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49889 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49890 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49891 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49892 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49893 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49894 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49895 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49896 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49897 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49898 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49899 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49900 variables.
49901 (normal_mod_ASFLAGS): Add `-m32'.
49902
49903 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49904 (grub_host_size_t, grub_host_ssize_t): New types.
49905 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49906 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49907 `GRUB_HOST_SIZEOF_VOID_P'.
49908
49909 * include/grub/kernel.h (struct grub_module_header): Type of
49910 member offset changed to `grub_host_off_t'. Type of member size
49911 changed to `grub_host_size_t'.
49912 (struct grub_module_info): Type of member offset changed to
49913 `grub_host_off_t'. Type of member size changed to
49914 `grub_host_size_t'.
49915
b4093103 499162005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49917
49918 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49919
b4093103 49920 * kern/i386/pc/startup.S (multiboot_header): New label.
49921 (multiboot_entry): Likewise.
49922 (multiboot_trampoline): Likewise.
49923
49924 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49925 Increased to 0x4A0.
49926
49927 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49928 put parentheses after a question mark.
49929 [!GRUB_UTIL] (my_mod): New variable.
49930
49931 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49932
b2499b29 499332005-09-28 Marco Gerards <mgerards@xs4all.nl>
49934
49935 Adds support for the XFS filesystem. Btrees are not supported
49936 yet.
49937
49938 * fs/xfs.c: New file.
49939
49940 * DISTLIST: Added `fs/xfs.c'.
49941
49942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49943 (grub_probefs_SOURCES): Likewise.
49944 (grub_emu_SOURCES): Likewise.
49945 (pkgdata_MODULES): Add `xfs.mod'.
49946 (xfs_mod_SOURCES): New variable.
49947 (xfs_mod_CFLAGS): Likewise.
49948
49949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49950 (pkgdata_MODULES): Add `xfs.mod'.
49951 (xfs_mod_SOURCES): New variable.
49952 (xfs_mod_CFLAGS): Likewise.
49953
49954 * util/grub-emu.c (main): Call `grub_xfs_init' and
49955 `grub_xfs_fini'.
49956
49957 * include/grub/fs.h (grub_xfs_init): New prototype.
49958 (grub_xfs_fini): Likewise.
49959
f19dbdb7 49960
83d37a62 499612005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49962
49963 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49964 color modes, allow greater than 16 colors to be configured as
49965 a default palette.
49966
47d2d65e 499672005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49968
49969 * normal/completion.c (complete_arguments): Add the qualifier
49970 const into OPTIONS.
49971
49972 From Omniflux <omniflux+lists@omniflux.com>:
49973 * include/grub/terminfo.h: New file.
49974 * include/grub/tparm.h: Likewise.
49975 * include/grub/i386/pc/serial.h: Likewise.
49976 * term/terminfo.c: Likewise.
49977 * term/tparm.c: Likewise.
49978 * term/i386/pc/serial.c: Likewise.
49979 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49980 serial.mod.
49981 (terminfo_mod_SOURCES): New variable.
49982 (terminfo_mod_CFLAGS): Likewise.
49983 (serial_mod_SOURCES): Likewise.
49984 (serial_mod_CFLAGS): Likewise.
49985
48b671ff 499862005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49987
49988 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49989 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49990 and kern/powerpc/ieee1275/cmain.c, respectively.
49991
49992 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49993 * kern/powerpc/ieee1275/crt0.S: ... here.
49994
49995 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49996 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49997
48b671ff 49998 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49999 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50000 instead of boot/powerpc/ieee1275/crt0.S and
50001 boot/powerpc/ieee1275/cmain.c, respectively.
50002
50003 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50004 sectors. It was not used anyway.
50005
09fc77a7 500062005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50007
50008 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50009 `unused parameter' warning.
50010
003789c7 500112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50012
50013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50014 function.
50015 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50016 getcharwidth.
50017
67f44c86 500182005-08-28 Marco Gerards <metgerards@student.han.nl>
50019
50020 * include/grub/normal.h (enum grub_completion_type): Added
50021 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50022
50023 * normal/cmdline.c (print_completion): Handle
50024 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50025 * normal/menu_entry.c (store_completion): Likewise.
50026
50027 * normal/completion.c (complete_arguments): New function.
50028 (grub_normal_do_completion): Call `complete_arguments' when the
50029 current words start with a dash.
50030
0b5abe02 500312005-08-27 Marco Gerards <metgerards@student.han.nl>
50032
50033 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50034 `gzio.mod' instead of `io.mod').
50035
d9864ee1 500362005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50037
50038 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50039 (DISTDIRS): Added io and video.
50040 Rewrite the search routine to make an output consistently.
50041
50042 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50043 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50044 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50045 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50046 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50047 util/powerpc/ieee1275/misc.c.
f19dbdb7 50048
d9864ee1 50049 * include/grub/gzio.h: New file.
50050 * io/gzio.c: Likewise.
f19dbdb7 50051
d9864ee1 50052 * kern/file.c (grub_file_close): Call grub_device_close only if
50053 FILE->DEVICE is not NULL.
50054
50055 * include/grub/mm.h [!NULL] (NULL): New macro.
50056
50057 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50058
50059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50060 (pkgdata_MODULES): Added gzio.mod.
50061 (gzio_mod_SOURCES): New variable.
50062 (gzio_mod_CFLAGS): Likewise.
50063
50064 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50065 (pkgdata_MODULES): Added gzio.mod.
50066 (gzio_mod_SOURCES): New variable.
50067 (gzio_mod_CFLAGS): Likewise.
50068
50069 * commands/cat.c: Include grub/gzio.h.
50070 (grub_cmd_cat): Use grub_gzfile_open instead of
50071 grub_file_open.
f19dbdb7 50072
d9864ee1 50073 * commands/cmp.c: Include grub/gzio.h.
50074 (grub_cmd_cmp): Use grub_gzfile_open instead of
50075 grub_file_open.
50076
50077 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50078 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50079 grub_file_open.
50080 (grub_rescue_cmd_module): Likewise.
50081
fa46f4b5 500822005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50083
50084 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50085 kern/sparc64/ieee1275/init.c because it contains _start.
50086 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50087
e9211b5d 500882005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50089
50090 * configure.ac: Add support for sparc64 host with ieee1275
50091 firmware.
50092 * configure: Generated from configure.ac.
50093 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50094 instead of int.
50095 (grub_ofdisk_read): Likewise.
50096 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50097 pointers as (void *) to remove a warning.
50098 (grub_ofdisk_close): Likewise.
50099 (grub_ofdisk_read): Likewise.
50100 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50101 returns, so make it return void to remove a warning.
50102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50103 Corresponding prototype change.
50104 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50105 values, and cast the pointers as (void *) to remove a warning.
50106 (grub_mm_dump): Likewise.
50107 * conf/sparc64-ieee1275.mk: New file.
50108 * conf/sparc64-ieee1275.rmk: Likewise.
50109 * include/grub/sparc64/setjmp.h: Likewise.
50110 * include/grub/sparc64/types.h: Likewise.
50111 * include/grub/sparc64/ieee1275/console.h: Likewise.
50112 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50113 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50114 * include/grub/sparc64/ieee1275/time.h: Likewise.
50115 * kern/sparc64/cache.c: Likewise.
50116 * kern/sparc64/dl.c: Likewise.
50117 * kern/sparc64/ieee1275/init.c: Likewise.
50118 * kern/sparc64/ieee1275/openfw.c: Likewise.
50119
385c6a92 501202005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50121
50122 * util/console.c (grub_ncurses_putchar): If C is greater than
50123 0x7f, set C to a question mark.
50124 (grub_ncurses_getcharwidth): New function.
50125 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50126 getcharwidth.
50127
50128 * normal/menu.c (print_entry): Made aware of Unicode. First,
50129 convert TITLE to UCS-4, and predict the cursor position by
50130 grub_getcharwidth.
50131
50132 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50133 const to SRC.
50134 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50135
16ccb8b1 501362005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50137
50138 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50139 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50140 grub_strcat.
50141
50142 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50143 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50144 grub_strcpy and grub_strlen. Take it into account that a space
50145 character is inserted as a delimiter.
50146
6a85ce79 501472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50148
50149 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50150 invalid magic in the error.
6a85ce79 50151
50152 * commands/search.c: New file.
f19dbdb7 50153
6a85ce79 50154 * util/grub-emu.c (main): Call grub_search_init and
50155 grub_search_fini.
50156
50157 * kern/rescue.c (grub_rescue_print_disks): Removed.
50158 (grub_rescue_print_devices): New function.
50159 (grub_rescue_cmd_ls): Use grub_device_iterate with
50160 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50161 grub_rescue_print_disks.
50162
50163 * kern/partition.c (grub_partition_iterate): Return the result of
50164 PARTMAP->ITERATE instead of GRUB_ERRNO.
50165
50166 * kern/device.c: Include grub/partition.h.
50167 (grub_device_iterate): New function.
50168
50169 * include/grub/partition.h (grub_partition_iterate): Return int
50170 instead of grub_err_t.
50171
50172 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50173 prototype.
50174 [GRUB_UTIL] (grub_search_fini): Likewise.
50175
50176 * include/grub/device.h (grub_device_iterate): New prototype.
50177
50178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50179 commands/search.c.
50180 (pkgdata_MODULES): Added search.mod.
50181 (search_mod_SOURCES): New variable.
50182 (search_mod_CFLAGS): Likewise.
50183
50184 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50185 (pkgdata_MODULES): Added search.mod.
50186 (search_mod_SOURCES): New variable.
50187 (search_mod_CFLAGS): Likewise.
50188
50189 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50190 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50191 All callers changed.
50192
50193 * DISTLIST: Added commands/search.c.
50194
ef095434 501952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50196
50197 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50198 conversion.
50199 (grub_getcharwidth): New function.
50200
50201 * kern/misc.c (grub_utf8_to_ucs4): New function.
50202
50203 * include/grub/term.h (struct grub_term): Added a new member
50204 "getcharwidth".
50205 (grub_getcharwidth): New prototype.
50206
50207 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50208
50209 * term/i386/pc/console.c (map_char): New function. Segregated from
50210 grub_console_putchar.
50211 (grub_console_putchar): Use map_char.
50212 (grub_console_getcharwidth): New function.
50213 (grub_console_term): Specified grub_console_getcharwidth as
50214 getcharwidth.
50215
50216 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50217 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50218
50219 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50220 GRUB_ERRNO.
50221 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50222 on grub_strtoul completely.
50223 (write_char): Declare local variables in the beginning of the
50224 function.
50225 (grub_vesafb_getcharwidth): New function.
50226 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50227 getcharwidth.
50228
1f0a95e4 502292005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50230
50231 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50232 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50233 commands/i386/pc/vbetest.c.
50234
50235 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50236 call grub_vbe_get_controller_info again, because the returned
50237 information is volatile.
50238 (grub_vbe_set_video_mode): Mostly rewritten.
50239 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50240 grub_vbe_status_t correctly.
50241 (grub_vbe_get_video_mode_info): Likewise.
50242 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50243 several if statements.
50244
50245 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50246 * commands/i386/pc/vbeinfo.c: ... this.
50247
50248 * commands/i386/pc/vbe_test.c: Renamed to ...
50249 * commands/i386/pc/vbetest.c: ... this.
50250
50251 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50252 ...
50253 (grub_cmd_vbeinfo): ... this. Save video modes before
50254 iterating. Skip a video mode, if it is not available, not enough
50255 information is given or it is monochrome. Show the memory
50256 model. Leave the interpretation of MODEVAR to grub_strtoul
50257 completely.
50258 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50259 (GRUB_MOD_FINI): Likewise.
50260
50261 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50262 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50263 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50264 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50265 grub_strtoul completely.
50266 (real2pm): Removed.
50267 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50268 (GRUB_MOD_FINI): Likewise.
50269
50270 * normal/misc.c: Include grub/mm.h.
50271
50272 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50273 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50274 (vbe_list_modes_mod_SOURCES): Removed.
50275 (vbe_list_modes_mod_CFLAGS): Likewise.
50276 (vbe_test_mod_SOURCES): Likewise.
50277 (vbe_test_mod_CFLAGS): Likewise.
50278 (vbeinfo_mod_SOURCES): New variable.
50279 (vbeinfo_mod_CFLAGS): Likewise.
50280 (vbetest_mod_SOURCES): Likewise.
50281 (vbetest_mod_CFLAGS): Likewise.
50282
992ffbbe 502832005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50284
50285 * normal/misc.c: New file.
50286
50287 * DISTLIST: Added normal/misc.c.
f19dbdb7 50288
992ffbbe 50289 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50290 DISK to HOOK. Call HOOK with DISK.
50291 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50292 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50293 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50294
50295 * normal/menu_entry.c (struct screen): Added a new member
50296 "completion_shown".
50297 (completion_buffer): New global variable.
50298 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50299 (store_completion): New function.
50300 (complete): Likewise.
50301 (clear_completions): Likewise.
50302 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50303 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50304 a tab, call complete.
50305
50306 * normal/completion.c (disk_dev): Removed.
50307 (print_simple_completion): Likewise.
50308 (print_partition_completion): Likewise.
50309 (print_func): New global variable.
50310 (add_completion): Do not take the arguments WHAT or PRINT any
50311 longer. Added a new argument TYPE. Instead of printing directly,
50312 call PRINT_FUNC if not NULL.
50313 All callers changed.
50314 (complete_device): Use a local variable DEV instead of
50315 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50316 (grub_normal_do_completion): Take a new argument HOOK. Do not
50317 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50318 empty string, return NULL instead.
50319 All callers changed.
50320
50321 * normal/cmdline.c (print_completion): New function.
50322
50323 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50324 to HOOK.
50325 All callers changed.
50326
50327 * kern/disk.c (grub_print_partinfo): Removed.
50328
50329 * include/grub/partition.h (struct grub_partition_map): Add a new
50330 argument DISK into HOOK of ITERATE.
50331 (grub_partition_iterate): Add a new argument DISK to HOOK.
50332
50333 * include/grub/normal.h (enum grub_completion_type): New enum.
50334 (grub_completion_type_t): New type.
50335 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50336 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50337 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50338 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50339 (grub_normal_do_completion): Added a new argument HOOK.
50340 (grub_normal_print_device_info): New prototype.
50341
50342 * include/grub/disk.h (grub_print_partinfo): Removed.
50343
50344 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50345 (normal_mod_SOURCES): Likewise.
50346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50347 (normal_mod_SOURCES): Likewise.
50348
50349 * commands/ls.c (grub_ls_list_disks): Use
50350 grub_normal_print_device_info instead of grub_print_partinfo. Free
50351 PNAME.
50352 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50353 duplicating the code.
50354
0bd41162 503552005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50356
50357 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50358 follow GCS more precisely.
50359 * commands/i386/pc/vbe_test.c: Likewise.
50360 * include/grub/i386/pc/vbe.h: Likewise.
50361 * term/i386/pc/vesafb.c: Likewise.
50362 * video/i386/pc/vbe.c: Likewise.
0bd41162 50363
6323696a 503642005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50365
50366 * DISTLIST: Added term/i386/pc/vesafb.c
50367 DISTLIST: Added video/i386/pc/vbe.c
50368 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50369 DISTLIST: Added commands/i386/pc/vbe_test.c.
50370 * commands/i386/pc/vbe_list_modes.c: New file.
50371 * commands/i386/pc/vbe_test.c: Likewise.
50372 * term/i386/pc/vesafb.c: Likewise.
50373 * video/i386/pc/vbe.c: Likewise.
50374 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50375 (grub_vbe_probe) Added prototype.
50376 (grub_vbe_set_video_mode) Likewise.
50377 (grub_vbe_get_video_mode) Likewise.
50378 (grub_vbe_get_video_mode_info) Likewise.
50379 (grub_vbe_set_pixel_rgb) Likewise.
50380 (grub_vbe_set_pixel_index) Likewise.
50381 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50382 (pkgdata_MODULES): Added vesafb.mod.
50383 (pkgdata_MODULES): Added vbe_list_modes.mod.
50384 (pkgdata_MODULES): Added vbe_test.mod.
50385 (vbe_mod_SOURCES): Added.
50386 (vbe_mod_CFLAGS): Likewise.
50387 (vesafb_mod_SOURCES): Likewise.
50388 (vesafb_mod_CFLAGS): Likewise.
50389 (vbe_list_modes_mod_SOURCES): Likewise.
50390 (vbe_list_modes_mod_CFLAGS): Likewise.
50391 (vbe_test_mod_SOURCES): Likewise.
50392 (vbe_test_mod_CFLAGS): Likewise.
50393
0a74e62f 503942005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50395
0a74e62f 50396 * normal/command.c (grub_command_execute): If INTERACTIVE is
50397 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50398 CMDLINE. Disable the pager if INTERACTIVE is true.
50399 All callers are changed.
50400
50401 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50402 before reading a config file.
50403 * normal/main.c (read_config_file): Even if a command is not
50404 found, register it if it is within an entry.
50405
50406 * util/grub-emu.c: Include sys/types.h and unistd.h.
50407 (options): Added --hold.
50408 (struct arguments): Added a new member "hold".
50409 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50410 missing.
50411 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50412 cleared by a debugger, if it is not zero.
50413
50414 * include/grub/normal.h (grub_command_execute): Add an argument
50415 INTERACTIVE.
50416
e51f85ae 504172005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50418
50419 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50420
e9c6f39b 504212005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50422
50423 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50424 program with another one, because the old one didn't detect a bug
50425 in gcc-3.4. Always use regparm 2, because the new test is still
50426 not enough for gcc-4.0. Someone must investigate a simple test
50427 case which detects a bug in gcc-4.0.
50428
8de3495c 504292005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50430
50431 * DISTLIST: Added normal/completion.c.
50432
50433 * normal/completion.c: New file.
f19dbdb7 50434
8de3495c 50435 * term/i386/pc/console.c (grub_console_getwh): New function.
50436 (grub_console_term): Assign grub_console_getwh to getwh.
50437
50438 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50439 function is defined in normal/completion.c as
50440 grub_normal_do_completion.
50441 (grub_cmdline_get): Use grub_normal_do_completion instead of
50442 grub_tab_complete.
50443
50444 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50445 returns non-zero, otherwise return 0.
50446 (grub_partition_iterate): First, probe the partition map. Then,
50447 call ITERATE only for this partition map.
50448
50449 * kern/misc.c (grub_strncmp): Rewritten.
50450
50451 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50452 returns non-zero. Otherwise return 0.
50453
50454 * include/grub/partition.h (grub_partition_map_iterate): Return
50455 int instead of void.
50456
50457 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50458
50459 * include/grub/misc.h (grub_strncmp): Change the type of N to
50460 grub_size_t.
50461
50462 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50463 of void.
50464
50465 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50466 unsigned explicitly before comparing it with I.
8de3495c 50467
50468 * kern/main.c (grub_env_write_root): Add the attribute unused into
50469 VAR.
50470
50471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50472 normal/completion.c.
50473 (normal_mod_SOURCES): Likewise.
50474 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50475 (normal_mod_SOURCES): Likewise.
50476
50477 * normal/command.c (grub_iterate_commands): If ITERATE returns
50478 non-zero, return one immediately.
50479
e85e144b 504802005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50481
50482 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50483 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50484 descriptions.
50485 (grub_vbe_get_controller_info): New function.
50486 (grub_vbe_get_mode_info): Likewise.
50487 (grub_vbe_set_mode): Likewise.
50488 (grub_vbe_get_mode): Likewise.
50489 (grub_vbe_set_memory_window): Likewise.
50490 (grub_vbe_get_memory_window): Likewise.
50491 (grub_vbe_set_scanline_length): Likewise.
50492 (grub_vbe_get_scanline_length): Likewise.
50493 (grub_vbe_set_display_start): Likewise.
50494 (grub_vbe_get_display_start): Likewise.
50495 (grub_vbe_set_palette_data): Likewise.
50496 * include/grub/i386/pc/vbe.h: New file.
50497
c46153d2 504982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50499
50500 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50501 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50502 * DISTLIST: Likewise.
50503 * kern/ieee1275/of.c: Moved to ...
50504 * kern/ieee1275/ieee1275.c: ... here.
50505
0cb90c45 505062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50507
50508 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50509 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50510 Pass 0 as `end' parameter to grub_strtoul().
50511
a19fb360 505122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50513
50514 * include/grub/powerpc/ieee1275/console.h: Do not include
50515 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50516 ifdef.
50517 (grub_console_cur_color): Remove i386-specific prototype.
50518 (grub_console_real_putchar): Likewise.
50519 (grub_console_checkkey): Likewise.
50520 (grub_console_getkey): Likewise.
50521 (grub_console_getxy): Likewise.
50522 (grub_console_gotoxy): Likewise.
50523 (grub_console_cls): Likewise.
50524 (grub_console_setcursor): Likewise.
50525 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50526 Include <grub/machine/console.h>.
50527 * term/ieee1275/ofconsole.c: Likewise.
50528
4ac9bd04 505292005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50530
50531 * Makefile.in (LIBLZO): New variable.
50532
50533 * configure.ac: Check for LZO version 2.
50534
50535 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50536 lzo/lzo1x.h instead of lzo1x.h.
50537
50538 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50539 of -llzo.
50540
50541 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50542 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50543
50544 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50545 copying the data from PARTITION to P.
50546
f4917dfd 505472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50548
50549 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50550 negative, unload the module.
50551
50552 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50553 map is "pc_partition_map" but not "pc".
50554 (usage): Fix the description. The options are --boot-image and
50555 --core-image but not --boot-file or --core-file.
50556 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50557 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50558 DEFAULT_DIRECTORY.
50559
50560 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50561 --core-file. Specify INSTALL_DEVICE as an argument.
50562
50563 * util/console.c: Include config.h.
50564 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50565 [HAVE_NCURSES_H]: Include ncurses.h.
50566 [HAVE_CURSES_H]: Include curses.h.
50567 [!A_NORMAL] (A_NORMAL): Defined as zero.
50568 [!A_STANDOUT] (A_STANDOUT): Likewise.
50569
50570 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50571 -lncurses.
50572 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50573
50574 * configure.ac: Check for curses libraries and headers.
50575
50576 * Makefile.in (LIBCURSES): New variable.
50577
50578 * genmk.rb (Script::rule): Set the executable bits.
50579
50580 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50581 name of the PC partition map is "pc_partition_map" but not "pc".
50582
0e143073 505832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50586 (modules): Likewise.
50587 (usage): Added descriptions for --modules and --grub-probefs.
50588 Handle --modules and --grub-probefs. Save the arguments in MODULES
50589 and GRUB_PROBEFS, respectively.
50590 Auto-detect a filesystem module against GRUBDIR. If the result is
50591 empty and modules are not specified explicitly, abort the
50592 installation. Add the result to MODULES.
50593
50594 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50595 disk/powerpc/ieee1275/ofdisk.c,
50596 include/grub/powerpc/ieee1275/init.h and
50597 term/powerpc/ieee1275/ofconsole.c.
50598 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50599 term/ieee1275/ofconsole.c.
50600
50601 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50602
50603 * COPYING: Upgraded to the latest version. Only the address of the
50604 FSF office has changed.
f19dbdb7 50605
efd6e6d5 506062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50607
50608 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50609 kern/ieee1275.c with kern/ieee1275/of.c.
50610
50611 * kern/ieee1275.c: Moved to ...
50612 * kern/ieee1275/of.c: ... here.
50613
8ceafda2 506142005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50615
50616 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50617 readability.
8ceafda2 50618
50619 * config.guess: Updated to the latest version from gnulib.
50620 * config.sub: Likewise.
50621 * install.sh: Likewise.
50622 * mkinstalldirs: Likewise.
50623
50624 * include/grub/console.h: Removed. This file is arch-specific. Do
50625 not put this in include/grub.
50626
50627 * include/grub/i386/pc/console.h: Resurrected.
50628
50629 * util/console.c: Include grub/machine/console.h instead of
50630 grub/console.h.
50631 * util/grub-emu.c: Likewise.
50632
267f6cd9 506332005-08-04 Marco Gerards <metgerards@student.han.nl>
50634
50635 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50636 hardcoded value.
f19dbdb7 50637
267f6cd9 50638 From Vincent Pelletier <subdino2004@yahoo.fr>
50639 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50640 Redefined to use grub_getwh.
50641 (grub_term): New member named getwh.
50642 (grub_getwh): New prototype.
50643 * kern/term.c (grub_getwh): New function.
50644 * term/i386/pc/console.c (grub_console_getwh): New function.
50645 (grub_console_term): New member `getwh'.
50646 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50647 (grub_vga_term): New member `getwh'.
0b5abe02 50648 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50649 grub_ssize_t.
50650 (grub_ofconsole_getw): New function.
50651 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50652 (grub_ofconsole_term): New field named getwh and new initial
50653 value.
50654
3be7266d 506552005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50656
50657 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50658 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50659 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50660 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50661 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50662 of <grub/machine/ieee1275.h>.
50663 * commands/ieee1275/reboot.c: Likewise.
50664 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50665 * kern/ieee1275.c: ... to here. All users updated. Change all
50666 parameter structs to use new type `grub_ieee1275_cell_t'.
50667 * term/powerpc/ieee1275/ofconsole.c: Move ...
50668 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50669 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50670 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50671 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50672 to return int.
50673 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50674 Remove unused prototypes. All users updated.
50675 * include/grub/powerpc/ieee1275/console.h: Removed.
50676 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50677 `grub_ieee1275_cell_t'.
50678 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50679 Cast comparisons with -1 to the correct type.
50680 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50681 type to match `grub_ieee1275_entry_fn'.
50682
8b5f3938 506832005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50684
50685 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50686
50687 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50688 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50689 partmap/sun.c.
50690 (grub_probefs_SOURCES): New variable.
50691
50692 * util/i386/pc/grub-probefs.c: New file.
50693
50694 * util/i386/pc/grub-setup.c (main): Call
50695 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50696 grub_hfs_init and grub_jfs_init to initialize the system. Call
50697 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50698 grub_pc_partition_map_fini to finish the system.
50699
ea409713 507002005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50701
50702 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50703 function.
50704 (grub_multiboot_load_elf32): Likewise.
50705 (grub_multiboot_is_elf64): Likewise.
50706 (grub_multiboot_load_elf64): Likewise.
50707 (grub_multiboot_load_elf): Likewise.
50708 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50709 an ELF32 or ELF64 file.
50710 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50711
50712 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50713 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50714 NULL before calling FS->LABEL.
50715 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50716 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50717 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50718 before calling FS->LABEL.
50719
141a288b 507202005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50721
50722 * util/i386/pc/grub-install.in (datadir): New variable.
50723 (libdir): Removed.
50724 (pkgdatadir): New variable.
50725 (pkglibdir): Removed.
50726
0d5f8a54 507272005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50728
50729 * DISTLIST: Added util/i386/pc/grub-install.in.
50730
50731 * util/i386/pc/grub-install.in: New file.
50732
50733 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50734 (grub_install_SOURCES): Likewise.
50735
50736 * genmk.rb: Added support for scripts.
50737 (Script): New class.
50738 (scripts): New variable.
50739
50740 * Makefile.in (install-local): Install sbin_SCRIPTS by
50741 INSTALL_SCRIPT.
50742 (uninstall): Remove sbin_SCRIPTS.
50743
50744 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50745 device, try to get a GRUB device by
50746 grub_util_biosdisk_get_grub_dev.
50747 Free DEST_DEV.
50748
50749 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50750 description for --device-map.
50751
5f968e1e 507522005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50753
50754 Change the semantics of variable hooks. They now return strings
50755 instead of error values.
f19dbdb7 50756
5f968e1e 50757 * util/i386/pc/grub-setup.c: Include grub/env.h.
50758 (setup): Use grub_device_set_root instead of grub_env_set.
50759
50760 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50761 grub_env_get instead of grub_device_set_root and
50762 grub_device_get_root, respectively.
50763
50764 * kern/main.c (grub_env_write_root): New function.
50765 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50766 grub_env_set instead of grub_device_set_root.
50767
50768 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50769 many variables.
50770 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50771 rather than calling ENV->WRITE_HOOK afterwards.
50772 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50773 passing a pointer of a pointer.
50774 (grub_register_variable_hook): Change the types of "read_hook" and
50775 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50776 respectively.
50777 Allocate the default empty string on the heap, because this string
50778 may be freed later.
50779
50780 * kern/device.c: Include grub/env.h.
50781 (grub_device_set_root): Removed.
50782 (grub_device_get_root): Likewise.
50783 (grub_device_open): Use grub_env_get instead of
50784 grub_device_get_root.
50785
50786 * include/grub/env.h (grub_env_read_hook_t): New type.
50787 (grub_env_write_hook_t): Likewise.
50788 (grub_env_var): Change the types of "read_hook" and "write_hook"
50789 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50790 (grub_register_variable_hook): Likewise.
50791
50792 * include/grub/device.h (grub_device_set_root): Removed.
50793 (grub_device_set_root): Likewise.
50794
50795 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50796 make sure that DIRNAME terminates with '/', so that
50797 grub_fat_find_dir will fail if PATH is not a directory.
50798
50799 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50800 from DIRNAME.
50801 Use the qualifier auto for print_files and print_files_long.
50802 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50803 as a regular file.
50804 Put a newline only if there is no error.
50805 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50806 used.
50807
896f0afd 508082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50809
50810 * kern/partition.c (grub_partition_probe): Initialize PART to
50811 NULL. Otherwise, when no partition map is registered, this returns
50812 a garbage.
50813
b28b81b2 508142005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50815
50816 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50817 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50818 valid.
50819
5f3607e0 508202005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50821
50822 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50823 information on each device, if it does not have partitions. Print
50824 "Device" instead of "Disk", because this function is not specific
50825 to disk devices.
50826
50827 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50828 static to ensure that it is put on the memory rather than a
50829 register.
50830
502c87e8 508312005-07-17 Yoshinori Okuji <okuji@enbug.org>
50832
50833 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50834 (grub_cat_init): Likewise.
50835 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50836 (options): Likewise.
50837 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50838 (grub_configfile_init): Likewise.
50839 * font/manager.c (GRUB_MOD_INIT): Likewise.
50840 * commands/help.c (GRUB_MOD_INIT): Likewise.
50841 (grub_help_init): Likewise.
50842 * normal/command.c (grub_command_init): Likewise.
50843 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50844 * disk/loopback.c (grub_loop_init): Likewise.
50845 (GRUB_MOD_INIT): Likewise.
50846 * commands/ls.c (grub_ls_init): Likewise.
50847 (GRUB_MOD_INIT): Likewise.
50848 (options): Likewise.
50849 * commands/boot.c (grub_boot_init): Likewise.
50850 (GRUB_MOD_INIT): Likewise.
50851 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50852 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50853 (GRUB_MOD_INIT): Likewise.
50854 * commands/cmp.c (grub_cmp_init): Likewise.
50855 (GRUB_MOD_INIT): Likewise.
50856
50857 * normal/arg.c: Use <> instead of "" to include header files.
50858 (SHORT_ARG_HELP): New macro.
50859 (SHORT_ARG_USAGE): Likewise.
50860 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50861 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50862 descriptions.
50863 (find_short): Check if C is 'h' or 'u' explicitly.
50864 (grub_arg_show_help): Use space characters instead of tabs. Treat
50865 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50866 are shown with --help and --usage only if they are not used for
50867 the command itself.
50868 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50869 'h' and 'u'.
50870
50871 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50872 const into "longarg". Change the type of "shortarg" to int.
50873
f806d18e 508742005-07-17 Yoshinori Okuji <okuji@enbug.org>
50875
50876 * boot/i386/pc/boot.S (boot_drive_check): New label.
50877
50878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50879 macro.
50880
50881 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50882 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50883
e293232b 508842005-07-17 Yoshinori Okuji <okuji@enbug.org>
50885
50886 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50887 When turning off Gate A20, skip the check and return immediately,
50888 because this is not fatal usually.
50889
ebedfd00 508902005-07-17 Yoshinori Okuji <okuji@enbug.org>
50891
50892 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50893 be 0x7C00 instead of 0x8000.
50894
50895 * boot/i386/pc/pxeboot.S: Rewritten.
50896
50897 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50898 EXT_C.
50899 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50900 result.
50901
654fc59f 509022005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50903
50904 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50905 robustness. This routine now supports a BIOS call and System
50906 Control Port A to modify the gate A20.
50907
50908 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50909 Increased to 0x440.
50910
09f9923f 509112005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50912
50913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50914 device path and resulting ihandle.
50915 (grub_ofdisk_close): dprintf the ihandle being closed.
50916 (grub_ofdisk_read): dprintf function parameters.
50917 * kern/mm.c (grub_mm_init_region): Likewise.
50918 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50919 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50920 size, and boot arguments.
50921 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50922 before loading into memory.
50923 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50924 before loading into memory.
50925
7ef504d8 509262005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50927
50928 * kern/mm.c: Added much documentation.
50929 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50930 8, set to 5 instead of 8.
50931
e0f050c2 509322005-07-10 Yoshinori Okuji <okuji@enbug.org>
50933
50934 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50935
50936 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50937 (grub_mkdevicemap_SOURCES): New variable.
50938
50939 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50940 lib/device.c of GRUB Legacy.
50941
7224189a 509422005-07-10 Yoshinori Okuji <okuji@enbug.org>
50943
50944 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50945 instead of PATH is NULL.
50946
68c864eb 509472005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50948
50949 * commands/cmp.c (BUFFER_SIZE): New macro.
50950 (grub_cmd_cmp): Close the right file at the right time. Compare
50951 only data just read. Don't report files of different size as
50952 identical. Dynamically allocate buffers. Move variable
50953 declarations at the beginning of function.
50954
e6f3e614 509552005-07-09 Yoshinori Okuji <okuji@enbug.org>
50956
50957 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50958 reverse.
50959
f8f1559a 509602004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50961
50962 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50963 when backspace is pressed at beginning of line.
50964
39c9d41d 509652005-07-03 Yoshinori Okuji <okuji@enbug.org>
50966
50967 * DISTLIST: Added genfslist.sh.
50968
50969 * normal/main.c (fs_module_list): New variable.
50970 (autoload_fs_module): New function.
50971 (read_fs_list): Likewise.
50972 (grub_normal_execute): Call read_fs_list.
50973
50974 * kern/fs.c (grub_fs_autoload_hook): New variable.
50975 (grub_fs_probe): Added support for auto-loading.
50976
50977 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50978 (grub_fs_module_list_t): New type.
50979
50980 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50981 (grub_fs_autoload_hook): New prototype.
50982
50983 * genfslist.sh: New file.
f19dbdb7 50984
39c9d41d 50985 * genmk.rb: Added a rule to generate a filesystem list.
50986
121c1d83 509872005-06-30 Marco Gerards <metgerards@student.han.nl>
50988
50989 * configure.ac: Fix the test for cross-compiling.
50990
50991 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50992 define GRUB_UTIL anymore.
50993
50994 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50995 so this function works on other systems than just big endian.
50996 (load_modules): Likewise.
50997 (add_segments): Likewise.
50998
e75d76e1 509992005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51000
51001 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51002 contains `l' modifier, get a long from va_arg().
51003
50b5a0a7 510042005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51005
51006 * kern/mm.c (grub_free): If the next free block which is being
51007 merged is the first free block, set the first block to the block
51008 being freed.
51009 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51010
89371b20 510112005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51012
51013 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51014 `grub_ieee1275_chosen'.
51015
168d6e58 510162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51017
51018 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51019 (grub_ieee1275_chosen): New variable.
51020 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51021 `chosen'.
51022 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51023 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51024 Rename first argument to `phandle' for consistency.
51025 (grub_ieee1275_get_property_length): Likewise.
51026 (grub_ieee1275_next_property): Likewise. Change type of first argument
51027 to grub_ieee1275_phandle_t.
51028 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51029 Move export next to declaration.
51030 (grub_ieee1275_chosen): New variable.
51031 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51032 Correct cosmetic typo.
51033 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51034 `grub_ieee1275_chosen'.
51035 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51036 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51037 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51038 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51039 `grub_ieee1275_chosen'.
51040
ca5baa3f 510412005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51042
51043 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51044 /chosen/bootargs.
51045 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51046 /chosen/bootargs as "variable=value" pairs.
51047
708b345f 510482005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51049
51050 * include/grub/misc.h (grub_dprintf): New macro.
51051 (grub_real_dprintf): New prototype.
51052 (grub_strword): Likewise.
51053 (grub_iswordseparator): Likewise.
51054 * kern/misc.c (grub_real_dprintf): New function.
51055 (grub_strword): Likewise.
51056 (grub_iswordseparator): Likewise.
51057
f4c5e67c 510582005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51059
51060 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51061 (roundup): Remove macro.
51062 (grub_ieee1275_flags): Make static.
51063 (grub_ieee1275_realmode): Remove.
51064 (grub_ieee1275_test_flag): New function.
51065 (grub_ieee1275_set_flag): Likewise.
51066 (find_options): Rename to `grub_ieee1275_find_options'; update
51067 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51068 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51069 (cmain): New prototype.
51070 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51071 `grub_ieee1275_flags' directly.
51072 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51073 machine/biosdisk.h.
51074 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51075 Don't include grub/machine/init.h.
51076 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51077 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51078 Remove prototype.
51079 (grub_ieee1275_realmode): Likewise.
51080 (grub_ieee1275_flag): New enum.
51081 (grub_ieee1275_test_flag): New prototype.
51082 (grub_ieee1275_set_flag): New prototype.
51083 * include/grub/powerpc/ieee1275/init.h: Remove file.
51084 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51085 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51086 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51087 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51088 comment.
51089 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51090 `grub_ieee1275_test_flag'.
51091 (grub_ieee1275_encode_devname): Likewise.
51092
ed16607e 510932005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51094
51095 * include/grub/powerpc/ieee1275/ieee1275.h
51096 (grub_ieee1275_encode_devname): New prototype.
51097 (grub_ieee1275_get_filename): Likewise.
51098 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51099 function.
51100 (grub_set_prefix): Likewise.
51101 (grub_machine_init): Call grub_set_prefix.
51102 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51103 (grub_parse_type): New enum.
51104 (grub_ieee1275_get_devargs): New function.
51105 (grub_ieee1275_get_devname): Likewise.
51106 (grub_ieee1275_parse_args): Likewise.
51107 (grub_ieee1275_get_filename): Likewise.
51108 (grub_ieee1275_encode_devname): Likewise.
51109
be369920 511102005-03-30 Marco Gerards <metgerards@student.han.nl>
51111
51112 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51113 `grub_loader_unset'.
51114
a5ce3a4a 511152005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51116
51117 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51118 instead of grub_ieee1275_interpret.
51119 (grub_halt_init): New function.
51120 (grub_halt_fini): Likewise.
51121 (GRUB_MOD_INIT): Correct message grammar.
51122 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51123 instead of grub_ieee1275_interpret.
51124 (grub_reboot_init): New function.
51125 (grub_reboot_fini): Likewise.
51126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51127 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51128 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51129 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51130 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51131 function.
51132 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51133 Add prototype.
51134 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51135 prototype.
51136 (grub_halt): Likewise.
51137 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51138 (cmain): Remove __attribute__((unused)).
51139 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51140 (grub_heap_len): Likewise.
51141 (grub_machine_fini): New function.
51142 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51143 (grub_halt): Likewise.
51144 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51145 function.
51146 * util/powerpc/ieee1275/misc.c: New file.
51147
0058f771 511482005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51149
51150 * DISTLIST: New file.
51151 * gendistlist.sh: Likewise.
f19dbdb7 51152
0058f771 51153 * Makefile.in (COMMON_DISTFILES): Removed.
51154 (BOOT_DISTFILES): Likewise.
51155 (CONF_DISTFILES): Likewise.
51156 (DISK_DISTFILES): Likewise.
51157 (FS_DISTFILES): Likewise.
51158 (INCLUDE_DISTFILES): Likewise.
51159 (KERN_DISTFILES): Likewise.
51160 (LOADER_DISTFILES): Likewise.
51161 (TERM_DISTFILES): Likewise.
51162 (UTIL_DISTFILES): Likewise.
51163 (DISTFILES): Likewise.
51164 (uninstall): Uninstall files in $(pkgdata_DATA).
51165 (DISTLIST): New target.
51166 (distdir): Use the contents of the file DISTLIST to get a list of
51167 distributed files.
51168
46b3b8a5 511692005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51170
51171 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51172 descriptor. This is ported from GRUB Legacy.
51173
51174 * gencmdlist.sh: Added an extra semicolon to make it work with
51175 old sed versions. Reported by Robert Bihlmeyer
51176 <robbe@orcus.priv.at>.
51177
5822ff87 511782005-03-08 Yoshinori Okuji <okuji@enbug.org>
51179
51180 Automatic loading of commands is supported.
f19dbdb7 51181
5822ff87 51182 * normal/main.c (read_command_list): New function.
51183 (grub_normal_execute): Call read_command_list.
51184
51185 * normal/command.c (grub_register_command): Return zero or CMD.
51186 Allocate CMD->NAME from the heap.
51187 Initialize CMD->MODULE_NAME to zero.
51188 Find the same name as well. If the same command is found and it is
51189 a dummy command, overwrite members. If it is not a dummy command,
51190 return zero.
51191 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51192 (grub_command_find): If a dummy command is found, load a module
51193 and retry to find a command only once.
51194
51195 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51196 make sure that each command is loaded.
51197
51198 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51199 macro.
51200 (struct grub_command): Remove const from the member `name'.
51201 Add a new member `module_name'.
51202 (grub_register_command): Return grub_command_t.
51203
51204 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51205 sure that each command is loaded.
51206
51207 * genmk.rb (PModule::rule): Specify a module name without the
51208 suffix ".mod" to gencmdlist.sh.
51209
7b1f4b57 512102005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51211
51212 * gencmdlist.sh: New file.
f19dbdb7 51213
7b1f4b57 51214 * genmk.rb (PModule::rule): Generate a rule for a command list.
51215 Clean command.lst.
51216 Generate command.lst from $(COMMANDFILES).
51217
51218 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51219 (DATA): Added $(pkgdata_DATA).
51220 (install-local): Install files in $(pkgdata_DATA).
51221
062aaf39 512222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51223
51224 * term/i386/pc/vga.c (debug_command): Removed.
51225 (GRUB_MOD_INIT): Do not register the command "debug".
51226
51227 From Hollis Blanchard:
51228 * commands/configfile.c: New file.
51229 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51230 commands/configfile.c.
51231 (pkgdata_MODULES): Added configfile.mod.
51232 (configfile_mod_SOURCES): New variable.
51233 (configfile_mod_CFLAGS): Likewise.
51234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51235 commands/configfile.c.
51236 (pkgdata_MODULES): Added configfile.mod.
51237 (configfile_mod_SOURCES): New variable.
51238 (configfile_mod_CFLAGS): Likewise.
51239 * util/grub-emu.c (main): Call grub_configfile_init and
51240 grub_configfile_fini.
51241 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51242 prototype.
51243 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51244
cee01aa6 512452005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51246
51247 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51248 address.
51249
51250 * commands/help.c (grub_cmd_help): Do not print newlines after
51251 the last command in print_command_help.
51252
93f3a1d8 512532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51254
51255 * commands/default.h: New file.
51256 * commands/timeout.h: Likewise.
51257 * normal/context.c: Likewise.
f19dbdb7 51258
93f3a1d8 51259 * util/misc.c: Do not include sys/times.h.
51260 Include sys/time.h and grub/machine/time.h.
51261 (grub_get_rtc): Rewritten with gettimeofday.
51262
51263 * util/grub-emu.c (main): Call grub_default_init and
51264 grub_timeout_init before grub_normal_init, and call
51265 grub_timeout_fini and grub_default_fini after grub_main.
51266
51267 * util/console.c (grub_ncurses_checkkey): Return the read
51268 character or -1.
51269
51270 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51271 timeouts.
51272
51273 * normal/main.c (read_config_file): Push MENU. If this fails,
51274 print an error and wait for a user input.
51275 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51276 If a menu is empty or an error occurs, pop MENU.
51277 (grub_normal_execute): Pop and free MENU after grub_menu_run
51278 returns.
51279
51280 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51281
51282 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51283 include time.h.
51284 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51285 without GRUB_UTIL.
51286 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51287 time.h.
51288 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51289 without GRUB_UTIL.
51290
51291 * include/grub/normal.h (struct grub_menu_list): New struct.
51292 (grub_menu_list_t): New type.
51293 (struct grub_context): New struct.
51294 (grub_context_t): New type.
51295 (grub_register_command): Got rid of EXPORT_FUNC.
51296 (grub_unregister_command): Likewise.
51297 (grub_context_get): New prototype.
51298 (grub_context_get_current_menu): Likewise.
51299 (grub_context_push_menu): Likewise.
51300 (grub_context_pop_menu): Likewise.
51301 [GRUB_UTIL] (grub_default_init): Likewise.
51302 [GRUB_UTIL] (grub_default_fini): Likewise.
51303 [GRUB_UTIL] (grub_timeout_init): Likewise.
51304 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51305
51306 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51307 commands/timeout.c and normal/context.c.
51308 (pkgdata_MODULES): Added default.mod and timeout.mod.
51309 (normal_mod_SOURCES): Added normal/context.c.
51310 (default_mod_SOURCES): New variable.
51311 (default_mod_CFLAGS): Likewise.
51312 (timeout_mod_SOURCES): Likewise.
51313 (timeout_mod_CFLAGS): Likewise.
51314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51315 conf/i386-pc.rmk.
51316 (pkgdata_MODULES): Added default.mod and timeout.mod.
51317 (normal_mod_SOURCES): Added normal/context.c.
51318 (default_mod_SOURCES): New variable.
51319 (default_mod_CFLAGS): Likewise.
51320 (timeout_mod_SOURCES): Likewise.
51321 (timeout_mod_CFLAGS): Likewise.
51322
51323 * Makefile.in (all-local): Added $(MKFILES).
51324
4ed2e1dd 513252005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51326
51327 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51328 (grub_emu_SOURCES): Likewise.
51329 (pkgdata_MODULES): Add `sun.mod'.
51330 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51332 `partmap/sun.c'.
51333 (pkgdata_MODULES): Add `sun.mod'.
51334 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51335 * include/grub/partition.h (grub_sun_partition_map_init): New
51336 prototype.
51337 (grub_sun_partition_map_fini): Likewise.
51338 * partmap/sun.c: New file.
51339 * util/grub-emu.c (main): Initialize and de-initialize the sun
51340 partitionmap support.
51341
4d4e372e 513422005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51343
51344 This implements an Emacs-like menu entry editor.
f19dbdb7 51345
4d4e372e 51346 * normal/menu_entry.c: New file.
f19dbdb7 51347
4d4e372e 51348 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51349 characters to ASCII.
51350 (saved_char): New variable.
51351 (grub_ncurses_checkkey): Rewritten completely.
51352 (grub_ncurses_getkey): Likewise.
51353 (grub_ncurses_init): Call raw instead of cbreak.
51354
51355 * normal/menu.c (print_entry): Do not put a space.
51356 (init_page): Renamed to ...
51357 (grub_menu_init_page): ... this. All callers changed.
51358 (edit_menu_entry): Removed.
51359 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51360
51361 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51362
51363 * kern/misc.c (grub_vprintf): Call grub_refresh.
51364
51365 * normal/menu.c (DISP_LEFT): Renamed to ...
51366 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51367 * normal/menu.c (DISP_UP): Renamed to ...
51368 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51369 * normal/menu.c (DISP_RIGHT): Renamed to ...
51370 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51371 * normal/menu.c (DISP_DOWN): Renamed to ...
51372 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51373 * normal/menu.c (DISP_HLINE): Renamed to ...
51374 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51375 * normal/menu.c (DISP_VLINE): Renamed to ...
51376 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51377 * normal/menu.c (DISP_UL): Renamed to ...
51378 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51379 * normal/menu.c (DISP_UR): Renamed to ...
51380 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51381 * normal/menu.c (DISP_LL): Renamed to ...
51382 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51383 * normal/menu.c (DISP_LR): Renamed to ...
51384 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51385 * normal/menu.c (TERM_WIDTH): Renamed to ...
51386 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51387 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51388 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51389 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51390 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51391 * normal/menu.c (TERM_MARGIN): Renamed to ...
51392 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51393 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51394 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51395 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51396 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51397 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51398 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51399 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51400 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51401 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51402 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51403 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51404 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51405 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51406 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51407 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51408 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51409 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51410 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51411 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51412 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51413 All callers changed.
51414
51415 * include/grub/normal.h: New prototype.
51416
51417 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51418 normal/menu_entry.c.
51419 (normal_mod_SOURCES): Likewise.
51420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51421 (normal_mod_SOURCES): Likewise.
51422
e6b92c8a 514232005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51424
51425 * include/grub/normal.h (grub_halt_init): New prototype.
51426 (grub_halt_fini): Likewise.
51427 (grub_reboot_init): Likewise.
51428 (grub_reboot_fini): Likewise.
51429
51430 * util/grub-emu.c: Include signal.h.
51431 (main_env): New global variable.
51432 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51433 catch C-c.
51434 (grub_machine_fini): New function.
51435 (main): Call grub_halt_init and grub_reboot_init before
51436 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51437 Call setjmp with MAIN_ENV to go back afterwards.
51438 Call grub_machine_fini right before return.
51439
51440 * include/grub/util/misc.h: Include setjmp.h.
51441 (main_env): New prototype.
51442
51443 * include/grub/kernel.h (grub_machine_fini): New prototype.
51444 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51445 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51446
51447 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51448 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51449 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51450
e6b92c8a 51451 * util/i386/pc/misc.c: New file.
f19dbdb7 51452
e6b92c8a 51453 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51454 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51455 commands/i386/pc/reboot.c.
51456
c642636f 514572005-02-14 Guillem Jover <guillem@hadrons.org>
51458
51459 * include/grub/dl.h (grub_dl_check_header): New prototype.
51460 (grub_arch_dl_check_header): Change return type to grub_err_t,
51461 remove size parameter and export function. Update all callers.
51462 * kern/dl.c (grub_dl_check_header): New function.
51463 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51464 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51465 are inside the core.
51466 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51467 independent ELF header checks.
51468 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51469 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51470 `grub_dl_check_header' instead of explicit checks. Check for the
51471 ELF type.
51472 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51473 `grub_dl_check_header' instead of explicit checks. Remove arch
51474 specific ELF header checks.
51475
e6b92c8a 51476 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51477 argument SIZE.
51478
5eabe94b 514792005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51480
51481 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51482 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51483
1b14a681 514842005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51485
51486 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51487 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51488 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51489 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51490 * partmap/amiga.c (amiga_partition_map_iterate): Return
51491 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51492 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51493
aca108aa 514942005-02-01 Guillem Jover <guillem@hadrons.org>
51495
51496 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51497 help info.
51498
c9f9c556 514992005-01-31 Marco Gerards <metgerards@student.han.nl>
51500
51501 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51502 Removed prototype.
51503 (grub_rescue_cmd_linux): New prototype.
51504 (grub_rescue_cmd_initrd): Likewise.
51505 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51506 `bi_rec'.
51507 (grub_linux_release_mem): Release the memory for the initrd.
51508 (grub_load_linux): Renamed from this...
51509 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51510 Changed `entry' not to be static. Loop over memory regions to
51511 find another one when the default fails.
51512 (grub_rescue_cmd_initrd): New function.
51513 (grub_linux_init): Remove function.
51514 (grub_linux_fini): Likewise.
51515 (GRUB_MOD_INIT): Register `initrd'.
51516 (GRUB_MOD_FINI): Unregister `initrd'.
51517 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51518 Function removed.
51519 (grub_linux_normal_fini): Likewise.
51520 (GRUB_MOD_INIT): Register `initrd'.
51521 (GRUB_MOD_FINI): Unregister `initrd'.
51522
990cf3aa 515232005-01-31 Marco Gerards <metgerards@student.han.nl>
51524
51525 * commands/help.c: New file.
51526 * normal/arg.c (show_help): Renamed to...
51527 (grub_arg_show_help): ... this.
51528 * commands/i386/pc/halt.c: New file.
51529 * commands/i386/pc/reboot.c: Likewise.
51530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51531 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51532 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51533 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51534 variables.
51535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51536 `commands/help.c'.
51537 (pkgdata_MODULES): Add `help.mod'.
51538 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51539 * grub/i386/pc/init.h (grub_reboot): New prototype.
51540 (grub_halt): Likewise.
51541 * include/grub/normal.h (grub_arg_show_help): New prototype.
51542 (grub_help_init): Likewise.
51543 (grub_help_fini): Likewise.
51544 * util/grub-emu.c (main): Initialize and deinitialize the help
51545 command.
51546
51547 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51548
51549 * normal/command.c (grub_command_init): Fixed the description of
51550 the `set' and `unset' commands.
51551
515522005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51553
51554 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51555 function.
51556 * commands/ieee1275/halt.c: New file.
51557 * commands/ieee1275/reboot.c: Likewise.
51558 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51559 `__attribute__ ((unused))'. Some GCS related fixed.
51560 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51561 (grub_suspend_fini): Likewise.
51562 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51563 and `halt.mod'.
51564 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51565 (halt_mod_CFLAGS): New variables.
51566 * include/grub/powerpc/ieee1275/ieee1275.h
51567 (grub_ieee1275_interpret): New prototype.
51568
1ab09cc7 515692005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51570
51571 * include/grub/misc.h (memmove): New prototype.
51572 (memcpy): Likewise.
51573
8b8cbdb2 515742005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51575
51576 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51577 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51578
e3741a27 515792005-01-22 Marco Gerards <metgerards@student.han.nl>
51580
51581 * kern/misc.c (grub_strndup): Function rewritten.
51582
776bd780 515832005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51584
51585 * normal/menu.c (TERM_WIDTH): Macro redefined.
51586 (TERM_TOP_BORDER_Y): Likewise.
51587 (draw_border): Replaced while-loop by a for-loop. Make the number
51588 of lines consistent with the number of lines displayed in
51589 print_entries. Added a margin below the rectangle.
51590 (print_entry): Make the entry fit in the rectangle.
51591 (print_entries): Display the scroll arrows next to the right
51592 border.
51593
78026bce 515942005-01-21 Marco Gerards <metgerards@student.han.nl>
51595
51596 * fs/minix.c (grub_minix_find_file): Reserve more space for
51597 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51598 `grub_strncpy' to copy `path' into it.
51599
67bbaf0f 516002005-01-21 Marco Gerards <metgerards@student.han.nl>
51601
51602 Add the loopback device, a device via which files can be accessed
51603 as devices.
f19dbdb7 51604
67bbaf0f 51605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51606 (pkgdata_MODULES): Add loopback.mod.
51607 (loopback_mod_SOURCES): New variable.
51608 (loopback_mod_CFLAGS): Likewise.
51609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51610 `disk/loopback.c'.
51611 (pkgdata_MODULES): Add loopback.mod.
51612 (loopback_mod_SOURCES): New variable.
51613 (loopback_mod_CFLAGS): Likewise.
51614 * disk/loopback.c: new file.
51615 * include/grub/normal.h (grub_loop_init): New prototype.
51616 (grub_loop_fini): New prototype.
51617 * util/grub-emu.c (main): Initialize and de-initialize loopback
51618 support.
51619 * include/grub/disk.h (grub_disk_dev_id): Add
51620 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51621
6f1c18bd 516222005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51623
51624 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51625 function.
51626 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51627 (suspend_mod_SOURCES): New variable.
51628 (suspend_mod_CFLAGS): Likewise.
51629 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51630 New prototype.
51631 * commands/ieee1275/suspend.c: New file.
51632
b38551da 516332005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51634
51635 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51636 ((unused))' to `__attribute__ ((used))'.
b38551da 51637 (GRUB_MOD_FINI): Likewise.
51638 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51639 * genmk.rb (PModule): Assign space to common symbols when linking
51640 modules.
51641
777aff39 516422005-01-20 Marco Gerards <metgerards@student.han.nl>
51643
51644 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51645 `unsigned' arguments to `grub_size_t'.
51646 (grub_malloc): Likewise.
51647 (grub_realloc): Likewise.
51648 (grub_memalign): Likewise.
51649 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51650 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51651 * util/misc.c (grub_malloc): Likewise.
51652 (grub_realloc): Likewise.
51653 * kern/mm.c (get_header_from_pointer): Change the casts to
51654 `unsigned' into a cast to `grub_size_t'.
51655
51656 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51657 point to `currnode' when `currnode' is changed.
51658
51659 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51660 Schottelius <nico-linux@schottelius.org>.
51661
d0ff18e1 516622005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51663
51664 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51665 (note_path): Remove variable.
51666 (GRUB_IEEE1275_NOTE_NAME): New macro.
51667 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51668 (grub_ieee1275_note_hdr): New structure.
51669 (grub_ieee1275_note_desc): Likewise.
51670 (grub_ieee1275_note): Likewise.
51671 (load_note): Remove `dir' argument. All callers updated. Remove
51672 `note_img' and `path'. Do not load a file from `note_path'.
51673 Initialize a struct grub_ieee1275_note and write that to `out'.
51674 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51675
4ca7004c 516762005-01-05 Marco Gerards <metgerards@student.han.nl>
51677
51678 * util/misc.c (grub_util_read_image): Revert last change. It
51679 called `grub_util_read_at', which seeks from the beginning of the
51680 file.
51681
0b412211 516822005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51683
51684 * TODO: Add note about endianness in grub-mkimage.
51685 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51686 section.
51687 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51688 (grub_mkimage_SOURCES): New target.
51689 * include/grub/kernel.h (grub_start_addr): Remove variable.
51690 (grub_end_addr): Likewise.
51691 (grub_total_module_size): Likewise.
51692 (grub_kernel_image_size): Likewise.
51693 (GRUB_MODULE_MAGIC): New constant.
51694 (grub_module_info): New structure.
51695 (grub_arch_modules_addr): New prototype.
51696 (grub_get_end_addr): Remove prototype.
51697 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51698 * include/grub/powerpc/ieee1275/kernel.h: New file.
51699 * include/grub/util/misc.h (grub_util_get_fp_size): New
51700 prototype.
51701 (grub_util_read_at): Likewise.
51702 (grub_util_write_image_at): Likewise.
51703 * kern/main.c (grub_get_end_addr): Remove function.
51704 (grub_load_modules): Call grub_arch_modules_addr instead of using
51705 grub_end_addr. Look for a grub_module_info struct in memory. Use
51706 the grub_module_info fields instead of calling grub_get_end_addr
51707 as loop conditions. Move grub_add_unused_region code here.
51708 (grub_add_unused_region): Remove function.
51709 * kern/i386/pc/init.c: Include grub/cache.h.
51710 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51711 one call to add_mem_region.
51712 (grub_arch_modules_addr): New function.
51713 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51714 (grub_total_module_size): Likewise.
51715 Include grub/machine/kernel.h.
51716 (grub_arch_modules_addr): New function.
51717 * util/grub-emu.c (grub_end_addr): Remove variable.
51718 (grub_total_module_size): Likewise.
51719 (grub_arch_modules_addr): New function.
51720 * util/misc.c: Include unistd.h.
51721 (grub_util_get_fp_size): New function.
51722 (grub_util_read_at): Likewise.
51723 (grub_util_write_image_at): Likewise.
51724 (grub_util_read_image): Call grub_util_read_at.
51725 (grub_util_write_image): Call grub_util_write_image_at.
51726 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51727 additional memory in kernel_img for a struct grub_module_info.
51728 Fill in that grub_module_info.
51729 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51730
458786f8 517312005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51732
51733 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51734 New function.
51735 * include/grub/powerpc/ieee1275/ieee1275.h
51736 (grub_ieee1275_milliseconds): New prototype.
51737 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51738 Change to 1000.
51739 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51740 grub_ieee1275_milliseconds.
51741
ac507d1b 517422005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51743
51744 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51745 variable.
51746 (find_options): New function.
51747 (cmain): Call find_options.
51748 * include/grub/powerpc/ieee1275/ieee1275.h
51749 (grub_ieee1275_realmode): New extern variable.
51750 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51751 grub_map if grub_ieee1275_realmode is false.
51752
6b8fd1c4 517532004-12-29 Marco Gerards <metgerards@student.han.nl>
51754
51755 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51756 lines are inserted and make it work like readline. Reported by
51757 Vincent Pelletier <subdino2004@yahoo.fr>.
51758
8514a1e0 517592004-12-28 Marco Gerards <metgerards@student.han.nl>
51760
51761 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51762
51763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51764 `kern/powerpc/cache.S'.
51765
924b6140 517662004-12-27 Marco Gerards <metgerards@student.han.nl>
51767
51768 * genmk.rb: Handle the `Program' class in the main loop. Written
51769 by Johan Rydberg <jrydberg@gnu.org>.
51770 (Program): New class.
51771 (programs): New variable.
51772 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51773 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51774 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51775 (help_arch): Function removed.
51776 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51777 `powerpc/libgcc.h' and `loader.h'.
51778 (pkgdata_PROGRAMS): New variable.
51779 (sbin_UTILITIES): Variable removed.
51780 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51781 (grubof_SOURCES): Variable re-defined so it only includes the
51782 core functionality.
51783 (grubof_CFLAGS): Remove `-DGRUBOF'.
51784 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51785 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51786 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51787 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51788 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51789 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51790 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51791 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51792 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51793 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51794 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51795 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51796 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51797 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51798 (pc_mod_CFLAGS): New variables.
51799 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51800 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51801 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51802 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51803 Moved from here...
51804 * include/grub/i386/pc/init.h (grub_os_area_addr)
51805 (rub_os_area_size): ... to here.
51806 * include/grub/powerpc/ieee1275/ieee1275.h
51807 (grub_ieee1275_entry_fn): Export symbol.
51808 * include/grub/powerpc/ieee1275/init.h: New file.
51809 * include/grub/powerpc/libgcc.h: Likewise.
51810 * include/grub/cache.h: Likewise.
51811 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51812 <hollis@penguinppc.org>.
51813 * kern/dl.c: Include <grub/cache.h>.
51814 (grub_dl_flush_cache): New function.
51815 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51816 for this module.
51817 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51818 (grub_console_init): Removed prototypes.
51819 (grub_machine_init): Don't initialize the modules anymore.
51820 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51821 static.
51822 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51823 Macro undef removed.
51824 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51825 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51826 relocation `R_PPC_REL32'. Return an error when the relocation is
51827 unknown.
51828 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51829 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51830 * util/misc.c (grub_arch_sync_caches): Likewise.
51831
e4b47e0c 518322004-12-19 Marco Gerards <metgerards@student.han.nl>
51833
51834 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51835 `symlist.c', add `grubof_symlist.c'.
51836 (symlist.c): Variable removed.
51837 (grubof_HEADERS): Variable added.
51838 (grubof_symlist.c): New target.
51839 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51840 `kernel_img_HEADERS'.
51841 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51842 * kern/powerpc/dl.c: New file.
51843 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51844 Function removed.
51845 (grub_arch_dl_relocate_symbols): Likewise.
51846 (grub_register_exported_symbols): Likewise.
51847
4ceb3636 518482004-12-13 Marco Gerards <metgerards@student.han.nl>
51849
51850 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51851 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51852 to fail instead. Reported by Vincent Pelletier
51853 <subdino2004@yahoo.fr>.
51854
51855 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51856 it is not allocated. Reported by Vincent Pelletier
51857 <subdino2004@yahoo.fr>.
51858
51859 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51860 output so the output looks better.
f19dbdb7 51861
3f1578fe 518622004-12-04 Marco Gerards <metgerards@student.han.nl>
51863
51864 Modulize the partition map support and add support for the amiga
51865 partition map.
f19dbdb7 51866
3f1578fe 51867 * commands/ls.c: Include <grub/partition.h> instead of
51868 <grub/machine/partition.h>.
51869 * kern/disk.c: Likewise.
51870 * kern/rescue.c: Likewise.
51871 * loader/i386/pc/chainloader.c: Likewise.
51872 * normal/cmdline.c: Likewise.
51873 * kern/powerpc/ieee1275/init.c: Likewise.
51874 (grub_machine_init): Call `grub_pc_partition_map_init',
51875 `grub_amiga_partition_map_init' and
51876 `grub_apple_partition_map_init'.
51877 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51878 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51879 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51880 `partition.h' and `pc_partition.h'.
51881 (grub_setup_SOURCES): Remove
51882 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51883 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51884 (grub_emu_SOURCES): Likewise.
51885 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51886 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51887 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51889 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51890 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51891 (grubof_SOURCES): Likewise.
51892 * disk/i386/pc/partition.c: File removed.
51893 * disk/powerpc/ieee1275/partition.c: Likewise.
51894 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51895 * include/grub/i386/pc/partition.h: Likewise.
51896 * kern/partition.c: New file.
51897 * partmap/amiga.c: Likewise.
51898 * partmap/apple.c: Likewise.
51899 * partmap/pc.c: Likewise.
51900 * include/grub/partition.h: Likewise..
51901 * include/grub/pc_partition.h: Likewise.
51902 * util/grub-emu.c: Include <grub/partition.h> instead of
51903 <grub/machine/partition.h>.
51904 (main): Call `grub_pc_partition_map_init',
51905 `grub_amiga_partition_map_init' and
51906 `grub_apple_partition_map_init' and deinitialize afterwards.
51907 * util/i386/pc/biosdisk.c: Include `#include
51908 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51909 `<grub/machine/partition.h>'.
51910 * util/i386/pc/grub-setup.c: Likewise.
51911 * util/i386/pc/biosdisk.c: Likewise.
51912 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51913 partition information in case of a PC partition.
51914 * util/i386/pc/grub-setup.c: Include `#include
51915 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51916 `<grub/machine/partition.h>'.
51917 (setup): Only access the PC specific partition information in case
51918 of a PC partition.
51919
0ef4ced9 519202004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51921
0ef4ced9 51922 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51923 (grub_longjmp): Likewise.
51924 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51925 20.
51926 * normal/powerpc/setjmp.S: New file.
51927 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51928 `normal/powerpc/setjmp.S'.
51929 (grubof_CFLAGS): Add `-DGRUBOF'.
51930 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51931 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51932
19950e29 519332004-11-16 Marco Gerards <metgerards@student.han.nl>
51934
51935 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51936 property named `name'. Correctly handle the error returned by
51937 `grub_ieee1275_finddevice' if a device can not be opened.
51938
a2fea427 519392004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51940
51941 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51942 `actual' for negativity.
51943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51944 kern/fshelp.c.
51945
41ea0ea3 519462004-11-01 Marco Gerards <metgerards@student.han.nl>
51947
51948 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51949 (PAGE_OFFSET): New macro.
51950 (CRTC_ADDR_PORT): Likewise.
51951 (CRTC_DATA_PORT): Likewise.
51952 (START_ADDR_HIGH_REGISTER): Likewise.
51953 (START_ADDR_LOW_REGISTER): Likewise.
51954 (GRAPHICS_ADDR_PORT): Likewise.
51955 (GRAPHICS_DATA_PORT): Likewise.
51956 (READ_MAP_REGISTER): Likewise.
51957 (INPUT_STATUS1_REGISTER): Likewise.
51958 (INPUT_STATUS1_VERTR_BIT): Likewise.
51959 (page): New variable.
51960 (wait_vretrace): New function.
51961 (set_read_map): Likewise.
51962 (set_start_address): Likewise.
51963 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51964 the right page.
51965 (check_vga_mem): Take the page into account.
51966 (write_char): Likewise.
51967 (write_cursor): Likewise.
51968 (scroll_up): Likewise. Copy the page to the page that is not
51969 shown and switch between both pages.
51970 (grub_vga_putchar): Fix off by one error.
51971 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51972 account.
51973
ad0bd20b 519742004-11-01 Marco Gerards <metgerards@student.han.nl>
51975
51976 Add support for iso9660 (including rockridge).
f19dbdb7 51977
ad0bd20b 51978 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51979 (iso9660_mod_SOURCES): New variable.
51980 (iso9660_mod_CFLAGS): Likewise.
51981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51982 * include/grub/fs.h (grub_iso9660_init): New prototype.
51983 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51984 * fs/iso9660.c: New file.
51985
51986 * include/grub/misc.h (grub_strncat): New prototype.
51987 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51988
ad0bd20b 51989 * fs/hfs.c (grub_hfs_mount): Translate the error
51990 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51991 * fs/jfs.c (grub_jfs_mount): Likewise.
51992 * fs/ufs.c (grub_ufs_mount): Likewise.
51993
a5477a59 519942004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51995
51996 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51997 which initialized BAT registers.
51998 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51999 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52000 Move from here...
52001 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52002 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52003 ... to here.
52004 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52005 (grub_mapclaim): Likewise.
52006 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52007 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52008 hand.
52009
9304c1f8 520102004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52011
52012 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52013 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52014 -ffreestanding and -msoft-float.
52015
86f4ae25 520162004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52017
52018 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52019 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52020 set in grub_ieee1275_flags.
52021
38912228 520222004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52023
52024 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52025 prototype.
52026 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52027 grub_console_init first.
52028 Change the memory range used for grub_ieee1275_claim and
52029 grub_mm_init_region.
52030 Print an error message if the claim fails.
52031 Include <grub/misc.h>.
52032
d1923dc8 520332004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52034
52035 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52036 Call grub_children_iterate for device nodes of type `scsi',
52037 `ide', or `ata'.
52038 (grub_ofdisk_open): Remove manual device alias resolution.
52039 Fix memory leak when device cannot be opened.
f19dbdb7 52040 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52041 (grub_children_iterate): New prototype.
52042 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52043 New function.
52044 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52045 Return -1 if args.size was -1.
52046
4512e4f3 520472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52048
52049 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52050 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52051 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52052 Open Firmware's memory for it; claim memory from _start to _end.
52053 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52054 (_end): New extern.
52055 (_start): Zero BSS from __bss_start to _end.
52056 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52057 New extern.
52058 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52059
4d61feb0 520602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52061
ad0bd20b 52062 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52063 -1 if args.base was -1.
4d61feb0 52064
026fa2f9 520652004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52066
52067 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52068 escape sequence instead of a literal ^L. Also call
52069 grub_ofconsole_gotoxy.
52070
9f2220ef 520712004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52072
52073 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52074 void * arguments to grub_addr_t. All callers updated. Also make
52075 the `result' argument optional.
52076 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52077 All callers updated.
52078
8a572cd7 520792004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52080
52081 * commands/ls.c (grub_ls_list_files): Use the string following the
52082 initial ')', if present, as the filesystem path.
52083 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52084
52085 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52086
18aa81f2 520872004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52088
52089 Make the source code of the menu interface more readable.
f19dbdb7 52090
18aa81f2 52091 * normal/menu.c: Include grub/mm.h.
52092 (TERM_WIDTH): New macro.
52093 (TERM_HEIGHT): Likewise.
52094 (TERM_INFO_HEIGHT): Likewise.
52095 (TERM_MARGIN): Likewise.
52096 (TERM_SCROLL_WIDTH): Likewise.
52097 (TERM_TOP_BORDER_Y): Likewise.
52098 (TERM_LEFT_BORDER_X): Likewise.
52099 (TERM_BORDER_WIDTH): Likewise.
52100 (TERM_MESSAGE_HEIGHT): Likewise.
52101 (TERM_BORDER_HEIGHT): Likewise.
52102 (TERM_NUM_ENTRIES): Likewise.
52103 (TERM_FIRST_ENTRY_Y): Likewise.
52104 (TERM_ENTRY_WIDTH): Likewise.
52105 (TERM_CURSOR_X): Likewise.
52106 (draw_border): Use macros instead of magic numbers.
52107 (print_entry): Likewise.
52108 (print_entries): Likewise.
52109 (run_menu): Likewise. Also, handle the key 'e'.
52110 (run_menu_entry): Ignore empty command lines.
52111 (print_message): Added a new argument EDIT. If EDIT is true,
52112 print a different message.
52113 (init_page): Likewise.
52114 (edit_menu_entry): New function. Not implemented yet.
52115
b47efe30 521162004-09-17 Marco Gerards <metgerards@student.han.nl>
52117
52118 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52119 can be loaded from normal mode.
f19dbdb7 52120
b47efe30 52121 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52122 `multiboot.mod'.
52123 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52124 (multiboot_mod_CFLAGS): New variables.
52125 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52126 * loader/i386/pc/multiboot_normal.c: Likewise.
52127
b47efe30 52128 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52129 attribute `unused'.
f19dbdb7 52130
b47efe30 52131 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52132 `fdiro' to read the mode information from instead of `diro'.
52133
52134 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52135 looking up a symlink.
52136
52137 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52138 macro.
52139 * normal/command.c (grub_command_execute): Don't parse the
52140 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52141 flags of the command.
52142
52143 * normal/menu.c (grub_menu_run): Fix typo.
52144
da75ac71 521452004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52146
52147 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52148
52149 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52150 `y + 1' instead of `y - 1'.
52151
52152 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52153
062b24c2 521542004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52155
52156 From Hollis Blanchard <hollis@penguinppc.org>:
52157 * kern/misc.c (memmove): New alias for grub_memmove.
52158 (memcmp): New alias for grub_memcmp.
52159 (memset): New alias for grub_memset.
f19dbdb7 52160 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52161 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52162 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52163 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52164
8ddad845 521652004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52166
52167 Added normal mode command `chainloader' as module chain.mod, which
52168 depends on normal.mod and _chain.mod.
f19dbdb7 52169
8ddad845 52170 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52171 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52172 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52173 Deleted prototype.
52174 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52175 but arguments parsing moved to ...
52176 (grub_chainloader_cmd): ... here. New function.
52177 * include/grub/i386/pc/chainloader.h: New file.
52178 * loader/i386/pc/chainloader_normal.c: Likewise.
52179
2c1f4ce3 521802004-09-11 Marco Gerards <metgerards@student.han.nl>
52181
52182 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52183 (grub_mkimage_LDFLAGS): Likewise.
52184 (grub_emu_SOURCES): Likewise.
52185 (kernel_img_HEADERS): Added fshelp.h.
52186 * fs/ext2.c: Include <grub/fshelp.h>.
52187 (FILETYPE_REG): New macro.
52188 (FILETYPE_INO_REG): Likewise.
52189 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52190 Changed all users.
52191 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52192 all users.
52193 (grub_fshelp_node): New struct.
52194 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52195 to a pointer.
52196 (grub_ext2_get_file_block): Removed function.
52197 (grub_ext2_read_block): New function.
52198 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52199 This function was written.
52200 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52201 (grub_ext2_find_file): Removed function.
52202 (grub_ext2_read_symlink): New function.
52203 (grub_ext2_iterate_dir): Likewise.
52204 (grub_ext2_open): Rewritten.
52205 (grub_ext2_dir): Rewritten.
52206 * include/grub/fshelp.h: New file.
52207 * fs/fshelp.c: Likewise.
52208
3c52136a 522092004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52210
52211 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52212 (print_message): Add a missing newline.
52213 (run_menu): Added timeout support.
52214 (run_menu_entry): New local function.
52215 (grub_menu_run): Added support for booting.
52216
52217 * kern/loader.c (grub_loader_is_loaded): New function.
52218
52219 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52220 (grub_get_rtc): Exported.
52221
52222 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52223 (grub_get_rtc): Exported.
52224
52225 * include/grub/normal.h (struct grub_command_list): Remove
52226 constant from the member `command'.
52227
52228 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52229
52230 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52231
52232 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52233
aa033560 522342004-08-28 Marco Gerards <metgerards@student.han.nl>
52235
52236 Add support for the JFS filesystem.
52237
52238 * fs/jfs.c: New file.
52239 * include/grub/fs.h (grub_jfs_init): New prototype.
52240 (grub_jfs_fini): New prototype.
52241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52242 (grub_emu_SOURCES): Likewise.
52243 (pkgdata_MODULES): Add jfs.mod.
52244 (jfs_mod_SOURCES): New variable.
52245 (jfs_mod_CFLAGS): Likewise.
52246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52247 (grubof_SOURCES): Likewise.
52248 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52249
52250 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52251 endian to the host endian.
52252 (grub_fat_utf16_to_utf8): Move function from there...
52253 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52254 the endianness of the source string anymore.
aa033560 52255 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52256
94bc45af 522572004-08-24 Marco Gerards <metgerards@student.han.nl>
52258
52259 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52260 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52261 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52262 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52263
94bc45af 52264 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52265 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52266 for `node_found' and `it_dir'.
52267 (grub_hfs_dir): Add prototype for `dir_hook'.
52268
52269 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52270 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52271 and `indir32' to silence a gcc warning.
52272
52273 * include/grub/fs.h (grub_hfs_init): New prototype.
52274 (grub_hfs_fini): Likewise.
f19dbdb7 52275
52276
97543f08 522772004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52278
52279 Each disk device has its own id now. This is useful to make use
52280 of multiple disk devices.
f19dbdb7 52281
97543f08 52282 * include/grub/disk.h (grub_disk_dev_id): New enum.
52283 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52284 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52285
52286 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52287 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52288
52289 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52290 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52291
52292 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52293 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52294
52295 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52296 "id" which is used by the cache manager.
52297
52298 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52299 of just "GRUB".
52300
64372eb4 523012004-08-18 Marco Gerards <metgerards@student.han.nl>
52302
52303 * fs/hfs.c: New file.
52304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52305 (grub_emu_SOURCES): Likewise.
52306 (pkgdata_MODULES): Add hfs.mod.
52307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52308 (grubof_SOURCES): Likewise.
52309 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52310
52311 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52312 * kern/misc.c (grub_strncasecmp): Add function.
52313
cc61b58f 523142004-08-14 Marco Gerards <metgerards@student.han.nl>
52315
52316 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52317 with parentheses.
52318
52319 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52320 (grub_ext2_dir): In case the directory entry type is unknown, read
52321 it from the inode.
52322
0ef123f6 523232004-08-02 Peter Bruin <pjbruin@dds.nl>
52324
52325 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52326 grub_load_linux instead of grub_rescue_cmd_linux as second
52327 argument of grub_rescue_register_command.
52328
52329 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52330
a447c5df 523312004-07-27 Marco Gerards <metgerards@student.han.nl>
52332
52333 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52334 function.
52335 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52336 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52337 `loader/powerpc/ieee1275/linux.c',
52338 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52339 * include/grub/powerpc/ieee1275/ieee1275.h
52340 (grub_ieee1275_release): New prototype.
52341 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52342 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52343 normal, boot, linux and linux_normal.
52344 * loader/powerpc/ieee1275/linux.c: New file.
52345 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52346
5a9e3546 523472004-07-12 Marco Gerards <metgerards@student.han.nl>
52348
52349 * normal/arg.c (grub_arg_parse): Correct error handling after
52350 reallocating the argumentlist (check if `argl' is not null instead
52351 of checking if `args' is not null).
52352 * kern/mm.c (grub_realloc): Return the same pointer when using the
52353 same region, instead of returning the header address.
52354
e15199cb 523552004-07-11 Marco Gerards <metgerards@student.han.nl>
52356
52357 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52358 one block instead of two when looking for the initial partition.
52359 (grub_partition_probe): Initialize the local variable `p' with 0.
52360 Use base 10 for the grub_strtoul call.
52361 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52362 need for one local variable.
52363 (grub_strtoul): Don't add the new value to `num', instead of that
52364 just assign it.
52365
020616c2 523662004-07-11 Marco Gerards <metgerards@student.han.nl>
52367
52368 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52369 (pxeboot_img_SOURCES): New variable.
52370 (pxeboot_img_ASFLAGS): Likewise.
52371 (pxeboot_img_LDFLAGS): Likewise.
52372 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52373 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52374 <lode_leroy@hotmail.com>.
52375
6c51eb64 523762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52377
52378 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52379 there was no input.
52380
cfb12aff 523812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52382
52383 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52384 the history buffer logic.
52385
6eabba74 523862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52387
52388 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52389 (FILETYPE_INO_SYMLINK): New macros.
52390 (grub_ext2_find_file): Check if the node is a directory using the
52391 inode stat information instead of using the filetype in the
52392 dirent. Exclude the first character of an absolute symlink.
52393 (grub_ext2_dir): Mask out the filetype part of the mode member of
52394 the inode.
52395
66e19ef8 523962004-05-24 Marco Gerards <metgerards@student.han.nl>
52397
52398 Add support for UFS version 1 and 2. Add support for the minix
52399 filesystem version 1 and 2, both the variants with 14 and 30 long
52400 filenames.
f19dbdb7 52401
66e19ef8 52402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52403 fs/minix.c.
52404 (grub_emu_SOURCES): Likewise.
52405 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52406 (ufs_mod_SOURCES): New variable.
52407 (ufs_mod_CFLAGS): Likewise.
52408 (minix_mod_SOURCES): Likewise.
52409 (minix_mod_CFLAGS): Likewise.
52410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52411 fs/minix.c.
52412 (grubof_SOURCES): Likewise.
52413 * fs/ufs.c: New file.
52414 * fs/minix.c: New file.
52415 * include/grub/fs.h (grub_ufs_init): New prototype.
52416 (grub_ufs_fini): Likewise.
52417 (grub_minix_init): Likewise.
52418 (grub_minix_fini): Likewise.
52419 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52420 minix fs.
52421
cc2e748a 524222004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52423
52424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52425 commands/ls.c, commands/terminal.c, commands/boot.c,
52426 commands/cmp.c and commands/cat.c.
52427 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52428
52429 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52430 "env.h"
52431
4b13b216 524322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52433
52434 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52435 and grub_, respectively. Because the conversion is trivial and
52436 mechanical, I omit the details here. Please refer to the CVS
52437 if you need more information.
52438
6a142551 524392004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52440
52441 * include/pupa: Renamed to ...
52442 * include/grub: ... this.
52443 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52444 * util/i386/pc/grub-mkimage.c: ... this.
52445 * util/i386/pc/pupa-setup.c: Renamed to ...
52446 * util/i386/pc/grub-setup.c: ... this.
52447 * util/pupa-emu.c: Renamed to ...
52448 * util/grub-emu.c: ... this.
52449
e56cdf21 524502004-03-29 Marco Gerards <metgerards@student.han.nl>
52451
52452 Add support for the newworld apple macintosh (PPC). This has been
52453 tested on the powerbook 2000 only. It only adds support for
52454 generic ieee1275 functions, console and disk support. This should
52455 be easy to port to other architectures with support for Open
52456 Firmware.
f19dbdb7 52457
e56cdf21 52458 * configure.ac: Accept the powerpc as host_cpu. In the case of
52459 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52460 specific tests are only executed while building for the i386.
52461 Inverse test for crosscompile.
52462 * genmk.rb (Utility): Allow assembler files.
52463 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52464 * conf/powerpc-ieee1275.rmk: New file.
52465 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52466 * disk/powerpc/ieee1275/partition.c: Likewise.
52467 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52468 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52469 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52470 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52471 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52472 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52473 * include/pupa/powerpc/ieee1275/loader.h
52474 * include/pupa/powerpc/setjmp.h: Likewise.
52475 * include/pupa/powerpc/types.h: Likewise.
52476 * kern/powerpc/ieee1275/init.c: Likewise.
52477 * kern/powerpc/ieee1275/openfw.c: Likewise.
52478 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52479
52480 These files were written by Johan Rydberg
52481 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52482
e56cdf21 52483 * boot/powerpc/ieee1275/cmain.c: New file.
52484 * boot/powerpc/ieee1275/crt0.S: Likewise.
52485 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52486 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52487
8c8cc205 524882004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52489
52490 * Makefile.in: Update copyright.
52491 * genmodsrc.sh: Likewise.
52492 * gensymlist.sh: Likewise.
52493 * term/i386/pc/vga.c: Indent correctly.
52494
52495 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52496 bugreporting address.
52497 * util/i386/pc/pupa-setup.c (usage): Likewise,
52498 (main): Call pupa_ext2_init and pupa_ext2_fini.
52499
f19dbdb7 52500 * fs/fat.c (log2): Renamed to ...
8c8cc205 52501 (fat_log2): ... this.
52502 All callers changed.
52503 * kern/misc.c (memcpy): Alias to pupa_memmove.
52504 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52505 lvalue cast.
52506 * util/console.c (pupa_ncurses_fini): Return 0.
52507
52508 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52509 Move fail label here.
52510 [__GNU__]: Don't warn when using stat.
52511 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52512 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52513 long int. Use strtol instead of strtoul.
f19dbdb7 52514
db1771cf 525152004-03-14 Marco Gerards <metgerards@student.han.nl>
52516
52517 * commands/boot.c: New file.
52518 * commands/cat.c: Likewise.
52519 * commands/cmp.c: Likewise.
52520 * commands/ls.c: Likewise.
52521 * commands/terminal.c: Likewise.
52522 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52523 (pupa_register_command): Changed interface to match the new
52524 argument parser.
52525 (pupa_command_execute): Changed (almost rewritten) so it uses
52526 pupa_split_command. Added support for setting variables using the
52527 syntax `foo=bar'.
52528 (rescue_command): Changed to work with the new argument parser.
52529 (terminal_command): Moved from here to commands/terminal.c.
52530 (set_command): New function.
52531 (unset_command): New function.
52532 (insmod_command): New function.
52533 (rmmod_command): New function.
52534 (lsmod_command): New function.
52535 (pupa_command_init): Don't initialize the command terminal
52536 anymore. Initialize the commands set, unset, insmod, rmmod and
52537 lsmod.
52538 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52539 (kernel_img_HEADERS): Add arg.h and env.h.
52540 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52541 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52542 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52543 normal/arg.c.
52544 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52545 terminal.mod.
52546 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52547 (boot_mod_SOURCES): New variable.
52548 (terminal_mod_SOURCES): Likewise.
52549 (ls_mod_SOURCES): Likewise.
52550 (cmp_mod_SOURCES): Likewise.
52551 (cat_mod_SOURCES): Likewise.
52552
52553 * normal/arg.c: New file.
52554 * kern/env.c: Likewise.
52555 * include/pupa/arg.h: Likewise.
52556 * include/pupa/env.h: Likewise.
52557 * font/manager.c (font_command): Changed to match argument parsing
52558 interface changes.
52559 (PUPA_MOD_INIT): Likewise.
52560 * hello/hello.c (pupa_cmd_hello): Likewise.
52561 (PUPA_MOD_INIT): Likewise.
52562 * include/pupa/disk.h: Include <pupa/device.h>.
52563 (pupa_print_partinfo): New prototype.
52564 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52565 (pupa_dl_get_prefix): Likewise.
52566 * include/pupa/misc.h: Include <pupa/err.h>.
52567 (pupa_isgraph): New prototype.
52568 (pupa_isdigit): Likewise.
52569 (pupa_split_cmdline): Likewise.
52570 * include/pupa/normal.h: Include <pupa/arg.h>.
52571 (pupa_command): Changed the prototype of the member `func' to
52572 match the argument parsing interface. Added member `options'.
52573 (pupa_register_command): Updated to match function.
52574 (pupa_arg_parse): New prototype.
52575 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52576 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52577 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52578 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52579 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52580 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52581 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52582 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52583 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52584 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52585 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52586 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52587 * kern/disk.c: Include <pupa/file.h>.
52588 (pupa_print_partinfo): New function.
52589 * kern/dl.c: Include <pupa/env.h>.
52590 (pupa_dl_dir): Variable removed.
52591 (pupa_dl_load): Use the environment variable `prefix' instead of
52592 the variable pupa_dl_dir.
52593 (pupa_dl_set_prefix): Function removed.
52594 (pupa_dl_get_prefix): Likewise.
52595 * kern/i386/pc/init.c: Include <pupa/env.h>.
52596 (pupa_machine_init): Use the environment variable `prefix' instead of
52597 using pupa_dl_set_prefix to set the prefix.
52598 * kern/main.c: Include <pupa/env.h>.
52599 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52600 using pupa_dl_get_prefix to get the prefix.
52601 * kern/misc.c: Include <pupa/env.h>.
52602 (pupa_isdigit): New function.
52603 (pupa_isgraph): Likewise.
52604 (pupa_ftoa): Likewise.
52605 (pupa_vsprintf): Added support for printing values of the type
52606 `double'. Make it possible to format variable output when using
52607 formatting like `%1.2%f'.
52608 (pupa_split_cmdline): New function.
52609 * kern/rescue.c: Include <pupa/env.h>.
52610 (next_word): Removed function.
52611 (pupa_rescue_cmd_prefix): Likewise.
52612 (pupa_rescue_cmd_set): New function.
52613 (pupa_rescue_cmd_unset): New function.
52614 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52615 split the command line instead of splitting it here. Added
52616 support for setting variables using the syntax `foo=bar'. Don't
52617 initialize the prefix command anymore. Initialized the set and
52618 unset commands.
52619 * normal/cmdline.c: Include <pupa/env.h>.
52620 (pupa_tab_complete): Added prototypes for print_simple_completion,
52621 print_partition_completion, add_completion, iterate_commands,
52622 iterate_dev, iterate_part and iterate_dir. Moved code to print
52623 partition information from here to kern/disk.c.
fe6b695a 52624 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52625 * normal/main.c: Include <pupa/env.h>.
52626 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52627 instead of using pupa_dl_get_prefix to get the prefix.
52628 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52629 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52630 warning.
52631 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52632 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52633 ((unused))' to silence a gcc warning.
52634 (pupa_vga_setcolor): Likewise.
52635 (debug_command): Changed to match argument parsing
52636 interface changes.
52637 * util/pupa-emu.c: Include <pupa/env.h>.
52638 (options): Added 0's for unused fields to silence a gcc warning.
52639 (argp): Likewise.
52640 (main): Use the environment variable `prefix' instead of using
52641 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52642 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52643 and terminal.
52644
52645 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52646 * util/misc.c: Include <malloc.h>.
52647 (pupa_malloc): Rewritten so errors are correctly reported.
52648 (pupa_realloc): Likewise.
52649 (pupa_memalign): Likewise.
52650 (pupa_mm_init_region): Declare unused variables with
52651 `__attribute__ ((unused))' to silence a gcc warning.
52652 * normal/i386/setjmp.S: Remove tab at the end of the file to
52653 silence a gcc warning.
52654 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52655 variables with `__attribute__ ((unused))' to silence a gcc
52656 warning.
52657 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52658 local variable i unsigned to silence a gcc warning.
52659
52660 * kern/term.c: Include <pupa/misc.h>.
52661 (pupa_more_lines): New variable.
52662 (pupa_more): Likewise.
52663 (pupa_putcode): When the pager is active pause at the end of every
52664 screen.
52665 (pupa_set_more): New function.
52666 * include/pupa/term.h (pupa_set_more): New prototype.
52667
52668
3b1139cb 526692004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52670
52671 Now this project is GRUB 2 rather than PUPA. The location of
52672 the CVS repository was moved to GRUB's.
f19dbdb7 52673
3b1139cb 52674 * configure.ac: Use bug-grub as the reporting address.
52675 Use GRUB instead of PUPA.
52676 Change the version number to 1.90.
52677
8367695c 526782004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52679
52680 * genkernsyms.sh: Updated copyright information.
52681 * genmk.rb: Likewise.
52682 * genmodsrc.sh: Likewise.
52683 * gensymlist.sh: Likewise.
52684 * boot/i386/pc/boot.S: Likewise.
52685 * boot/i386/pc/diskboot.S: Likewise.
52686 * disk/i386/pc/biosdisk.c: Likewise.
52687 * disk/i386/pc/partition.c: Likewise.
52688 * font/manager.c: Likewise.
52689 * fs/ext2.c: Likewise.
52690 * fs/fat.c: Likewise.
52691 * include/pupa/boot.h: Likewise.
52692 * include/pupa/device.h: Likewise.
52693 * include/pupa/disk.h: Likewise.
52694 * include/pupa/dl.h: Likewise.
52695 * include/pupa/elf.h: Likewise.
52696 * include/pupa/err.h: Likewise.
52697 * include/pupa/file.h: Likewise.
52698 * include/pupa/font.h: Likewise.
52699 * include/pupa/fs.h: Likewise.
52700 * include/pupa/kernel.h: Likewise.
52701 * include/pupa/loader.h: Likewise.
52702 * include/pupa/misc.h: Likewise.
52703 * include/pupa/mm.h: Likewise.
52704 * include/pupa/net.h: Likewise.
52705 * include/pupa/normal.h: Likewise.
52706 * include/pupa/rescue.h: Likewise.
52707 * include/pupa/setjmp.h: Likewise.
52708 * include/pupa/symbol.h: Likewise.
52709 * include/pupa/term.h: Likewise.
52710 * include/pupa/types.h: Likewise.
52711 * include/pupa/i386/setjmp.h: Likewise.
52712 * include/pupa/i386/types.h: Likewise.
52713 * include/pupa/i386/pc/biosdisk.h: Likewise.
52714 * include/pupa/i386/pc/boot.h: Likewise.
52715 * include/pupa/i386/pc/console.h: Likewise.
52716 * include/pupa/i386/pc/init.h: Likewise.
52717 * include/pupa/i386/pc/kernel.h: Likewise.
52718 * include/pupa/i386/pc/linux.h: Likewise.
52719 * include/pupa/i386/pc/loader.h: Likewise.
52720 * include/pupa/i386/pc/memory.h: Likewise.
52721 * include/pupa/i386/pc/multiboot.h: Likewise.
52722 * include/pupa/i386/pc/partition.h: Likewise.
52723 * include/pupa/i386/pc/time.h: Likewise.
52724 * include/pupa/i386/pc/vga.h: Likewise.
52725 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52726 * include/pupa/util/getroot.h: Likewise.
52727 * include/pupa/util/misc.h: Likewise.
52728 * include/pupa/util/resolve.h: Likewise.
52729 * kern/device.c: Likewise.
52730 * kern/disk.c: Likewise.
52731 * kern/dl.c: Likewise.
52732 * kern/err.c: Likewise.
52733 * kern/file.c: Likewise.
52734 * kern/fs.c: Likewise.
52735 * kern/loader.c: Likewise.
52736 * kern/main.c: Likewise.
52737 * kern/misc.c: Likewise.
52738 * kern/mm.c: Likewise.
52739 * kern/rescue.c: Likewise.
52740 * kern/term.c: Likewise.
52741 * kern/i386/dl.c: Likewise.
52742 * kern/i386/pc/init.c: Likewise.
52743 * kern/i386/pc/lzo1x.S: Likewise.
52744 * kern/i386/pc/startup.S: Likewise.
52745 * loader/i386/pc/chainloader.c: Likewise.
52746 * loader/i386/pc/linux.c: Likewise.
52747 * loader/i386/pc/multiboot.c: Likewise.
52748 * normal/cmdline.c: Likewise.
52749 * normal/command.c: Likewise.
52750 * normal/main.c: Likewise.
52751 * normal/menu.c: Likewise.
52752 * normal/i386/setjmp.S: Likewise.
52753 * term/i386/pc/console.c: Likewise.
52754 * term/i386/pc/vga.c: Likewise.
52755 * util/console.c: Likewise.
52756 * util/genmoddep.c: Likewise.
52757 * util/misc.c: Likewise.
52758 * util/pupa-emu.c: Likewise.
52759 * util/resolve.c: Likewise.
52760 * util/unifont2pff.rb: Likewise.
52761 * util/i386/pc/biosdisk.c: Likewise.
52762 * util/i386/pc/getroot.c: Likewise.
52763 * util/i386/pc/pupa-mkimage.c: Likewise.
52764 * util/i386/pc/pupa-setup.c: Likewise.
52765
e6eced71 527662004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52767
52768 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52769 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52770 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52771 reading and reset it after reading.
52772 (pupa_ext2_close): Return PUPA_ERR_NONE.
52773
52774 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52775 Correct value.
52776 (struct linux_kernel_header): Add kernel_version and
52777 initrd_addr_max.
52778 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52779 pupa_file_read succeeds.
52780 (pupa_rescue_cmd_initrd): Implement.
52781
5aded270 527822003-12-03 Marco Gerards <metgerards@student.han.nl>
52783
52784 * fs/ext2.c (pupa_ext2_label): New function.
52785 (pupa_ext2_fs): Added label.
52786 * fs/fat.c (pupa_fat_label): New function.
52787 (pupa_fat_fs): Added label.
52788 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52789
52790 * kern/misc.c (pupa_strndup): New function.
52791 * include/pupa/misc.h (pupa_strndup): New prototype.
52792
52793 * include/pupa/normal.h: Include <pupa/err.h>.
52794 (pupa_set_history): New prototype.
52795 (pupa_iterate_commands): New prototype.
52796 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52797 <pupa/disk.h>, <pupa/file.h>.
52798 (hist_size): New variable.
52799 (hist_lines): Likewise.
52800 (hist_end): Likewise.
52801 (hist_used): Likewise.
52802 (pupa_set_history): New function.
52803 (pupa_history_get): Likewise.
52804 (pupa_history_add): Likewise.
52805 (pupa_history_replace): Likewise.
52806 (pupa_tab_complete): Likewise.
52807 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52808 completion shows partitionnames while completing partitions, this
52809 feature was suggested by Jeff Bailey.
52810 * normal/command.c (pupa_iterate_commands): New function.
52811 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52812 (pupa_normal_init): Initialize history buffer.
52813 (PUPA_MOD_INIT): Likewise.
52814 (pupa_normal_fini): Free the history buffer.
52815 (PUPA_MOD_FINI): Likewise.
52816
52817 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52818 key.
52819
52820 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52821 * configure.ac [i386]: Check for regparam bug.
52822 (NESTED_FUNC_ATTR) [! i386]: Defined.
52823
1f7315a3 528242003-11-17 Marco Gerards <metgerards@student.han.nl>
52825
52826 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52827 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52828 (pupa_emu_SOURCES): New variable.
52829 (pupa_emu_LDFLAGS): Likewise.
52830 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52831 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52832 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52833 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52834 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52835 (pupa_jmp_buf): New typedef.
52836 (pupa_setjmp) [PUPA_UTIL]: New macro.
52837 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52838 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52839 (pupa_refresh): New prototype.
52840 * include/pupa/util/getroot.h: New file.
52841 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52842 it.
52843 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52844 (pupa_rescue_cmd_cat): Likewise.
52845 (pupa_rescue_cmd_ls): Likewise.
52846 (pupa_rescue_cmd_testload): Likewise.
52847 (pupa_rescue_cmd_lsmod): Likewise.
52848 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52849 * normal/menu.c (run_menu): Likewise.
52850 * kern/term.c (pupa_cls): Likewise.
52851 (pupa_refresh): New function.
52852 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52853 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52854 * util/console.c: New file.
f19dbdb7 52855
1f7315a3 52856 * util/i386/pc/getroot.c: New file.
52857 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52858 (pupa_putchar): New function.
52859 (pupa_refresh): Likewise.
52860 (xgetcwd): Function moved to ...
52861 (strip_extra_slashes): Likewise.
52862 (get_prefix): Likewise.
f19dbdb7 52863 * util/i386/pc/getroot.c: ... here.
1f7315a3 52864 (find_root_device): Function moved and renamed to...
52865 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52866 Changed all callers.
52867 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52868 and renamed to...
52869 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52870 Changed all callers.
52871 * util/misc.c (pupa_memalign): New function.
52872 (pupa_mm_init_region): Likewise.
52873 (pupa_register_exported_symbols): Likewise.
52874 (pupa_putchar): Function removed.
52875 * util/pupa-emu.c: New file.
52876
9a5c1ade 528772003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52878
52879 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52880 (_multiboot_mod_SOURCES): New variable.
52881 (_multiboot_mod_CFLAGS): Likewise.
52882 * loader/i386/pc/multiboot.c: New file.
52883 * include/pupa/i386/pc/multiboot.h: Likewise.
52884 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52885 (pupa_multiboot_real_boot): New function.
52886 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52887 (pupa_multiboot_real_boot): New prototype.
52888 (pupa_rescue_cmd_multiboot): Likewise
52889 (pupa_rescue_cmd_module): Likewise.
52890
52891 * kern/loader.c (pupa_loader_set): Continue when
52892 pupa_loader_unload_func() fails.
52893 (pupa_loader_unset): New function.
52894 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52895
52896 * kern/misc.c (pupa_stpcpy): New function.
52897 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52898
8e72a9c0 528992003-11-12 Marco Gerards <metgerards@student.han.nl>
52900
52901 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52902 for available extensions.
52903
52904 * include/pupa/i386/pc/time.h: New file.
52905 * kern/disk.c: Include <pupa/machine/time.h>.
52906 (PUPA_CACHE_TIMEOUT): New macro.
52907 (pupa_last_time): New variable.
52908 (pupa_disk_open): Flush the cache when there was a timeout.
52909 (pupa_disk_close): Reset the timer.
52910 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52911 pupa_currticks.
52912 * util/misc.c: Include <sys/times.h>
52913 (pupa_get_rtc): New function.
52914
c4adbd32 529152003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52916
52917 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52918 as blocks.
52919 (pupa_ext2_get_file_block): Use blocks member.
52920
52921 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52922 first block. Return -1 instead of pupa_errno on error.
52923
bfd30f06 529242003-10-27 Marco Gerards <metgerards@student.han.nl>
52925
52926 * README: In the pupa-mkimage example use _chain instead of chain
52927 and ext2 instead of fat.
52928 * TODO: Replace ext2fs with jfs as an example. Add an item for
52929 adding journal playback for ext2fs.
52930 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52931 (pkgdata_MODULES): Added ext2.mod.
52932 (ext2_mod_SOURCES): New variable.
52933 (ext2_mod_CFLAGS): Likewise.
52934 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52935 * include/pupa/misc.h (pupa_strncpy): New prototype.
52936 (pupa_strcat): Likewise.
52937 (pupa_strncmp): Likewise.
52938 * kern/misc.c (pupa_strcat): Enable function.
52939 (pupa_strncpy): New function.
52940 (pupa_strncmp): Likewise.
52941 * fs/ext2.c: New file.
f19dbdb7 52942
bfd30f06 52943 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52944 when the read failed before retrying.
52945 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52946 (_FILE_OFFSET_BITS): Likewise.
52947 * configure.ac: Added AC_SYS_LARGEFILE.
52948
98d15063 529492003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52950
52951 * genmk.rb (PModule#rule): Make sure to get only symbol names
52952 from the output of nm.
59cad637 52953 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52954
18d9c7cd 529552003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52956
52957 I forgot to check in these changes for a long time. This adds
52958 incomplete support for VGA console, and this is still very
52959 buggy. Also, a lot of consideration is required for I18N,
52960 UNICODE, and VGA font issues. Therefore, assume that this is
52961 such that "better than nothing".
f19dbdb7 52962
18d9c7cd 52963 * font/manager.c: New file.
52964 * include/pupa/font.h: Likewise.
52965 * include/pupa/i386/pc/vga.h: Likewise.
52966 * term/i386/pc/vga.c: Likewise.
52967 * util/unifont2pff.rb: Likewise.
52968
52969 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52970 (pkgdata_MODULES): Added vga.mod and font.mod.
52971 (vga_mod_SOURCES): New variables.
52972 (vga_mod_CFLAGS): Likewise.
52973 (font_mod_SOURCES): Likewise.
52974 (font_mod_CFLAGS): Likewise.
52975
52976 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52977
52978 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52979 (struct pupa_term): Added init and fini.
18d9c7cd 52980 Changed the argument of putchar to pupa_uint32_t.
52981
52982 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52983 (pupa_console_real_putchar): New prototype.
52984 (pupa_console_putchar): Removed.
52985 (pupa_console_checkkey): Exported.
52986 (pupa_console_getkey): Likewise.
52987
52988 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52989 characters.
52990
52991 * kern/term.c (pupa_term_set_current): Rewritten.
52992 (pupa_putchar): Likewise.
52993 (pupa_putcode): New function.
52994
52995 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52996 (pupa_console_real_putchar): ... this.
52997 (pupa_vga_set_mode): New function.
52998 (pupa_vga_get_font): Likewise.
52999
53000 * normal/command.c: Include pupa/term.h.
53001 (terminal_command): New function.
53002 (pupa_command_init): Register the command "terminal".
53003
53004 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53005 (DISP_UP): Likewise.
53006 (DISP_RIGHT): Likewise.
53007 (DISP_DOWN): Likewise.
53008 (DISP_HLINE): Likewise.
53009 (DISP_VLINE): Likewise.
53010 (DISP_UL): Likewise.
53011 (DISP_UR): Likewise.
53012 (DISP_LL): Likewise.
53013 (DISP_LR): Likewise.
53014
53015 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53016
977329f5 530172003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53018
53019 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53020 FIX. Reverse the path_list.
53021
53022 * include/pupa/normal.h: Export pupa_register_command and
53023 pupa_unregister_command.
53024
53025 * hello/hello.c (pupa_cmd_hello): New module.
53026 * conf/i386-pc.rmk: Added hello.mod.
53027
1f5ab428 530282003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53029
53030 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53031
1f5ab428 53032 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53033 (compress_kernel): New variable.
53034 (generate_image): Heavily modified to support compressing a
53035 large part of the core image.
53036
53037 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53038 leak.
53039 (pupa_util_load_image): New function.
53040
53041 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53042 (pupa_compressed_size): New variable.
53043 (codestart): Enable Gate A20 here.
53044 Decompress the compressed part of the core image.
53045 Rearrange the code to put functions and variables which are
53046 required for initialization in the non-compressed part.
53047 Include lzo1x.S.
53048
53049 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53050 here.
53051
53052 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53053
f19dbdb7 53054 * include/pupa/i386/pc/kernel.h
1f5ab428 53055 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53056 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53057 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53058 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53059 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53060
53061 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53062
53063 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53064 (Utility#rule): Likewise.
53065
53066 * configure.ac: Check if LZO is available.
53067
ce5bf700 530682003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53069
53070 * include/pupa/normal.h: New file.
53071 * include/pupa/setjmp.h: Likewise.
53072 * include/pupa/i386/setjmp.h: Likewise.
53073 * normal/cmdline.c: Likewise.
53074 * normal/command.c: Likewise.
53075 * normal/main.c: Likewise.
53076 * normal/menu.c: Likewise.
53077 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53078
ce5bf700 53079 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53080 (pupa_rescue_cmd_initrd): Likewise.
53081
53082 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53083 Likewise.
53084
53085 * kern/i386/pc/startup.S (translation_table): New variable.
53086 (translate_keycode): New function.
53087 (pupa_console_getkey): Call translate_keycode.
53088
53089 * kern/rescue.c (attempt_normal_mode): New function.
53090 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53091 it failed, print a message.
53092
53093 * kern/mm.c (pupa_real_malloc): Print more information when a
53094 free magic is broken.
53095 (pupa_free): If the first free header is not free actually, set
53096 it to P.
53097
53098 * kern/main.c (pupa_load_normal_mode): Just load the module
53099 "normal".
53100 (pupa_main): Don't print the message
53101 "Entering into rescue mode..." here.
53102
53103 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53104 Declared.
53105 (pupa_rescue_cmd_initrd): Likewise.
53106 (pupa_rescue_cmd_initrd): Likewise.
53107
53108 * include/pupa/symbol.h (FUNCTION): Specify the type.
53109 (VARIABLE): Likewise.
53110
53111 * include/pupa/err.h (pupa_err_t): Added
53112 PUPA_ERR_UNKNOWN_COMMAND.
53113
53114 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53115 (pupa_dl_get_prefix): Likewise.
53116
53117 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53118 Added _chain.mod and _linux.mod instead of chain.mod and
53119 linux.mod.
53120 (chain_mod_SOURCES): Renamed to ...
53121 (_chain_mod_SOURCES): ... this.
53122 (chain_mod_CFLAGS): Renamed to ...
53123 (_chain_mod_CFLAGS): ... this.
53124 (linux_mod_SOURCES): Renamed to ...
53125 (_linux_mod_SOURCES): ... this.
53126 (linux_mod_CFLAGS): Renamed to ...
53127 (_linux_mod_CFLAGS): ... this.
53128 (normal_mod_SOURCES): New variable.
53129 (normal_mod_CFLAGS): Likewise.
53130 (normal_mod_ASFLAGS): Likewise.
53131
531322003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53133
53134 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53135 possible.
53136
fe6b695a 53137 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53138 recursively.
53139 (pupa_dl_unref): Unrefer depending modules recursively.
53140 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53141 a module is unloaded before one depending on that module is
53142 unloaded.
53143 (pupa_dl_unload): Unload depending modules explicitly,
53144 if possible.
53145
c04da074 531462003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53147
53148 * include/pupa/i386/pc/linux.h: New file.
53149 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53150
c04da074 53151 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53152 Removed.
53153 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53154 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53155 of PUPA_CHAINLOADER_BOOT_SECTOR.
53156
53157 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53158 (pupa_linux_prot_size): New variable.
53159 (pupa_linux_tmp_addr): Likewise.
53160 (pupa_linux_real_addr): Likewise.
53161 (pupa_linux_boot_zimage): New function.
53162 (pupa_linux_boot_bzimage): Likewise.
53163
53164 * kern/i386/pc/init.c (struct mem_region): New structure.
53165 (MAX_REGIONS): New macro.
53166 (mem_regions): New variable.
53167 (num_regions): Likewise.
53168 (pupa_os_area_addr): Likewise.
53169 (pupa_os_area_size): Likewise.
53170 (pupa_lower_mem): Likewise.
53171 (pupa_upper_mem): Likewise.
53172 (add_mem_region): New function.
53173 (compact_mem_regions): Likewise.
53174 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53175 the size of the conventional memory and that of so-called upper
53176 memory (before the first memory hole).
53177 Instead of adding each found region to free memory, use
53178 add_mem_region and add them after removing overlaps.
53179 Also, add only 1/4 of the upper memory to free memory. The rest
53180 is used for loading OS images. Maybe this is ad hoc, but this
53181 makes it much easier to relocate OS images when booting.
53182
53183 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53184 (pupa_enter_rescue_mode): Don't register initrd and module.
53185
53186 * kern/mm.c: Include pupa/dl.h.
53187
53188 * kern/main.c: Include pupa/file.h and pupa/device.h.
53189
53190 * kern/loader.c (pupa_loader_load_module_func): Removed.
53191 (pupa_loader_load_module): Likewise.
53192
53193 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53194 ``.o''.
53195
53196 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53197 (pupa_linux_tmp_addr): Likewise.
53198 (pupa_linux_real_addr): Likewise.
53199 (pupa_linux_boot_zimage): Likewise.
53200 (pupa_linux_boot_bzimage): Likewise.
53201
53202 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53203 (pupa_upper_mem): Likewise.
53204 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53205 module is too dangerous.
53206
53207 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53208 (pupa_os_area_size): Likewise.
53209 (pupa_loader_set): Remove the first argument. Loader doesn't
53210 manage modules or initrd any longer.
53211 (pupa_loader_load_module): Removed.
53212
53213 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53214 (linux_mod_SOURCES): New variable.
53215 (linux_mod_CFLAGS): Likewise.
53216
a13f9237 532172003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53218
53219 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53220 the length of a blocklist correctly.
53221
53222 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53223 Use ioctl only if the OS file is a block device.
53224 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53225 not very useful for normal files.
53226
53227 * kern/main.c (pupa_set_root_dev): New function.
53228 (pupa_load_normal_mode): Likewise.
53229 (pupa_main): Call those above.
53230
53231 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53232 pupa_uint16_t.
53233
53234 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53235
a5ffe966 532362003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53237
53238 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53239 (setup): Configure the installed partition information and the
53240 dl prefix.
53241
53242 * loader/i386/pc/chainloader.c (my_mod): New variable.
53243 (pupa_chainloader_unload): New function.
53244 (pupa_rescue_cmd_chainloader): Refer itself.
53245 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53246
53247 * kern/i386/pc/startup.S (install_partition): Removed.
53248 (version_string): Likewise.
53249 (config_file): Likewise.
53250 (pupa_install_dos_part): New variable.
53251 (pupa_install_bsd_part): Likewise.
53252 (pupa_prefix): Likewise.
53253 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53254
53255 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53256 and pupa/misc.h.
53257 (make_install_device): New function.
53258 (pupa_machine_init): Set the dl prefix.
53259
53260 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53261 (buf): Renamed to ...
53262 (linebuf): ... this.
53263 (pupa_rescue_cmd_prefix): New function.
53264 (pupa_rescue_cmd_insmod): Likewise.
53265 (pupa_rescue_cmd_rmmod): Likewise.
53266 (pupa_rescue_cmd_lsmod): Likewise.
53267 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53268 rmmod and lsmod.
53269
53270 * kern/mm.c (pupa_memalign): If failed even after invalidating
53271 disk caches, unload unneeded modules and retry.
53272
53273 * kern/misc.c (pupa_memmove): New function.
53274 (pupa_memcpy): Removed.
53275 (pupa_strcpy): New function.
53276 (pupa_itoa): Made static.
53277
53278 * kern/dl.c (pupa_dl_iterate): New function.
53279 (pupa_dl_ref): Likewise.
53280 (pupa_dl_unref): Likewise.
53281 (pupa_dl_unload): Return if succeeded or not.
53282 (pupa_dl_unload_unneeded): New function.
53283 (pupa_dl_unload_all): Likewise.
53284 (pupa_dl_init): Renamed to ...
53285 (pupa_dl_set_prefix): ... this.
53286 (pupa_dl_get_prefix): New function.
53287
53288 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53289 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53290 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53291 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53292 (pupa_install_dos_part): Declared.
53293 (pupa_install_bsd_part): Likewise.
53294 (pupa_prefix): Likewise.
53295 (pupa_boot_drive): Likewise.
53296
53297 * include/pupa/types.h: Fix a typo.
53298
53299 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53300 pupa_memmove.
53301 (pupa_memmove): Declared.
53302 (pupa_strcpy): Likewise.
53303
53304 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53305 pupa_mod_init takes one argument, its own module.
53306 (pupa_dl_unload_unneeded): Declared.
53307 (pupa_dl_unload_all): Likewise.
53308 (pupa_dl_ref): Likewise.
53309 (pupa_dl_unref): Likewise.
53310 (pupa_dl_iterate): Likewise.
53311 (pupa_dl_init): Renamed to ...
53312 (pupa_dl_set_prefix): ... this.
53313 (pupa_dl_get_prefix): Declared.
53314
53315 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53316 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53317 unloaded.
53318 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53319 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53320
53321 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53322 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53323
012d7999 533242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53325
53326 * util/i386/pc/pupa-setup.c (setup): Define the internal
53327 function find_first_partition_start at the top level, because GCC
53328 3.0.x cannot compile internal functions in deeper scopes
53329 correctly.
53330 (find_root_device): Use lstat instead of stat.
53331 Don't follow symbolic links.
53332 Fix the path-constructing code.
53333
53334 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53335 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53336 by a BLKGETSIZE ioctl first, because block devices don't fill
53337 the member st_mode of the structure stat on Linux.
53338 [__linux__] (linux_find_partition): Use a temporary buffer
53339 REAL_DEV for the working space. Copy it to DEV before returning.
53340 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53341 buffer cache consistent.
53342 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53343 strncmp. The previous value was merely wrong.
53344 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53345
53346 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53347 FAT size is 12. The previous value was merely wrong.
53348
53349 * kern/main.c (pupa_main): Don't split the starting message from
53350 newlines.
53351
53352 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53353 LF, because BIOS goes crazy about character attributes in this
53354 case.
53355
1cc73a62 533562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53357
53358 * include/i386/pc/util/biosdisk.h: New file.
53359 * util/i386/pc/biosdisk.c: Likewise.
53360 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53361
1cc73a62 53362 * Makefile.in (INCLUDE_DISTFILES): Added
53363 include/pupa/i386/pc/util/biosdisk.h.
53364 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53365 directory util/i386/pc.
53366 (install-local): Added a rule for sbin_UTILITIES.
53367 (uninstall): Likewise.
53368
53369 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53370
53371 * util/misc.c (xrealloc): New function.
53372 (pupa_malloc): Likewise.
53373 (pupa_free): Likewise.
53374 (pupa_realloc): Likewise.
53375 (pupa_stop): Likewise.
53376 (pupa_putchar): Likewise.
53377
53378 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53379
53380 * include/pupa/util/misc.h (xrealloc): Declared.
53381
53382 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53383 macro.
53384 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53385 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53386
53387 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53388 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53389
53390 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53391 way should be implemented.
53392 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53393
53394 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53395 the size of NAME for safety.
53396 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53397 0x88.
53398
53399 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53400 (pupa_setup_SOURCES): Likewise.
53401
53402 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53403
08b70fe8 534042002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53405
53406 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53407 bunch of pushl's from pusha, because this destroys the return
53408 value.
53409
62ddcc8f 534102002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53411
53412 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53413 This means that any missing prototypes could be fatal. Also, you
53414 must take care when writing assembly code. See the comments at
53415 the beginning of startup.S, for more details.
f19dbdb7 53416
62ddcc8f 53417 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53418 compilation mechanism.
53419 (pupa_chainloader_real_boot): Likewise.
53420 (pupa_biosdisk_rw_int13_extensions): Likewise.
53421 (pupa_biosdisk_rw_standard): Likewise.
53422 (pupa_biosdisk_check_int13_extensions): Likewise.
53423 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53424 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53425 (pupa_get_memsize): Likewise.
53426 (pupa_get_mmap_entry): Likewise.
53427 (pupa_console_putchar): Likewise.
53428 (pupa_console_setcursor): Likewise.
53429 (pupa_getrtsecs): Use pushl instead of push.
53430
53431 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53432 memory instead of the stack for a mmap entry, because some
53433 BIOSes may ignore the maximum size and overflow.
53434
53435 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53436
53437 * genmk.rb (PModule#rule): Compile automatically generated
53438 sources with module-specific CFLAGS as well as other sources.
53439
9962ed99 534402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53441
53442 * configure.ac: Check ld.
53443 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53444 respectively, before checking endianness and sizes.
53445
53446 * Makefile.in (LD): New variable.
f19dbdb7 53447
abdfc3c5 534482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53449
53450 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53451
6a161fa9 534522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53453
53454 * Changelog: New file.
53455